diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index daebf2fbe5..1add2066f9 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@v44 + uses: tj-actions/changed-files@v45 with: files: | **/*.po @@ -77,7 +77,7 @@ jobs: diff -Naur TRANSLATORS <(LANG=es python scripts/sort.py < TRANSLATORS) - name: Powrap if: steps.po-files-to-check.outputs.any_po_files_to_check == 'true' - run: powrap --check --quiet ${{ steps.po-files-to-check.outputs.po_files_to_check }} + run: powrap --diff --check --quiet ${{ steps.po-files-to-check.outputs.po_files_to_check }} - name: Sphinx lint if: steps.po-files-to-check.outputs.any_po_files_to_check == 'true' run: sphinx-lint ${{ steps.po-files-to-check.outputs.po_files_to_check }} @@ -88,13 +88,5 @@ jobs: # Construcción de la documentación - name: Construir documentación run: | - # FIXME: Relative paths for includes in 'cpython' - sed -i -e 's|.. include:: ../includes/wasm-notavail.rst|.. include:: ../../../../includes/wasm-notavail.rst|g' cpython/Doc/**/*.rst - sed -i -e 's|.. include:: ../distutils/_setuptools_disclaimer.rst|.. include:: ../../../../distutils/_setuptools_disclaimer.rst|g' cpython/Doc/**/*.rst - sed -i -e 's|.. include:: ./_setuptools_disclaimer.rst|.. include:: ../../../_setuptools_disclaimer.rst|g' cpython/Doc/**/*.rst - sed -i -e 's|.. include:: token-list.inc|.. include:: ../../../token-list.inc|g' cpython/Doc/**/*.rst - sed -i -e 's|.. include:: ../../using/venv-create.inc|.. include:: ../using/venv-create.inc|g' cpython/Doc/**/*.rst - sed -i -e 's|.. include:: ../../../using/venv-create.inc|.. include:: ../../using/venv-create.inc|g' cpython/Doc/**/*.rst - sed -i -e 's|.. include:: /using/venv-create.inc|.. include:: ../../../../using/venv-create.inc|g' cpython/Doc/**/*.rst # 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 diff --git a/.github/workflows/pr-comment.yml b/.github/workflows/pr-comment.yml index fa993a9b61..748b6cbcc5 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.txt - name: Obtiene lista de archivos con cambios id: changed-files - uses: tj-actions/changed-files@v44 + uses: tj-actions/changed-files@v45 with: files: | **/*.po @@ -62,7 +62,7 @@ jobs: pull-requests: write steps: - name: Agregar comentario con entradas faltantes - uses: thollander/actions-comment-pull-request@v2 + uses: thollander/actions-comment-pull-request@v3 with: message: ${{ needs.define-comment.outputs.comment }} - comment_tag: missing-entries + comment-tag: missing-entries diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 19cf58167f..a8e74fde4a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: -- repo: https://github.com/JulienPalard/powrap - rev: v0.4.0 +- repo: https://git.afpy.org/AFPy/powrap + rev: v1.0.2 hooks: - id: powrap - repo: local diff --git a/Makefile b/Makefile index 8c8268c20b..581a2c196c 100644 --- a/Makefile +++ b/Makefile @@ -20,6 +20,7 @@ OUTPUT_DOCTREE := $(CPYTHON_WORKDIR)/Doc/build/doctree OUTPUT_HTML := $(CPYTHON_WORKDIR)/Doc/build/html LOCALE_DIR := $(CPYTHON_WORKDIR)/locale POSPELL_TMP_DIR := .pospell +SPHINX_JOBS := auto .PHONY: help @@ -38,22 +39,15 @@ help: # before this. If passing SPHINXERRORHANDLING='', warnings will not be # treated as errors, which is good to skip simple Sphinx syntax mistakes. .PHONY: build -build: setup - # FIXME: Relative paths for includes in 'cpython' - # See more about this at https://github.com/python/python-docs-es/issues/1844 - sed -i -e 's|.. include:: ../includes/wasm-notavail.rst|.. include:: ../../../../includes/wasm-notavail.rst|g' cpython/Doc/**/*.rst - sed -i -e 's|.. include:: ../distutils/_setuptools_disclaimer.rst|.. include:: ../../../../distutils/_setuptools_disclaimer.rst|g' cpython/Doc/**/*.rst - sed -i -e 's|.. include:: ./_setuptools_disclaimer.rst|.. include:: ../../../_setuptools_disclaimer.rst|g' cpython/Doc/**/*.rst - sed -i -e 's|.. include:: token-list.inc|.. include:: ../../../token-list.inc|g' cpython/Doc/**/*.rst - sed -i -e 's|.. include:: ../../using/venv-create.inc|.. include:: ../using/venv-create.inc|g' cpython/Doc/**/*.rst - sed -i -e 's|.. include:: ../../../using/venv-create.inc|.. include:: ../../using/venv-create.inc|g' cpython/Doc/**/*.rst - sed -i -e 's|.. include:: /using/venv-create.inc|.. include:: ../../../../using/venv-create.inc|g' cpython/Doc/**/*.rst +build: setup do_build + +.PHONY: do_build +do_build: # Normal build - PYTHONWARNINGS=ignore::FutureWarning,ignore::RuntimeWarning $(VENV)/bin/sphinx-build -j auto -W --keep-going -b html -d $(OUTPUT_DOCTREE) -D language=$(LANGUAGE) . $(OUTPUT_HTML) && \ + 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) && \ echo "Success! Open file://`pwd`/$(OUTPUT_HTML)/index.html, " \ "or run 'make serve' to see them in http://localhost:8000"; - # setup: After running "venv" target, prepare that virtual environment with # a local clone of cpython repository and the translation files. # If the directories exists, only update the cpython repository and diff --git a/README.md b/README.md index 12e1f2f2a9..ae8e7130b4 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Traducción al Español de la Documentación de Python -![Build Status](https://github.com/python/python-docs-es/actions/workflows/main.yml/badge.svg?branch=3.11 "Build Status") -![Documentation Status](https://readthedocs.org/projects/python-docs-es/badge/?version=3.11 "Documentation Status") +![Build Status](https://github.com/python/python-docs-es/actions/workflows/main.yml/badge.svg?branch=3.12 "Build Status") +![Documentation Status](https://readthedocs.org/projects/python-docs-es/badge/?version=3.12 "Documentation Status") ## ¿Cómo contribuir? Tenemos una guía que te ayudará a contribuir. Por favor diff --git a/TRANSLATORS b/TRANSLATORS index 3f433274fc..c9f3f441d0 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -125,8 +125,8 @@ José Carlos Álvarez González (@jcaalzago) José Daniel Gonzalez (@jdgc14) Jose Ignacio Riaño Chico José Luis Cantilo (@jcantilo) -José Luis Salgado Banda (@josephLSalgado) José Miguel Hernández Cabrera (@miguelheca) +Joseph Salgado (@xooseph) Juan Alegría (@zejiran) Juan Antonio Lagos (@alochimpasplum) Juan Biondi (@yeyeto2788) @@ -243,3 +243,4 @@ Xavi Rambla Centellas (@xavirambla) Yennifer Paola Herrera Ariza (@Yenniferh) Yohanna Padrino (@Yo-hanaPR) zejiran +Zodac (@zodacdev) diff --git a/c-api/apiabiversion.po b/c-api/apiabiversion.po index d10400d4fc..c5b8f4186f 100644 --- a/c-api/apiabiversion.po +++ b/c-api/apiabiversion.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: 2022-10-31 21:13-0300\n" +"PO-Revision-Date: 2024-10-31 01:00-0400\n" "Last-Translator: \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.5\n" #: ../Doc/c-api/apiabiversion.rst:7 msgid "API and ABI Versioning" @@ -182,12 +183,14 @@ msgstr "" #: ../Doc/c-api/apiabiversion.rst:61 msgid "Use this for numeric comparisons, e.g. ``#if PY_VERSION_HEX >= ...``." msgstr "" +"Use esto para comparaciones numéricas, por ejemplo ``#if PY_VERSION_HEX " +">= ...``." #: ../Doc/c-api/apiabiversion.rst:63 -#, fuzzy msgid "This version is also available via the symbol :c:var:`Py_Version`." msgstr "" -"Esta versión también está disponible a través del símbolo :data:`Py_Version`." +"Esta versión también está disponible a través del símbolo :c:var:" +"`Py_Version`." #: ../Doc/c-api/apiabiversion.rst:67 msgid "" diff --git a/c-api/bytearray.po b/c-api/bytearray.po index e11c6047ff..3f82d0df7d 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: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2022-11-05 12:32-0300\n" +"PO-Revision-Date: 2024-10-29 21:11-0400\n" "Last-Translator: Sofía Denner \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.5\n" #: ../Doc/c-api/bytearray.rst:6 msgid "Byte Array Objects" @@ -128,9 +129,8 @@ msgstr "" #: ../Doc/c-api/bytearray.rst:8 msgid "object" -msgstr "" +msgstr "object" #: ../Doc/c-api/bytearray.rst:8 -#, fuzzy msgid "bytearray" -msgstr "Objetos de arreglos de bytes (*bytearrays*)" +msgstr "bytearray" diff --git a/c-api/datetime.po b/c-api/datetime.po index a5fd1dcb5d..33c543cb38 100644 --- a/c-api/datetime.po +++ b/c-api/datetime.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: 2021-10-19 02:00+0200\n" +"PO-Revision-Date: 2024-11-10 19:13-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.13.0\n" +"X-Generator: Poedit 3.5\n" #: ../Doc/c-api/datetime.rst:6 msgid "DateTime Objects" msgstr "Objetos *DateTime*" #: ../Doc/c-api/datetime.rst:8 -#, fuzzy msgid "" "Various date and time objects are supplied by the :mod:`datetime` module. " "Before using any of these functions, the header file :file:`datetime.h` must " @@ -39,47 +39,60 @@ msgstr "" "El módulo :mod:`datetime` proporciona varios objetos de fecha y hora. Antes " "de usar cualquiera de estas funciones, el archivo de encabezado :file:" "`datetime.h` debe estar incluido en su fuente (tenga en cuenta que esto no " -"está incluido en el archivo :file:`Python.h`), y la macro :c:macro:" -"`PyDateTime_IMPORT` debe llamarse, generalmente como parte de la función de " +"está incluido en el archivo :file:`Python.h`), y la macro :c:macro:`!" +"PyDateTime_IMPORT` debe llamarse, generalmente como parte de la función de " "inicialización del módulo. La macro coloca un puntero a una estructura C en " -"una variable estática, :c:data:`PyDateTimeAPI`, que utilizan las siguientes " +"una variable estática, :c:data:`!PyDateTimeAPI`, que utilizan las siguientes " "macros." #: ../Doc/c-api/datetime.rst:18 msgid "This subtype of :c:type:`PyObject` represents a Python date object." msgstr "" +"Este subtipo de :c:type:`PyObject` representa un *date object* de Python." #: ../Doc/c-api/datetime.rst:22 msgid "This subtype of :c:type:`PyObject` represents a Python datetime object." msgstr "" +"Este subtipo de :c:type:`PyObject` representa un *datetime object* de Python." #: ../Doc/c-api/datetime.rst:26 msgid "This subtype of :c:type:`PyObject` represents a Python time object." msgstr "" +"Este subtipo de :c:type:`PyObject` representa un *time object* de Python." #: ../Doc/c-api/datetime.rst:30 msgid "" "This subtype of :c:type:`PyObject` represents the difference between two " "datetime values." msgstr "" +"Este subtipo de :c:type:`PyObject` representa la diferencia entre dos " +"valores *datetime*." #: ../Doc/c-api/datetime.rst:34 msgid "" "This instance of :c:type:`PyTypeObject` represents the Python date type; it " "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." #: ../Doc/c-api/datetime.rst:39 msgid "" "This instance of :c:type:`PyTypeObject` represents the Python datetime type; " "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." #: ../Doc/c-api/datetime.rst:44 msgid "" "This instance of :c:type:`PyTypeObject` represents the Python time type; it " "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." #: ../Doc/c-api/datetime.rst:49 msgid "" @@ -87,12 +100,18 @@ msgid "" "difference between two datetime values; it is the same object as :class:" "`datetime.timedelta` in the Python layer." msgstr "" +"Esta instancia de :c:type:`PyTypeObject` representa un tipo en *Python* para " +"la diferencia entre dos valore *datetime*; es el mismo objeto que :class:" +"`datetime.timedelta` en la capa de Python." #: ../Doc/c-api/datetime.rst:55 msgid "" "This instance of :c:type:`PyTypeObject` represents the Python time zone info " "type; it is the same object as :class:`datetime.tzinfo` in the Python layer." msgstr "" +"Esta instancia de :c:type:`PyTypeObject` representa el tipo de Python de " +"*time zone info*; es el mismo objeto que :class:`datetime.tzinfo` de la capa " +"de Python." #: ../Doc/c-api/datetime.rst:59 msgid "Macro for access to the UTC singleton:" @@ -111,14 +130,13 @@ msgid "Type-check macros:" msgstr "Macros de verificación de tipo:" #: ../Doc/c-api/datetime.rst:73 -#, fuzzy msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_DateType` or a subtype " "of :c:data:`!PyDateTime_DateType`. *ob* must not be ``NULL``. This " "function always succeeds." msgstr "" "Retorna verdadero si *ob* es de tipo :c:data:`PyDateTime_DateType` o un " -"subtipo de :c:data:`PyDateTime_DateType`. *ob* no debe ser ``NULL``. Esta " +"subtipo de :c:data:`!PyDateTime_DateType`. *ob* no debe ser ``NULL``. Esta " "función siempre finaliza con éxito." #: ../Doc/c-api/datetime.rst:80 @@ -130,14 +148,13 @@ msgstr "" "debe ser ``NULL``. Esta función siempre finaliza con éxito." #: ../Doc/c-api/datetime.rst:86 -#, fuzzy msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_DateTimeType` or a " "subtype of :c:data:`!PyDateTime_DateTimeType`. *ob* must not be ``NULL``. " "This function always succeeds." msgstr "" "Retorna verdadero si *ob* es de tipo :c:data:`PyDateTime_DateTimeType` o un " -"subtipo de :c:data:`PyDateTime_DateTimeType`. *ob* no debe ser ``NULL``. " +"subtipo de :c:data:`!PyDateTime_DateTimeType`. *ob* no debe ser ``NULL``. " "Esta función siempre finaliza con éxito." #: ../Doc/c-api/datetime.rst:93 @@ -149,14 +166,13 @@ msgstr "" "no debe ser ``NULL``. Esta función siempre finaliza con éxito." #: ../Doc/c-api/datetime.rst:99 -#, fuzzy msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_TimeType` or a subtype " "of :c:data:`!PyDateTime_TimeType`. *ob* must not be ``NULL``. This " "function always succeeds." msgstr "" "Retorna verdadero si *ob* es de tipo :c:data:`PyDateTime_TimeType` o un " -"subtipo de :c:data:`PyDateTime_TimeType`. *ob* no debe ser ``NULL``. Esta " +"subtipo de :c:data:`!PyDateTime_TimeType`. *ob* no debe ser ``NULL``. Esta " "función siempre finaliza con éxito." #: ../Doc/c-api/datetime.rst:106 @@ -168,14 +184,13 @@ msgstr "" "debe ser ``NULL``. Esta función siempre finaliza con éxito." #: ../Doc/c-api/datetime.rst:112 -#, fuzzy msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_DeltaType` or a subtype " "of :c:data:`!PyDateTime_DeltaType`. *ob* must not be ``NULL``. This " "function always succeeds." msgstr "" "Retorna verdadero si *ob* es de tipo :c:data:`PyDateTime_DeltaType` o un " -"subtipo de :c:data:`PyDateTime_DeltaType`. *ob* no debe ser ``NULL``. Esta " +"subtipo de :c:data:`!PyDateTime_DeltaType`. *ob* no debe ser ``NULL``. Esta " "función siempre finaliza con éxito." #: ../Doc/c-api/datetime.rst:119 @@ -187,15 +202,14 @@ msgstr "" "debe ser ``NULL``. Esta función siempre finaliza con éxito." #: ../Doc/c-api/datetime.rst:125 -#, fuzzy msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_TZInfoType` or a subtype " "of :c:data:`!PyDateTime_TZInfoType`. *ob* must not be ``NULL``. This " "function always succeeds." msgstr "" "Retorna verdadero si *ob* es de tipo :c:data:`PyDateTime_TZInfoType` o un " -"subtipo de :c:data:`PyDateTime_TZInfoType`. *ob* no debe ser ``NULL``. Esta " -"función siempre finaliza con éxito." +"subtipo de :c:data:`!PyDateTime_TZInfoType`. *ob* no debe ser ``NULL``. " +"Esta función siempre finaliza con éxito." #: ../Doc/c-api/datetime.rst:132 msgid "" @@ -277,7 +291,6 @@ msgstr "" "representado por el argumento *offset* y con tzname *name*." #: ../Doc/c-api/datetime.rst:195 -#, fuzzy msgid "" "Macros to extract fields from date objects. The argument must be an " "instance of :c:type:`PyDateTime_Date`, including subclasses (such as :c:type:" @@ -285,9 +298,9 @@ msgid "" "not checked:" msgstr "" "Macros para extraer campos de objetos de fecha. El argumento debe ser una " -"instancia de :c:data:`PyDateTime_Date`, incluidas las subclases (como :c:" -"data:`PyDateTime_DateTime`). El argumento no debe ser ``NULL`` y el tipo no " -"está marcado:" +"instancia de :c:type:`PyDateTime_Date`, incluidas las subclases (como :c:" +"type:`PyDateTime_DateTime`). El argumento no debe ser ``NULL``, y el tipo no " +"se comprueba." #: ../Doc/c-api/datetime.rst:202 msgid "Return the year, as a positive int." @@ -302,14 +315,13 @@ msgid "Return the day, as an int from 1 through 31." msgstr "Retorna el día, como int del 1 al 31." #: ../Doc/c-api/datetime.rst:215 -#, fuzzy msgid "" "Macros to extract fields from datetime objects. The argument must be an " "instance of :c:type:`PyDateTime_DateTime`, including subclasses. The " "argument must not be ``NULL``, and the type is not checked:" msgstr "" "Macros para extraer campos de objetos de fecha y hora. El argumento debe ser " -"una instancia de :c:data:`PyDateTime_DateTime`, incluidas las subclases. El " +"una instancia de :c:type:`PyDateTime_DateTime`, incluidas las subclases. El " "argumento no debe ser ``NULL`` y el tipo no es comprobado:" #: ../Doc/c-api/datetime.rst:221 ../Doc/c-api/datetime.rst:259 @@ -329,35 +341,32 @@ msgid "Return the microsecond, as an int from 0 through 999999." msgstr "Retorna el micro segundo, como un int de 0 hasta 999999." #: ../Doc/c-api/datetime.rst:241 ../Doc/c-api/datetime.rst:279 -#, fuzzy msgid "Return the fold, as an int from 0 through 1." -msgstr "Retorna el día, como int del 1 al 31." +msgstr "Retorna el *fold*, como int de 0 a 1." #: ../Doc/c-api/datetime.rst:248 ../Doc/c-api/datetime.rst:286 msgid "Return the tzinfo (which may be ``None``)." msgstr "Retorna el tzinfo (que puede ser ``None``)." #: ../Doc/c-api/datetime.rst:253 -#, fuzzy msgid "" "Macros to extract fields from time objects. The argument must be an " "instance of :c:type:`PyDateTime_Time`, including subclasses. The argument " "must not be ``NULL``, and the type is not checked:" msgstr "" "Macros para extraer campos de objetos de tiempo. El argumento debe ser una " -"instancia de :c:data:`PyDateTime_Time`, incluidas las subclases. El " -"argumento no debe ser ``NULL`` y el tipo no está marcado:" +"instancia de :c:type:`PyDateTime_Time`, incluidas las subclases. El " +"argumento no debe ser ``NULL`` y el tipo no es comprobado:" #: ../Doc/c-api/datetime.rst:291 -#, fuzzy msgid "" "Macros to extract fields from time delta objects. The argument must be an " "instance of :c:type:`PyDateTime_Delta`, including subclasses. The argument " "must not be ``NULL``, and the type is not checked:" msgstr "" "Macros para extraer campos de objetos delta de tiempo. El argumento debe ser " -"una instancia de :c:data:`PyDateTime_Delta`, incluidas las subclases. El " -"argumento no debe ser ``NULL`` y el tipo no está marcado:" +"una instancia de :c:type:`PyDateTime_Delta`, incluidas las subclases. El " +"argumento no debe ser ``NULL`` y el tipo no es comprobado:" #: ../Doc/c-api/datetime.rst:297 msgid "Return the number of days, as an int from -999999999 to 999999999." diff --git a/c-api/float.po b/c-api/float.po index a341e14369..0ac7aa5429 100644 --- a/c-api/float.po +++ b/c-api/float.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: 2022-12-01 10:01+0400\n" +"PO-Revision-Date: 2024-09-26 15:15-0600\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.0.1\n" #: ../Doc/c-api/float.rst:6 msgid "Floating Point Objects" @@ -73,7 +74,6 @@ msgstr "" "de error." #: ../Doc/c-api/float.rst:47 -#, fuzzy msgid "" "Return a C :c:expr:`double` representation of the contents of *pyfloat*. If " "*pyfloat* is not a Python floating point object but has a :meth:`~object." @@ -84,16 +84,15 @@ msgid "" msgstr "" "Retorna una representación C :c:expr:`double` de los contenidos de " "*pyfloat*. Si *pyfloat* no es un objeto de punto flotante de Python pero " -"tiene un método :meth:`__float__`, primero se llamará a este método para " -"convertir *pyfloat* en un flotante. Si ``__float __()`` no está definido, " -"entonces recurre a :meth:`__index__`. Este método retorna ``-1.0`` en caso " -"de falla, por lo que se debe llamar a :c:func:`PyErr_Occurred` para " -"verificar si hay errores." +"tiene un método :meth:`~object.__float__`, este método será llamado primero " +"para convertir *pyfloat* en un flotante. Si :meth:`!__float __` no está " +"definido, entonces recurre a :meth:`~object.__index__`. Este método retorna " +"``-1.0`` en caso de falla, por lo que se debe llamar a :c:func:" +"`PyErr_Occurred` para verificar si hay errores." #: ../Doc/c-api/float.rst:54 -#, fuzzy msgid "Use :meth:`~object.__index__` if available." -msgstr "Utilice :meth:`__index__` si está disponible." +msgstr "Utilice :meth:`~object.__index__` si está disponible." #: ../Doc/c-api/float.rst:60 msgid "" @@ -185,7 +184,6 @@ msgid "Pack functions" msgstr "Funciones de Empaquetado" #: ../Doc/c-api/float.rst:109 -#, fuzzy msgid "" "The pack routines write 2, 4 or 8 bytes, starting at *p*. *le* is an :c:expr:" "`int` argument, non-zero if you want the bytes string in little-endian " @@ -195,12 +193,12 @@ msgid "" "to ``1`` on big endian processor, or ``0`` on little endian processor." msgstr "" "Las rutinas de empaquetado escriben 2, 4 o 8 bytes, comenzando en *p*. *le* " -"es un argumento :c:expr:`int`, distinto de cero si desea la cadena bytes con " -"criterio little-endian (exponente al final, en ``p+1``, ``p+3``, o ``p+6`` " -"``p+7``), cero si se necesita el criterio big-endian (exponente primero, en " -"*p*). La constante :c:data:`PY_BIG_ENDIAN` se puede usar para usar el endian " -"nativo: es igual a ``1`` en el procesador big endian, o ``0`` en el " -"procesador little endian." +"es un argumento :c:expr:`int`, distinto de cero si desea que la cadena de " +"bytes esté en formato little-endian (exponente al final, en ``p+1``, " +"``p+3``, o ``p+6`` ``p+7``), y cero si desea el formato big-endian " +"(exponente primero, en *p*). La constante :c:macro:`PY_BIG_ENDIAN` se puede " +"usar para emplear el endian nativo: es igual a ``1`` en el procesador big-" +"endian, o ``0`` en el procesador little-endian." #: ../Doc/c-api/float.rst:116 msgid "" @@ -242,7 +240,6 @@ msgid "Unpack functions" msgstr "Funciones de Desempaquetado" #: ../Doc/c-api/float.rst:140 -#, fuzzy msgid "" "The unpack routines read 2, 4 or 8 bytes, starting at *p*. *le* is an :c:" "expr:`int` argument, non-zero if the bytes string is in little-endian format " @@ -251,13 +248,13 @@ msgid "" "be used to use the native endian: it is equal to ``1`` on big endian " "processor, or ``0`` on little endian processor." msgstr "" -"Las rutinas de desempaquetado leen 2, 4 o 8 bytes, comenzando en *p*. *le* " -"es un argumento :c:expr:`int` , distinto de cero si la cadena bytes usa el " -"criterio little-endian (exponente al final, en ``p+1``, ``p+3`` o ``p+6`` y " -"``p+7``), cero si usa el criterio big-endian (exponente primero, en *p*). La " -"constante :c:data:`PY_BIG_ENDIAN` se puede usar para usar el endian: es " -"igual a ``1`` en el procesador big endian, o ``0`` en el procesador little " -"endian." +"Las rutinas de desempaquetado leen 2, 4 u 8 bytes, comenzando en *p*. *le* " +"es un argumento :c:expr:`int` , distinto de cero si la cadena bytes está en " +"formato little-endian (exponente al final, en ``p+1``, ``p+3`` o ``p+6`` y " +"``p+7``), cero si está en formato big-endian (exponente primero, en *p*). La " +"constante :c:macro:`PY_BIG_ENDIAN` se puede usar para utilizar el endian " +"nativo: es igual a ``1`` en un procesador big endian, o ``0`` en un " +"procesador little-endian." #: ../Doc/c-api/float.rst:147 msgid "" @@ -294,9 +291,8 @@ msgstr "" #: ../Doc/c-api/float.rst:8 msgid "object" -msgstr "" +msgstr "object" #: ../Doc/c-api/float.rst:8 -#, fuzzy msgid "floating point" -msgstr "Objetos de punto flotante" +msgstr "floating point" diff --git a/c-api/marshal.po b/c-api/marshal.po index c50197ed0f..4cc711a710 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: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2022-10-30 17:51-0600\n" +"PO-Revision-Date: 2024-10-28 21:01-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.13.0\n" +"X-Generator: Poedit 3.5\n" #: ../Doc/c-api/marshal.rst:6 msgid "Data marshalling support" @@ -73,6 +74,8 @@ msgid "" "This function can fail, in which case it sets the error indicator. Use :c:" "func:`PyErr_Occurred` to check for that." msgstr "" +"Esta función puede fallar, en cuyo caso establece el indicador de error. " +"Utiliza :c:func:`PyErr_Occurred` para comprobarlo." #: ../Doc/c-api/marshal.rst:33 msgid "" diff --git a/c-api/memoryview.po b/c-api/memoryview.po index b72d7af82f..272b7c415b 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: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2021-08-01 20:28+0200\n" +"PO-Revision-Date: 2024-10-29 21:14-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.13.0\n" +"X-Generator: Poedit 3.5\n" #: ../Doc/c-api/memoryview.rst:9 msgid "MemoryView objects" @@ -116,9 +117,8 @@ msgstr "" #: ../Doc/c-api/memoryview.rst:5 msgid "object" -msgstr "" +msgstr "object" #: ../Doc/c-api/memoryview.rst:5 -#, fuzzy msgid "memoryview" -msgstr "Objetos de vista de memoria (*MemoryView*)" +msgstr "memoryview" diff --git a/c-api/slice.po b/c-api/slice.po index 55954fbb27..c0ee1294b5 100644 --- a/c-api/slice.po +++ b/c-api/slice.po @@ -66,16 +66,15 @@ msgstr "" "*length* como errores." #: ../Doc/c-api/slice.rst:36 -#, fuzzy msgid "" "Returns ``0`` on success and ``-1`` on error with no exception set (unless " "one of the indices was not ``None`` and failed to be converted to an " "integer, in which case ``-1`` is returned with an exception set)." msgstr "" "Retorna ``0`` en caso de éxito y ``-1`` en caso de error sin excepción " -"establecida (a menos que uno de los índices no sea :const:`None` y no se " -"haya convertido a un entero, en cuyo caso ``- 1`` se retorna con una " -"excepción establecida)." +"establecida (a menos que uno de los índices no sea ``None`` y no se haya " +"convertido a un entero, en cuyo caso ``- 1`` se retorna con una excepción " +"establecida)." #: ../Doc/c-api/slice.rst:40 msgid "You probably do not want to use this function." @@ -187,16 +186,15 @@ msgid "Ellipsis Object" msgstr "Objeto elipsis" #: ../Doc/c-api/slice.rst:121 -#, fuzzy msgid "" "The Python ``Ellipsis`` object. This object has no methods. Like :c:data:" "`Py_None`, it is an `immortal `_. " "singleton object." msgstr "" -"El objeto ``Elipsis`` de Python. Este objeto no tiene métodos. Debe tratarse " -"como cualquier otro objeto con respecto a los recuentos de referencia. Como :" -"c:data:`Py_None` es un objeto singleton." +"El objeto ``Elipsis`` de Python. Este objeto no tiene métodos. Al igual que :" +"c:data:`Py_None`, es un objeto singleton `inmortal `_." #: ../Doc/c-api/slice.rst:125 msgid ":c:data:`Py_Ellipsis` is immortal." -msgstr "" +msgstr ":c:data:`Py_Ellipsis` es inmortal." diff --git a/c-api/tuple.po b/c-api/tuple.po index 87d67c3a62..cbc815b42d 100644 --- a/c-api/tuple.po +++ b/c-api/tuple.po @@ -98,7 +98,6 @@ msgid "Like :c:func:`PyTuple_GetItem`, but does no checking of its arguments." msgstr "Como :c:func:`PyTuple_GetItem`, pero no verifica sus argumentos." #: ../Doc/c-api/tuple.rst:70 -#, fuzzy msgid "" "Return the slice of the tuple pointed to by *p* between *low* and *high*, or " "``NULL`` on failure. This is the equivalent of the Python expression " @@ -106,7 +105,7 @@ msgid "" msgstr "" "Retorna la porción de la tupla señalada por *p* entre *low* y *high*, o " "``NULL`` en caso de falla. Este es el equivalente de la expresión de Python " -"``p[bajo:alto]``. La indexación desde el final de la lista no es compatible." +"``p[low:high]``. La indexación desde el final de la tupla no es compatible." #: ../Doc/c-api/tuple.rst:77 msgid "" @@ -218,29 +217,24 @@ msgstr "" "crear." #: ../Doc/c-api/tuple.rst:149 -#, fuzzy msgid "Name of the struct sequence type." -msgstr "nombre del tipo de secuencia de estructura" +msgstr "Nombre del tipo de secuencia de estructura" #: ../Doc/c-api/tuple.rst:153 -#, fuzzy msgid "Pointer to docstring for the type or ``NULL`` to omit." -msgstr "puntero al *docstring* para el tipo o ``NULL`` para omitir" +msgstr "Puntero al *docstring* para el tipo o ``NULL`` para omitir" #: ../Doc/c-api/tuple.rst:157 -#, fuzzy msgid "Pointer to ``NULL``-terminated array with field names of the new type." msgstr "" -"puntero al arreglo terminado en ``NULL`` con nombres de campo del nuevo tipo" +"Puntero al arreglo terminado en ``NULL`` con nombres de campo del nuevo tipo" #: ../Doc/c-api/tuple.rst:161 -#, fuzzy msgid "Number of fields visible to the Python side (if used as tuple)." msgstr "" -"cantidad de campos visibles para el lado de Python (si se usa como tupla)" +"Cantidad de campos visibles para el lado de Python (si se usa como tupla)" #: ../Doc/c-api/tuple.rst:166 -#, fuzzy msgid "" "Describes a field of a struct sequence. As a struct sequence is modeled as a " "tuple, all fields are typed as :c:expr:`PyObject*`. The index in the :c:" @@ -250,24 +244,22 @@ msgid "" msgstr "" "Describe un campo de una secuencia de estructura. Como una secuencia de " "estructura se modela como una tupla, todos los campos se escriben como :c:" -"expr:`PyObject*`. El índice en el arreglo :attr:`fields` de :c:type:" -"`PyStructSequence_Desc` determina qué campo de la secuencia de estructura se " -"describe." +"expr:`PyObject*`. El índice en el arreglo :c:member:`~PyStructSequence_Desc." +"fields` de :c:type:`PyStructSequence_Desc` determina qué campo de la " +"secuencia de estructura se describe." #: ../Doc/c-api/tuple.rst:174 -#, fuzzy msgid "" "Name for the field or ``NULL`` to end the list of named fields, set to :c:" "data:`PyStructSequence_UnnamedField` to leave unnamed." msgstr "" -"nombre para el campo o ``NULL`` para finalizar la lista de campos con " +"Nombre para el campo o ``NULL`` para finalizar la lista de campos con " "nombre, establece en :c:data:`PyStructSequence_UnnamedField` para dejar sin " "nombre" #: ../Doc/c-api/tuple.rst:179 -#, fuzzy msgid "Field docstring or ``NULL`` to omit." -msgstr "campo *docstring* o ``NULL`` para omitir" +msgstr "Campo *docstring* o ``NULL`` para omitir" #: ../Doc/c-api/tuple.rst:184 msgid "Special value for a field name to leave it unnamed." @@ -320,13 +312,12 @@ msgstr "" "función estática inline." #: ../Doc/c-api/tuple.rst:8 -#, fuzzy msgid "object" -msgstr "Objetos tupla" +msgstr "object" #: ../Doc/c-api/tuple.rst:8 msgid "tuple" -msgstr "" +msgstr "tuple" #~ msgid "Field" #~ msgstr "Campo" diff --git a/conf.py b/conf.py index 6d5a7fdb0a..f1749d3b19 100644 --- a/conf.py +++ b/conf.py @@ -16,6 +16,8 @@ import sys import os import time +from pathlib import Path + sys.path.append(os.path.abspath('cpython/Doc/tools/extensions')) sys.path.append(os.path.abspath('cpython/Doc/includes')) @@ -70,7 +72,6 @@ if os.environ.get('SPHINX_GETTEXT') is None: # Override all the files from ``.overrides`` directory - from pathlib import Path overrides_paths = Path('.overrides') for path in overrides_paths.glob('**/*.*'): @@ -129,7 +130,7 @@ def add_contributing_banner(app, doctree): document.insert(0, banner) # Change the sourcedir programmatically because Read the Docs always call it with `.` - app.srcdir = 'cpython/Doc' + app.srcdir = Path(os.getcwd() + '/cpython/Doc') app.connect('doctree-read', add_contributing_banner) diff --git a/dictionaries/library_asyncio-task.txt b/dictionaries/library_asyncio-task.txt index 69df8e2489..551990c2da 100644 --- a/dictionaries/library_asyncio-task.txt +++ b/dictionaries/library_asyncio-task.txt @@ -1,3 +1,7 @@ -threadpool gather kwargs +reprogramar +reprogramarse +reúnalas +sincrónicamente +threadpool diff --git a/dictionaries/library_fcntl.txt b/dictionaries/library_fcntl.txt index 883d5425d5..cc98e53c24 100644 --- a/dictionaries/library_fcntl.txt +++ b/dictionaries/library_fcntl.txt @@ -1 +1,2 @@ fcntl +btrfs \ No newline at end of file diff --git a/dictionaries/library_pathlib.txt b/dictionaries/library_pathlib.txt new file mode 100644 index 0000000000..82d64c5efe --- /dev/null +++ b/dictionaries/library_pathlib.txt @@ -0,0 +1 @@ +tripletas diff --git a/dictionaries/library_security_warnings.txt b/dictionaries/library_security_warnings.txt new file mode 100644 index 0000000000..1d4d24bc29 --- /dev/null +++ b/dictionaries/library_security_warnings.txt @@ -0,0 +1,2 @@ +security +considerations diff --git a/dictionaries/library_statistics.txt b/dictionaries/library_statistics.txt index 5b88d9946a..47bb02a4d5 100644 --- a/dictionaries/library_statistics.txt +++ b/dictionaries/library_statistics.txt @@ -23,3 +23,6 @@ Wallnau ª μ σ +Kepler +Carlo +bayesiano diff --git a/dictionaries/library_types.txt b/dictionaries/library_types.txt index 8ae005266b..04db3e679a 100644 --- a/dictionaries/library_types.txt +++ b/dictionaries/library_types.txt @@ -2,4 +2,5 @@ getattr enrutará AttributeError Enum -corutina \ No newline at end of file +corutina +sólo diff --git a/dictionaries/reference_datamodel.txt b/dictionaries/reference_datamodel.txt index 7c3677fd9b..54eab3418d 100644 --- a/dictionaries/reference_datamodel.txt +++ b/dictionaries/reference_datamodel.txt @@ -1,3 +1,14 @@ +argcount +awaitable +classcell +consts +empaquetándolos +firstlineno +kwdefaults +lasti +nlocals objects +posonlyargcount +stacksize +varnames zero -awaitable diff --git a/dictionaries/reference_expressions.txt b/dictionaries/reference_expressions.txt index 78ec25c601..072027d25e 100644 --- a/dictionaries/reference_expressions.txt +++ b/dictionaries/reference_expressions.txt @@ -1,13 +1,16 @@ Subgenerador +algorítmicamente close contraintuitiva contraintuitivo +floor +inhashables +lexicográficamente reflexibilidad +reflexividad superconjuntos -superconjuntos -lexicográficamente unarios -walrus -floor -algorítmicamente -inhashables \ No newline at end of file +walrus +yielded +yields +displays diff --git a/library/__main__.po b/library/__main__.po index e7818e8075..a2644d70fc 100644 --- a/library/__main__.po +++ b/library/__main__.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-28 21:47+0200\n" -"Last-Translator: Juan C. Tello \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-06 23:03+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/__main__.rst:2 msgid ":mod:`__main__` --- Top-level code environment" @@ -170,7 +171,6 @@ msgid "Idiomatic Usage" msgstr "Uso idiomático" #: ../Doc/library/__main__.rst:118 -#, fuzzy msgid "" "Some modules contain code that is intended for script use only, like parsing " "command-line arguments or fetching data from standard input. If a module " @@ -194,7 +194,6 @@ msgstr "" "ejecute en el entorno de máximo nivel." #: ../Doc/library/__main__.rst:127 -#, fuzzy msgid "" "Putting as few statements as possible in the block below ``if __name__ == " "'__main__'`` can improve code clarity and correctness. Most often, a " @@ -263,7 +262,6 @@ msgstr "" "implícitamente si tu función no tiene una declaración de retorno)." #: ../Doc/library/__main__.rst:180 -#, fuzzy msgid "" "By proactively following this convention ourselves, our module will have the " "same behavior when run directly (i.e. ``python echo.py``) as it will have if " @@ -272,8 +270,8 @@ msgid "" msgstr "" "Al seguir pro-activamente esta convención nosotros mismo, nuestro módulo " "tendrá el mismo comportamiento cuando se ejecuta directamente (es decir, " -"``python3 echo.py``) que si luego lo empaquetamos como un punto de entrada " -"de script de terminal en un paquete instalable mediante pip." +"``python echo.py``) que si luego lo empaquetamos como un punto de entrada de " +"script de terminal en un paquete instalable mediante pip." #: ../Doc/library/__main__.rst:185 msgid "" @@ -338,7 +336,6 @@ msgstr "" "estudiantes::" #: ../Doc/library/__main__.rst:233 -#, fuzzy msgid "" "Note that ``from .student import search_students`` is an example of a " "relative import. This import style can be used when referencing modules " @@ -351,7 +348,6 @@ msgstr "" "ref:`intra-package-references` en la sección :ref:`tut-modules` del tutorial." #: ../Doc/library/__main__.rst:241 -#, fuzzy msgid "" "The content of ``__main__.py`` typically isn't fenced with an ``if __name__ " "== '__main__'`` block. Instead, those files are kept short and import " @@ -360,9 +356,9 @@ msgid "" msgstr "" "Los contenidos de ``__main__.py`` no están típicamente acotados dentro de " "bloques ``if __name__=='__main__'``. En cambio, esos archivos se mantienen " -"cortos, funciones para ejecutar desde otros módulos. A esos otros módulos " -"se les puede fácilmente realizar pruebas unitarias y son apropiadamente re-" -"utilizables." +"cortos e importan funciones para ejecutar desde otros módulos. A esos otros " +"módulos se les puede fácilmente realizar pruebas unitarias y son " +"apropiadamente re-utilizables." #: ../Doc/library/__main__.rst:246 msgid "" @@ -375,19 +371,16 @@ msgstr "" "atributo ``__name__`` incluirá la ruta del paquete si es importado::" #: ../Doc/library/__main__.rst:254 -#, fuzzy msgid "" "This won't work for ``__main__.py`` files in the root directory of a .zip " "file though. Hence, for consistency, minimal ``__main__.py`` like the :mod:" "`venv` one mentioned below are preferred." msgstr "" -"Sin embargo, esto no funcionará para archivos ``__main__.py`` en el " -"directorio base de un archivo .zip. Por lo tanto, por consistencia, es " -"preferible un ``__main__.py`` minimalista como el :mod:`venv` mencionado " -"arriba." +"Esto no funcionará para archivos ``__main__.py`` en el directorio base de un " +"archivo .zip. Por lo tanto, por consistencia, es preferible un ``__main__." +"py`` minimalista como el :mod:`venv` mencionado abajo." #: ../Doc/library/__main__.rst:260 -#, fuzzy msgid "" "See :mod:`venv` for an example of a package with a minimal ``__main__.py`` " "in the standard library. It doesn't contain a ``if __name__ == '__main__'`` " @@ -395,7 +388,7 @@ msgid "" msgstr "" "En :mod:`venv` puedes conseguir un ejemplo de un paquete con un ``__main__." "py`` minimalista en la librería estándar. No contiene un bloque ``if " -"__name__=='__main__'``. Lo puedes invocar con ``python3 -m venv " +"__name__=='__main__'``. Lo puedes invocar con ``python -m venv " "[directorio]``." #: ../Doc/library/__main__.rst:264 @@ -471,7 +464,6 @@ msgstr "" "¿Por qué funciona esto?" #: ../Doc/library/__main__.rst:339 -#, fuzzy msgid "" "Python inserts an empty ``__main__`` module in :data:`sys.modules` at " "interpreter startup, and populates it by running top-level code. In our " @@ -483,12 +475,12 @@ msgid "" "` in the import system's reference for details on how " "this works." msgstr "" -"Python inserta un módulo ``__main__`` vacío en :attr:`sys.modules` al inicio " +"Python inserta un módulo ``__main__`` vacío en :data:`sys.modules` al inicio " "del intérprete, y lo puebla ejecutando código de máximo nivel. En nuestro " "ejemplo este es el módulo ``start`` que corre línea a línea e importa " "``namely``. A su vez, ``namely`` importa ``__main__`` (que es en verdad " "``start``). ¡Es un ciclo de importado! Afortunadamente, como el módulo " -"parcialmente poblado ``__main__`` está presente en :attr:`sys.modules`, " +"parcialmente poblado ``__main__`` está presente en :data:`sys.modules`, " "Python pasa eso a ``namely``. Ver :ref:`Special considerations for __main__ " "` en la referencia del sistema para información " "detallada de como funciona." diff --git a/library/_thread.po b/library/_thread.po index aedda96087..0ffe33db1b 100644 --- a/library/_thread.po +++ b/library/_thread.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: 2023-04-09 19:43-0600\n" +"PO-Revision-Date: 2024-10-24 14:13-0400\n" "Last-Translator: \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.5\n" #: ../Doc/library/_thread.rst:2 msgid ":mod:`_thread` --- Low-level threading API" @@ -103,6 +104,8 @@ msgid "" "Raises an :ref:`auditing event ` ``_thread.start_new_thread`` with " "arguments ``function``, ``args``, ``kwargs``." msgstr "" +"Lanza un :ref:`evento de auditoría ` ``_thread.start_new_thread`` " +"con los argumentos ``function``, ``args``, ``kwargs``." #: ../Doc/library/_thread.rst:62 msgid ":func:`sys.unraisablehook` is now used to handle unhandled exceptions." @@ -121,22 +124,20 @@ msgstr "" "garantías de que la interrupción ocurrirá inmediatamente." #: ../Doc/library/_thread.rst:72 -#, fuzzy msgid "" "If given, *signum* is the number of the signal to simulate. If *signum* is " "not given, :const:`signal.SIGINT` is simulated." msgstr "" -"Si se da, *signum* es el número de la señal a simular. Si *signum* no se " -"da, :data:`signal.SIGINT` es simulado." +"Si es dada, *signum* es el número de la señal a simular. Si *signum* no es " +"dada, :const:`signal.SIGINT` es simulado." #: ../Doc/library/_thread.rst:75 -#, fuzzy msgid "" "If the given signal isn't handled by Python (it was set to :const:`signal." "SIG_DFL` or :const:`signal.SIG_IGN`), this function does nothing." msgstr "" -"Si la señal dada no es manejada por Python (se estableció en :data:`signal." -"SIG_DFL` o :data:`signal.SIG_IGN`), esta función no hace nada." +"Si la señal dada no es manejada por Python (se estableció en :const:`signal." +"SIG_DFL` o :const:`signal.SIG_IGN`), esta función no hace nada." #: ../Doc/library/_thread.rst:79 msgid "The *signum* argument is added to customize the signal number." @@ -196,13 +197,12 @@ msgstr "" "Operativo)." #: ../Doc/library/_thread.rst:123 -#, fuzzy msgid "" ":ref:`Availability `: Windows, FreeBSD, Linux, macOS, OpenBSD, " "NetBSD, AIX, DragonFlyBSD." msgstr "" ":ref:`Disponibilidad `: Windows, FreeBSD, Linux, macOS, " -"OpenBSD, NetBSD, AIX." +"OpenBSD, NetBSD, AIX, DragonFlyBSD." #: ../Doc/library/_thread.rst:130 msgid "" @@ -248,18 +248,17 @@ msgstr "" #: ../Doc/library/_thread.rst:147 msgid "Unix platforms with POSIX threads support." -msgstr "" +msgstr "Plataformas Unix con soporte para hilos POSIX." #: ../Doc/library/_thread.rst:152 -#, fuzzy msgid "" "The maximum value allowed for the *timeout* parameter of :meth:`Lock.acquire " "`. Specifying a timeout greater than this value will " "raise an :exc:`OverflowError`." msgstr "" -"El máximo valor permitido para el parámetro *timeout* de :meth:`Lock." -"acquire`. Especificar un tiempo de espera (*timeout*) mayor que este valor " -"lanzará una excepción :exc:`OverflowError`." +"El máximo valor permitido para el parámetro *timeout* de :meth:`Lock.acquire " +"`. Especificar un tiempo de espera (*timeout*) mayor " +"que este valor lanzará una excepción :exc:`OverflowError`." #: ../Doc/library/_thread.rst:159 msgid "Lock objects have the following methods:" @@ -284,9 +283,9 @@ msgid "" "as above." msgstr "" "Si el argumento *blocking* está presente, la acción depende de su valor: si " -"es False, el candado es adquirido sólo si puede ser adquirido inmediatamente " -"sin espera, en cambio si es True, el candado es adquirido incondicionalmente " -"como arriba." +"es Falso, el bloqueo solo se adquiere si se puede adquirir inmediatamente " +"sin esperar, en cambio si es Verdad, el candado es adquirido " +"incondicionalmente como arriba." #: ../Doc/library/_thread.rst:173 msgid "" @@ -365,15 +364,14 @@ msgstr "" "a invocar :func:`_thread.exit`." #: ../Doc/library/_thread.rst:220 -#, fuzzy msgid "" "It is not possible to interrupt the :meth:`~threading.Lock.acquire` method " "on a lock --- the :exc:`KeyboardInterrupt` exception will happen after the " "lock has been acquired." msgstr "" -"No es posible interrumpir el método :meth:`acquire` en un candado. La " -"excepción :exc:`KeyboardInterrupt` tendrá lugar después de que el candado " -"haya sido adquirido." +"No es posible interrumpir el método :meth:`~threading.Lock.acquire` en un " +"candado. La excepción :exc:`KeyboardInterrupt` tendrá lugar después de que " +"el candado haya sido adquirido." #: ../Doc/library/_thread.rst:224 msgid "" @@ -398,36 +396,36 @@ msgstr "" #: ../Doc/library/_thread.rst:7 msgid "light-weight processes" -msgstr "" +msgstr "light-weight processes" #: ../Doc/library/_thread.rst:7 msgid "processes, light-weight" -msgstr "" +msgstr "processes, light-weight" #: ../Doc/library/_thread.rst:7 msgid "binary semaphores" -msgstr "" +msgstr "binary semaphores" #: ../Doc/library/_thread.rst:7 msgid "semaphores, binary" -msgstr "" +msgstr "semaphores, binary" #: ../Doc/library/_thread.rst:22 msgid "pthreads" -msgstr "" +msgstr "pthreads" #: ../Doc/library/_thread.rst:22 msgid "threads" -msgstr "" +msgstr "threads" #: ../Doc/library/_thread.rst:22 msgid "POSIX" -msgstr "" +msgstr "POSIX" #: ../Doc/library/_thread.rst:211 msgid "module" -msgstr "" +msgstr "module" #: ../Doc/library/_thread.rst:211 msgid "signal" -msgstr "" +msgstr "signal" diff --git a/library/argparse.po b/library/argparse.po index 6fdaefc907..3e17996612 100644 --- a/library/argparse.po +++ b/library/argparse.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: 2022-11-02 10:58-0600\n" +"PO-Revision-Date: 2024-10-30 12:17-0600\n" "Last-Translator: Diego Alberto Barriga Martínez \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.5\n" #: ../Doc/library/argparse.rst:2 msgid "" @@ -67,7 +68,6 @@ msgid "Core Functionality" msgstr "Funcionalidad principal" #: ../Doc/library/argparse.rst:32 -#, fuzzy msgid "" "The :mod:`argparse` module's support for command-line interfaces is built " "around an instance of :class:`argparse.ArgumentParser`. It is a container " @@ -162,9 +162,8 @@ msgid "Default value used when an argument is not provided" msgstr "Valor por defecto usado cuando un argumento no es proporcionado" #: ../Doc/library/argparse.rst:66 -#, fuzzy msgid "Defaults to ``None``" -msgstr "Por defecto a *None*" +msgstr "Por defecto a ``None``" #: ../Doc/library/argparse.rst:67 msgid "dest_" @@ -203,9 +202,8 @@ msgid "Number of times the argument can be used" msgstr "Número de veces que puede ser usado un argumento" #: ../Doc/library/argparse.rst:70 -#, fuzzy msgid ":class:`int`, ``'?'``, ``'*'``, or ``'+'``" -msgstr ":class:`int`, ``'?'``, ``'*'``, ``'+'``, o ``argparse.REMAINDER``" +msgstr ":class:`int`, ``'?'``, ``'*'``, o ``'+'``" #: ../Doc/library/argparse.rst:71 msgid "required_" @@ -221,7 +219,7 @@ msgstr "``True`` o ``False``" #: ../Doc/library/argparse.rst:72 msgid ":ref:`type `" -msgstr "" +msgstr ":ref:`type `" #: ../Doc/library/argparse.rst:72 msgid "Automatically convert an argument to the given type" @@ -384,18 +382,16 @@ msgstr "" "defecto: generado a partir de los argumentos añadidos al analizador)" #: ../Doc/library/argparse.rst:204 -#, fuzzy msgid "" "description_ - Text to display before the argument help (by default, no text)" msgstr "" -"description_ - Texto a mostrar antes del argumento ayuda (por defecto: " +"description_ - Texto a mostrar antes del argumento ayuda (por defecto, " "ninguno)" #: ../Doc/library/argparse.rst:207 -#, fuzzy msgid "epilog_ - Text to display after the argument help (by default, no text)" msgstr "" -"epilog_ - Texto a mostrar después del argumento ayuda (por defecto: ninguno)" +"epilog_ - Texto a mostrar después del argumento ayuda (por defecto, ninguno)" #: ../Doc/library/argparse.rst:209 msgid "" @@ -791,6 +787,8 @@ msgid "" ":class:`ArgumentParser` uses :term:`filesystem encoding and error handler` " "to read the file containing arguments." msgstr "" +":class:`ArgumentParser` utiliza :term:`codificación del sistema de archivos " +"y manejador de errores` para leer el archivo que contiene argumentos." #: ../Doc/library/argparse.rst:583 msgid "" @@ -809,6 +807,12 @@ msgid "" "error handler`. Arguments file should be encoded in UTF-8 instead of ANSI " "Codepage on Windows." msgstr "" +":class:`ArgumentParser` cambió la codificación y los errores para leer los " +"archivos de argumentos de los valores predeterminados (por ejemplo :func:" +"`locale.getpreferredencoding(False) ` y " +"``\"strict\"``) a :term:`codificación del sistema de archivos y manejador de " +"errores`. El archivo de argumentos debe estar codificado en UTF-8 en lugar " +"de la página de códigos ANSI en Windows." #: ../Doc/library/argparse.rst:594 msgid "argument_default" @@ -1019,9 +1023,8 @@ msgstr "" "type_ - El tipo al que debe convertirse el argumento de la línea de comandos." #: ../Doc/library/argparse.rst:768 -#, fuzzy msgid "choices_ - A sequence of the allowable values for the argument." -msgstr "choices_ - Un contenedor con los valores permitidos para el argumento." +msgstr "choices_ - Una secuencia de valores permitidos para el argumento." #: ../Doc/library/argparse.rst:770 msgid "" @@ -1246,7 +1249,6 @@ msgid "nargs" msgstr "*nargs*" #: ../Doc/library/argparse.rst:963 -#, fuzzy msgid "" "ArgumentParser objects usually associate a single command-line argument with " "a single action to be taken. The ``nargs`` keyword argument associates a " @@ -1256,7 +1258,8 @@ msgstr "" "Los objetos *ArgumentParser* suelen asociar un único argumento de línea de " "comandos con una única acción a realizar. El argumento de palabra clave " "``nargs`` asocia un número diferente de argumentos de línea de comandos con " -"una sola acción. Los valores admitidos son:" +"una única acción. También ver :ref:`specifying-ambiguous-arguments`. Los " +"valores soportados son:" #: ../Doc/library/argparse.rst:968 msgid "" @@ -1525,7 +1528,6 @@ msgstr "" "argumentos." #: ../Doc/library/argparse.rst:1191 -#, fuzzy msgid "" "For example, JSON or YAML conversions have complex error cases that require " "better reporting than can be given by the ``type`` keyword. A :exc:`~json." @@ -1535,7 +1537,7 @@ msgstr "" "Por ejemplo, las conversiones JSON o YAML tienen casos de error complejos " "que requieren mejores informes que los que puede proporcionar la palabra " "clave ``type``. Un :exc:`~json.JSONDecodeError` no estaría bien formateado y " -"una excepción :exc:`FileNotFound` no se manejaría en absoluto." +"un :exc:`FileNotFoundError` no se manejaría en absoluto." #: ../Doc/library/argparse.rst:1196 msgid "" @@ -1565,7 +1567,6 @@ msgid "choices" msgstr "*choices*" #: ../Doc/library/argparse.rst:1211 -#, fuzzy msgid "" "Some command-line arguments should be selected from a restricted set of " "values. These can be handled by passing a sequence object as the *choices* " @@ -1575,32 +1576,30 @@ msgid "" msgstr "" "Algunos argumentos de la línea de comandos deberían seleccionarse de un " "conjunto restringido de valores. Estos pueden ser manejados pasando un " -"objeto contenedor como el argumento de palabra clave *choices* a :meth:" +"objeto de secuencia como el argumento de palabra clave *choices* a :meth:" "`~ArgumentParser.add_argument`. Cuando se analiza la línea de comandos, se " "comprueban los valores de los argumentos y se muestra un mensaje de error si " "el argumento no era uno de los valores aceptables::" #: ../Doc/library/argparse.rst:1226 -#, fuzzy msgid "" "Note that inclusion in the *choices* sequence is checked after any type_ " "conversions have been performed, so the type of the objects in the *choices* " "sequence should match the type_ specified::" msgstr "" -"Ten en cuenta que la inclusión en el contenedor *choices* se comprueba " +"Tomar en cuenta que la inclusión en la secuencia *choices* se comprueba " "después de que se haya realizado cualquier conversión de type_, por lo que " -"el tipo de los objetos del contenedor *choices* debe coincidir con el type_ " +"el tipo de los objetos en la secuencia *choices* debe coincidir con el type_ " "especificado::" #: ../Doc/library/argparse.rst:1238 -#, fuzzy msgid "" "Any sequence can be passed as the *choices* value, so :class:`list` " "objects, :class:`tuple` objects, and custom sequences are all supported." msgstr "" -"Se puede pasar cualquier contenedor como el valor para *choices*, así que " -"los objetos :class:`list`, :class:`set` , y los contenedores personalizados " -"están todos soportados." +"Se puede pasar cualquier secuencia como el valor para *choices*, así que los " +"objetos :class:`list`, :class:`tuple` , y las secuencias personalizadas " +"están soportados." #: ../Doc/library/argparse.rst:1241 msgid "" @@ -1696,8 +1695,9 @@ msgid "" "As the help string supports %-formatting, if you want a literal ``%`` to " "appear in the help string, you must escape it as ``%%``." msgstr "" -"Como la cadena de caracteres de ayuda soporta el formato-%, si quieres que " -"aparezca un ``%`` literal en la ayuda, debes escribirlo como ``%%``." +"Como la cadena de caracteres de ayuda soporta el formato-%, si se quiere que " +"aparezca un ``%`` literal en la cadena de caracteres de ayuda, se debe " +"escribir como ``%%``." #: ../Doc/library/argparse.rst:1323 msgid "" @@ -1807,7 +1807,6 @@ msgid "Action classes" msgstr "Las clases *Action*" #: ../Doc/library/argparse.rst:1445 -#, fuzzy msgid "" "Action classes implement the Action API, a callable which returns a callable " "which processes arguments from the command-line. Any object which follows " @@ -1816,8 +1815,8 @@ msgid "" msgstr "" "Las clases *Action* implementan la API de *Action*, un invocable que retorna " "un invocable que procesa los argumentos de la línea de comandos. Cualquier " -"objeto que siga esta API puede ser pasado como el parámetro ``action`` a :" -"meth:`add_argument`." +"objeto que siga esta API se puede pasar como el parámetro ``action`` a :meth:" +"`~ArgumentParser.add_argument`." #: ../Doc/library/argparse.rst:1454 msgid "" @@ -2045,6 +2044,8 @@ msgid "" "See also :ref:`the argparse howto on ambiguous arguments ` for more details." msgstr "" +"También ver :ref:`la guía de argparse sobre cómo manejar argumentos ambiguos " +"` para más detalles." #: ../Doc/library/argparse.rst:1630 msgid "Argument abbreviations (prefix matching)" @@ -2128,7 +2129,6 @@ msgid "Sub-commands" msgstr "Sub-comandos" #: ../Doc/library/argparse.rst:1718 -#, fuzzy msgid "" "Many programs split up their functionality into a number of sub-commands, " "for example, the ``svn`` program can invoke sub-commands like ``svn " @@ -2152,7 +2152,7 @@ msgstr "" "creación de tales sub-comandos con el método :meth:`add_subparsers`. El " "método :meth:`add_subparsers` se llama normalmente sin argumentos y retorna " "un objeto de acción especial. Este objeto tiene un único método, :meth:" -"`~ArgumentParser.add_parser`, que toma un nombre de comando y cualquier " +"`~_SubParsersAction.add_parser`, que toma un nombre de comando y cualquier " "argumento de construcción :class:`ArgumentParser`, y retorna un objeto :" "class:`ArgumentParser` que puede ser modificado de la forma habitual." @@ -2258,7 +2258,6 @@ msgstr "" "``baz``." #: ../Doc/library/argparse.rst:1788 -#, fuzzy msgid "" "Similarly, when a help message is requested from a subparser, only the help " "for that particular parser will be printed. The help message will not " @@ -2271,7 +2270,8 @@ msgstr "" "mensaje de ayuda no incluirá mensajes del analizador principal o de " "analizadores relacionados. (Sin embargo, se puede dar un mensaje de ayuda " "para cada comando del analizador secundario suministrando el argumento " -"``help=`` a :meth:`add_parser` como se ha indicado anteriormente)." +"``help=`` a :meth:`~_SubParsersAction.add_parser` como se ha indicado " +"anteriormente)." #: ../Doc/library/argparse.rst:1824 msgid "" @@ -2348,15 +2348,14 @@ msgstr "" "`open` para más detalles)::" #: ../Doc/library/argparse.rst:1930 -#, fuzzy msgid "" "FileType objects understand the pseudo-argument ``'-'`` and automatically " "convert this into :data:`sys.stdin` for readable :class:`FileType` objects " "and :data:`sys.stdout` for writable :class:`FileType` objects::" msgstr "" "Los objetos *FileType* entienden el pseudo-argumento ``'-'`` y lo convierten " -"automáticamente en ``sys.stdin`` para objetos de lectura :class:`FileType` y " -"``sys.stdout`` para objetos de escritura :class:`FileType`::" +"automáticamente en :data:`sys.stdin` para objetos de lectura :class:" +"`FileType` y :data:`sys.stdout` para objetos de escritura :class:`FileType`::" #: ../Doc/library/argparse.rst:1939 msgid "The *encodings* and *errors* keyword arguments." @@ -2367,7 +2366,6 @@ msgid "Argument groups" msgstr "Grupos de argumentos" #: ../Doc/library/argparse.rst:1948 -#, fuzzy msgid "" "By default, :class:`ArgumentParser` groups command-line arguments into " "\"positional arguments\" and \"options\" when displaying help messages. When " @@ -2376,10 +2374,10 @@ msgid "" "method::" msgstr "" "Por defecto, :class:`ArgumentParser` agrupa los argumentos de la línea de " -"comandos en \"argumentos de posición\" y \"argumentos opcionales\" al " -"mostrar los mensajes de ayuda. Cuando hay una mejor agrupación conceptual de " -"argumentos que esta predeterminada, se pueden crear grupos apropiados usando " -"el método :meth:`add_argument_group`::" +"comandos en \"argumentos de posición\" y \"opciones\" al mostrar los " +"mensajes de ayuda. Cuando hay una mejor agrupación conceptual de argumentos " +"que esta predeterminada, se pueden crear grupos apropiados usando el método :" +"meth:`add_argument_group`::" #: ../Doc/library/argparse.rst:1965 msgid "" @@ -2445,16 +2443,17 @@ msgstr "" "mutuamente exclusivos::" #: ../Doc/library/argparse.rst:2034 -#, fuzzy msgid "" "Note that currently mutually exclusive argument groups do not support the " "*title* and *description* arguments of :meth:`~ArgumentParser." "add_argument_group`. However, a mutually exclusive group can be added to an " "argument group that has a title and description. For example::" msgstr "" -"Ten en cuenta que actualmente los grupos de argumentos mutuamente exclusivos " -"no admiten los argumentos *title* y *description* de :meth:`~ArgumentParser." -"add_argument_group`." +"Tomar en cuenta que actualmente los grupos de argumentos mutuamente " +"exclusivos no admiten los argumentos *title* y *description* de :meth:" +"`~ArgumentParser.add_argument_group`. Sin embargo, se puede agregar un grupo " +"mutuamente exclusivo a un grupo de argumentos que tenga un título y una " +"descripción. Por ejemplo::" #: ../Doc/library/argparse.rst:2057 msgid "" @@ -2595,7 +2594,6 @@ msgstr "" "argumentos de cadena de caracteres restantes." #: ../Doc/library/argparse.rst:2159 -#, fuzzy msgid "" ":ref:`Prefix matching ` rules apply to :meth:" "`~ArgumentParser.parse_known_args`. The parser may consume an option even if " @@ -2603,9 +2601,9 @@ msgid "" "remaining arguments list." msgstr "" ":ref:`Coincidencia de prefijos ` las reglas se aplican a :" -"meth:`parse_known_args`. El analizador puede consumir una opción aunque sea " -"sólo un prefijo de una de sus opciones conocidas, en lugar de dejarla en la " -"lista de argumentos restantes." +"meth:`~ArgumentParser.parse_known_args`. El analizador puede consumir una " +"opción aunque sea sólo un prefijo de una de sus opciones conocidas, en lugar " +"de dejarla en la lista de argumentos restantes." #: ../Doc/library/argparse.rst:2166 msgid "Customizing file parsing" @@ -2682,7 +2680,6 @@ msgstr "" "soportan este modo de análisis." #: ../Doc/library/argparse.rst:2219 -#, fuzzy msgid "" "These parsers do not support all the argparse features, and will raise " "exceptions if unsupported features are used. In particular, subparsers, and " @@ -2691,9 +2688,8 @@ msgid "" msgstr "" "Estos analizadores no soportan todas las capacidades de *argparse*, y " "generarán excepciones si se utilizan capacidades no soportadas. En " -"particular, los analizadores secundarios, ``argparse.REMAINDER``, y los " -"grupos mutuamente exclusivos que incluyen tanto opcionales como de posición " -"no están soportados." +"particular, los analizadores secundarios y los grupos mutuamente exclusivos " +"que incluyen tanto opcionales como de posición no están soportados." #: ../Doc/library/argparse.rst:2224 msgid "" @@ -2860,41 +2856,44 @@ msgstr "" "version>')``." #: ../Doc/library/argparse.rst:2300 -#, fuzzy msgid "Exceptions" -msgstr "*description*" +msgstr "Excepciones" #: ../Doc/library/argparse.rst:2304 msgid "An error from creating or using an argument (optional or positional)." -msgstr "" +msgstr "Un error al crear o usar un argumento (opcional o posicional)." #: ../Doc/library/argparse.rst:2306 msgid "" "The string value of this exception is the message, augmented with " "information about the argument that caused it." msgstr "" +"El valor de la cadena de caracteres de esta excepción es el mensaje, " +"ampliado con información sobre el argumento que lo causó." #: ../Doc/library/argparse.rst:2311 msgid "" "Raised when something goes wrong converting a command line string to a type." msgstr "" +"Se lanza cuando algo sale mal al convertir una cadena de caracteres de la " +"línea de comandos a un tipo." #: ../Doc/library/argparse.rst:980 msgid "? (question mark)" -msgstr "" +msgstr "? (signo de interrogación)" #: ../Doc/library/argparse.rst:980 ../Doc/library/argparse.rst:1014 #: ../Doc/library/argparse.rst:1028 msgid "in argparse module" -msgstr "" +msgstr "en el módulo argparse" #: ../Doc/library/argparse.rst:1014 msgid "* (asterisk)" -msgstr "" +msgstr "* (asterisco)" #: ../Doc/library/argparse.rst:1028 msgid "+ (plus)" -msgstr "" +msgstr "+ (más)" #~ msgid "type_" #~ msgstr "type_" diff --git a/library/asyncio-runner.po b/library/asyncio-runner.po index a853697229..e3cbe1ea33 100644 --- a/library/asyncio-runner.po +++ b/library/asyncio-runner.po @@ -9,19 +9,20 @@ msgstr "" "Project-Id-Version: Python en Español 3.11\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2022-12-10 14:55+0100\n" +"PO-Revision-Date: 2024-03-05 22:16-0500\n" "Last-Translator: Andrea ALEGRE \n" -"Language: es_ES\n" "Language-Team: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_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.4.2\n" #: ../Doc/library/asyncio-runner.rst:6 msgid "Runners" -msgstr "Ejecutores" +msgstr "Runners" #: ../Doc/library/asyncio-runner.rst:8 msgid "**Source code:** :source:`Lib/asyncio/runners.py`" @@ -31,7 +32,7 @@ msgstr "**Código fuente:** :source:`Lib/asyncio/runners.py`" msgid "" "This section outlines high-level asyncio primitives to run asyncio code." msgstr "" -"Esta sección muestra las primitivas asyncio de alto nivel para ejecutar " +"Esta sección describe las primitivas asyncio de alto nivel para ejecutar " "código asyncio." #: ../Doc/library/asyncio-runner.rst:13 @@ -52,14 +53,13 @@ msgid "Execute the :term:`coroutine` *coro* and return the result." msgstr "Ejecutar el :term:`coroutine` *coro* y retornar el resultado." #: ../Doc/library/asyncio-runner.rst:29 -#, fuzzy msgid "" "This function runs the passed coroutine, taking care of managing the asyncio " "event loop, *finalizing asynchronous generators*, and closing the executor." msgstr "" -"Esta función ejecuta la co-rutina pasada, teniendo cuidado de manejar el " -"bucle de eventos asyncio, *terminando los generadores asíncronos* y cerrando " -"el pool de hilos." +"Esta función ejecuta la co-rutina pasada, encargándose de gestionar el bucle " +"de eventos asyncio, *finalizando los generadores asíncronos*, y cerrando el " +"ejecutor." #: ../Doc/library/asyncio-runner.rst:33 ../Doc/library/asyncio-runner.rst:113 msgid "" @@ -69,18 +69,15 @@ msgstr "" "Esta función no puede ser llamada cuando otro bucle de eventos asyncio está " "corriendo en el mismo hilo." -# is used to respect the global : -# =>se usa para respetar la configuración global -# (la traducción directa me parece poco clara) #: ../Doc/library/asyncio-runner.rst:36 ../Doc/library/asyncio-runner.rst:83 msgid "" "If *debug* is ``True``, the event loop will be run in debug mode. ``False`` " "disables debug mode explicitly. ``None`` is used to respect the global :ref:" "`asyncio-debug-mode` settings." msgstr "" -"Si *debug* es ``True``, el bucle de eventos se ejecutará en modo debug. " -"``False`` deshabilita el modo debug de manera explícita. ``None`` se usa " -"para respetar la configuración global :ref:`asyncio-debug-mode`." +"Si *debug* es ``True``, el bucle de eventos se ejecutará en modo depuración. " +"``False`` deshabilita el modo depuración de manera explícita. ``None`` se " +"usa para respetar la configuración global :ref:`asyncio-debug-mode`." #: ../Doc/library/asyncio-runner.rst:40 msgid "" @@ -90,6 +87,12 @@ msgid "" "programs, and should ideally only be called once. It is recommended to use " "*loop_factory* to configure the event loop instead of policies." msgstr "" +"Si *loop_factory* no es ``None``, se utiliza para crear un nuevo bucle de " +"eventos; en caso contrario se utiliza :func:`asyncio.new_event_loop`. El " +"bucle se cierra al final. Esta función debería usarse como punto de entrada " +"principal para los programas asyncio, e idealmente sólo debería llamarse una " +"vez. Se recomienda usar *loop_factory* para configurar el bucle de eventos " +"en lugar de políticas." #: ../Doc/library/asyncio-runner.rst:46 msgid "" @@ -97,6 +100,9 @@ msgid "" "executor hasn't finished within that duration, a warning is emitted and the " "executor is closed." msgstr "" +"Al ejecutor se le da un tiempo de espera de 5 minutos para apagarse. Si el " +"ejecutor no ha finalizado en ese tiempo, se emite una advertencia y se " +"cierra el ejecutor." #: ../Doc/library/asyncio-runner.rst:50 msgid "Example::" @@ -111,32 +117,31 @@ msgid "" "*debug* is ``None`` by default to respect the global debug mode settings." msgstr "" "*debug* es ``None`` por defecto para respetar la configuración global del " -"modo debug." +"modo depuración." #: ../Doc/library/asyncio-runner.rst:69 msgid "Added *loop_factory* parameter." -msgstr "" +msgstr "Añadido el parámetro *loop_factory*." #: ../Doc/library/asyncio-runner.rst:73 msgid "Runner context manager" -msgstr "Administrador de contexto del ejecutor" +msgstr "Gestor de contexto del runner" #: ../Doc/library/asyncio-runner.rst:77 msgid "" "A context manager that simplifies *multiple* async function calls in the " "same context." msgstr "" -"Un administrador de contexto que simplifica *multiples* llamadas asíncronas " -"en el mismo contexto." +"Un gestor de contexto que simplifica *múltiples* llamadas a funciones " +"asíncronas en el mismo contexto." #: ../Doc/library/asyncio-runner.rst:80 msgid "" "Sometimes several top-level async functions should be called in the same :" "ref:`event loop ` and :class:`contextvars.Context`." msgstr "" -"A veces varias funciones asíncronas de alto nivel deberían ser llamadas en " -"el mismo :ref:`bucle de eventos ` y :class:`contextvars." -"Context`." +"A veces varias funciones asíncronas de alto nivel deben ser llamadas en el " +"mismo :ref:`event loop ` y :class:`contextvars.Context`." #: ../Doc/library/asyncio-runner.rst:87 msgid "" @@ -146,10 +151,10 @@ msgid "" "event loop with :func:`asyncio.set_event_loop` if *loop_factory* is ``None``." msgstr "" "*loop_factory* puede ser usado para redefinir la creación de bucles. Es " -"responsabilidad de la *loop_factory* configurar el bucle creado como el " -"bucle actual. Por defecto :func:`asyncio.new_event_loop` es usado y " -"configura el nuevo bucle de eventos como el actual con :func:`asyncio." -"set_event_loop` si *loop_factory* es ``None``." +"responsabilidad del *loop_factory* establecer el bucle creado como el " +"actual. Por defecto :func:`asyncio.new_event_loop` es usado y configura el " +"nuevo bucle de eventos como el actual con :func:`asyncio.set_event_loop` si " +"*loop_factory* es ``None``." #: ../Doc/library/asyncio-runner.rst:92 msgid "" @@ -161,7 +166,8 @@ msgstr "" #: ../Doc/library/asyncio-runner.rst:105 msgid "Run a :term:`coroutine ` *coro* in the embedded loop." -msgstr "Ejecuta una :term:`co-rutina ` *coro* en el bucle embebido." +msgstr "" +"Ejecuta una :term:`co-rutina ` *coro* en el bucle incrustado." # más info sobre el origen de la excepción #: ../Doc/library/asyncio-runner.rst:107 @@ -169,22 +175,20 @@ msgid "Return the coroutine's result or raise its exception." msgstr "" "Retorna el resultado de la co-rutina o lanza excepción de dicha co-rutina." -# - hice un poco más clara la segunda oración -# - corrijo traduccion de keyboard-only -> keyword-only #: ../Doc/library/asyncio-runner.rst:109 msgid "" "An optional keyword-only *context* argument allows specifying a custom :" "class:`contextvars.Context` for the *coro* to run in. The runner's default " "context is used if ``None``." msgstr "" -"Un argumento opcional del *contexto* que consiste en una palabra clave " +"Un argumento opcional del *context* que consiste en una palabra clave " "permite especificar un :class:`contextvars.Context` personalizado donde " "correr la *coro* . El contexto por defecto del ejecutor es usado si el modo " "debug es ``None``." #: ../Doc/library/asyncio-runner.rst:118 msgid "Close the runner." -msgstr "Cierra el ejecutor." +msgstr "Cierra el runner." #: ../Doc/library/asyncio-runner.rst:120 msgid "" @@ -196,7 +200,7 @@ msgstr "" #: ../Doc/library/asyncio-runner.rst:125 msgid "Return the event loop associated with the runner instance." -msgstr "Retorna el bucle de eventos asociado a la instancia del ejecutor." +msgstr "Retorna el bucle de eventos asociado a la instancia del runner." #: ../Doc/library/asyncio-runner.rst:129 msgid "" @@ -211,8 +215,8 @@ msgid "" "Embedded *loop* and *context* are created at the :keyword:`with` body " "entering or the first call of :meth:`run` or :meth:`get_loop`." msgstr "" -"El *bucle* y el *contexto* embebidos son creados al entrar al cuerpo :" -"keyword:`with` o en la primera llamada a :meth:`run` o a :meth:`get_loop`." +"El *loop* y el *context* embebidos son creados al entrar al cuerpo :keyword:" +"`with` o en la primera llamada a :meth:`run` o a :meth:`get_loop`." #: ../Doc/library/asyncio-runner.rst:137 msgid "Handling Keyboard Interruption" @@ -227,11 +231,10 @@ msgid "" "However this doesn't work with :mod:`asyncio` because it can interrupt " "asyncio internals and can hang the program from exiting." msgstr "" -"Cuando la excepción :const:`signal.SIGINT` es lanzada por :kbd:`Ctrl-C`, la " -"excepción :exc:`KeyboardInterrupt` es lanzada en el hilo principal por " -"defecto. Sin embargo, esto no siempre funciona con :mod:`asyncio` porque " -"puede interrumpir llamadas internas a asyncio e impedir la salida del " -"programa." +"Cuando :const:`signal.SIGINT` es lanzada por :kbd:`Ctrl-C`, la excepción :" +"exc:`KeyboardInterrupt` es lanzada en el hilo principal por defecto. Sin " +"embargo, esto no funciona con :mod:`asyncio` porque puede interrumpir las " +"funciones internas a asyncio e impedir la salida del programa." #: ../Doc/library/asyncio-runner.rst:146 msgid "" @@ -260,7 +263,6 @@ msgstr "" "rutina para su ejecución." #: ../Doc/library/asyncio-runner.rst:152 -#, fuzzy msgid "" "When :const:`signal.SIGINT` is raised by :kbd:`Ctrl-C`, the custom signal " "handler cancels the main task by calling :meth:`asyncio.Task.cancel` which " @@ -269,13 +271,13 @@ msgid "" "used for resource cleanup. After the main task is cancelled, :meth:`asyncio." "Runner.run` raises :exc:`KeyboardInterrupt`." msgstr "" -"Cuando :const:`signal.SIGINT` es lanzado por :kbd:`Ctrl-C`, el administrador " -"de señales personalizado cancela la tarea principal llamando :meth:`asyncio." -"Task.cancel` que lanza :exc:`asyncio.CancelledError` dentro de la tarea " -"principal. Esto hace que la pila de Python se desenvuelva, los bloques``try/" -"except`` y ``try/finally`` pueden ser usados para liberar recursos. Luego de " -"que la tarea principal es cancelada, :meth:`asyncio.Runner.run` lanza :exc:" -"`KeyboardInterrupt`." +"Cuando :const:`signal.SIGINT` es lanzada por :kbd:`Ctrl-C`, el administrador " +"de señales personalizado cancela la tarea principal llamando a :meth:" +"`asyncio.Task.cancel` que lanza :exc:`asyncio.CancelledError` dentro de la " +"tarea principal. Esto hace que la pila de Python se desenrolle, los bloques " +"``try/except`` y ``try/finally`` se pueden utilizar para la limpieza de " +"recursos. Luego que la tarea principal es cancelada, :meth:`asyncio.Runner." +"run` lanza :exc:`KeyboardInterrupt`." #: ../Doc/library/asyncio-runner.rst:158 msgid "" diff --git a/library/asyncio-subprocess.po b/library/asyncio-subprocess.po index 12eca5c30b..ec4424b411 100644 --- a/library/asyncio-subprocess.po +++ b/library/asyncio-subprocess.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: 2022-10-30 00:19-0400\n" +"PO-Revision-Date: 2024-10-27 14:49-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.13.0\n" +"X-Generator: Poedit 3.5\n" #: ../Doc/library/asyncio-subprocess.rst:7 msgid "Subprocesses" @@ -80,7 +81,6 @@ msgstr "Crea un sub-proceso." #: ../Doc/library/asyncio-subprocess.rst:69 #: ../Doc/library/asyncio-subprocess.rst:87 -#, fuzzy msgid "" "The *limit* argument sets the buffer limit for :class:`StreamReader` " "wrappers for :attr:`Process.stdout` and :attr:`Process.stderr` (if :const:" @@ -88,7 +88,7 @@ msgid "" msgstr "" "El argumento *limit* establece el límite del buffer para los envoltorios :" "class:`StreamReader` para :attr:`Process.stdout` y :attr:`Process.stderr` " -"(si se pasa :attr:`subprocess.PIPE` a los argumentos *stdout* y *stderr*)." +"(si se pasa :const:`subprocess.PIPE` a los argumentos *stdout* y *stderr*)." #: ../Doc/library/asyncio-subprocess.rst:73 #: ../Doc/library/asyncio-subprocess.rst:91 @@ -250,7 +250,6 @@ msgstr "" "método :meth:`~subprocess.Popen.poll`;" #: ../Doc/library/asyncio-subprocess.rst:176 -#, fuzzy msgid "" "the :meth:`~asyncio.subprocess.Process.communicate` and :meth:`~asyncio." "subprocess.Process.wait` methods don't have a *timeout* parameter: use the :" @@ -258,7 +257,7 @@ msgid "" msgstr "" "los métodos :meth:`~asyncio.subprocess.Process.communicate` y :meth:" "`~asyncio.subprocess.Process.wait` no tienen un parámetro *timeout*: use la " -"función :func:`wait_for`;" +"función :func:`~asyncio.wait_for`;" #: ../Doc/library/asyncio-subprocess.rst:180 msgid "" @@ -318,7 +317,7 @@ msgstr "envía datos a *stdin* (si *input* no es ``None``);" #: ../Doc/library/asyncio-subprocess.rst:210 msgid "closes *stdin*;" -msgstr "" +msgstr "cierra *stdin*;" #: ../Doc/library/asyncio-subprocess.rst:211 msgid "read data from *stdout* and *stderr*, until EOF is reached;" @@ -374,7 +373,7 @@ msgstr "" #: ../Doc/library/asyncio-subprocess.rst:235 msgid "*stdin* gets closed when `input=None` too." -msgstr "" +msgstr "*stdin* se cierra cuando `input=None` también." #: ../Doc/library/asyncio-subprocess.rst:239 msgid "Sends the signal *signal* to the child process." @@ -395,12 +394,11 @@ msgid "Stop the child process." msgstr "Para al proceso hijo." #: ../Doc/library/asyncio-subprocess.rst:252 -#, fuzzy msgid "" "On POSIX systems this method sends :py:const:`signal.SIGTERM` to the child " "process." msgstr "" -"En sistemas POSIX este método envía :py:data:`signal.SIGNTERM` al proceso " +"En sistemas POSIX, este método envía :py:const:`signal.SIGNTERM` al proceso " "hijo." #: ../Doc/library/asyncio-subprocess.rst:255 diff --git a/library/asyncio-task.po b/library/asyncio-task.po index 7112d61773..5168140893 100644 --- a/library/asyncio-task.po +++ b/library/asyncio-task.po @@ -13,9 +13,8 @@ msgstr "" "POT-Creation-Date: 2023-10-12 19:43+0200\n" "PO-Revision-Date: 2021-08-04 13:41+0200\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" @@ -39,10 +38,9 @@ msgstr "Corrutinas" #: ../Doc/library/asyncio-task.rst:21 msgid "**Source code:** :source:`Lib/asyncio/coroutines.py`" -msgstr "" +msgstr "**Source code:** :source:`Lib/asyncio/coroutines.py`" #: ../Doc/library/asyncio-task.rst:25 -#, fuzzy msgid "" ":term:`Coroutines ` declared with the async/await syntax is the " "preferred way of writing asyncio applications. For example, the following " @@ -50,8 +48,8 @@ msgid "" msgstr "" ":term:`Coroutines ` declarado con la sintaxis async/await es la " "forma preferida de escribir aplicaciones asyncio. Por ejemplo, el siguiente " -"fragmento de código (requiere Python 3.7+) imprime \"hola\", espera 1 " -"segundo y, a continuación, imprime \"mundo\"::" +"fragmento de código imprime \"hola\", espera 1 segundo y luego imprime " +"\"mundo\"::" #: ../Doc/library/asyncio-task.rst:41 msgid "" @@ -61,11 +59,10 @@ msgstr "" "que se ejecute::" #: ../Doc/library/asyncio-task.rst:47 -#, fuzzy msgid "To actually run a coroutine, asyncio provides the following mechanisms:" msgstr "" -"Para ejecutar realmente una corrutina, asyncio proporciona tres mecanismos " -"principales:" +"Para ejecutar realmente una corutina, asyncio proporciona los siguientes " +"mecanismos:" #: ../Doc/library/asyncio-task.rst:49 msgid "" @@ -118,14 +115,17 @@ msgid "" "The :class:`asyncio.TaskGroup` class provides a more modern alternative to :" "func:`create_task`. Using this API, the last example becomes::" msgstr "" +"La clase :class:`asyncio.TaskGroup` proporciona una alternativa más moderna " +"a :func:`create_task`. Usando esta API, el último ejemplo se convierte en:" #: ../Doc/library/asyncio-task.rst:128 msgid "The timing and output should be the same as for the previous version." msgstr "" +"El tiempo y la salida deben ser los mismos que para la versión anterior." #: ../Doc/library/asyncio-task.rst:130 msgid ":class:`asyncio.TaskGroup`." -msgstr "" +msgstr ":class:`asyncio.TaskGroup`." #: ../Doc/library/asyncio-task.rst:137 msgid "Awaitables" @@ -251,7 +251,7 @@ msgstr "Creando Tareas" #: ../Doc/library/asyncio-task.rst:237 msgid "**Source code:** :source:`Lib/asyncio/tasks.py`" -msgstr "" +msgstr "**Source code:** :source:`Lib/asyncio/tasks.py`" #: ../Doc/library/asyncio-task.rst:243 msgid "" @@ -275,6 +275,9 @@ msgid "" "class:`contextvars.Context` for the *coro* to run in. The current context " "copy is created when no *context* is provided." msgstr "" +"Un argumento *context* opcional de solo palabra clave permite especificar " +"un :class:`contextvars.Context` personalizado para que se ejecute el *coro*. " +"La copia de contexto actual se crea cuando no se proporciona *context*." #: ../Doc/library/asyncio-task.rst:253 msgid "" @@ -291,6 +294,8 @@ msgid "" "structural concurrency; it allows for waiting for a group of related tasks " "with strong safety guarantees." msgstr "" +":meth:`asyncio.TaskGroup.create_task` es una alternativa más nueva que " +"permite una espera conveniente para un grupo de tareas relacionadas." #: ../Doc/library/asyncio-task.rst:265 msgid "" @@ -300,26 +305,34 @@ msgid "" "any time, even before it's done. For reliable \"fire-and-forget\" background " "tasks, gather them in a collection::" msgstr "" +"Guarde una referencia al resultado de esta función, para evitar que una " +"tarea desaparezca en medio de la ejecución. El bucle de eventos solo " +"mantiene referencias débiles a las tareas. Una tarea a la que no se hace " +"referencia en ningún otro lugar puede ser recolectada por el recolector de " +"basura en cualquier momento, incluso antes de que se complete. Para tareas " +"confiables en segundo plano, de tipo \"lanzar y olvidar\", reúnalas en una " +"colección:" #: ../Doc/library/asyncio-task.rst:287 ../Doc/library/asyncio-task.rst:1076 -#, fuzzy msgid "Added the *name* parameter." -msgstr "Se ha añadido el parámetro ``name``." +msgstr "Se ha añadido el parámetro *name*." #: ../Doc/library/asyncio-task.rst:290 ../Doc/library/asyncio-task.rst:1083 -#, fuzzy msgid "Added the *context* parameter." -msgstr "Se ha añadido el parámetro ``name``." +msgstr "Se ha añadido el parámetro *context*." #: ../Doc/library/asyncio-task.rst:295 msgid "Task Cancellation" -msgstr "" +msgstr "Cancelación de tareas" #: ../Doc/library/asyncio-task.rst:297 msgid "" "Tasks can easily and safely be cancelled. When a task is cancelled, :exc:" "`asyncio.CancelledError` will be raised in the task at the next opportunity." msgstr "" +"Las tareas se pueden cancelar de forma fácil y segura. Cuando se cancela una " +"tarea, se generará :exc:`asyncio.CancelledError` en la tarea en la próxima " +"oportunidad." #: ../Doc/library/asyncio-task.rst:301 msgid "" @@ -329,6 +342,12 @@ msgid "" "`asyncio.CancelledError` directly subclasses :exc:`BaseException` so most " "code will not need to be aware of it." msgstr "" +"Se recomienda que las corrutinas utilicen bloques ``try/finally`` para " +"realizar de forma sólida la lógica de limpieza. En caso de que :exc:`asyncio." +"CancelledError` se detecte explícitamente, generalmente debería propagarse " +"cuando se complete la limpieza. :exc:`asyncio.CancelledError` subclasifica " +"directamente a :exc:`BaseException`, por lo que la mayor parte del código no " +"necesitará tenerlo en cuenta." #: ../Doc/library/asyncio-task.rst:307 msgid "" @@ -340,16 +359,27 @@ msgid "" "exc:`asyncio.CancelledError` is truly desired, it is necessary to also call " "``uncancel()`` to completely remove the cancellation state." msgstr "" +"Los componentes asyncio que permiten la simultaneidad estructurada, como :" +"class:`asyncio.TaskGroup` y :func:`asyncio.timeout`, se implementan mediante " +"cancelación internamente y podrían comportarse mal si una rutina traga :exc:" +"`asyncio.CancelledError`. De manera similar, el código de usuario " +"generalmente no debería llamar a :meth:`uncancel `. " +"Sin embargo, en los casos en los que realmente se desea suprimir :exc:" +"`asyncio.CancelledError`, es necesario llamar también a ``uncancel()`` para " +"eliminar completamente el estado de cancelación." #: ../Doc/library/asyncio-task.rst:319 msgid "Task Groups" -msgstr "" +msgstr "Grupos de tareas" #: ../Doc/library/asyncio-task.rst:321 msgid "" "Task groups combine a task creation API with a convenient and reliable way " "to wait for all tasks in the group to finish." msgstr "" +"Los grupos de tareas combinan una API de creación de tareas con una forma " +"conveniente y confiable de esperar a que finalicen todas las tareas del " +"grupo." #: ../Doc/library/asyncio-task.rst:326 msgid "" @@ -357,12 +387,18 @@ msgid "" "group of tasks. Tasks can be added to the group using :meth:`create_task`. " "All tasks are awaited when the context manager exits." msgstr "" +"Un :ref:`asynchronous context manager ` que contiene " +"un grupo de tareas. Las tareas se pueden agregar al grupo usando :meth:" +"`create_task`. Se esperan todas las tareas cuando sale el administrador de " +"contexto." #: ../Doc/library/asyncio-task.rst:335 msgid "" "Create a task in this task group. The signature matches that of :func:" "`asyncio.create_task`." msgstr "" +"Cree una tarea en este grupo de tareas. La firma coincide con la de :func:" +"`asyncio.create_task`." #: ../Doc/library/asyncio-task.rst:338 ../Doc/library/asyncio-task.rst:472 #: ../Doc/library/asyncio-task.rst:645 ../Doc/library/asyncio-task.rst:703 @@ -379,6 +415,11 @@ msgid "" "in that coroutine). Once the last task has finished and the ``async with`` " "block is exited, no new tasks may be added to the group." msgstr "" +"La instrucción ``async with`` esperará a que finalicen todas las tareas del " +"grupo. Mientras espera, aún se pueden agregar nuevas tareas al grupo (por " +"ejemplo, pasando ``tg`` a una de las corrutinas y llamando a ``tg." +"create_task()`` en esa corrutina). Una vez finalizada la última tarea y " +"salido del bloque ``async with``, no se podrán añadir nuevas tareas al grupo." #: ../Doc/library/asyncio-task.rst:353 msgid "" @@ -391,6 +432,14 @@ msgid "" "exc:`asyncio.CancelledError` will interrupt an ``await``, but it will not " "bubble out of the containing ``async with`` statement." msgstr "" +"La primera vez que alguna de las tareas pertenecientes al grupo falla con " +"una excepción que no sea :exc:`asyncio.CancelledError`, las tareas restantes " +"del grupo se cancelan. No se pueden añadir más tareas al grupo. En este " +"punto, si el cuerpo de la instrucción ``async with`` aún está activo (es " +"decir, aún no se ha llamado a :meth:`~object.__aexit__`), la tarea que " +"contiene directamente la instrucción ``async with`` también se cancela. El :" +"exc:`asyncio.CancelledError` resultante interrumpirá un ``await``, pero no " +"saldrá de la instrucción ``async with`` que lo contiene." #: ../Doc/library/asyncio-task.rst:363 msgid "" @@ -399,6 +448,10 @@ msgid "" "an :exc:`ExceptionGroup` or :exc:`BaseExceptionGroup` (as appropriate; see " "their documentation) which is then raised." msgstr "" +"Una vez que todas las tareas han finalizado, si alguna tarea ha fallado con " +"una excepción que no sea :exc:`asyncio.CancelledError`, esas excepciones se " +"combinan en un :exc:`ExceptionGroup` o :exc:`BaseExceptionGroup` (según " +"corresponda; consulte su documentación) que luego se genera." #: ../Doc/library/asyncio-task.rst:370 msgid "" @@ -408,6 +461,11 @@ msgid "" "`KeyboardInterrupt` or :exc:`SystemExit` is re-raised instead of :exc:" "`ExceptionGroup` or :exc:`BaseExceptionGroup`." msgstr "" +"Dos excepciones básicas se tratan de manera especial: si alguna tarea falla " +"con :exc:`KeyboardInterrupt` o :exc:`SystemExit`, el grupo de tareas aún " +"cancela las tareas restantes y las espera, pero luego se vuelve a generar " +"el :exc:`KeyboardInterrupt` o :exc:`SystemExit` inicial en lugar de :exc:" +"`ExceptionGroup` o :exc:`BaseExceptionGroup`." #: ../Doc/library/asyncio-task.rst:376 msgid "" @@ -420,6 +478,15 @@ msgid "" "the exception group. The same special case is made for :exc:" "`KeyboardInterrupt` and :exc:`SystemExit` as in the previous paragraph." msgstr "" +"Si el cuerpo de la instrucción ``async with`` finaliza con una excepción " +"(por lo que se llama a :meth:`~object.__aexit__` con un conjunto de " +"excepciones), esto se trata igual que si una de las tareas fallara: las " +"tareas restantes se cancelan y luego se esperan, y las excepciones de no " +"cancelación se agrupan en un grupo de excepción y se generan. La excepción " +"pasada a :meth:`~object.__aexit__`, a menos que sea :exc:`asyncio." +"CancelledError`, también se incluye en el grupo de excepciones. Se hace el " +"mismo caso especial para :exc:`KeyboardInterrupt` y :exc:`SystemExit` que en " +"el párrafo anterior." #: ../Doc/library/asyncio-task.rst:390 msgid "Sleeping" @@ -466,9 +533,8 @@ msgstr "" #: ../Doc/library/asyncio-task.rst:620 ../Doc/library/asyncio-task.rst:767 #: ../Doc/library/asyncio-task.rst:797 ../Doc/library/asyncio-task.rst:849 #: ../Doc/library/asyncio-task.rst:875 -#, fuzzy msgid "Removed the *loop* parameter." -msgstr "El parámetro *loop*." +msgstr "Se quitó el parámetro *loop*." #: ../Doc/library/asyncio-task.rst:431 msgid "Running Tasks Concurrently" @@ -549,6 +615,8 @@ msgid "" "*TaskGroup* will, while *gather* will not, cancel the remaining scheduled " "tasks)." msgstr "" +"Una forma más moderna de crear y ejecutar tareas simultáneamente y esperar a " +"que se completen es :class:`asyncio.TaskGroup`." #: ../Doc/library/asyncio-task.rst:510 msgid "" @@ -585,11 +653,11 @@ msgstr "" #: ../Doc/library/asyncio-task.rst:533 msgid "Eager Task Factory" -msgstr "" +msgstr "Fábrica de tareas ansiosas" #: ../Doc/library/asyncio-task.rst:537 msgid "A task factory for eager task execution." -msgstr "" +msgstr "Una fábrica de tareas para una ejecución entusiasta de tareas." #: ../Doc/library/asyncio-task.rst:539 msgid "" @@ -600,12 +668,22 @@ msgid "" "overhead of loop scheduling is avoided for coroutines that complete " "synchronously." msgstr "" +"Cuando se utiliza esta fábrica (a través de :meth:`loop." +"set_task_factory(asyncio.eager_task_factory) `), las " +"corrutinas comienzan a ejecutarse sincrónicamente durante la construcción " +"de :class:`Task`. Las tareas sólo se programan en el bucle de eventos si se " +"bloquean. Esto puede suponer una mejora del rendimiento, ya que se evita la " +"sobrecarga de la programación del bucle para las corrutinas que se completan " +"sincrónicamente." #: ../Doc/library/asyncio-task.rst:545 msgid "" "A common example where this is beneficial is coroutines which employ caching " "or memoization to avoid actual I/O when possible." msgstr "" +"Un ejemplo común en el que esto resulta beneficioso son las rutinas que " +"emplean almacenamiento en caché o memorización para evitar E/S reales cuando " +"sea posible." #: ../Doc/library/asyncio-task.rst:550 msgid "" @@ -615,6 +693,12 @@ msgid "" "change may introduce behavior changes to existing applications. For example, " "the application's task execution order is likely to change." msgstr "" +"La ejecución inmediata de la corrutina es un cambio semántico. Si la rutina " +"regresa o se activa, la tarea nunca se programa en el bucle de eventos. Si " +"la ejecución de la rutina se bloquea, la tarea se programa en el bucle de " +"eventos. Este cambio puede introducir cambios de comportamiento en las " +"aplicaciones existentes. Por ejemplo, es probable que cambie el orden de " +"ejecución de las tareas de la aplicación." #: ../Doc/library/asyncio-task.rst:561 msgid "" @@ -622,6 +706,9 @@ msgid "" "the provided *custom_task_constructor* when creating a new task instead of " "the default :class:`Task`." msgstr "" +"Cree una fábrica de tareas entusiastas, similar a :func:" +"`eager_task_factory`, utilizando el *custom_task_constructor* proporcionado " +"al crear una nueva tarea en lugar del :class:`Task` predeterminado." #: ../Doc/library/asyncio-task.rst:565 msgid "" @@ -629,6 +716,9 @@ msgid "" "the signature of :class:`Task.__init__ `. The callable must return a :" "class:`asyncio.Task`-compatible object." msgstr "" +"*custom_task_constructor* debe ser un *callable* con la firma que coincida " +"con la firma de :class:`Task.__init__ `. El invocable debe devolver un " +"objeto compatible con :class:`asyncio.Task`." #: ../Doc/library/asyncio-task.rst:569 msgid "" @@ -636,6 +726,9 @@ msgid "" "an event loop via :meth:`loop.set_task_factory(factory) `)." msgstr "" +"Esta función devuelve un *callable* destinado a ser utilizado como fábrica " +"de tareas de un bucle de eventos a través de :meth:`loop." +"set_task_factory(factory) `)." #: ../Doc/library/asyncio-task.rst:576 msgid "Shielding From Cancellation" @@ -700,6 +793,11 @@ msgid "" "tasks. A task that isn't referenced elsewhere may get garbage collected at " "any time, even before it's done." msgstr "" +"Guarde una referencia a las tareas pasadas a esta función, para evitar que " +"una tarea desaparezca a mitad de la ejecución. El bucle de eventos solo " +"mantiene referencias débiles a las tareas. Una tarea a la que no se hace " +"referencia en ningún otro lugar puede ser recolectada por el recolector de " +"basura en cualquier momento, incluso antes de que se complete." #: ../Doc/library/asyncio-task.rst:623 msgid "" @@ -718,6 +816,8 @@ msgid "" "Return an :ref:`asynchronous context manager ` that " "can be used to limit the amount of time spent waiting on something." msgstr "" +"Un :ref:`asynchronous context manager ` que se puede " +"usar para limitar la cantidad de tiempo que se pasa esperando algo." #: ../Doc/library/asyncio-task.rst:637 msgid "" @@ -725,12 +825,18 @@ msgid "" "*delay* is ``None``, no time limit will be applied; this can be useful if " "the delay is unknown when the context manager is created." msgstr "" +"*delay* puede ser ``None`` o un número flotante/int de segundos de espera. " +"Si *delay* es ``None``, no se aplicará ningún límite de tiempo; esto puede " +"ser útil si se desconoce el retraso cuando se crea el administrador de " +"contexto." #: ../Doc/library/asyncio-task.rst:642 msgid "" "In either case, the context manager can be rescheduled after creation using :" "meth:`Timeout.reschedule`." msgstr "" +"En cualquier caso, el administrador de contexto se puede reprogramar después " +"de la creación mediante :meth:`Timeout.reschedule`." #: ../Doc/library/asyncio-task.rst:651 msgid "" @@ -739,6 +845,10 @@ msgid "" "CancelledError` internally, transforming it into a :exc:`TimeoutError` which " "can be caught and handled." msgstr "" +"Si ``long_running_task`` tarda más de 10 segundos en completarse, el " +"administrador de contexto cancelará la tarea actual y manejará internamente " +"el :exc:`asyncio.CancelledError` resultante, transformándolo en un :exc:" +"`asyncio.TimeoutError` que se puede capturar y manejar." #: ../Doc/library/asyncio-task.rst:658 msgid "" @@ -746,61 +856,81 @@ msgid "" "`asyncio.CancelledError` into a :exc:`TimeoutError`, which means the :exc:" "`TimeoutError` can only be caught *outside* of the context manager." msgstr "" +"El administrador de contexto :func:`asyncio.timeout` es lo que transforma " +"el :exc:`asyncio.CancelledError` en un :exc:`asyncio.TimeoutError`, lo que " +"significa que el :exc:`asyncio.TimeoutError` solo puede capturarse *outside* " +"del administrador de contexto." #: ../Doc/library/asyncio-task.rst:663 msgid "Example of catching :exc:`TimeoutError`::" -msgstr "" +msgstr "Ejemplo de captura de :exc:`TimeoutError`::" #: ../Doc/library/asyncio-task.rst:674 msgid "" "The context manager produced by :func:`asyncio.timeout` can be rescheduled " "to a different deadline and inspected." msgstr "" +"El administrador de contexto producido por :func:`asyncio.timeout` puede " +"reprogramarse para una fecha límite diferente e inspeccionarse." #: ../Doc/library/asyncio-task.rst:679 msgid "" "An :ref:`asynchronous context manager ` for " "cancelling overdue coroutines." msgstr "" +"Un :ref:`asynchronous context manager ` para " +"cancelar corrutinas vencidas." #: ../Doc/library/asyncio-task.rst:682 msgid "" "``when`` should be an absolute time at which the context should time out, as " "measured by the event loop's clock:" msgstr "" +"``when`` debe ser un tiempo absoluto en el que el contexto debe expirar, " +"según lo medido por el reloj del bucle de eventos:" #: ../Doc/library/asyncio-task.rst:685 msgid "If ``when`` is ``None``, the timeout will never trigger." -msgstr "" +msgstr "Si ``when`` es ``None``, el tiempo de espera nunca se activará." #: ../Doc/library/asyncio-task.rst:686 msgid "" "If ``when < loop.time()``, the timeout will trigger on the next iteration of " "the event loop." msgstr "" +"Si ``when < loop.time()``, el tiempo de espera se activará en la próxima " +"iteración del bucle de eventos" #: ../Doc/library/asyncio-task.rst:691 msgid "" "Return the current deadline, or ``None`` if the current deadline is not set." msgstr "" +"Retorna la fecha límite actual, o ``None`` si la fecha límite actual no está " +"establecida." #: ../Doc/library/asyncio-task.rst:696 msgid "Reschedule the timeout." -msgstr "" +msgstr "Reprogramar el tiempo de espera." #: ../Doc/library/asyncio-task.rst:700 msgid "Return whether the context manager has exceeded its deadline (expired)." msgstr "" +"Retorna si el administrador de contexto ha excedido su fecha límite " +"(caducada)." #: ../Doc/library/asyncio-task.rst:720 msgid "Timeout context managers can be safely nested." msgstr "" +"Los administradores de contexto de tiempo de espera se pueden anidar de " +"forma segura." #: ../Doc/library/asyncio-task.rst:726 msgid "" "Similar to :func:`asyncio.timeout`, except *when* is the absolute time to " "stop waiting, or ``None``." msgstr "" +"Similar a :func:`asyncio.timeout`, excepto que *when* es el tiempo absoluto " +"para dejar de esperar, o ``None``." #: ../Doc/library/asyncio-task.rst:746 msgid "" @@ -819,12 +949,11 @@ msgstr "" "a esperar. Si *timeout* es ``None``, se bloquea hasta que Future se completa." #: ../Doc/library/asyncio-task.rst:755 -#, fuzzy msgid "" "If a timeout occurs, it cancels the task and raises :exc:`TimeoutError`." msgstr "" -"Si se produce un agotamiento de tiempo, cancela la tarea y genera :exc:" -"`asyncio.TimeoutError`." +"Si se agota el tiempo de espera, cancela la tarea y lanza :exc:" +"`TimeoutError`." #: ../Doc/library/asyncio-task.rst:758 msgid "" @@ -849,28 +978,27 @@ msgid "If the wait is cancelled, the future *aw* is also cancelled." msgstr "Si se cancela la espera, el Future *aw* también se cancela." #: ../Doc/library/asyncio-task.rst:792 -#, fuzzy msgid "" "When *aw* is cancelled due to a timeout, ``wait_for`` waits for *aw* to be " "cancelled. Previously, it raised :exc:`TimeoutError` immediately." msgstr "" -"Cuando *aw* se cancela debido a un agotamiento de tiempo, ``wait_for`` " -"espera a que se cancele *aw*. Anteriormente, se lanzó inmediatamente :exc:" -"`asyncio.TimeoutError`." +"Cuando se cancela *aw* debido a un tiempo de espera, ``wait_for`` espera a " +"que se cancele *aw*. Anteriormente, lanzaba :exc:`TimeoutError` " +"inmediatamente." #: ../Doc/library/asyncio-task.rst:802 msgid "Waiting Primitives" msgstr "Esperando primitivas" #: ../Doc/library/asyncio-task.rst:806 -#, fuzzy msgid "" "Run :class:`~asyncio.Future` and :class:`~asyncio.Task` instances in the " "*aws* iterable concurrently and block until the condition specified by " "*return_when*." msgstr "" -"Ejecuta :ref:`objetos en espera ` en el *aws* iterable " -"simultáneamente y bloquee hasta la condición especificada por *return_when*." +"Ejecuta instancias :class:`~asyncio.Future` y :class:`~asyncio.Task` en el " +"iterable *aws* simultáneamente y bloquea hasta la condición especificada por " +"*return_when*." #: ../Doc/library/asyncio-task.rst:810 msgid "The *aws* iterable must not be empty." @@ -894,15 +1022,14 @@ msgstr "" "retornar." #: ../Doc/library/asyncio-task.rst:821 -#, fuzzy msgid "" "Note that this function does not raise :exc:`TimeoutError`. Futures or Tasks " "that aren't done when the timeout occurs are simply returned in the second " "set." msgstr "" -"Tenga en cuenta que esta función no lanza :exc:`asyncio.TimeoutError`. Los " -"Futures o Tareas que no terminan cuando se agota el tiempo simplemente se " -"retornan en el segundo conjunto." +"Tenga en cuenta que esta función no lanza :exc:`TimeoutError`. Los futuros o " +"las tareas que no se realizan cuando se agota el tiempo de espera " +"simplemente se retornan en el segundo conjunto." #: ../Doc/library/asyncio-task.rst:825 msgid "" @@ -959,13 +1086,12 @@ msgstr "" "cuando se produce un agotamiento de tiempo." #: ../Doc/library/asyncio-task.rst:852 -#, fuzzy msgid "Passing coroutine objects to ``wait()`` directly is forbidden." -msgstr "El paso de objetos corrutina a ``wait()`` directamente está en desuso." +msgstr "Está prohibido pasar objetos de rutina a ``wait()`` directamente." #: ../Doc/library/asyncio-task.rst:855 ../Doc/library/asyncio-task.rst:882 msgid "Added support for generators yielding tasks." -msgstr "" +msgstr "Se agregó soporte para generadores que generan tareas." #: ../Doc/library/asyncio-task.rst:861 msgid "" @@ -975,17 +1101,16 @@ msgid "" "remaining awaitables." msgstr "" "Ejecuta :ref:`objetos en espera ` en el *aws* iterable " -"al mismo tiempo. Devuelve un iterador de corrutinas. Se puede esperar a cada " -"corrutina devuelta para obtener el siguiente resultado más temprano del " +"al mismo tiempo. Retorna un iterador de corrutinas. Se puede esperar a cada " +"corrutina retornada para obtener el siguiente resultado más temprano del " "iterable de los esperables restantes." #: ../Doc/library/asyncio-task.rst:866 -#, fuzzy msgid "" "Raises :exc:`TimeoutError` if the timeout occurs before all Futures are done." msgstr "" -"Lanza :exc:`asyncio.TimeoutError` si el agotamiento de tiempo ocurre antes " -"que todos los Futures terminen." +"Lanza :exc:`TimeoutError` si el tiempo de espera se agota antes de que " +"finalicen todos los futuros." #: ../Doc/library/asyncio-task.rst:878 msgid "" @@ -1024,42 +1149,40 @@ msgstr "" "de *func*." #: ../Doc/library/asyncio-task.rst:900 -#, fuzzy msgid "" "This coroutine function is primarily intended to be used for executing IO-" "bound functions/methods that would otherwise block the event loop if they " "were run in the main thread. For example::" msgstr "" -"Esta función de corrutina está destinada principalmente a ser utilizada para " -"ejecutar funciones/métodos vinculados a IO que de otro modo bloquearían el " -"bucle de eventos si se ejecutaran en el hilo principal. Por ejemplo::" +"Esta función de rutina está diseñada principalmente para ejecutar funciones/" +"métodos vinculados a IO que, de otro modo, bloquearían el bucle de eventos " +"si se ejecutaran en el subproceso principal. Por ejemplo::" #: ../Doc/library/asyncio-task.rst:930 -#, fuzzy msgid "" "Directly calling ``blocking_io()`` in any coroutine would block the event " "loop for its duration, resulting in an additional 1 second of run time. " "Instead, by using ``asyncio.to_thread()``, we can run it in a separate " "thread without blocking the event loop." msgstr "" -"Llamando directamente a `blocking_io()` en cualquier corrutina bloquearía el " -"bucle de eventos por su duración, lo que daría como resultado 1 segundo " -"adicional de tiempo de ejecución. En cambio, usando `asyncio.to_thread()`, " -"podemos ejecutarlo en un hilo separado sin bloquear el bucle de eventos." +"Llamar directamente a ``blocking_io()`` en cualquier rutina bloquearía el " +"bucle de eventos durante su duración, lo que daría como resultado 1 segundo " +"adicional de tiempo de ejecución. En cambio, al usar ``asyncio." +"to_thread()``, podemos ejecutarlo en un subproceso separado sin bloquear el " +"ciclo de eventos." #: ../Doc/library/asyncio-task.rst:937 -#, fuzzy msgid "" "Due to the :term:`GIL`, ``asyncio.to_thread()`` can typically only be used " "to make IO-bound functions non-blocking. However, for extension modules that " "release the GIL or alternative Python implementations that don't have one, " "``asyncio.to_thread()`` can also be used for CPU-bound functions." msgstr "" -"Debido al :term:`GIL`, `asyncio.to_thread()` normalmente solo se puede usar " -"para hacer que las funciones vinculadas a IO no bloqueen. Sin embargo, para " -"los módulos de extensión que lanzan GIL o implementaciones alternativas de " -"Python que no tienen una, `asyncio.to_thread()` también se puede usar para " -"funciones vinculadas a la CPU." +"Debido a :term:`GIL`, ``asyncio.to_thread()`` generalmente solo se puede " +"usar para hacer que las funciones vinculadas a IO no bloqueen. Sin embargo, " +"para los módulos de extensión que lanzan GIL o implementaciones alternativas " +"de Python que no tienen uno, ``asyncio.to_thread()`` también se puede usar " +"para funciones vinculadas a la CPU." #: ../Doc/library/asyncio-task.rst:946 msgid "Scheduling From Other Threads" @@ -1145,9 +1268,8 @@ msgstr "" "bucle actual." #: ../Doc/library/asyncio-task.rst:1018 -#, fuzzy msgid "Return ``True`` if *obj* is a coroutine object." -msgstr "Retorna ``True`` si la Tarea está *finalizada*." +msgstr "Retorna ``True`` si *obj* es un objeto corutina." #: ../Doc/library/asyncio-task.rst:1024 msgid "Task Object" @@ -1213,7 +1335,7 @@ msgid "" "`CancelledError` exception and was actually cancelled." msgstr "" ":meth:`cancelled` se puede utilizar para comprobar si la Tarea fue " -"cancelada. El método devuelve ``True`` si la corrutina contenida no suprimió " +"cancelada. El método retorna ``True`` si la corrutina contenida no suprimió " "la excepción :exc:`CancelledError` y se canceló realmente." #: ../Doc/library/asyncio-task.rst:1057 @@ -1231,6 +1353,10 @@ msgid "" "provided, the Task copies the current context and later runs its coroutine " "in the copied context." msgstr "" +"Un argumento *context* opcional de solo palabra clave permite especificar " +"un :class:`contextvars.Context` personalizado para que se ejecute *coro*. Si " +"no se proporciona ningún *context*, la tarea copia el contexto actual y " +"luego ejecuta su rutina en el contexto copiado." #: ../Doc/library/asyncio-task.rst:1066 msgid "" @@ -1241,6 +1367,13 @@ msgid "" "coroutine returns or raises without blocking, the task will be finished " "eagerly and will skip scheduling to the event loop." msgstr "" +"Un argumento *eager_start* opcional de solo palabra clave permite iniciar " +"con entusiasmo la ejecución de :class:`asyncio.Task` en el momento de la " +"creación de la tarea. Si se establece en ``True`` y el bucle de eventos se " +"está ejecutando, la tarea comenzará a ejecutar la corrutina inmediatamente, " +"hasta la primera vez que la corrutina se bloquee. Si la rutina regresa o se " +"activa sin bloquearse, la tarea finalizará con entusiasmo y saltará la " +"programación al bucle de eventos." #: ../Doc/library/asyncio-task.rst:1073 msgid "Added support for the :mod:`contextvars` module." @@ -1255,9 +1388,8 @@ msgstr "" "hay un bucle de eventos en ejecución." #: ../Doc/library/asyncio-task.rst:1086 -#, fuzzy msgid "Added the *eager_start* parameter." -msgstr "Se ha añadido el parámetro ``name``." +msgstr "Se ha añadido el parámetro *eager_start*." #: ../Doc/library/asyncio-task.rst:1091 msgid "Return ``True`` if the Task is *done*." @@ -1280,7 +1412,7 @@ msgid "" "If the Task is *done*, the result of the wrapped coroutine is returned (or " "if the coroutine raised an exception, that exception is re-raised.)" msgstr "" -"Si la tarea está *terminada*, se devuelve el resultado de la corrutina " +"Si la tarea está *terminada*, se retorna el resultado de la corrutina " "contenida (o si la corrutina lanzó una excepción, esa excepción se vuelve a " "relanzar.)" @@ -1383,9 +1515,9 @@ msgid "" msgstr "" "El argumento opcional *limit* establece el número máximo de marcos que se " "retornarán; de forma predeterminada se retornan todos los marcos " -"disponibles. El orden de la lista devuelta varía en función de si se retorna " -"una pila o un *traceback*: se devuelven los marcos más recientes de una " -"pila, pero se devuelven los marcos más antiguos de un *traceback*. (Esto " +"disponibles. El orden de la lista retornada varía en función de si se " +"retorna una pila o un *traceback*: se retornan los marcos más recientes de " +"una pila, pero se retornan los marcos más antiguos de un *traceback*. (Esto " "coincide con el comportamiento del módulo traceback.)ss" #: ../Doc/library/asyncio-task.rst:1165 @@ -1405,13 +1537,12 @@ msgid "The *limit* argument is passed to :meth:`get_stack` directly." msgstr "El argumento *limit* se pasa directamente a :meth:`get_stack`." #: ../Doc/library/asyncio-task.rst:1172 -#, fuzzy msgid "" "The *file* argument is an I/O stream to which the output is written; by " "default output is written to :data:`sys.stdout`." msgstr "" "El argumento *file* es un flujo de E/S en el que se escribe la salida; por " -"defecto, la salida se escribe en :data:`sys.stderr`." +"defecto, la salida se escribe en :data:`sys.stdout`." #: ../Doc/library/asyncio-task.rst:1177 msgid "Return the coroutine object wrapped by the :class:`Task`." @@ -1422,15 +1553,19 @@ msgid "" "This will return ``None`` for Tasks which have already completed eagerly. " "See the :ref:`Eager Task Factory `." msgstr "" +"Esto devolverá ``None`` para las tareas que ya se han completado con " +"entusiasmo. Consulte el :ref:`Eager Task Factory `." #: ../Doc/library/asyncio-task.rst:1188 msgid "Newly added eager task execution means result may be ``None``." msgstr "" +"La ejecución ansiosa de la tarea recientemente agregada significa que el " +"resultado puede ser ``None``." #: ../Doc/library/asyncio-task.rst:1192 msgid "" "Return the :class:`contextvars.Context` object associated with the task." -msgstr "" +msgstr "Devuelve el objeto :class:`contextvars.Context` asociado con la tarea." #: ../Doc/library/asyncio-task.rst:1199 msgid "Return the name of the Task." @@ -1477,7 +1612,6 @@ msgstr "" "contenida en el próximo ciclo del bucle de eventos." #: ../Doc/library/asyncio-task.rst:1226 -#, fuzzy msgid "" "The coroutine then has a chance to clean up or even deny the request by " "suppressing the exception with a :keyword:`try` ... ... ``except " @@ -1488,21 +1622,22 @@ msgid "" "suppress the cancellation, it needs to call :meth:`Task.uncancel` in " "addition to catching the exception." msgstr "" -"La corrutina entonces tiene la oportunidad de limpiar o incluso denegar la " -"solicitud suprimiendo la excepción con un bloque :keyword:`try` ... ..." -"``except CancelledError`` ... :keyword:`finally`. Por lo tanto, a diferencia " -"de :meth:`Future.cancel`, :meth:`Task.cancel` no garantiza que la tarea será " -"cancelada, aunque suprimir la cancelación por completo no es común y se " -"desalienta activamente." +"Luego, la corrutina tiene la oportunidad de limpiar o incluso denegar la " +"solicitud suprimiendo la excepción con un bloque :keyword:`try`... ... " +"``except CancelledError``... :keyword:`finally`. Por lo tanto, a diferencia " +"de :meth:`Future.cancel`, :meth:`Task.cancel` no garantiza que la tarea se " +"cancelará, aunque suprimir la cancelación por completo no es común y se " +"desaconseja activamente. Sin embargo, si la rutina decide suprimir la " +"cancelación, debe llamar a :meth:`Task.uncancel` además de detectar la " +"excepción." #: ../Doc/library/asyncio-task.rst:1236 -#, fuzzy msgid "Added the *msg* parameter." -msgstr "Se agregó el parámetro ``msg``." +msgstr "Se agregó el parámetro *msg*." #: ../Doc/library/asyncio-task.rst:1239 msgid "The ``msg`` parameter is propagated from cancelled task to its awaiter." -msgstr "" +msgstr "El parámetro ``msg`` se propaga desde la tarea cancelada a su espera." #: ../Doc/library/asyncio-task.rst:1244 msgid "" @@ -1528,17 +1663,19 @@ msgstr "" #: ../Doc/library/asyncio-task.rst:1291 msgid "Decrement the count of cancellation requests to this Task." -msgstr "" +msgstr "Disminuye el recuento de solicitudes de cancelación a esta tarea." #: ../Doc/library/asyncio-task.rst:1293 msgid "Returns the remaining number of cancellation requests." -msgstr "" +msgstr "Retorna el número restante de solicitudes de cancelación." #: ../Doc/library/asyncio-task.rst:1295 msgid "" "Note that once execution of a cancelled task completed, further calls to :" "meth:`uncancel` are ineffective." msgstr "" +"Tenga en cuenta que una vez que se completa la ejecución de una tarea " +"cancelada, las llamadas posteriores a :meth:`uncancel` no son efectivas." #: ../Doc/library/asyncio-task.rst:1300 msgid "" @@ -1548,6 +1685,11 @@ msgid "" "func:`asyncio.timeout` to continue running, isolating cancellation to the " "respective structured block. For example::" msgstr "" +"Este método lo usan los componentes internos de asyncio y no se espera que " +"lo use el código del usuario final. En particular, si una Tarea se cancela " +"con éxito, esto permite que elementos de concurrencia estructurada como :ref:" +"`taskgroups` y :func:`asyncio.timeout` continúen ejecutándose, aislando la " +"cancelación al bloque estructurado respectivo. Por ejemplo::" #: ../Doc/library/asyncio-task.rst:1318 msgid "" @@ -1557,6 +1699,11 @@ msgid "" "`uncancel`. :class:`TaskGroup` context managers use :func:`uncancel` in a " "similar fashion." msgstr "" +"Si bien el bloque con ``make_request()`` y ``make_another_request()`` podría " +"cancelarse debido al tiempo de espera, ``unrelated_code()`` debería " +"continuar ejecutándose incluso en caso de que se agote el tiempo de espera. " +"Esto se implementa con :meth:`uncancel`. Los administradores de contexto :" +"class:`TaskGroup` usan :func:`uncancel` de manera similar." #: ../Doc/library/asyncio-task.rst:1324 msgid "" @@ -1564,12 +1711,18 @@ msgid "" "exc:`CancelledError`, it needs to call this method to remove the " "cancellation state." msgstr "" +"Si el código del usuario final, por algún motivo, suprime la cancelación al " +"detectar :exc:`CancelledError`, debe llamar a este método para eliminar el " +"estado de cancelación." #: ../Doc/library/asyncio-task.rst:1330 msgid "" "Return the number of pending cancellation requests to this Task, i.e., the " "number of calls to :meth:`cancel` less the number of :meth:`uncancel` calls." msgstr "" +"Retorna el número de solicitudes de cancelación pendientes a esta Tarea, es " +"decir, el número de llamadas a :meth:`cancel` menos el número de llamadas a :" +"meth:`uncancel`." #: ../Doc/library/asyncio-task.rst:1334 msgid "" @@ -1579,12 +1732,20 @@ msgid "" "the task not being cancelled after all if the cancellation requests go down " "to zero." msgstr "" +"Tenga en cuenta que si este número es mayor que cero pero la tarea aún se " +"está ejecutando, :meth:`cancelled` aún retornará ``False``. Esto se debe a " +"que este número se puede reducir llamando a :meth:`uncancel`, lo que puede " +"provocar que la tarea no se cancele después de todo si las solicitudes de " +"cancelación se reducen a cero." #: ../Doc/library/asyncio-task.rst:1340 msgid "" "This method is used by asyncio's internals and isn't expected to be used by " "end-user code. See :meth:`uncancel` for more details." msgstr "" +"Este método lo utilizan las partes internas de asyncio y no se espera que lo " +"utilice el código del usuario final. Consulte :meth:`uncancel` para obtener " +"más detalles." #~ msgid "" #~ "Tasks support the :mod:`contextvars` module. When a Task is created it " diff --git a/library/asyncio.po b/library/asyncio.po index 7451b67136..5675813c78 100644 --- a/library/asyncio.po +++ b/library/asyncio.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: 2023-01-31 11:30-0300\n" +"PO-Revision-Date: 2024-10-28 21:11-0400\n" "Last-Translator: David Revillas \n" -"Language: es_ES\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_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/library/asyncio.rst:78 msgid "High-level APIs" @@ -135,11 +136,11 @@ msgstr "" #: ../Doc/library/asyncio.rst:59 msgid "You can experiment with an ``asyncio`` concurrent context in the REPL:" msgstr "" +"Puedes experimentar con un contexto concurrente de ``asyncio`` en el REPL:" #: ../Doc/includes/wasm-notavail.rst:3 -#, fuzzy msgid ":ref:`Availability `: not Emscripten, not WASI." -msgstr ":ref:`Availability `: no Emscripten, no WASI." +msgstr ":ref:`Disponibilidad `: no Emscripten, no WASI." #: ../Doc/includes/wasm-notavail.rst:5 msgid "" diff --git a/library/bz2.po b/library/bz2.po index c8bad48b12..69e79f4097 100644 --- a/library/bz2.po +++ b/library/bz2.po @@ -12,15 +12,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-12-13 11:34+0800\n" -"Last-Translator: Rodrigo Tobar \n" -"Language: en_GB\n" +"PO-Revision-Date: 2023-11-06 22:18+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: English - United Kingdom \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: en_GB\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.4\n" #: ../Doc/library/bz2.rst:2 msgid ":mod:`bz2` --- Support for :program:`bzip2` compression" @@ -191,15 +192,15 @@ msgstr "" "múltiples flujos (streams) comprimidos." #: ../Doc/library/bz2.rst:89 -#, fuzzy msgid "" ":class:`BZ2File` provides all of the members specified by the :class:`io." "BufferedIOBase`, except for :meth:`~io.BufferedIOBase.detach` and :meth:`~io." "IOBase.truncate`. Iteration and the :keyword:`with` statement are supported." msgstr "" ":class:`BZ2File` proporciona todos los miembros especificados por :class:`io." -"BufferedIOBase`, excepto :meth:`detach` y :meth:`truncate`. Se admite la " -"iteración y la palabra clave :keyword:`with`." +"BufferedIOBase`, excepto :meth:`~io.BufferedIOBase.detach` y :meth:`~io." +"IOBase.truncate`. La iteración y la instrucción :keyword:`with` están " +"soportadas." #: ../Doc/library/bz2.rst:94 msgid ":class:`BZ2File` also provides the following method:" @@ -401,15 +402,14 @@ msgstr "" "el atributo :attr:`~.needs_input` se establecerá en ``True``." #: ../Doc/library/bz2.rst:209 -#, fuzzy msgid "" "Attempting to decompress data after the end of stream is reached raises an :" "exc:`EOFError`. Any data found after the end of the stream is ignored and " "saved in the :attr:`~.unused_data` attribute." msgstr "" -"Intentar descomprimir datos una vez que se alcanza el final de la " -"transmisión genera un `EOFError`. Cualquier dato encontrado después del " -"final del flujo se ignora y se guarda en el atributo :attr:`~.unused_data`." +"Intentar descomprimir datos una vez que se alcanza el final del flujo genera " +"un :exc:`EOFError`. Cualquier información encontrada después del final del " +"flujo se ignora y se guarda en el atributo :attr:`~.unused_data`." #: ../Doc/library/bz2.rst:213 msgid "Added the *max_length* parameter." @@ -495,16 +495,15 @@ msgid "Using :class:`BZ2Compressor` for incremental compression:" msgstr "Usando :class:`BZ2Compressor` para compresión incremental:" #: ../Doc/library/bz2.rst:306 -#, fuzzy msgid "" "The example above uses a very \"nonrandom\" stream of data (a stream of " "``b\"z\"`` chunks). Random data tends to compress poorly, while ordered, " "repetitive data usually yields a high compression ratio." msgstr "" -"El ejemplo anterior utiliza un flujo de datos bastante \"no aleatoria\"(un " -"flujo de fragmentos `b\"z\"`). Los datos aleatorios tienden a comprimirse " -"mal, mientras que los datos ordenados y repetitivos generalmente producen " -"una alta relación de compresión." +"El ejemplo anterior utiliza un flujo de datos bastante \"no aleatorio\" (un " +"flujo de fragmentos ``b\"z\"``). Los datos aleatorios tienden a comprimirse " +"mal, mientras que los datos ordenados y repetitivos generalmente producen un " +"alto grado de compresión." #: ../Doc/library/bz2.rst:310 msgid "Writing and reading a bzip2-compressed file in binary mode:" diff --git a/library/cmd.po b/library/cmd.po index a306a1e078..3389573c29 100644 --- a/library/cmd.po +++ b/library/cmd.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: 2022-11-01 18:18-0300\n" +"PO-Revision-Date: 2024-11-03 15:05-0400\n" "Last-Translator: Alfonso Areiza Guerra \n" -"Language: es_CO\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_CO\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/library/cmd.rst:2 msgid ":mod:`cmd` --- Support for line-oriented command interpreters" @@ -457,12 +458,12 @@ msgstr "" #: ../Doc/library/cmd.rst:64 msgid "? (question mark)" -msgstr "" +msgstr "? (signo de interrogación)" #: ../Doc/library/cmd.rst:64 msgid "in a command interpreter" -msgstr "" +msgstr "en un intérprete de comandos" #: ../Doc/library/cmd.rst:64 msgid "! (exclamation)" -msgstr "" +msgstr "! (exclamación)" diff --git a/library/codecs.po b/library/codecs.po index 6fc858c044..1092ede40b 100644 --- a/library/codecs.po +++ b/library/codecs.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: 2022-12-29 00:59+0100\n" -"Last-Translator: Carlos AlMA \n" -"Language: es\n" +"PO-Revision-Date: 2024-09-09 19:28+0230\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.13.0\n" +"X-Generator: Poedit 3.5\n" #: ../Doc/library/codecs.rst:2 msgid ":mod:`codecs` --- Codec registry and base classes" @@ -572,7 +573,6 @@ msgid "``'backslashreplace'``" msgstr "``'backslashreplace'``" #: ../Doc/library/codecs.rst:346 -#, fuzzy msgid "" "Replace with backslashed escape sequences. On encoding, use hexadecimal form " "of Unicode code point with formats :samp:`\\\\x{hh}` :samp:`\\\\u{xxxx}` :" @@ -580,10 +580,10 @@ msgid "" "format :samp:`\\\\x{hh}`. Implemented in :func:`backslashreplace_errors`." msgstr "" "Reemplazar con secuencias de escape mediante barra invertida. Al codificar, " -"emplear la forma hexadecimal del punto de código Unicode con los formatos " -"``\\xhh`` ``\\uxxxx`` ``\\Uxxxxxxxx``. Al decodificar, usa la forma " -"hexadecimal del valor del byte con el formato ``\\xhh``. Implementado en :" -"func:`backslashreplace_errors`." +"emplear la forma hexadecimal del punto de código Unicode con los formatos :" +"samp:`\\\\x{hh}` :samp:`\\\\u{xxxx}` :samp:`\\\\U{xxxxxxxx}`. Al " +"decodificar, usa la forma hexadecimal del valor del byte con el formato :" +"samp:`\\\\x{hh}`. Implementado en :func:`backslashreplace_errors`." #: ../Doc/library/codecs.rst:355 msgid "``'surrogateescape'``" @@ -614,14 +614,13 @@ msgid "``'xmlcharrefreplace'``" msgstr "``'xmlcharrefreplace'``" #: ../Doc/library/codecs.rst:375 -#, fuzzy msgid "" "Replace with XML/HTML numeric character reference, which is a decimal form " "of Unicode code point with format :samp:`&#{num};`. Implemented in :func:" "`xmlcharrefreplace_errors`." msgstr "" "Reemplazar con una referencia de carácter numérico XML/HTML, que es una " -"forma decimal del punto de código Unicode con formato ``&#num;`` " +"forma decimal del punto de código Unicode con formato :samp:`&#{num};`. " "Implementado en :func:`xmlcharrefreplace_errors`." #: ../Doc/library/codecs.rst:381 @@ -814,7 +813,6 @@ msgid "Implements the ``'backslashreplace'`` error handling." msgstr "Implementa el manejador de errores ``'backslashreplace'``." #: ../Doc/library/codecs.rst:481 -#, fuzzy msgid "" "Malformed data is replaced by a backslashed escape sequence. On encoding, " "use the hexadecimal form of Unicode code point with formats :samp:`\\\\x{hh}" @@ -823,9 +821,9 @@ msgid "" msgstr "" "Los datos con formato incorrecto se reemplazan por una secuencia de escape " "con barra invertida. Al codificar, emplea la forma hexadecimal del punto de " -"código Unicode con los formatos ``\\xhh`` ``\\uxxxx`` ``\\Uxxxxxxxx``. Al " -"decodificar, usa la forma hexadecimal del valor del byte con el formato " -"``\\xhh``." +"código Unicode con los formatos :samp:`\\\\x{hh}` :samp:`\\\\u{xxxx}` :samp:" +"`\\\\U{xxxxxxxx}`. Al decodificar, usa la forma hexadecimal del valor del " +"byte con el formato :samp:`\\\\x{hh}`." #: ../Doc/library/codecs.rst:487 msgid "Works with decoding and translating." @@ -840,7 +838,6 @@ msgstr "" "codificar dentro de :term:`text encoding`)." #: ../Doc/library/codecs.rst:496 -#, fuzzy msgid "" "The unencodable character is replaced by an appropriate XML/HTML numeric " "character reference, which is a decimal form of Unicode code point with " @@ -848,7 +845,7 @@ msgid "" msgstr "" "El carácter no codificable se reemplaza por una referencia de carácter " "numérico XML/HTML adecuada, que es una forma decimal del punto de código " -"Unicode con formato ``&#num;``." +"Unicode con formato :samp:`&#{num};` ." #: ../Doc/library/codecs.rst:503 msgid "" @@ -2951,15 +2948,14 @@ msgid "raw_unicode_escape" msgstr "raw_unicode_escape" #: ../Doc/library/codecs.rst:1351 -#, fuzzy msgid "" "Latin-1 encoding with :samp:`\\\\u{XXXX}` and :samp:`\\\\U{XXXXXXXX}` for " "other code points. Existing backslashes are not escaped in any way. It is " "used in the Python pickle protocol." msgstr "" -"Codificación Latin-1 con ``\\uXXXX`` y ``\\UXXXXXXXX`` para otros puntos de " -"código. Las barras invertidas existentes no se escapan de ninguna manera. Se " -"usa en el protocolo Python *pickle*." +"Codificación Latin-1 con :samp:`\\\\u{XXXX}` y :samp:`\\\\U{XXXXXXXX}` para " +"otros puntos de código. Las barras invertidas existentes no se escapan de " +"ninguna manera. Se usa en el protocolo Python *pickle*." #: ../Doc/library/codecs.rst:1361 msgid "undefined" @@ -3309,7 +3305,6 @@ msgid "This module implements the ANSI codepage (CP_ACP)." msgstr "Este módulo implementa la página de códigos ANSI (CP_ACP)." #: ../Doc/library/codecs.rst:1538 -#, fuzzy msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilidad `: Windows." @@ -3345,103 +3340,90 @@ msgstr "" "datos." #: ../Doc/library/codecs.rst:13 -#, fuzzy msgid "Unicode" -msgstr "punycode" +msgstr "Unicode" #: ../Doc/library/codecs.rst:13 -#, fuzzy msgid "encode" -msgstr "Códec" +msgstr "encode" #: ../Doc/library/codecs.rst:13 -#, fuzzy msgid "decode" -msgstr "Códec" +msgstr "decode" #: ../Doc/library/codecs.rst:13 msgid "streams" -msgstr "" +msgstr "streams" #: ../Doc/library/codecs.rst:13 msgid "stackable" -msgstr "" +msgstr "stackable" #: ../Doc/library/codecs.rst:312 -#, fuzzy msgid "strict" -msgstr "``'strict'``" +msgstr "strict" #: ../Doc/library/codecs.rst:312 ../Doc/library/codecs.rst:364 #: ../Doc/library/codecs.rst:387 -#, fuzzy msgid "error handler's name" -msgstr "Manejadores de errores" +msgstr "nombre de gestor de errores" #: ../Doc/library/codecs.rst:312 -#, fuzzy msgid "ignore" -msgstr "``'ignore'``" +msgstr "ignore" #: ../Doc/library/codecs.rst:312 -#, fuzzy msgid "replace" -msgstr "``'replace'``" +msgstr "replace" #: ../Doc/library/codecs.rst:312 -#, fuzzy msgid "backslashreplace" -msgstr "``'backslashreplace'``" +msgstr "backslashreplace" #: ../Doc/library/codecs.rst:312 -#, fuzzy msgid "surrogateescape" -msgstr "``'surrogateescape'``" +msgstr "surrogateescape" #: ../Doc/library/codecs.rst:312 -#, fuzzy msgid "? (question mark)" -msgstr "SIGNO DE PREGUNTA INVERTIDO" +msgstr "? (signo de pregunta)" #: ../Doc/library/codecs.rst:312 msgid "replacement character" -msgstr "" +msgstr "caracter de reemplazo" #: ../Doc/library/codecs.rst:312 msgid "\\ (backslash)" -msgstr "" +msgstr "\\ (barra inversa)" #: ../Doc/library/codecs.rst:312 ../Doc/library/codecs.rst:364 msgid "escape sequence" -msgstr "" +msgstr "secuencia de escape" #: ../Doc/library/codecs.rst:312 msgid "\\x" -msgstr "" +msgstr "\\x" #: ../Doc/library/codecs.rst:312 msgid "\\u" -msgstr "" +msgstr "\\u" #: ../Doc/library/codecs.rst:312 msgid "\\U" -msgstr "" +msgstr "\\U" #: ../Doc/library/codecs.rst:364 -#, fuzzy msgid "xmlcharrefreplace" -msgstr "``'xmlcharrefreplace'``" +msgstr "xmlcharrefreplace" #: ../Doc/library/codecs.rst:364 -#, fuzzy msgid "namereplace" -msgstr "``'namereplace'``" +msgstr "namereplace" #: ../Doc/library/codecs.rst:364 msgid "\\N" -msgstr "" +msgstr "\\N" #: ../Doc/library/codecs.rst:387 -#, fuzzy msgid "surrogatepass" -msgstr "``'surrogatepass'``" +msgstr "surrogatepass" diff --git a/library/codeop.po b/library/codeop.po index 530ad544a8..7f0f47fefe 100644 --- a/library/codeop.po +++ b/library/codeop.po @@ -11,13 +11,15 @@ 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: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2023-11-06 21:56+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\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.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/codeop.rst:2 msgid ":mod:`codeop` --- Compile Python code" @@ -47,23 +49,21 @@ msgid "There are two parts to this job:" msgstr "Esta actividad consta de dos partes:" #: ../Doc/library/codeop.rst:22 -#, fuzzy msgid "" "Being able to tell if a line of input completes a Python statement: in " "short, telling whether to print '``>>>``' or '``...``' next." msgstr "" "Ser capaz de identificar si una línea de entrada completa una sentencia de " "Python: en resumen, decir si se debe imprimir a continuación '``>>>``' o " -"'``...``' ." +"'``...``'." #: ../Doc/library/codeop.rst:25 -#, fuzzy msgid "" "Remembering which future statements the user has entered, so subsequent " "input can be compiled with these in effect." msgstr "" -"Recordar qué sentencias posteriores ha ingresado el usuario, para que estas " -"entradas sean incluidas al momento de compilar." +"Recordar qué declaraciones futuras ha ingresado el usuario, para que la " +"entrada posterior puedan ser compiladas con estas en efecto." #: ../Doc/library/codeop.rst:28 msgid "" @@ -78,7 +78,6 @@ msgid "To do just the former:" msgstr "Para hacer lo anterior:" #: ../Doc/library/codeop.rst:35 -#, fuzzy msgid "" "Tries to compile *source*, which should be a string of Python code and " "return a code object if *source* is valid Python code. In that case, the " @@ -103,7 +102,6 @@ msgstr "" "`OverflowError` o :exc:`ValueError` si hay un literal no válido." #: ../Doc/library/codeop.rst:45 -#, fuzzy msgid "" "The *symbol* argument determines whether *source* is compiled as a statement " "(``'single'``, the default), as a sequence of :term:`statement` (``'exec'``) " @@ -111,8 +109,9 @@ msgid "" "`ValueError` to be raised." msgstr "" "El argumento *symbol* determina si *source* se compila como una declaración " -"(``'single'``, el valor predeterminado) o como un :term:`expression` " -"(``'eval'``). Cualquier otro valor hará que se lance :exc:`ValueError`." +"(``'single'``, el valor predeterminado), como una secuencia de :term:" +"`statement` (``'exec'``) o como un :term:`expression` (``'eval'``). " +"Cualquier otro valor hará que se lance :exc:`ValueError`." #: ../Doc/library/codeop.rst:52 msgid "" @@ -130,7 +129,6 @@ msgstr "" "analizador sea mejor." #: ../Doc/library/codeop.rst:61 -#, fuzzy msgid "" "Instances of this class have :meth:`~object.__call__` methods identical in " "signature to the built-in function :func:`compile`, but with the difference " @@ -138,14 +136,13 @@ msgid "" "statement, the instance 'remembers' and compiles all subsequent program " "texts with the statement in force." msgstr "" -"Las instancias de esta clase tienen :meth:`__call__` métodos idénticos en " -"firma a la función incorporada :func:`compile`, pero con la diferencia de " -"que si la instancia compila el texto del programa que contiene una " -"instrucción :mod:`__future__`, la instancia 'recuerda' y compila todos los " -"textos de programa posteriores con la declaración en vigor." +"Las instancias de esta clase tienen métodos :meth:`~object.__call__` " +"idénticos en firma a la función incorporada :func:`compile`, pero con la " +"diferencia de que si la instancia compila el texto del programa que contiene " +"una instrucción :mod:`__future__`, la instancia 'recuerda' y compila todos " +"los textos de programa posteriores con la declaración en vigor." #: ../Doc/library/codeop.rst:70 -#, fuzzy msgid "" "Instances of this class have :meth:`~object.__call__` methods identical in " "signature to :func:`compile_command`; the difference is that if the instance " @@ -153,8 +150,8 @@ msgid "" "'remembers' and compiles all subsequent program texts with the statement in " "force." msgstr "" -"Las instancias de esta clase tienen :meth:`__call__` métodos idénticos en " -"firma a :func:`compile_command`; la diferencia es que si la instancia " -"compila un texto de programa que contiene una declaración ``__future__``, la " -"instancia 'recuerda' y compila todos los textos de programa posteriores con " -"la declaración en vigor." +"Las instancias de esta clase tienen métodos :meth:`~object.__call__` " +"idénticos en firma a :func:`compile_command`; la diferencia es que si la " +"instancia compila un texto de programa que contiene una declaración :mod:" +"`__future__`, la instancia 'recuerda' y compila todos los textos de programa " +"posteriores con la declaración en vigor." diff --git a/library/compileall.po b/library/compileall.po index 5c25be0e2b..124babc688 100644 --- a/library/compileall.po +++ b/library/compileall.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: 2023-03-13 15:30-0300\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-06 22:39+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/compileall.rst:2 msgid ":mod:`compileall` --- Byte-compile Python libraries" @@ -46,9 +47,8 @@ msgstr "" "biblioteca." #: ../Doc/includes/wasm-notavail.rst:3 -#, fuzzy msgid ":ref:`Availability `: not Emscripten, not WASI." -msgstr ":ref:`Disponibilidad `: ni Emscripten, ni WASI." +msgstr ":ref:`Disponibilidad `: no Emscripten, no WASI." #: ../Doc/includes/wasm-notavail.rst:5 msgid "" @@ -73,7 +73,6 @@ msgstr "" "compileall`) para compilar fuentes de Python." #: ../Doc/library/compileall.rst:30 -#, fuzzy msgid "" "Positional arguments are files to compile or directories that contain source " "files, traversed recursively. If no argument is given, behave as if the " @@ -81,8 +80,8 @@ msgid "" msgstr "" "Los argumentos posicionales son archivos para compilar o directorios que " "contienen archivos fuente, recorridos recursivamente. Si no se proporciona " -"ningún argumento, se comporta como si la línea de comando fuera ``-l " -"``." +"ningún argumento, se comporta como si la línea de comando fuera :samp:`-l " +"{}`." #: ../Doc/library/compileall.rst:36 msgid "" @@ -263,16 +262,15 @@ msgstr "" "mismo ya proporciona la opción: :program:`python -O -m compileall`." #: ../Doc/library/compileall.rst:144 -#, fuzzy msgid "" "Similarly, the :func:`compile` function respects the :data:`sys." "pycache_prefix` setting. The generated bytecode cache will only be useful " "if :func:`compile` is run with the same :data:`sys.pycache_prefix` (if any) " "that will be used at runtime." msgstr "" -"De manera similar, la función :func:`compile` respeta la configuración :attr:" +"De manera similar, la función :func:`compile` respeta la configuración :data:" "`sys.pycache_prefix`. El cache de código de byte generado sólo será útil si :" -"func:`compile` se ejecuta con el mismo :attr:`sys.pycache_prefix` (si es que " +"func:`compile` se ejecuta con el mismo :data:`sys.pycache_prefix` (si es que " "existe alguno) que se utilizará en el momento de ejecución." #: ../Doc/library/compileall.rst:150 @@ -398,7 +396,6 @@ msgstr "" "generados en el momento de ejecución." #: ../Doc/library/compileall.rst:200 ../Doc/library/compileall.rst:270 -#, fuzzy msgid "" "The *stripdir*, *prependdir* and *limit_sl_dest* arguments correspond to the " "``-s``, ``-p`` and ``-e`` options described above. They may be specified as " @@ -406,7 +403,7 @@ msgid "" msgstr "" "Los argumentos *stripdir*, *prependdir* y *limit_sl_dest* corresponden a las " "opciones ``-s``, ``-p`` y ``-e`` descritas anteriormente. Pueden " -"especificarse como ``str``, ``bytes`` o :py:class:`os.PathLike`." +"especificarse como ``str``, o :py:class:`os.PathLike`." #: ../Doc/library/compileall.rst:204 ../Doc/library/compileall.rst:274 msgid "" diff --git a/library/contextlib.po b/library/contextlib.po index 7c552e83c3..358bca436b 100644 --- a/library/contextlib.po +++ b/library/contextlib.po @@ -59,7 +59,7 @@ msgid "" "the definition of :ref:`typecontextmanager`." msgstr "" "Una :term:`clase base abstracta ` para clases que " -"implementan :meth:`object.__aenter__` y :meth:`object.__exit__`. Se " +"implementan :meth:`object.__enter__` y :meth:`object.__exit__`. Se " "proporciona una implementación predeterminada para :meth:`object.__enter__` " "que retorna ``self`` mientras que :meth:`object.__exit__` es un método " "abstracto que por defecto retorna ``None``. Véase también la definición de :" @@ -354,12 +354,18 @@ msgid "" "exceptions in the group are not suppressed, a group containing them is re-" "raised." msgstr "" +"Si el código dentro del bloque de :keyword:`!with` lanza una :exc:" +"`ExceptionGroup`, las excepciones suprimidas son retiradas del grupo. Si " +"algunas excepciones en el grupo no están suprimidas, un grupo que las " +"contiene se lanza." #: ../Doc/library/contextlib.rst:313 msgid "" "``suppress`` now supports suppressing exceptions raised as part of an :exc:" "`ExceptionGroup`." msgstr "" +"Ahora ``supress`` admite suprimir excepciones lanzadas como parte de un :exc:" +"`ExceptionGroup`." #: ../Doc/library/contextlib.rst:319 msgid "" diff --git a/library/contextvars.po b/library/contextvars.po index 5bb19c2154..a488e68e8d 100644 --- a/library/contextvars.po +++ b/library/contextvars.po @@ -178,7 +178,6 @@ msgstr "" "*token*." #: ../Doc/library/contextvars.rst:111 -#, fuzzy msgid "" "A read-only property. Set to the value the variable had before the :meth:" "`ContextVar.set` method call that created the token. It points to :attr:" @@ -236,6 +235,10 @@ msgid "" "fashion to :func:`threading.local()` when values are assigned in different " "threads." msgstr "" +"Cada hilo tendrá un objecto de nivel superior :class:`~contextvars.Context`. " +"Esto significa que un objeto :class:`ContextVar` se comporta de una manera " +"similar a :func:`threading.local()` cuando los valores están asignados desde " +"hilos diferentes" #: ../Doc/library/contextvars.rst:152 msgid "Context implements the :class:`collections.abc.Mapping` interface." diff --git a/library/dbm.po b/library/dbm.po index ecb770509a..0dc56e6c75 100644 --- a/library/dbm.po +++ b/library/dbm.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: 2022-11-03 19:56-0300\n" +"PO-Revision-Date: 2024-10-27 18:46-0400\n" "Last-Translator: Alfonso Areiza Guerra \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.5\n" #: ../Doc/library/dbm.rst:2 msgid ":mod:`dbm` --- Interfaces to Unix \"databases\"" @@ -597,4 +598,4 @@ msgstr "Cierra la base de datos ``dumbdbm``." #: ../Doc/library/dbm.rst:325 msgid "databases" -msgstr "" +msgstr "databases" diff --git a/library/email.charset.po b/library/email.charset.po index eef8c24c05..22b44a2e89 100644 --- a/library/email.charset.po +++ b/library/email.charset.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-08-07 18:14+0200\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es_ES\n" +"PO-Revision-Date: 2023-11-06 22:45+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_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.4\n" #: ../Doc/library/email.charset.rst:2 msgid ":mod:`email.charset`: Representing character sets" @@ -137,7 +138,6 @@ msgstr "" "ascii`` de 7 bits." #: ../Doc/library/email.charset.rst:60 -#, fuzzy msgid "" "If the character set must be encoded before it can be used in an email " "header, this attribute will be set to ``charset.QP`` (for quoted-printable), " @@ -146,12 +146,11 @@ msgid "" msgstr "" "Si el conjunto de caracteres debe codificarse antes de que pueda usarse en " "un encabezado de correo electrónico, este atributo se establecerá a " -"``Charset.QP`` (para quoted-printable), ``Charset.BASE64`` (para " -"codificación base64), o ``Charset.SHORTEST`` para la más codificación más " -"corta QP o BASE64. De lo contrario será ``None``." +"``charset.QP`` (para imprimible con comillas), ``charset.BASE64`` (para " +"codificación base64), o ``charset.SHORTEST`` para la codificación más corta " +"QP o BASE64. De lo contrario será ``None``." #: ../Doc/library/email.charset.rst:69 -#, fuzzy msgid "" "Same as *header_encoding*, but describes the encoding for the mail message's " "body, which indeed may be different than the header encoding. ``charset." @@ -159,7 +158,7 @@ msgid "" msgstr "" "Igual que *header_encoding*, pero describe la codificación del cuerpo del " "mensaje de correo, que de hecho puede ser diferente a la codificación del " -"encabezado. ``Charset.SHORTEST`` no está permitido para *body_encoding*." +"encabezado. ``charset.SHORTEST`` no está permitido para *body_encoding*." #: ../Doc/library/email.charset.rst:76 msgid "" @@ -288,13 +287,12 @@ msgstr "" "soportar operaciones estándar y funciones integradas." #: ../Doc/library/email.charset.rst:152 -#, fuzzy msgid "" "Returns *input_charset* as a string coerced to lower case. :meth:`!__repr__` " "is an alias for :meth:`!__str__`." msgstr "" "Retorna *input_charset* como una cadena de caracteres convertida a " -"minúsculas. :meth:`__repr__` es un alias para :meth:`__str__`." +"minúsculas. :meth:`!__repr__` es un alias para :meth:`!__str__`." #: ../Doc/library/email.charset.rst:158 msgid "" @@ -333,7 +331,6 @@ msgstr "" "canónico del conjunto de caracteres." #: ../Doc/library/email.charset.rst:178 -#, fuzzy msgid "" "Optional *header_enc* and *body_enc* is either ``charset.QP`` for quoted-" "printable, ``charset.BASE64`` for base64 encoding, ``charset.SHORTEST`` for " @@ -341,11 +338,11 @@ msgid "" "encoding. ``SHORTEST`` is only valid for *header_enc*. The default is " "``None`` for no encoding." msgstr "" -"Opcional *header_enc* y *body_enc* es ``Charset.QP`` para imprimibles entre " -"comillas, ``Charset.BASE64`` para codificación base64, ``Charset.SHORTEST`` " -"para codificación más corta quoted-printable o base64, o ``None`` para no " -"codificar. ``SHORTEST`` solo es válido para *header_enc*. El valor " -"predeterminado es ``None`` para no codificar." +"Opcional *header_enc* y *body_enc* es ``charset.QP`` para imprimibles entre " +"comillas, ``charset.BASE64`` para codificación base64, ``charset.SHORTEST`` " +"para la codificación más corta entre imprimible entre comillas o base64, o " +"``None`` para no codificar. ``SHORTEST`` solo es válido para *header_enc*. " +"El valor predeterminado es ``None`` para no codificar." #: ../Doc/library/email.charset.rst:184 msgid "" diff --git a/library/email.compat32-message.po b/library/email.compat32-message.po index e33f39c31c..035125c288 100644 --- a/library/email.compat32-message.po +++ b/library/email.compat32-message.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-25 19:47+0200\n" -"PO-Revision-Date: 2020-11-09 21:18+0100\n" -"Last-Translator: Álvaro Mondéjar \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-06 22:22+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.10.3\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/email.compat32-message.rst:4 msgid "" @@ -185,7 +186,6 @@ msgstr "" "(por ejemplo, límites MIME pueden ser generados o modificados)." #: ../Doc/library/email.compat32-message.rst:83 -#, fuzzy msgid "" "Note that this method is provided as a convenience and may not always format " "the message the way you want. For example, by default it does not do the " @@ -196,10 +196,10 @@ msgid "" msgstr "" "Ten en cuenta que este método es proporcionado como conveniencia y puede no " "siempre formatear el mensaje de la forma que quieres. Por ejemplo, de forma " -"predeterminada no realiza la mutilación de líneas que comienzan con ``From`` " -"que es requerida por el formato unix mbox. Para mayor flexibilidad, " -"instancia un :class:`~email.generator.Generator` y utiliza su método :meth:" -"`~email.generator.Generator.flatten` directamente. Por ejemplo::" +"predeterminada no realiza la manipulación de líneas que comienzan con " +"``From`` que es requerida por el formato mbox de Unix. Para mayor " +"flexibilidad, instancia un :class:`~email.generator.Generator` y utiliza su " +"método :meth:`~email.generator.Generator.flatten` directamente. Por ejemplo::" #: ../Doc/library/email.compat32-message.rst:97 msgid "" @@ -243,7 +243,6 @@ msgstr "" "será pasado al ``BytesGenerator``." #: ../Doc/library/email.compat32-message.rst:125 -#, fuzzy msgid "" "Note that this method is provided as a convenience and may not always format " "the message the way you want. For example, by default it does not do the " @@ -254,10 +253,11 @@ msgid "" msgstr "" "Ten en cuenta que este método es proporcionado como conveniencia y puede no " "siempre formatear el mensaje de la forma que quieres. Por ejemplo, de forma " -"predeterminada no realiza la mutilación de líneas que comienzan con ``From`` " -"que es requerida por el formato unix mbox. Para mayor flexibilidad, " -"instancia un :class:`~email.generator.Generator` y utiliza su método :meth:" -"`~email.generator.Generator.flatten` directamente. Por ejemplo::" +"predeterminada no realiza la manipulación de líneas que comienzan con " +"``From`` que es requerida por el formato mbox de Unix. Para mayor " +"flexibilidad, instancia un :class:`~email.generator.BytesGenerator` y " +"utiliza su método :meth:`~email.generator.BytesGenerator.flatten` " +"directamente. Por ejemplo::" #: ../Doc/library/email.compat32-message.rst:145 msgid "" @@ -547,7 +547,6 @@ msgstr "" "presente en el mensaje no está incluido en la interfaz de mapeo." #: ../Doc/library/email.compat32-message.rst:298 -#, fuzzy msgid "" "In a model generated from bytes, any header values that (in contravention of " "the RFCs) contain non-ASCII bytes will, when retrieved through this " @@ -555,9 +554,9 @@ msgid "" "charset of ``unknown-8bit``." msgstr "" "En un modelo generado desde bytes, cualesquiera valores de encabezado que " -"(en contravención de los RFCs) contienen bytes ASCII serán representados, " +"(en contravención de los RFCs) contienen bytes no ASCII serán representados, " "cuando sean obtenidos mediante esta interfaz, como objetos :class:`~email." -"header.Header` con un conjunto de caracteres `unknown-8bit`." +"header.Header` con un conjunto de caracteres ``unknown-8bit``." #: ../Doc/library/email.compat32-message.rst:306 msgid "Return the total number of headers, including duplicates." diff --git a/library/email.generator.po b/library/email.generator.po index 2d4fe47032..c3045a6a78 100644 --- a/library/email.generator.po +++ b/library/email.generator.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-10-10 22:33-0300\n" -"Last-Translator: \n" -"Language: es_AR\n" +"PO-Revision-Date: 2023-11-06 22:14+0100\n" +"Last-Translator: Marcos Medrano \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.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/email.generator.rst:2 msgid ":mod:`email.generator`: Generating MIME documents" @@ -118,7 +119,6 @@ msgstr "" "*outfp*. *outfp* debe soportar un método ``write`` que acepte datos binarios." #: ../Doc/library/email.generator.rst:52 ../Doc/library/email.generator.rst:153 -#, fuzzy msgid "" "If optional *mangle_from_* is ``True``, put a ``>`` character in front of " "any line in the body that starts with the exact string ``\"From \"``, that " @@ -131,14 +131,15 @@ msgid "" "length.html>`_)." msgstr "" "Si *mangle_from_* opcional es ``True``, se coloca un carácter ''>'' delante " -"de cualquier línea del cuerpo que comience con la cadena exacta ''\"From " -"\"'', es decir, ''From'' seguido de un espacio al principio de una línea. " +"de cualquier línea del cuerpo que comience con la cadena exacta ``\"From " +"\"``, es decir, ``From`` seguido de un espacio al principio de una línea. " "*mangle_from_* vuelve de forma predeterminada al valor de la configuración :" -"attr:`~email.policy.Policy.mangle_from_` de la *norma* (que es ''True'' para " -"la norma :data:`~email.policy.compat32` y ''False'' para todas las demás). " -"*mangle_from_* está diseñado para su uso cuando los mensajes se almacenan en " -"formato unix mbox (consulte :mod:`mailbox` y `WHY THE CONTENT-LENGTH FORMAT " -"IS BAD `_)." +"attr:`~email.policy.Policy.mangle_from_` de la *policy* (que es ``True`` " +"para la política :data:`~email.policy.compat32` y ``False`` para todas las " +"demás). *mangle_from_* está diseñado para su uso cuando los mensajes se " +"almacenan en formato mbox de Unix (consulte :mod:`mailbox` y `WHY THE " +"CONTENT-LENGTH FORMAT IS BAD `_)." # Aqui la palabra manheaderlen no se si es un error de la documentación en # inglés... @@ -479,7 +480,6 @@ msgid "Footnotes" msgstr "Notas al pie" #: ../Doc/library/email.generator.rst:276 -#, fuzzy msgid "" "This statement assumes that you use the appropriate setting for " "``unixfrom``, and that there are no :mod:`email.policy` settings calling for " @@ -491,10 +491,10 @@ msgid "" "possible." msgstr "" "Esta instrucción supone que se utiliza la configuración adecuada para " -"``unixfrom``, y que no hay ninguna configuración :mod:`policy` que llame a " -"ajustes automáticos (por ejemplo, :attr:`~email.policy.Policy.refold_source` " -"debe ser ``none``, que es *no* es el valor predeterminado). Esto tampoco es " -"100% verdadero, ya que si el mensaje no se ajusta a los estándares RFC " -"ocasionalmente la información sobre el texto original exacto se pierde " -"durante la el análisis de recuperación de errores. Es un objetivo fijar " -"estos últimos casos extremos cuando sea posible." +"``unixfrom``, y que no hay ninguna configuración :mod:`email.policy` que " +"llame a ajustes automáticos (por ejemplo, :attr:`~email.policy.EmailPolicy." +"refold_source` debe ser ``none``, que es *no* es el valor predeterminado). " +"Esto tampoco es 100% verdadero, ya que si el mensaje no se ajusta a los " +"estándares RFC ocasionalmente la información sobre el texto original exacto " +"se pierde durante la el análisis de recuperación de errores. Es un objetivo " +"fijar estos últimos casos extremos cuando sea posible." diff --git a/library/email.headerregistry.po b/library/email.headerregistry.po index b0ffbd5d55..a77f52775e 100644 --- a/library/email.headerregistry.po +++ b/library/email.headerregistry.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-25 19:47+0200\n" -"PO-Revision-Date: 2020-10-17 19:47+0200\n" -"Last-Translator: \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-06 22:11+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.10.3\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/email.headerregistry.rst:2 msgid ":mod:`email.headerregistry`: Custom Header Objects" @@ -289,7 +290,6 @@ msgstr "" "Este tipo de encabezado proporciona los siguientes atributos adicionales:" #: ../Doc/library/email.headerregistry.rst:150 -#, fuzzy msgid "" "If the header value can be recognized as a valid date of one form or " "another, this attribute will contain a :class:`~datetime.datetime` instance " @@ -306,9 +306,9 @@ msgstr "" "entrada se especifica como ``-0000`` (lo que indica que está en UTC pero no " "contiene información sobre la zona horaria de origen), entonces :attr:`." "datetime` será un ingenuo :class:`~datetime.datetime`. Si se encuentra un " -"desplazamiento de zona horaria específico (incluido `+0000`), entonces :attr:" -"`.datetime` contendrá un ``datetime`` consciente que usa :class:`datetime." -"timezone` para registrar el desplazamiento de la zona horaria." +"desplazamiento de zona horaria específico (incluido ``+0000``), entonces :" +"attr:`.datetime` contendrá un ``datetime`` consciente que usa :class:" +"`datetime.timezone` para registrar el desplazamiento de la zona horaria." #: ../Doc/library/email.headerregistry.rst:160 msgid "" @@ -384,7 +384,6 @@ msgstr "" "direcciones se \"aplana\" (*\"flattened\"*) en una lista unidimensional)." #: ../Doc/library/email.headerregistry.rst:207 -#, fuzzy msgid "" "The ``decoded`` value of the header will have all encoded words decoded to " "unicode. :class:`~encodings.idna` encoded domain names are also decoded to " @@ -395,8 +394,8 @@ msgstr "" "El valor ``decoded`` del encabezado tendrá todas las palabras codificadas " "decodificadas a Unicode. Los nombres de dominio codificados :class:" "`~encodings.idna` también se decodifican en Unicode. El valor ``decoded`` se " -"establece mediante :attr:`~str.join` del valor :class:`str` de los elementos " -"del atributo ``groups`` con ``', '``." +"establece :ref:`concatenando ` el valor :class:`str` de los " +"elementos del atributo ``groups`` con ``', '``." #: ../Doc/library/email.headerregistry.rst:213 msgid "" diff --git a/library/email.message.po b/library/email.message.po index 4b353a684d..72b1b000b9 100644 --- a/library/email.message.po +++ b/library/email.message.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-08-07 18:10+0200\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-06 22:54+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/email.message.rst:2 msgid ":mod:`email.message`: Representing an email message" @@ -140,7 +141,6 @@ msgstr "" "la documentación del :mod:`~email.policy`." #: ../Doc/library/email.message.rst:64 -#, fuzzy msgid "" "Return the entire message flattened as a string. When optional *unixfrom* " "is true, the envelope header is included in the returned string. *unixfrom* " @@ -156,14 +156,14 @@ msgstr "" "Retorna el mensaje entero como cadena de caracteres. Cuando la opción " "*unixform* es verdadera, la cabecera está incluida en la cadena de " "caracteres retornada. *unixform* está predeterminado con valor ``False``. " -"Por compatibilidad con versiones anteriores, la base :class:`~email.message." -"Message`, la case *maxheaderlen* es aceptada pero con valor ``None`` como " +"Por compatibilidad con versiones anteriores, la clase base :class:`~email." +"message.Message` *maxheaderlen* es aceptada pero con valor ``None`` como " "predeterminado, por lo que la longitud de línea se controla mediante :attr:" -"`~email.policy.EmailPolicy.max_line_length`. El argumento *policy* puede ser " -"usado para anular el valor predeterminado obtenido de la instancia del " -"mensaje. Esto puede ser usado para controlar parte del formato producido por " -"el método, ya que la política especificada pasará a :class:`~email.generator." -"Generator`." +"`~email.policy.Policy.max_line_length` de la política. El argumento *policy* " +"puede ser usado para sobrescribir la política predeterminada obtenida de la " +"instancia del mensaje. Esto puede ser usado para controlar parte del formato " +"producido por el método, ya que la *policy* especificada pasará a :class:" +"`~email.generator.Generator`." #: ../Doc/library/email.message.rst:76 ../Doc/library/email.message.rst:114 msgid "" @@ -400,7 +400,6 @@ msgstr "" "el mensaje con el campo 'nombre', borre el campo primero, por ejemplo::" #: ../Doc/library/email.message.rst:216 -#, fuzzy msgid "" "If the :mod:`policy ` defines certain headers to be unique (as " "the standard policies do), this method may raise a :exc:`ValueError` when an " @@ -409,11 +408,12 @@ msgid "" "as we may choose to make such assignments do an automatic deletion of the " "existing header in the future." msgstr "" -"Si el :mod:`policy` define ciertas cabeceras para ser únicos(como lo hace el " -"*standard*), este método puede generar un :exc:`ValueError` cuando se " -"intenta asignar un valor a una cabecera preexistente. Este comportamiento es " -"intencional por consistencia, pero no dependa de ello, ya que podemos optar " -"por hacer que tales asignaciones eliminen la cabecera en el futuro." +"Si el :mod:`policy ` define ciertas cabeceras para ser únicas " +"(como lo hacen las políticas estándares), este método puede generar un :exc:" +"`ValueError` cuando se intenta asignar un valor a esta cabecera si una ya " +"existe. Este comportamiento es intencional por consistencia, pero no dependa " +"de ello, ya que podemos optar por hacer que tales asignaciones eliminen la " +"cabecera en el futuro." #: ../Doc/library/email.message.rst:226 msgid "" @@ -666,16 +666,15 @@ msgstr "" "obsoleto." #: ../Doc/library/email.message.rst:380 -#, fuzzy msgid "" "Note that existing parameter values of headers may be accessed through the :" "attr:`~email.headerregistry.ParameterizedMIMEHeader.params` attribute of the " "header value (for example, ``msg['Content-Type'].params['charset']``)." msgstr "" "Tenga en cuenta que se puede acceder a los parámetros existentes de las " -"cabeceras a través del atributo :attr:`~email.headerregistry.BaseHeader." -"params` de la cabecera (por ejemplo, ``msg['Content-Type']." -"params['charset']``)." +"cabeceras a través del atributo :attr:`~email.headerregistry." +"ParameterizedMIMEHeader.params` de la cabecera (por ejemplo, ``msg['Content-" +"Type'].params['charset']``)." #: ../Doc/library/email.message.rst:384 msgid "``replace`` keyword was added." @@ -1141,13 +1140,12 @@ msgid "Remove the payload and all of the headers." msgstr "Elimina la carga útil y todas las cabeceras." #: ../Doc/library/email.message.rst:694 -#, fuzzy msgid "" "Remove the payload and all of the :mailheader:`!Content-` headers, leaving " "all other headers intact and in their original order." msgstr "" -"Elimina la carga útil y todos los :exc:`Content-` *headers*, dejando a las " -"demás cabeceras intactas y en su orden original." +"Elimina la carga útil y todos las cabeceras :mailheader:`!Content-`, dejando " +"a las demás cabeceras intactas y en su orden original." #: ../Doc/library/email.message.rst:698 msgid ":class:`EmailMessage` objects have the following instance attributes:" diff --git a/library/email.mime.po b/library/email.mime.po index c303d0b779..6702b6344c 100644 --- a/library/email.mime.po +++ b/library/email.mime.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: 2022-11-21 15:54-0300\n" -"Last-Translator: Sofía Denner \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-06 22:26+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/email.mime.rst:2 msgid ":mod:`email.mime`: Creating email and MIME objects from scratch" @@ -223,7 +224,6 @@ msgid "Module: :mod:`email.mime.application`" msgstr "Módulo: :mod:`email.mime.application`" #: ../Doc/library/email.mime.rst:115 -#, fuzzy msgid "" "A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, the :class:" "`MIMEApplication` class is used to represent MIME message objects of major " @@ -233,10 +233,9 @@ msgid "" msgstr "" "Una subclase de :class:`~email.mime.nonmultipart.MIMENonMultipart`, la " "clase :class:`MIMEApplication` se utiliza para representar objetos de " -"mensaje MIME de tipo principal :mimetype:`application`. *_data* es una " -"cadena de caracteres que contiene los datos de bytes sin procesar. " -"*_subtype* opcional especifica el subtipo MIME y el valor predeterminado es :" -"mimetype:`octet-stream`." +"mensaje MIME de tipo principal :mimetype:`application`. *_data* contiene los " +"bytes de la aplicación sin procesar. *_subtype* opcional especifica el " +"subtipo MIME y el valor predeterminado es :mimetype:`octet-stream`." #: ../Doc/library/email.mime.rst:121 msgid "" @@ -268,7 +267,6 @@ msgid "Module: :mod:`email.mime.audio`" msgstr "Módulo: :mod:`email.mime.audio`" #: ../Doc/library/email.mime.rst:146 -#, fuzzy msgid "" "A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, the :class:" "`MIMEAudio` class is used to create MIME message objects of major type :" @@ -281,13 +279,13 @@ msgid "" msgstr "" "Una subclase de :class:`~email.mime.nonmultipart.MIMENonMultipart`, la " "clase :class:`MIMEAudio` se utiliza para crear objetos de mensaje MIME de " -"tipo principal :mimetype:`audio`. *_audiodata* es una cadena de caracteres " -"que contiene los datos de audio sin procesar. Si estos datos pueden ser " -"decodificados como au, wav, aiff, or aifc, entonces el subtipo se incluirá " -"automáticamente en el encabezado :mailheader:`Content-Type`. De lo " -"contrario, puede especificar explícitamente el subtipo de audio mediante el " -"argumento *_subtype*. Si no se pudo adivinar el tipo secundario y no se ha " -"proporcionado *_subtype*, se lanza :exc:`TypeError`." +"tipo principal :mimetype:`audio`. *_audiodata* contiene los bytes del audio " +"sin procesar. Si estos datos pueden ser decodificados como au, wav, aiff, or " +"aifc, entonces el subtipo se incluirá automáticamente en el encabezado :" +"mailheader:`Content-Type`. De lo contrario, puede especificar explícitamente " +"el subtipo de audio mediante el argumento *_subtype*. Si no se pudo adivinar " +"el tipo secundario y no se ha proporcionado *_subtype*, se lanza :exc:" +"`TypeError`." #: ../Doc/library/email.mime.rst:155 msgid "" @@ -315,7 +313,6 @@ msgid "Module: :mod:`email.mime.image`" msgstr "Módulo: :mod:`email.mime.image`" #: ../Doc/library/email.mime.rst:180 -#, fuzzy msgid "" "A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, the :class:" "`MIMEImage` class is used to create MIME message objects of major type :" @@ -329,14 +326,13 @@ msgid "" msgstr "" "Una subclase de :class:`~email.mime.nonmultipart.MIMENonMultipart`, la " "clase :class:`MIMEImage` se utiliza para crear objetos de mensaje MIME de " -"tipo principal :mimetype:`image`. *_imagedata* es una cadena de caracteres " -"que contiene los datos de imagen sin procesar. Si se puede detectar el tipo " -"de dato (intentando con jpeg, png, gif, tiff, rgb, pbm, pgm, ppm, rast, xbm, " -"bmp, webp, y exr), entonces el subtipo se incluirá automáticamente en el " -"encabezado :mailheader:`Content-Type`. De lo contrario, puede especificar " -"explícitamente el subtipo de imagen mediante el argumento *_subtype*. Si no " -"se pudo adivinar el tipo secundario y no se ha proporcionado *_subtype*, se " -"lanza :exc:`TypeError`." +"tipo principal :mimetype:`image`. *_imagedata* contiene los bytes de la " +"imagen sin procesar. Si se puede detectar el tipo de dato (intentando con " +"jpeg, png, gif, tiff, rgb, pbm, pgm, ppm, rast, xbm, bmp, webp, y exr), " +"entonces el subtipo se incluirá automáticamente en el encabezado :mailheader:" +"`Content-Type`. De lo contrario, puede especificar explícitamente el subtipo " +"de imagen mediante el argumento *_subtype*. Si no se pudo adivinar el tipo " +"secundario y no se ha proporcionado *_subtype*, se lanza :exc:`TypeError`." #: ../Doc/library/email.mime.rst:190 msgid "" diff --git a/library/errno.po b/library/errno.po index 5073cbcc4d..c5bb60932f 100644 --- a/library/errno.po +++ b/library/errno.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-09-14 17:19-0300\n" +"PO-Revision-Date: 2024-10-31 01:49-0600\n" "Last-Translator: Federico Jurío \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.5\n" #: ../Doc/library/errno.rst:2 msgid ":mod:`errno` --- Standard errno system symbols" @@ -491,9 +492,8 @@ msgid "Operation not supported on transport endpoint" msgstr "Operación no soportada en el endpoint de transporte" #: ../Doc/library/errno.rst:516 -#, fuzzy msgid "Operation not supported" -msgstr "Protocolo no soportado" +msgstr "Operación no soportada" #: ../Doc/library/errno.rst:523 msgid "Protocol family not supported" @@ -646,19 +646,17 @@ msgstr "" "`PermissionError`." #: ../Doc/library/errno.rst:673 -#, fuzzy msgid ":ref:`Availability `: WASI, FreeBSD" msgstr ":ref:`Disponibilidad `: WASI, FreeBSD" #: ../Doc/library/errno.rst:680 msgid "Operation canceled" -msgstr "" +msgstr "Operación cancelada" #: ../Doc/library/errno.rst:687 msgid "Owner died" -msgstr "" +msgstr "El propietario murió" #: ../Doc/library/errno.rst:694 -#, fuzzy msgid "State not recoverable" -msgstr "Resultado matemático no representable" +msgstr "Estado no recuperable" diff --git a/library/exceptions.po b/library/exceptions.po index 0978ca3396..b3f7a41022 100644 --- a/library/exceptions.po +++ b/library/exceptions.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: 2022-10-30 21:19-0300\n" -"Last-Translator: Marco Richetta \n" -"Language: es\n" +"PO-Revision-Date: 2024-11-05 23:29+0100\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.13.0\n" +"X-Generator: Poedit 3.5\n" #: ../Doc/library/exceptions.rst:4 msgid "Built-in Exceptions" @@ -391,15 +392,16 @@ msgid "" "The optional *name* and *path* keyword-only arguments set the corresponding " "attributes:" msgstr "" +"Los argumentos opcionales *name* y *path* de solo palabras clave establecen " +"los atributos correspondientes:" #: ../Doc/library/exceptions.rst:228 -#, fuzzy msgid "The name of the module that was attempted to be imported." -msgstr "El nombre de la codificación que provocó el error." +msgstr "El nombre del módulo que se intentó importar." #: ../Doc/library/exceptions.rst:232 msgid "The path to any file which triggered the exception." -msgstr "" +msgstr "La ruta a cualquier archivo que provocó la excepción." #: ../Doc/library/exceptions.rst:234 msgid "Added the :attr:`name` and :attr:`path` attributes." @@ -499,8 +501,8 @@ msgid "" "attempted to be accessed." msgstr "" "El atributo :attr:`name` se puede establecer utilizando un argumento de solo " -"palabra clave para el constructor. Cuando se establece, representa el nombre " -"de la variable a la que se intentó acceder." +"palabras clave para el constructor. Cuando se establece, representa el " +"nombre de la variable a la que se intentó acceder." #: ../Doc/library/exceptions.rst:301 msgid "Added the :attr:`name` attribute." @@ -768,13 +770,12 @@ msgstr "" "generado en un generador se transforma en :exc:`RuntimeError`." #: ../Doc/library/exceptions.rst:459 -#, fuzzy msgid "" "Must be raised by :meth:`~object.__anext__` method of an :term:`asynchronous " "iterator` object to stop the iteration." msgstr "" -"Se debe lanzar mediante :meth:`__anext__` de un objeto :term:`asynchronous " -"iterator` para detener la iteración." +"Se debe lanzar mediante el método :meth:`~object.__anext__` de un objeto :" +"term:`asynchronous iterator` para detener la iteración." #: ../Doc/library/exceptions.rst:466 msgid "" @@ -1094,17 +1095,16 @@ msgstr "" "el código de error del sistema." #: ../Doc/library/exceptions.rst:666 -#, fuzzy msgid "" "Raised when an operation would block on an object (e.g. socket) set for non-" "blocking operation. Corresponds to :c:data:`errno` :py:const:`~errno." "EAGAIN`, :py:const:`~errno.EALREADY`, :py:const:`~errno.EWOULDBLOCK` and :py:" "const:`~errno.EINPROGRESS`." msgstr "" -"Se lanza cuando una operación se bloquearía en un objeto (ejemplo: socket) " +"Se lanza cuando una operación se bloquearía en un objeto (ejemplo: *socket*) " "configurado para una operación no bloqueante. Corresponde a :c:data:`errno` :" -"py:data:`~errno.EAGAIN`, :py:data:`~errno.EALREADY`, :py:data:`~errno." -"EWOULDBLOCK` y :py:data:`~errno.EINPROGRESS`." +"py:const:`~errno.EAGAIN`, :py:const:`~errno.EALREADY`, :py:const:`~errno." +"EWOULDBLOCK` y :py:const:`~errno.EINPROGRESS`." #: ../Doc/library/exceptions.rst:671 msgid "" @@ -1125,13 +1125,12 @@ msgstr "" "las clases de E/S almacenadas en el modulo :mod:`io`." #: ../Doc/library/exceptions.rst:682 -#, fuzzy msgid "" "Raised when an operation on a child process failed. Corresponds to :c:data:" "`errno` :py:const:`~errno.ECHILD`." msgstr "" -"Se genera cuando falla una operación en un proceso secundario. Corresponde " -"a :c:data:`errno` :py:data:`~errno.ECHILD`." +"Se lanza cuando falla una operación en un proceso secundario. Corresponde a :" +"c:data:`errno` :py:const:`~errno.ECHILD`." #: ../Doc/library/exceptions.rst:687 msgid "A base class for connection-related issues." @@ -1146,76 +1145,70 @@ msgstr "" "exc:`ConnectionRefusedError` y :exc:`ConnectionResetError`." #: ../Doc/library/exceptions.rst:694 -#, fuzzy msgid "" "A subclass of :exc:`ConnectionError`, raised when trying to write on a pipe " "while the other end has been closed, or trying to write on a socket which " "has been shutdown for writing. Corresponds to :c:data:`errno` :py:const:" "`~errno.EPIPE` and :py:const:`~errno.ESHUTDOWN`." msgstr "" -"Una subclase de :exc:`ConnectionError`, que se genera cuando se intenta " +"Una subclase de :exc:`ConnectionError`, que se lanza cuando se intenta " "escribir en una tubería mientras el otro extremo se ha cerrado, o cuando se " -"intenta escribir en un *socket* que se ha cerrado por escritura. Corresponde " -"a :c:data:`errno` :py:data:`~errno.EPIPE` y :py:data:`~errno.ESHUTDOWN`." +"intenta escribir en un *socket* que se ha cerrado para escritura. " +"Corresponde a :c:data:`errno` :py:const:`~errno.EPIPE` y :py:const:`~errno." +"ESHUTDOWN`." #: ../Doc/library/exceptions.rst:701 -#, fuzzy msgid "" "A subclass of :exc:`ConnectionError`, raised when a connection attempt is " "aborted by the peer. Corresponds to :c:data:`errno` :py:const:`~errno." "ECONNABORTED`." msgstr "" -"Una subclase de :exc:`ConnectionError`, que se genera cuando el par " -"interrumpe un intento de conexión. Corresponde a :c:data:`errno` :py:data:" -"`~errno.ECONNABORTED`." +"Una subclase de :exc:`ConnectionError`, que se lanza cuando el par aborta un " +"intento de conexión. Corresponde a :c:data:`errno` :py:const:`~errno." +"ECONNABORTED`." #: ../Doc/library/exceptions.rst:707 -#, fuzzy msgid "" "A subclass of :exc:`ConnectionError`, raised when a connection attempt is " "refused by the peer. Corresponds to :c:data:`errno` :py:const:`~errno." "ECONNREFUSED`." msgstr "" -"Una subclase de :exc:`ConnectionError`, que se genera cuando el par " -"interrumpe un intento de conexión. Corresponde a :c:data:`errno` :py:data:" -"`~errno.ECONNREFUSED`." +"Una subclase de :exc:`ConnectionError`, que se lanza cuando el par rechaza " +"un intento de conexión. Corresponde a :c:data:`errno` :py:const:`~errno." +"ECONNREFUSED`." #: ../Doc/library/exceptions.rst:713 -#, fuzzy msgid "" "A subclass of :exc:`ConnectionError`, raised when a connection is reset by " "the peer. Corresponds to :c:data:`errno` :py:const:`~errno.ECONNRESET`." msgstr "" -"Una subclase de :exc:`ConnectionError`, que se genera cuando el par " -"restablece una conexión. Corresponde a :c:data:`errno` :py:data:`~errno." +"Una subclase de :exc:`ConnectionError`, que se lanza cuando el par " +"restablece una conexión. Corresponde a :c:data:`errno` :py:const:`~errno." "ECONNRESET`." #: ../Doc/library/exceptions.rst:719 -#, fuzzy msgid "" "Raised when trying to create a file or directory which already exists. " "Corresponds to :c:data:`errno` :py:const:`~errno.EEXIST`." msgstr "" -"Se genera al intentar crear un archivo o directorio que ya existe. " -"Corresponde a :c:data:`errno` :py:data:`~errno.EEXIST`." +"Se lanza al intentar crear un archivo o directorio que ya existe. " +"Corresponde a :c:data:`errno` :py:const:`~errno.EEXIST`." #: ../Doc/library/exceptions.rst:724 -#, fuzzy msgid "" "Raised when a file or directory is requested but doesn't exist. Corresponds " "to :c:data:`errno` :py:const:`~errno.ENOENT`." msgstr "" -"Se genera cuando se solicita un archivo o directorio pero no existe. " -"Corresponde a :c:data:`errno` :py:data:`~errno.ENOENT`." +"Se lanza cuando se solicita un archivo o directorio pero no existe. " +"Corresponde a :c:data:`errno` :py:const:`~errno.ENOENT`." #: ../Doc/library/exceptions.rst:729 -#, fuzzy msgid "" "Raised when a system call is interrupted by an incoming signal. Corresponds " "to :c:data:`errno` :py:const:`~errno.EINTR`." msgstr "" -"Se genera cuando una llamada entrante interrumpe una llamada del sistema. " -"Corresponde a :c:data:`errno` :py:data:`~errno.EINTR`." +"Se lanza cuando una señal entrante interrumpe una llamada del sistema. " +"Corresponde a :c:data:`errno` :py:const:`~errno.EINTR`." #: ../Doc/library/exceptions.rst:732 msgid "" @@ -1229,17 +1222,15 @@ msgstr "" "`InterruptedError`." #: ../Doc/library/exceptions.rst:739 -#, fuzzy msgid "" "Raised when a file operation (such as :func:`os.remove`) is requested on a " "directory. Corresponds to :c:data:`errno` :py:const:`~errno.EISDIR`." msgstr "" -"Se genera cuando se solicita una operación de archivo (como :func:`os." -"remove`) en un directorio. Corresponde a: :c:data:`errno` :py:data:`~errno." +"Se lanza cuando se solicita una operación de archivo (como :func:`os." +"remove`) en un directorio. Corresponde a :c:data:`errno` :py:const:`~errno." "EISDIR`." #: ../Doc/library/exceptions.rst:745 -#, fuzzy msgid "" "Raised when a directory operation (such as :func:`os.listdir`) is requested " "on something which is not a directory. On most POSIX platforms, it may also " @@ -1247,50 +1238,48 @@ msgid "" "as if it were a directory. Corresponds to :c:data:`errno` :py:const:`~errno." "ENOTDIR`." msgstr "" -"Se genera cuando se solicita una operación de directorio (como :func:`os." +"Se lanza cuando se solicita una operación de directorio (como :func:`os." "listdir`) en algo que no es un directorio. En la mayoría de las plataformas " "POSIX, también se puede lanzar si una operación intenta abrir o recorrer un " "archivo que no es de directorio como si fuera un directorio. Corresponde a :" -"c:data:`errno` :py:data:`~errno.ENOTDIR`." +"c:data:`errno` :py:const:`~errno.ENOTDIR`." #: ../Doc/library/exceptions.rst:753 -#, fuzzy msgid "" "Raised when trying to run an operation without the adequate access rights - " "for example filesystem permissions. Corresponds to :c:data:`errno` :py:const:" "`~errno.EACCES`, :py:const:`~errno.EPERM`, and :py:const:`~errno." "ENOTCAPABLE`." msgstr "" -"Se genera cuando se intenta ejecutar una operación sin los permisos de " -"acceso adecuados - por ejemplo permisos del sistema de archivos. Corresponde " -"a :c:data:`errno` :py:data:`~errno.EACCES`, :py:data:`~errno.EPERM`, y :py:" -"data:`~errno.ENOTCAPABLE`." +"Se lanza cuando se intenta ejecutar una operación sin los permisos de acceso " +"adecuados, por ejemplo permisos del sistema de archivos. Corresponde a :c:" +"data:`errno` :py:const:`~errno.EACCES`, :py:const:`~errno.EPERM` y :py:const:" +"`~errno.ENOTCAPABLE`." #: ../Doc/library/exceptions.rst:758 -#, fuzzy msgid "" "WASI's :py:const:`~errno.ENOTCAPABLE` is now mapped to :exc:" "`PermissionError`." msgstr "" -"WASI's :py:data:`~errno.ENOTCAPABLE` ahora se mapea a :exc:`PermissionError`." +"El error :py:const:`~errno.ENOTCAPABLE` de WASI ahora se mapea a :exc:" +"`PermissionError`." #: ../Doc/library/exceptions.rst:764 -#, fuzzy msgid "" "Raised when a given process doesn't exist. Corresponds to :c:data:`errno` :" "py:const:`~errno.ESRCH`." msgstr "" -"Generado cuando un proceso dado no existe. Corresponde a :c:data:`errno` :py:" -"data:`~errno.ESRCH`." +"Se lanza cuando un proceso dado no existe. Corresponde a :c:data:`errno` :py:" +"const:`~errno.ESRCH`." #: ../Doc/library/exceptions.rst:769 -#, fuzzy msgid "" "Raised when a system function timed out at the system level. Corresponds to :" "c:data:`errno` :py:const:`~errno.ETIMEDOUT`." msgstr "" -"Se genera cuando se agota el tiempo de espera de una función del sistema a " -"nivel del sistema. Corresponde a :c:data:`errno` :py:data:`~errno.ETIMEDOUT`." +"Se lanza cuando se agota el tiempo de espera de una función del sistema a " +"nivel del sistema. Corresponde a :c:data:`errno` :py:const:`~errno." +"ETIMEDOUT`." #: ../Doc/library/exceptions.rst:772 msgid "All the above :exc:`OSError` subclasses were added." @@ -1540,17 +1529,14 @@ msgstr "" "coincide." #: ../Doc/library/exceptions.rst:945 -#, fuzzy msgid "" "Returns an exception group with the same :attr:`message`, but which wraps " "the exceptions in ``excs``." msgstr "" -"Retorna un grupo de excepción con los mismos :attr:`message`, :attr:" -"`__traceback__`, :attr:`__cause__`, :attr:`__context__` y :attr:`__notes__` " -"pero que envuelve las excepciones en ``excs``." +"Retorna un grupo de excepción con los mismos :attr:`message`, pero que " +"envuelve las excepciones en ``excs``." #: ../Doc/library/exceptions.rst:948 -#, fuzzy msgid "" "This method is used by :meth:`subgroup` and :meth:`split`. A subclass needs " "to override it in order to make :meth:`subgroup` and :meth:`split` return " @@ -1558,7 +1544,7 @@ msgid "" msgstr "" "Este método es usado por :meth:`subgroup` y :meth:`split`. Se necesita una " "subclase que lo sobrescriba para que :meth:`subgroup` y :meth:`split` " -"retornan instancias de la subclase en lugar de :exc:`ExceptionGroup`. ::" +"retornan instancias de la subclase en lugar de :exc:`ExceptionGroup`." #: ../Doc/library/exceptions.rst:953 msgid "" @@ -1567,9 +1553,12 @@ msgid "" "original exception group to the one returned by :meth:`derive`, so these " "fields do not need to be updated by :meth:`derive`. ::" msgstr "" +":meth:`subgroup` y :meth:`split` copian los campos :attr:`__traceback__`, :" +"attr:`__cause__`, :attr:`__context__` y :attr:`__notes__` del grupo de " +"excepción original al devuelto por :meth:`derive`, por lo que estos campos " +"no necesitan ser actualizados por :meth:`derive`. ::" #: ../Doc/library/exceptions.rst:982 -#, fuzzy msgid "" "Note that :exc:`BaseExceptionGroup` defines :meth:`__new__`, so subclasses " "that need a different constructor signature need to override that rather " @@ -1577,11 +1566,11 @@ msgid "" "subclass which accepts an exit_code and and constructs the group's message " "from it. ::" msgstr "" -"Nota que :exc:`BaseExceptionGroup` define :meth:`__new__`, por lo que las " -"subclases que necesiten una firma de constructor diferente deben " -"sobrescribir ese método en lugar de :`__init__`. Por ejemplo, lo siguiente " -"define una subclase de grupo de excepción que acepta un *exit_code* y " -"construye el mensaje del grupo a partir del mismo. ::" +"Tenga en cuenta que :exc:`BaseExceptionGroup` define :meth:`__new__`, por lo " +"que las subclases que necesiten una firma de constructor diferente deben " +"sobrescribir ese método en lugar de :meth:`__init__`. Por ejemplo, a " +"continuación se define una subclase de grupo de excepción que acepta un " +"*exit_code* y construye el mensaje del grupo a partir del mismo. ::" #: ../Doc/library/exceptions.rst:997 msgid "" @@ -1589,6 +1578,9 @@ msgid "" "is also a subclass of :exc:`Exception` can only wrap instances of :exc:" "`Exception`." msgstr "" +"Al igual que :exc:`ExceptionGroup`, cualquier subclase de :exc:" +"`BaseExceptionGroup` que también es una subclase de :exc:`Exception` sólo " +"puede envolver instancias de :exc:`Exception`." #: ../Doc/library/exceptions.rst:1005 msgid "Exception hierarchy" @@ -1601,32 +1593,31 @@ msgstr "La jerarquía de clases para las excepciones incorporadas es:" #: ../Doc/library/exceptions.rst:6 ../Doc/library/exceptions.rst:17 #: ../Doc/library/exceptions.rst:178 msgid "statement" -msgstr "" +msgstr "statement" #: ../Doc/library/exceptions.rst:6 msgid "try" -msgstr "" +msgstr "try" #: ../Doc/library/exceptions.rst:6 -#, fuzzy msgid "except" -msgstr "Excepciones del sistema operativo" +msgstr "except" #: ../Doc/library/exceptions.rst:17 msgid "raise" -msgstr "" +msgstr "raise" #: ../Doc/library/exceptions.rst:178 msgid "assert" -msgstr "" +msgstr "assert" #: ../Doc/library/exceptions.rst:327 msgid "module" -msgstr "" +msgstr "module" #: ../Doc/library/exceptions.rst:327 msgid "errno" -msgstr "" +msgstr "errno" #~ msgid "" #~ "The :attr:`name` and :attr:`path` attributes can be set using keyword-" @@ -1635,7 +1626,7 @@ msgstr "" #~ "which triggered the exception, respectively." #~ msgstr "" #~ "Los atributos :attr:`name` y :attr:`path` solo se pueden establecer " -#~ "utilizando argumentos de palabra clave en el constructor. Cuando se " +#~ "utilizando argumentos de solo palabras clave en el constructor. Cuando se " #~ "establece, representan el nombre del módulo que se intentó importar y la " #~ "ruta de acceso a cualquier archivo que desencadenó la excepción, " #~ "respectivamente." diff --git a/library/fcntl.po b/library/fcntl.po index 0243f81703..0135ab9c5d 100644 --- a/library/fcntl.po +++ b/library/fcntl.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: 2023-05-08 13:38-0400\n" +"PO-Revision-Date: 2024-03-05 21:56-0500\n" "Last-Translator: Francisco Mora \n" -"Language: es_ES\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_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.4.2\n" #: ../Doc/library/fcntl.rst:2 msgid ":mod:`fcntl` --- The ``fcntl`` and ``ioctl`` system calls" @@ -37,10 +38,7 @@ msgstr "" "`ioctl`. Para una completa descripción de estas llamadas, ver las páginas " "del manual de Unix :manpage:`fcntl(2)` y :manpage:`ioctl(2)`." -# Dejo fuzzy por que no pasa el pipeline test. Otros archivos tienen esta -# misma linea como fuzzy. #: ../Doc/includes/wasm-notavail.rst:3 -#, fuzzy msgid ":ref:`Availability `: not Emscripten, not WASI." msgstr ":ref:`Disponibilidad `: no Emscripten, no WASI." @@ -65,7 +63,7 @@ msgstr "" "Todas las funciones de este módulo toman un descriptor de fichero *fd* como " "su primer argumento. Puede ser un descriptor de fichero entero, como el " "retornado por ``sys.stdin.fileno()``, o un objeto :class:`io.IOBase`, como " -"``sys.stdin``, que proporciona un :meth:`~io.IOBase.fileno` que retornan un " +"``sys.stdin``, que proporciona un :meth:`~io.IOBase.fileno` que retorna un " "descriptor de fichero original." #: ../Doc/library/fcntl.rst:29 @@ -116,8 +114,8 @@ msgid "" "the latter setting ``FD_CLOEXEC`` flag in addition." msgstr "" "En FreeBSD, el módulo fcntl expone las constantes ``F_DUP2FD`` y " -"``F_DUP2FD_CLOEXEC``, que permiten duplicar un descriptor de archivo, este " -"último configurando además el indicador ``FD_CLOEXEC``." +"``F_DUP2FD_CLOEXEC``, que permiten duplicar un descriptor de fichero, esta " +"última fijando además el indicador ``FD_CLOEXEC``." #: ../Doc/library/fcntl.rst:55 msgid "" @@ -126,6 +124,11 @@ msgid "" "another file by reflinking on some filesystems (e.g., btrfs, OCFS2, and " "XFS). This behavior is commonly referred to as \"copy-on-write\"." msgstr "" +"En Linux >= 4.5, el módulo :mod:`fcntl` expone las constantes ``FICLONE`` y " +"``FICLONERANGE``, que permiten compartir algunos datos de un fichero con " +"otro fichero mediante el *reflinking* en algunos sistemas de ficheros (por " +"ejemplo, btrfs, OCFS2 y XFS). Este comportamiento se conoce comúnmente como " +"\"copy-on-write\"." #: ../Doc/library/fcntl.rst:61 msgid "The module defines the following functions:" @@ -149,17 +152,17 @@ msgid "" "the operating system is larger than 1024 bytes, this is most likely to " "result in a segmentation violation or a more subtle data corruption." msgstr "" -"Realice la operación *cmd* en el descriptor de fichero *fd* (los objetos de " -"fichero que proporcionan un método :meth:`~io.IOBase.fileno` también son " -"aceptados). Los valores utilizados para *cmd* dependen del sistema operativo " -"y están disponibles como constantes en el módulo :mod:`fcntl`, utilizando " -"los mismos nombres que se utilizan en los archivos de cabecera C relevantes. " -"El argumento *arg* puede ser un valor entero o un objeto :class:`bytes`. Con " -"un valor entero, el valor retorno de esta función es el valor entero " +"Realiza la operación *cmd* en el descriptor de fichero *fd* (también se " +"aceptan objetos de fichero que proporcionen un método :meth:`~io.IOBase." +"fileno`). Los valores utilizados para *cmd* dependen del sistema operativo y " +"están disponibles como constantes en el módulo :mod:`fcntl`, utilizando los " +"mismos nombres que se utilizan en los archivos de cabecera C relevantes. El " +"argumento *arg* puede ser un valor entero o un objeto :class:`bytes`. Con un " +"valor entero, el valor retornado en esta función es el valor entero " "retornado por la llamada en C :c:func:`fcntl` . Cuando el argumento son " "bytes representa una estructura binaria, e.g. creada por :func:`struct." "pack`. Los datos binarios se copian en un búfer cuya dirección se pasa a la " -"llamada en C ::c:func:`fcntl`. El valor de retorno después de una llamada " +"llamada en C ::c:func:`fcntl`. El valor retornado después de una llamada " "correcta es el contenido del búfer, convertido en un objeto :class:`bytes`. " "La longitud del objeto retornado será la misma que la longitud del argumento " "*arg*. Esta longitud está limitada a 1024 bytes. Si la información retornada " @@ -176,8 +179,8 @@ msgid "" "Raises an :ref:`auditing event ` ``fcntl.fcntl`` with arguments " "``fd``, ``cmd``, ``arg``." msgstr "" -"Lanza un :ref:`auditing event ` ``fcntl.fcntl`` con argumentos " -"``fd``, ``cmd``, ``arg``." +"Lanza un :ref:`evento de auditoria ` ``fcntl.fcntl`` con " +"argumentos ``fd``, ``cmd``, ``arg``." #: ../Doc/library/fcntl.rst:90 msgid "" @@ -197,7 +200,7 @@ msgstr "" "El parámetro *request* se encuentra limitado a valores que encajen en 32-" "bits. Se pueden encontrar constantes adicionales de interés para usar como " "argumento *request* en el módulo :mod:`termios`, con los mismos nombres que " -"se usan en los archivos de cabecera C relevantes." +"se usan en los archivos de cabecera C correspondientes." #: ../Doc/library/fcntl.rst:98 msgid "" @@ -214,8 +217,8 @@ msgid "" "In all but the last case, behaviour is as for the :func:`~fcntl.fcntl` " "function." msgstr "" -"En todos los casos excepto en el último, el comportamiento es el de la " -"función :func:`~fcntl.fcntl`." +"En todos los casos, excepto en el último, el comportamiento es el mismo que " +"para la función :func:`~fcntl.fcntl`." #: ../Doc/library/fcntl.rst:105 msgid "" @@ -250,8 +253,8 @@ msgid "" msgstr "" "Si *mutate_flag* es verdadero (valor predeterminado), entonces el búfer se " "pasa (en efecto) a la llamada al sistema subyacente :func:`ioctl`, el código " -"de retorno de éste último se retorna al Python que llama, y el nuevo " -"contenido del búfer refleja la acción de :func:`ioctl`. Esto es una ligera " +"de retorno de este último retorna una llamada Python, y el nuevo contenido " +"del búfer refleja la acción de :func:`ioctl`. Esto es una ligera " "simplificación, porque si el búfer proporcionado tiene menos de 1024 bytes " "de longitud, primero se copia en un búfer estático de 1024 bytes de longitud " "que luego se pasa a :func:`ioctl` y se copia de nuevo en el búfer " @@ -259,7 +262,7 @@ msgstr "" #: ../Doc/library/fcntl.rst:121 msgid "If the :c:func:`ioctl` fails, an :exc:`OSError` exception is raised." -msgstr "Si :c:func:`ioctl` falla, se lanza la excepción :exc:`OSError`." +msgstr "Si :c:func:`ioctl` falla, se lanza una excepción :exc:`OSError`." #: ../Doc/library/fcntl.rst:123 msgid "An example::" @@ -270,7 +273,7 @@ msgid "" "Raises an :ref:`auditing event ` ``fcntl.ioctl`` with arguments " "``fd``, ``request``, ``arg``." msgstr "" -"Lanza un evento :ref:`auditing event ` ``fcntl.ioctl`` con " +"Lanza un :ref:`evento de auditoria ` ``fcntl.ioctl`` con " "argumentos ``fd``, ``request``, ``arg``." #: ../Doc/library/fcntl.rst:141 @@ -281,10 +284,10 @@ msgid "" "function is emulated using :c:func:`fcntl`.)" msgstr "" "Realiza la operación de bloqueo *operation* sobre el descriptor de fichero " -"*fd* (los objetos de fichero que proporcionan un método :meth:`~io.IOBase." -"fileno` también son aceptados). Ver el manual de Unix :manpage:`flock(2)` " -"para más detalles. (En algunos sistemas, esta función es emulada usando :c:" -"func:`fcntl`.)" +"*fd* (también se aceptan objetos de fichero que proporcionen un método :meth:" +"`~io.IOBase.fileno`). Ver el manual de Unix :manpage:`flock(2)` para más " +"detalles. (En algunos sistemas, esta función es emulada usando :c:func:" +"`fcntl`.)" #: ../Doc/library/fcntl.rst:146 msgid "If the :c:func:`flock` fails, an :exc:`OSError` exception is raised." @@ -295,8 +298,8 @@ msgid "" "Raises an :ref:`auditing event ` ``fcntl.flock`` with arguments " "``fd``, ``operation``." msgstr "" -"Lanza un :ref:`auditing event ` ``fcntl.flock`` con argumentos " -"``fd``, ``operation``." +"Lanza un :ref:`evento de auditoria ` ``fcntl.flock`` con " +"argumentos ``fd``, ``operation``." #: ../Doc/library/fcntl.rst:153 msgid "" @@ -306,10 +309,9 @@ msgid "" "*cmd* is one of the following values:" msgstr "" "Esto es esencialmente un \"wrapper\" de las llamadas de bloqueo :func:" -"`~fcntl.fcntl` . * fd * es el descriptor de fichero (los objetos de fichero " -"que proporcionan un método :meth:`~io.IOBase.fileno` también se aceptan) del " -"archivo para bloquear o desbloquear, y *cmd* es uno de los siguientes " -"valores:" +"`~fcntl.fcntl`. *fd* es el descriptor de fichero (también se aceptan objetos " +"de fichero que proporcionen un método :meth:`~io.IOBase.fileno`) del archivo " +"para bloquear o desbloquear, y *cmd* es uno de los siguientes valores:" #: ../Doc/library/fcntl.rst:158 msgid ":const:`LOCK_UN` -- unlock" @@ -335,13 +337,13 @@ msgid "" "for writing." msgstr "" "Cuando *cmd* es :const:`LOCK_SH` o :const:`LOCK_EX`, también se puede usar " -"OR bit a bit con :const:`LOCK_NB` para evitar el bloqueo en la adquisición " -"de bloqueos. Si se usa :const:`LOCK_NB` y no se puede adquirir el bloqueo, " -"se lanzará un :const:`LOCK_NB` y la excepción tendrá un atributo *errno* " -"establecido a :const:`EACCES` o :const:`EAGAIN` (según el sistema operativo; " -"para la portabilidad, compruebe ambos valores). En al menos algunos " -"sistemas, :const:`LOCK_EX` solo se puede usar si el descriptor de fichero se " -"refiere a un archivo abierto para escritura." +"operadores OR bit a bit con :const:`LOCK_NB` para evitar el bloqueo en la " +"adquisición de bloqueos. Si se usa :const:`LOCK_NB`, el bloqueo no puede ser " +"adquirido, se lanzará la excepción :exc:`OSError` y la excepción tendrá un " +"atributo *errno* establecido a :const:`EACCES` o :const:`EAGAIN` " +"(dependiendo del sistema operativo; por portabilidad, compruebe ambos " +"valores). En al menos algunos sistemas, :const:`LOCK_EX` solo se puede usar " +"si el descriptor de fichero se refiere a un archivo abierto para escritura." #: ../Doc/library/fcntl.rst:171 msgid "" @@ -349,25 +351,22 @@ msgid "" "the lock starts, relative to *whence*, and *whence* is as with :func:`io." "IOBase.seek`, specifically:" msgstr "" -"*len* es el número de bytes a bloquear, *start* es el byte de \"offset\" en " -"el cual comienza el bloqueo, relativo a *whence*, y *whence* es como con :" -"func:`io.IOBase.seek`, específicamente:" +"*len* es el número de bytes a bloquear, *start* es el desplazamiento de " +"bytes en el que comienza el bloqueo, relativo a *whence*, y *whence* es como " +"con :func:`io.IOBase.seek`, específicamente:" #: ../Doc/library/fcntl.rst:175 -#, fuzzy msgid "``0`` -- relative to the start of the file (:const:`os.SEEK_SET`)" -msgstr ":const:`0` -- relativo al comienzo del archivo (:data:`os.SEEK_SET`)" +msgstr "``0`` -- relativo al inicio del archivo (:const:`os.SEEK_SET`)" #: ../Doc/library/fcntl.rst:176 -#, fuzzy msgid "``1`` -- relative to the current buffer position (:const:`os.SEEK_CUR`)" msgstr "" -":const:`1` -- relativa a la posición actual del búfer (:data:`os.SEEK_CUR`)" +"``1`` -- relativo a la posición actual del buffer (:const:`os.SEEK_CUR`)" #: ../Doc/library/fcntl.rst:177 -#, fuzzy msgid "``2`` -- relative to the end of the file (:const:`os.SEEK_END`)" -msgstr ":const:`2` -- relativo al final del archivo (:data:`os.SEEK_END`)" +msgstr "``2`` -- relativo al final del archivo (:const:`os.SEEK_END`)" #: ../Doc/library/fcntl.rst:179 msgid "" @@ -384,8 +383,8 @@ msgid "" "Raises an :ref:`auditing event ` ``fcntl.lockf`` with arguments " "``fd``, ``cmd``, ``len``, ``start``, ``whence``." msgstr "" -"Lanza un :ref:`auditing event ` ``fcntl.lockf`` con argumentos " -"``fd``, ``cmd``, ``len``, ``start``, ``whence``." +"Lanza un :ref:`evento de auditoria ` ``fcntl.lockf`` con " +"argumentos ``fd``, ``cmd``, ``len``, ``start``, ``whence``." #: ../Doc/library/fcntl.rst:185 msgid "Examples (all on a SVR4 compliant system)::" @@ -398,35 +397,34 @@ msgid "" "The structure lay-out for the *lockdata* variable is system dependent --- " "therefore using the :func:`flock` call may be better." msgstr "" -"Tenga en cuenta que en el primer ejemplo, la variable de valor de retorno " +"Tenga en cuenta que en el primer ejemplo, el valor de la variable retornada " "*rv* contendrá un valor entero; en el segundo ejemplo contendrá un objeto :" -"class:`bytes`. El diseño de la estructura para la variable *lockdata* " -"depende del sistema --- por lo tanto, usar la llamada :func:`flock` puede " -"ser mejor." +"class:`bytes`. La estructura para la variable *lockdata* depende del sistema " +"--- por lo tanto, usar la llamada :func:`flock` puede ser mejor." #: ../Doc/library/fcntl.rst:206 msgid "Module :mod:`os`" msgstr "Módulo :mod:`os`" #: ../Doc/library/fcntl.rst:204 -#, fuzzy msgid "" "If the locking flags :const:`~os.O_SHLOCK` and :const:`~os.O_EXLOCK` are " "present in the :mod:`os` module (on BSD only), the :func:`os.open` function " "provides an alternative to the :func:`lockf` and :func:`flock` functions." msgstr "" -"Si los flags de bloqueo :data:`~os.O_SHLOCK` y :data:`~os.O_EXLOCK` están " -"presentes en el módulo :mod:`os` (sólo en BSD), la función :func:`os.open` " -"proporciona una alternativa a las funciones :func:`lockf` y :func:`flock`." +"Si los indicadores de bloqueo :const:`~os.O_SHLOCK` y :const:`~os.O_EXLOCK` " +"están presentes en el módulo :mod:`os` (sólo en BSD), la función :func:`os." +"open` proporciona una alternativa a las funciones :func:`lockf` y :func:" +"`flock`." #: ../Doc/library/fcntl.rst:10 msgid "UNIX" -msgstr "" +msgstr "UNIX" #: ../Doc/library/fcntl.rst:10 msgid "file control" -msgstr "" +msgstr "file control" #: ../Doc/library/fcntl.rst:10 msgid "I/O control" -msgstr "" +msgstr "I/O control" diff --git a/library/filecmp.po b/library/filecmp.po index 1390199a6b..61873a6614 100644 --- a/library/filecmp.po +++ b/library/filecmp.po @@ -8,18 +8,19 @@ # msgid "" msgstr "" -"Project-Id-Version: Traduccion-filecmp\n" +"Project-Id-Version: Traduccion-filecmp\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2020-09-27 12:59-0400\n" -"Last-Translator: Enrique Giménez \n" -"Language: es_PY\n" +"PO-Revision-Date: 2023-11-06 22:09+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: Enrique Giménez\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_PY\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.4\n" #: ../Doc/library/filecmp.rst:2 msgid ":mod:`filecmp` --- File and Directory Comparisons" @@ -59,7 +60,7 @@ msgid "" msgstr "" "Si *shallow* es verdadero y las firmas :func:`os.stat` (tipo de fichero, " "tamaño, y tiempo de modificación) de los dos ficheros son idénticas, los " -"ficheros se consideran iguales" +"ficheros se consideran iguales." #: ../Doc/library/filecmp.rst:29 msgid "" @@ -145,7 +146,6 @@ msgid "The :class:`dircmp` class" msgstr "La clase :class:`dircmp`" #: ../Doc/library/filecmp.rst:75 -#, fuzzy msgid "" "Construct a new directory comparison object, to compare the directories *a* " "and *b*. *ignore* is a list of names to ignore, and defaults to :const:" @@ -154,7 +154,7 @@ msgid "" msgstr "" "Construye un nuevo objeto de comparación de directorio, para comparar los " "directorios *a* y *b*. *ignore* es una lista de nombres a ignorar, y " -"predetermina a :attr:`filecmp.DEFAULT_IGNORES`. *hide* es una lista de " +"predetermina a :const:`filecmp.DEFAULT_IGNORES`. *hide* es una lista de " "nombres a ocultar, y predetermina a ``[os.curdir, os.pardir]``." #: ../Doc/library/filecmp.rst:80 @@ -198,13 +198,12 @@ msgstr "" "árboles de directorio que están siendo comparados." #: ../Doc/library/filecmp.rst:103 -#, fuzzy msgid "" "Note that via :meth:`~object.__getattr__` hooks, all attributes are computed " "lazily, so there is no speed penalty if only those attributes which are " "lightweight to compute are used." msgstr "" -"Note que vía los hooks :meth:`__getattr__`, todos los atributos son " +"Note que vía los hooks :meth:`~object.__getattr__`, todos los atributos son " "perezosamente computados, así que no hay penalización de velocidad si sólo " "esos atributos que son ligeros de computar son utilizados." diff --git a/library/fractions.po b/library/fractions.po index fc8fb33baf..43f3ad0b02 100644 --- a/library/fractions.po +++ b/library/fractions.po @@ -13,12 +13,12 @@ msgstr "" "POT-Creation-Date: 2023-10-12 19:43+0200\n" "PO-Revision-Date: 2023-02-20 10:36-0300\n" "Last-Translator: Cristián Maureira-Fredes \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.13.0\n" #: ../Doc/library/fractions.rst:2 @@ -45,7 +45,6 @@ msgstr "" "número racional, o desde una cadena de caracteres." #: ../Doc/library/fractions.rst:26 -#, fuzzy msgid "" "The first version requires that *numerator* and *denominator* are instances " "of :class:`numbers.Rational` and returns a new :class:`Fraction` instance " @@ -62,17 +61,17 @@ msgid "" "below.) The last version of the constructor expects a string or unicode " "instance. The usual form for this instance is::" msgstr "" -"La primera versión necesita que *numerator* y *denominator* sean instancias " +"La primera versión requiere que *numerator* y *denominator* sean instancias " "de :class:`numbers.Rational` y retorna una nueva instancia de :class:" -"`Fraction` con valor ``numerator/denominator``. Si *denominator* es :const:" -"`0`, esto arrojará un error :exc:`ZeroDivisionError`. La segunda versión " -"necesita que *other_fraction* sea una instancia de :class:`numbers.Rational` " -"y retorna una instancia :class:`Fraction` con el mismo valor. Las restantes " -"dos versiones aceptan igualmente instancias :class:`float` o :class:`decimal." -"Decimal` y retornan una instancia :class:`Fraction` con exactamente el mismo " -"valor. Nota que debido a los problemas usuales con la representación binaria " -"en punto flotante (ver :ref:`tut-fp-issues`), el argumento de " -"``Fraction(1.1)`` no es exactamente igual a 11/10, por lo que " +"`Fraction` con valor ``numerator/denominator``. Si *denominator* es ``0``, " +"esto arrojará un error :exc:`ZeroDivisionError`. La segunda versión necesita " +"que *other_fraction* sea una instancia de :class:`numbers.Rational` y " +"retorna una instancia de :class:`Fraction` con el mismo valor. Las " +"siguientes dos versiones aceptan igualmente instancias :class:`float` o :" +"class:`decimal.Decimal` y retornan una instancia :class:`Fraction` con " +"exactamente el mismo valor. Nota que debido a los problemas usuales con la " +"representación binaria en punto flotante (ver :ref:`tut-fp-issues`), el " +"argumento de ``Fraction(1.1)`` no es exactamente igual a 11/10, por lo que " "``Fraction(1.1)`` no retorna ``Fraction(11, 10)`` como uno esperaría. (Mira " "la documentación para el método :meth:`limit_denominator` abajo.) La última " "versión del constructor espera una cadena de caracteres o una instancia " @@ -98,7 +97,6 @@ msgstr "" "espacios en blanco iniciales y / o finales. Aquí hay unos ejemplos:" #: ../Doc/library/fractions.rst:78 -#, fuzzy msgid "" "The :class:`Fraction` class inherits from the abstract base class :class:" "`numbers.Rational`, and implements all of the methods and operations from " @@ -108,9 +106,9 @@ msgid "" msgstr "" "La clase :class:`Fraction` hereda de la clase base abstracta :class:`numbers." "Rational`, e implementa todos los métodos y operaciones de esa clase. Las " -"instancias :class:`Fraction` son *hashable*, y deben ser tratadas como " -"inmutables. Adicionalmente :class:`Fraction` tiene los siguientes métodos y " -"propiedades:" +"instancias :class:`Fraction` son :term:`hashable`, y deben ser tratadas como " +"inmutables. Adicionalmente :class:`Fraction` tiene los siguientes " +"propiedades y métodos:" #: ../Doc/library/fractions.rst:84 msgid "" @@ -150,6 +148,8 @@ msgstr "" msgid "" "Space is allowed around the slash for string inputs: ``Fraction('2 / 3')``." msgstr "" +"Se permite espacio alrededor de la barra para entrada de cadena de " +"caracteres: ``Fraction('2 / 3')``." #: ../Doc/library/fractions.rst:104 msgid "" @@ -157,6 +157,9 @@ msgid "" "presentation types ``\"e\"``, ``\"E\"``, ``\"f\"``, ``\"F\"``, ``\"g\"``, " "``\"G\"`` and ``\"%\"\"``." msgstr "" +":class:`Fraction` instancias ahora apoya formato de estilo flotante, con " +"tipos de presentación ``\"e\"``, ``\"E\"``, ``\"f\"``, ``\"F\"``, ``\"g\"``, " +"``\"G\"`` and ``\"%\"\"``." #: ../Doc/library/fractions.rst:111 msgid "Numerator of the Fraction in lowest term." @@ -167,17 +170,17 @@ msgid "Denominator of the Fraction in lowest term." msgstr "Denominador de la fracción irreducible." #: ../Doc/library/fractions.rst:120 -#, fuzzy msgid "" "Return a tuple of two integers, whose ratio is equal to the original " "Fraction. The ratio is in lowest terms and has a positive denominator." msgstr "" -"Retorna una tupla de dos enteros, cuyo ratio es igual a la fracción y con un " +"Retorna una tupla de dos números enteros, cuyo relación es igual a la " +"fracción original.La relación está en términos más bajos y tiene un " "denominador positivo." #: ../Doc/library/fractions.rst:128 msgid "Return ``True`` if the Fraction is an integer." -msgstr "" +msgstr "Retorna ``True`` si la fracción es un número entero." #: ../Doc/library/fractions.rst:134 msgid "" @@ -268,10 +271,17 @@ msgid "" "`Fraction` object ``x`` follows the rules outlined for the :class:`float` " "type in the :ref:`formatspec` section." msgstr "" +"Provee apoyo para el formato de estilo flotante de instancias :class:" +"`Fraction` a través del método :meth:`str.format`, la función incorporada :" +"func:`format`, o :ref:`Formatted string literals `. Los tipos de " +"presentación ``\"e\"``, ``\"E\"``, ``\"f\"``, ``\"F\"``, ``\"g\"``, " +"``\"G\"`` and ``\"%\"`` son compatibles. Para estos tipos de presentación, " +"el formato para una :class:`Fraction` object ``x`` sigue las reglas " +"descritas para el :class:`float` tipo en la :ref:`formatspec` sección." #: ../Doc/library/fractions.rst:212 msgid "Here are some examples::" -msgstr "" +msgstr "Aquí hay unos ejemplos::" #: ../Doc/library/fractions.rst:228 msgid "Module :mod:`numbers`" diff --git a/library/ftplib.po b/library/ftplib.po index 9d64af972c..7663ad3703 100644 --- a/library/ftplib.po +++ b/library/ftplib.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: 2023-02-28 10:21-0300\n" +"PO-Revision-Date: 2024-10-23 14:09-0300\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.13.0\n" +"X-Generator: Poedit 3.5\n" #: ../Doc/library/ftplib.rst:2 msgid ":mod:`ftplib` --- FTP protocol client" @@ -51,7 +52,6 @@ msgid "The default encoding is UTF-8, following :rfc:`2640`." msgstr "La codificación predeterminada es UTF-8, siguiendo :rfc:`2640`." #: ../Doc/includes/wasm-notavail.rst:3 -#, fuzzy msgid ":ref:`Availability `: not Emscripten, not WASI." msgstr ":ref:`Disponibilidad `: ni Emscripten, ni WASI." @@ -144,18 +144,16 @@ msgstr "" "Por favor, lee :ref:`ssl-security` para conocer las mejores prácticas." #: ../Doc/library/ftplib.rst:105 -#, fuzzy msgid "" "The class now supports hostname check with :attr:`ssl.SSLContext." "check_hostname` and *Server Name Indication* (see :const:`ssl.HAS_SNI`)." msgstr "" -"La clase ahora admite el chequeo del nombre de *host* con :attr:`ssl." -"SSLContext.check_hostname` y *Server Name Indication* (véase :data:`ssl." -"HAS_SNI`)." +"La clase ahora admite el chequeo del nombre con :attr:`ssl.SSLContext." +"check_hostname` y *Server Name Indication* (véase :const:`ssl.HAS_SNI`)." #: ../Doc/library/ftplib.rst:116 msgid "The deprecated *keyfile* and *certfile* parameters have been removed." -msgstr "" +msgstr "Se han eliminado los parámetros obsoletos *keyfile* y *certfile*." #: ../Doc/library/ftplib.rst:119 msgid "Here's a sample session using the :class:`FTP_TLS` class::" @@ -630,10 +628,9 @@ msgstr "" "objetos adicionales:" #: ../Doc/library/ftplib.rst:434 -#, fuzzy msgid "The SSL version to use (defaults to :data:`ssl.PROTOCOL_SSLv23`)." msgstr "" -"La versión SSL para usar (toma como predeterminado :attr:`ssl." +"La versión SSL para usar (toma como predeterminado :data:`ssl." "PROTOCOL_SSLv23`)." #: ../Doc/library/ftplib.rst:438 @@ -645,14 +642,12 @@ msgstr "" "qué esté especificado en el atributo :attr:`ssl_version`." #: ../Doc/library/ftplib.rst:441 -#, fuzzy msgid "" "The method now supports hostname check with :attr:`ssl.SSLContext." "check_hostname` and *Server Name Indication* (see :const:`ssl.HAS_SNI`)." msgstr "" -"El método ahora admite el chequeo del nombre de *host* con :attr:`ssl." -"SSLContext.check_hostname` y *Server Name Indication* (véase :data:`ssl." -"HAS_SNI`)." +"El método ahora admite el chequeo del nombre con :attr:`ssl.SSLContext." +"check_hostname` y *Server Name Indication* (véase :const:`ssl.HAS_SNI`)." #: ../Doc/library/ftplib.rst:448 msgid "" @@ -674,15 +669,15 @@ msgstr "Configura la conexión de datos de tipo texto común." #: ../Doc/library/ftplib.rst:9 msgid "FTP" -msgstr "" +msgstr "FTP" #: ../Doc/library/ftplib.rst:9 msgid "protocol" -msgstr "" +msgstr "protocolo" #: ../Doc/library/ftplib.rst:9 msgid "ftplib (standard module)" -msgstr "" +msgstr "ftplib (módulo estándar)" #~ msgid "" #~ "*keyfile* and *certfile* are a legacy alternative to *context* -- they " diff --git a/library/graphlib.po b/library/graphlib.po index dda1319ee7..0574a9da4a 100644 --- a/library/graphlib.po +++ b/library/graphlib.po @@ -9,13 +9,15 @@ msgstr "" "Project-Id-Version: Python en Español 3.9\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" +"PO-Revision-Date: 2023-11-06 22:55+0100\n" +"Last-Translator: Marcos Medrano \n" +"Language-Team: \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.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/graphlib.rst:2 msgid ":mod:`graphlib` --- Functionality to operate with graph-like structures" @@ -27,12 +29,12 @@ msgid "**Source code:** :source:`Lib/graphlib.py`" msgstr "**Código fuente:** :source:`Lib/graphlib.py`" #: ../Doc/library/graphlib.rst:20 -#, fuzzy msgid "" "Provides functionality to topologically sort a graph of :term:`hashable` " "nodes." msgstr "" -"Provee una funcionalidad para ordenar topológicamente un grafo de nodos hash." +"Provee una funcionalidad para ordenar topológicamente un grafo de nodos :" +"term:`hashable`." #: ../Doc/library/graphlib.rst:22 msgid "" @@ -112,7 +114,7 @@ msgid "" msgstr "" "En caso de que sólo se requiera una ordenación inmediata de los nodos del " "grafo y no haya paralelismo, se puede utilizar directamente el método de " -"conveniencia :meth:`TopologicalSorter.static_order`" +"conveniencia :meth:`TopologicalSorter.static_order`." #: ../Doc/library/graphlib.rst:60 msgid "" @@ -123,13 +125,12 @@ msgstr "" "de los nodos a medida que estén listos. Para la instancia::" #: ../Doc/library/graphlib.rst:87 -#, fuzzy msgid "" "Add a new node and its predecessors to the graph. Both the *node* and all " "elements in *predecessors* must be :term:`hashable`." msgstr "" "Añade un nuevo nodo y sus predecesores al grafo. Tanto el *node* como todos " -"los elementos de *predecessors* deben ser hashables." +"los elementos de *predecessors* deben ser :term:`hashable`." #: ../Doc/library/graphlib.rst:90 msgid "" @@ -191,13 +192,12 @@ msgstr "" "meth:`TopologicalSorter.get_ready`." #: ../Doc/library/graphlib.rst:118 -#, fuzzy msgid "" "The :meth:`~object.__bool__` method of this class defers to this function, " "so instead of::" msgstr "" -"El método :meth:`~TopologicalSorter.__bool__` de esta clase defiere a esta " -"función, por lo que en lugar de::" +"El método :meth:`~object.__bool__` de esta clase defiere a esta función, por " +"lo que en lugar de::" #: ../Doc/library/graphlib.rst:124 msgid "it is possible to simply do::" @@ -306,7 +306,6 @@ msgstr "" "incluirá en la excepción." #: ../Doc/library/graphlib.rst:207 -#, fuzzy msgid "" "The detected cycle can be accessed via the second element in the :attr:" "`~BaseException.args` attribute of the exception instance and consists in a " @@ -315,7 +314,7 @@ msgid "" "and the last node will be the same, to make it clear that it is cyclic." msgstr "" "Se puede acceder al ciclo detectado a través del segundo elemento del " -"atributo :attr:`~CycleError.args` de la instancia de la excepción y consiste " -"en una lista de nodos, tal que cada nodo este, en el grafo, un predecesor " -"inmediato del siguiente nodo en la lista. En la lista reportada, el primer y " -"el último nodo serán el mismo, para dejar claro que es cíclico." +"atributo :attr:`~BaseException.args` de la instancia de la excepción y " +"consiste en una lista de nodos, tal que cada nodo este, en el grafo, un " +"predecesor inmediato del siguiente nodo en la lista. En la lista reportada, " +"el primer y el último nodo serán el mismo, para dejar claro que es cíclico." diff --git a/library/hmac.po b/library/hmac.po index 37c4c7c6fe..ac6c69450a 100644 --- a/library/hmac.po +++ b/library/hmac.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-25 19:47+0200\n" -"PO-Revision-Date: 2021-08-07 21:15+0200\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-06 22:07+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.10.3\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/hmac.rst:2 msgid ":mod:`hmac` --- Keyed-Hashing for Message Authentication" @@ -125,7 +126,6 @@ msgstr "" "no ASCII, incluyendo *bytes* NUL." #: ../Doc/library/hmac.rst:72 -#, fuzzy msgid "" "When comparing the output of :meth:`digest` to an externally supplied digest " "during a verification routine, it is recommended to use the :func:" @@ -149,7 +149,6 @@ msgstr "" "otros entornos no binarios." #: ../Doc/library/hmac.rst:86 -#, fuzzy msgid "" "When comparing the output of :meth:`hexdigest` to an externally supplied " "digest during a verification routine, it is recommended to use the :func:" diff --git a/library/html.entities.po b/library/html.entities.po index 2d20fb7933..2d075a02d1 100644 --- a/library/html.entities.po +++ b/library/html.entities.po @@ -11,13 +11,15 @@ 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: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2023-11-06 22:27+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\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.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/html.entities.rst:2 msgid ":mod:`html.entities` --- Definitions of HTML general entities" @@ -33,7 +35,7 @@ msgid "" "`name2codepoint`, :data:`codepoint2name`, and :data:`entitydefs`." msgstr "" "Este módulo define cuatro diccionarios :data:`html5`, :data:" -"`name2codepoint`, :data:`codepoint2name`, y :data:`entitydefs`" +"`name2codepoint`, :data:`codepoint2name`, y :data:`entitydefs`." #: ../Doc/library/html.entities.rst:19 msgid "" @@ -60,28 +62,25 @@ msgstr "" "reemplazo en ISO Latin-1." #: ../Doc/library/html.entities.rst:37 -#, fuzzy msgid "A dictionary that maps HTML4 entity names to the Unicode code points." msgstr "" -"Un diccionario que asigna nombres de entidades HTML a los puntos de código " +"Un diccionario que asigna nombres de entidades HTML4 a los puntos de código " "Unicode." #: ../Doc/library/html.entities.rst:42 -#, fuzzy msgid "A dictionary that maps Unicode code points to HTML4 entity names." msgstr "" "Un diccionario que asigna puntos de código Unicode a nombres de entidades " -"HTML." +"HTML4." #: ../Doc/library/html.entities.rst:46 msgid "Footnotes" msgstr "Notas al pie" #: ../Doc/library/html.entities.rst:47 -#, fuzzy msgid "" "See https://html.spec.whatwg.org/multipage/named-characters.html#named-" "character-references" msgstr "" -"Vea https://html.spec.whatwg.org/multipage/syntax.html#named-character-" -"references" +"Vea https://html.spec.whatwg.org/multipage/named-characters.html#named-" +"character-references" diff --git a/library/http.po b/library/http.po index 4cf05625f0..ad591e7005 100644 --- a/library/http.po +++ b/library/http.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: 2022-10-29 10:15-0500\n" +"PO-Revision-Date: 2024-10-31 12:48-0600\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.5\n" #: ../Doc/library/http.rst:2 msgid ":mod:`http` --- HTTP modules" @@ -884,74 +885,69 @@ msgstr "" "TOO_EARLY``." #: ../Doc/library/http.rst:141 -#, fuzzy msgid "HTTP status category" -msgstr "Códigos de estado HTTP" +msgstr "Categoría de estado HTTP" #: ../Doc/library/http.rst:145 msgid "" "The enum values have several properties to indicate the HTTP status category:" msgstr "" +"Los valores enum tienen varias propiedades para indicar la categoría de " +"estado HTTP:" #: ../Doc/library/http.rst:148 msgid "Property" -msgstr "" +msgstr "Propiedad" #: ../Doc/library/http.rst:148 msgid "Indicates that" -msgstr "" +msgstr "Indica que" #: ../Doc/library/http.rst:150 -#, fuzzy msgid "``is_informational``" -msgstr "``NON_AUTHORITATIVE_INFORMATION``" +msgstr "``is_informational``" #: ../Doc/library/http.rst:150 msgid "``100 <= status <= 199``" -msgstr "" +msgstr "``100 <= status <= 199``" #: ../Doc/library/http.rst:150 ../Doc/library/http.rst:151 #: ../Doc/library/http.rst:152 ../Doc/library/http.rst:153 #: ../Doc/library/http.rst:154 -#, fuzzy msgid "HTTP/1.1 :rfc:`7231`, Section 6" -msgstr "HTTP/1.1 :rfc:`7231`, Sección 6.6.6" +msgstr "HTTP/1.1 :rfc:`7231`, Sección 6" #: ../Doc/library/http.rst:151 -#, fuzzy msgid "``is_success``" -msgstr "``IM_USED``" +msgstr "``is_success``" #: ../Doc/library/http.rst:151 msgid "``200 <= status <= 299``" -msgstr "" +msgstr "``200 <= status <= 299``" #: ../Doc/library/http.rst:152 -#, fuzzy msgid "``is_redirection``" -msgstr "``TEMPORARY_REDIRECT``" +msgstr "``is_redirection``" #: ../Doc/library/http.rst:152 msgid "``300 <= status <= 399``" -msgstr "" +msgstr "``300 <= status <= 399``" #: ../Doc/library/http.rst:153 -#, fuzzy msgid "``is_client_error``" -msgstr "``INSUFFICIENT_STORAGE``" +msgstr "``is_client_error``" #: ../Doc/library/http.rst:153 msgid "``400 <= status <= 499``" -msgstr "" +msgstr "``400 <= status <= 499``" #: ../Doc/library/http.rst:154 -#, fuzzy msgid "``is_server_error``" -msgstr "``INTERNAL_SERVER_ERROR``" +msgstr "``is_server_error``" #: ../Doc/library/http.rst:154 msgid "``500 <= status <= 599``" -msgstr "" +msgstr "``500 <= status <= 599``" #: ../Doc/library/http.rst:169 msgid "" @@ -1051,13 +1047,12 @@ msgstr "HTTP/1.1 :rfc:`5789`" #: ../Doc/library/http.rst:9 msgid "HTTP" -msgstr "" +msgstr "HTTP" #: ../Doc/library/http.rst:9 msgid "protocol" -msgstr "" +msgstr "protocol" #: ../Doc/library/http.rst:9 -#, fuzzy msgid "http (standard module)" -msgstr "Códigos de estado HTTP" +msgstr "http (standard module)" diff --git a/library/idle.po b/library/idle.po index a7f918dd31..ebfde9808e 100755 --- a/library/idle.po +++ b/library/idle.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: 2022-10-27 17:00-0500\n" +"PO-Revision-Date: 2024-01-28 22:51-0300\n" "Last-Translator: José Luis Salgado Banda \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.4.2\n" #: ../Doc/library/idle.rst:4 ../Doc/library/idle.rst:10 msgid "IDLE" @@ -1130,7 +1131,6 @@ msgid "Search and Replace" msgstr "Buscar y reemplazar" #: ../Doc/library/idle.rst:480 -#, fuzzy msgid "" "Any selection becomes a search target. However, only selections within a " "line work because searches are only performed within lines with the terminal " @@ -1140,8 +1140,8 @@ msgstr "" "Cualquier selección se convierte en un objetivo de búsqueda. Sin embargo, " "solo funcionan las selecciones dentro de una línea porque las búsquedas solo " "se realizan dentro de las líneas con la nueva línea de terminal eliminada. " -"Si se marca la ``Expresión regular [x]``, el objetivo se interpreta de " -"acuerdo al módulo re de Python." +"Si se marca la ``[x] Expresión regular``, el objetivo se interpreta de " +"acuerdo al módulo `re` de Python." #: ../Doc/library/idle.rst:488 msgid "Completions" @@ -2243,40 +2243,33 @@ msgstr "" "pueden ser portados (consultar :pep:`434`)." #: ../Doc/library/idle.rst:10 -#, fuzzy msgid "Python Editor" -msgstr "Documentación de Python" +msgstr "Python Editor" #: ../Doc/library/idle.rst:10 -#, fuzzy msgid "Integrated Development Environment" -msgstr "IDLE es el entorno de desarrollo integrado de Python." +msgstr "Integrated Development Environment" #: ../Doc/library/idle.rst:70 -#, fuzzy msgid "Module browser" -msgstr "Navegador de módulo" +msgstr "Module browser" #: ../Doc/library/idle.rst:70 -#, fuzzy msgid "Path browser" -msgstr "Navegador de ruta" +msgstr "Path browser" #: ../Doc/library/idle.rst:212 msgid "Run script" -msgstr "" +msgstr "Run script" #: ../Doc/library/idle.rst:279 -#, fuzzy msgid "debugger" -msgstr "Depurador (alternar)" +msgstr "debugger" #: ../Doc/library/idle.rst:279 -#, fuzzy msgid "stack viewer" -msgstr "Visualizador de pila" +msgstr "stack viewer" #: ../Doc/library/idle.rst:355 -#, fuzzy msgid "breakpoints" -msgstr "Establecer breakpoint" +msgstr "breakpoints" diff --git a/library/json.po b/library/json.po index 50f5f2c584..51baddc4c8 100644 --- a/library/json.po +++ b/library/json.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-08-30 21:44+0800\n" -"Last-Translator: Juan Pablo Esparza R. \n" -"Language: es_ES\n" +"PO-Revision-Date: 2023-11-06 21:47+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_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.4\n" #: ../Doc/library/json.rst:2 msgid ":mod:`json` --- JSON encoder and decoder" @@ -247,16 +248,15 @@ msgstr "" "diccionarios se ordenará por llave." #: ../Doc/library/json.rst:194 -#, fuzzy msgid "" "To use a custom :class:`JSONEncoder` subclass (e.g. one that overrides the :" "meth:`~JSONEncoder.default` method to serialize additional types), specify " "it with the *cls* kwarg; otherwise :class:`JSONEncoder` is used." msgstr "" "Para usar una subclase personalizada de :class:`JSONEncoder` (por ejemplo, " -"una que sobre escriba el método :meth:`default` para serializar tipos " -"adicionales), se especifica mediante el argumento por palabra clave *cls*; " -"de lo contrario se usa :class:`JSONEncoder`." +"una que sobreescriba el método :meth:`~JSONEncoder.default` para serializar " +"tipos adicionales), se especifica mediante el argumento por palabra clave " +"*cls*; de lo contrario se usa :class:`JSONEncoder`." #: ../Doc/library/json.rst:198 ../Doc/library/json.rst:277 msgid "" @@ -650,7 +650,6 @@ msgid "Added support for int- and float-derived Enum classes." msgstr "Compatibilidad añadida con las clases Enum derivadas de int y float." #: ../Doc/library/json.rst:424 -#, fuzzy msgid "" "To extend this to recognize other objects, subclass and implement a :meth:" "`~JSONEncoder.default` method with another method that returns a " @@ -658,9 +657,9 @@ msgid "" "superclass implementation (to raise :exc:`TypeError`)." msgstr "" "A fin de extender esto para reconocer otros objetos, implementar una " -"subclase con un método :meth:`default` con otro método que retorna un objeto " -"serializable para ''o'' si es posible, de lo contrario debe llamar a la " -"implementación de superclase (para lanzar :exc:`TypeError`)." +"subclase con un método :meth:`~JSONEncoder.default` con otro método que " +"retorna un objeto serializable para ''o'' si es posible, de lo contrario " +"debe llamar a la implementación de superclase (para lanzar :exc:`TypeError`)." #: ../Doc/library/json.rst:429 msgid "" @@ -721,13 +720,12 @@ msgstr "" "exc:`TypeError`)." #: ../Doc/library/json.rst:485 -#, fuzzy msgid "" "For example, to support arbitrary iterators, you could implement :meth:" "`~JSONEncoder.default` like this::" msgstr "" "Por ejemplo, para admitir iteradores arbitrarios, podría implementar :meth:" -"`default` de esta manera::" +"`~JSONEncoder.default` de esta manera::" #: ../Doc/library/json.rst:501 msgid "" @@ -1036,13 +1034,12 @@ msgstr "" "simple para validar e imprimir objetos JSON." #: ../Doc/library/json.rst:685 -#, fuzzy msgid "" "If the optional ``infile`` and ``outfile`` arguments are not specified, :" "data:`sys.stdin` and :data:`sys.stdout` will be used respectively:" msgstr "" "Si no se especifican los argumentos opcionales ``infile`` y ``outfile``, se " -"utilizarán :attr:`sys.stdin` y :attr:`sys.stdout` respectivamente:" +"utilizarán :data:`sys.stdin` y :data:`sys.stdout` respectivamente:" #: ../Doc/library/json.rst:697 msgid "" @@ -1062,18 +1059,16 @@ msgid "The JSON file to be validated or pretty-printed:" msgstr "El archivo JSON que se va a validar o imprimir con impresión linda:" #: ../Doc/library/json.rst:724 -#, fuzzy msgid "If *infile* is not specified, read from :data:`sys.stdin`." -msgstr "Si no se especifica *infile*, lee :attr:`sys.stdin`." +msgstr "Si no se especifica *infile*, lee :data:`sys.stdin`." #: ../Doc/library/json.rst:728 -#, fuzzy msgid "" "Write the output of the *infile* to the given *outfile*. Otherwise, write it " "to :data:`sys.stdout`." msgstr "" "Escribe la salida de *infile* en el *outfile* dado. De lo contrario, lo " -"escribe en :attr:`sys.stdout`." +"escribe en :data:`sys.stdout`." #: ../Doc/library/json.rst:733 msgid "Sort the output of dictionaries alphabetically by key." diff --git a/library/keyword.po b/library/keyword.po index 158dd5abf3..6bd0cd5081 100644 --- a/library/keyword.po +++ b/library/keyword.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-25 19:47+0200\n" -"PO-Revision-Date: 2021-08-04 21:36+0200\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es_AR\n" +"PO-Revision-Date: 2023-11-06 22:30+0100\n" +"Last-Translator: Marcos Medrano \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.10.3\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/keyword.rst:2 msgid ":mod:`keyword` --- Testing for Python keywords" @@ -30,13 +31,13 @@ msgid "**Source code:** :source:`Lib/keyword.py`" msgstr "**Código fuente:** :source:`Lib/keyword.py`" #: ../Doc/library/keyword.rst:11 -#, fuzzy msgid "" "This module allows a Python program to determine if a string is a :ref:" "`keyword ` or :ref:`soft keyword `." msgstr "" "Este módulo permite a un programa Python determinar si una cadena de " -"caracteres es una :ref:`palabra clave `." +"caracteres es una :ref:`palabra clave ` o :ref:`palabra clave " +"suave `." #: ../Doc/library/keyword.rst:17 msgid "Return ``True`` if *s* is a Python :ref:`keyword `." @@ -54,19 +55,19 @@ msgstr "" "estas se incluirán también." #: ../Doc/library/keyword.rst:29 -#, fuzzy msgid "Return ``True`` if *s* is a Python :ref:`soft keyword `." -msgstr "Retorna ``True`` si *s* es una :ref:`palabra clave ` Python." +msgstr "" +"Retorna ``True`` si *s* es una :ref:`palabra clave suave ` de " +"Python." #: ../Doc/library/keyword.rst:36 -#, fuzzy msgid "" "Sequence containing all the :ref:`soft keywords ` defined for " "the interpreter. If any soft keywords are defined to only be active when " "particular :mod:`__future__` statements are in effect, these will be " "included as well." msgstr "" -"Secuencia que contiene todos las :ref:`palabras clave ` definidos " -"para el intérprete. Si cualquier palabra clave es definida para estar activa " -"sólo cuando las declaraciones particulares :mod:`__future__` están vigentes, " -"estas se incluirán también." +"Secuencia que contiene todos las :ref:`palabras clave suaves ` definidas para el intérprete. Si cualquier palabra clave suave es " +"definida para estar activa sólo cuando las declaraciones particulares :mod:" +"`__future__` están vigentes, estas se incluirán también." diff --git a/library/linecache.po b/library/linecache.po index 0f7f45f154..fecb381492 100644 --- a/library/linecache.po +++ b/library/linecache.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-10-31 23:49+0100\n" +"PO-Revision-Date: 2024-11-08 22:27-0400\n" "Last-Translator: \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.5\n" #: ../Doc/library/linecache.rst:2 msgid ":mod:`linecache` --- Random access to text lines" @@ -122,12 +123,12 @@ msgstr "Ejemplo::" #: ../Doc/library/linecache.rst:31 msgid "module" -msgstr "" +msgstr "module" #: ../Doc/library/linecache.rst:31 msgid "search" -msgstr "" +msgstr "search" #: ../Doc/library/linecache.rst:31 msgid "path" -msgstr "" +msgstr "path" diff --git a/library/logging.po b/library/logging.po index 0cf5d3d4ae..f52a4cc7cd 100644 --- a/library/logging.po +++ b/library/logging.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: 2023-01-16 09:30-0300\n" -"Last-Translator: Francisco Mora \n" -"Language: es\n" +"PO-Revision-Date: 2024-07-24 00:15+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.13.0\n" +"X-Generator: Poedit 3.4.4\n" #: ../Doc/library/logging.rst:2 msgid ":mod:`logging` --- Logging facility for Python" @@ -74,7 +75,6 @@ msgid "The simplest example:" msgstr "El ejemplo simple:" #: ../Doc/library/logging.rst:41 -#, fuzzy msgid "" "The module provides a lot of functionality and flexibility. If you are " "unfamiliar with logging, the best way to get to grips with it is to view the " @@ -82,7 +82,7 @@ msgid "" msgstr "" "El módulo proporciona mucha funcionalidad y flexibilidad. Si no está " "familiarizado con logging, la mejor manera de familiarizarse con él es ver " -"los tutoriales (ver los enlaces a la derecha)." +"los tutoriales (**vea los enlaces arriba a la derecha**)." #: ../Doc/library/logging.rst:45 msgid "" @@ -221,7 +221,7 @@ msgid "" "handlers only to the root logger, and to let propagation take care of the " "rest." msgstr "" -"Si adjunta un controlador a un logger *y* uno o más de sus ancestros, puede " +"Si adjunta un gestor a un logger *y* uno o más de sus ancestros, puede " "emitir el mismo registro varias veces. En general, no debería necesitar " "adjuntar un gestor a más de un logger; si solo lo adjunta al logger " "apropiado que está más arriba en la jerarquía del logger, verá todos los " @@ -355,9 +355,16 @@ msgid "" "might return a set including a logger named ``foo.bar``, but it wouldn't " "include one named ``foo.bar.baz``." msgstr "" +"Retorna un conjunto de loggers que son hijos inmediatos de este logger. Así, " +"por ejemplo, ``logging.getLogger().getChildren()`` podría retornar un " +"conjunto que contenga loggers llamados ``foo`` y ``bar``, pero un logger " +"llamado ``foo.bar`` no estaría incluido en el conjunto. Del mismo modo, " +"``logging.getLogger('foo').getChildren()`` podría retornar un conjunto que " +"incluyera un logger llamado ``foo.bar``, pero no incluiría uno llamado ``foo." +"bar.baz``." #: ../Doc/library/logging.rst:187 -#, fuzzy, python-format +#, python-format msgid "" "Logs a message with level :const:`DEBUG` on this logger. The *msg* is the " "message format string, and the *args* are the arguments which are merged " @@ -371,7 +378,7 @@ msgstr "" "fusionan en *msg* utilizando el operador de formato de cadena. (Tenga en " "cuenta que esto significa que puede usar palabras clave en la cadena de " "formato, junto con un solo argumento de diccionario). No se realiza ninguna " -"operación de %formateo en *msg* cuando no se suministran *args*." +"operación de formateo mediante % en *msg* cuando no se proporcionan *args*." #: ../Doc/library/logging.rst:193 msgid "" @@ -473,7 +480,6 @@ msgid "would print something like" msgstr "imprimiría algo como" #: ../Doc/library/logging.rst:247 -#, fuzzy msgid "" "The keys in the dictionary passed in *extra* should not clash with the keys " "used by the logging system. (See the section on :ref:`logrecord-attributes` " @@ -481,8 +487,8 @@ msgid "" msgstr "" "Las claves en el diccionario pasado *extra* no deben entrar en conflicto con " "las claves utilizadas por el sistema de registro. (Ver la documentación de :" -"class:`Formatter` para obtener más información sobre qué claves utiliza el " -"sistema de registro)." +"ref:`logrecord-attributes` para obtener más información sobre qué claves " +"utiliza el sistema de registro)." #: ../Doc/library/logging.rst:251 msgid "" @@ -525,9 +531,9 @@ msgid "" "into account the relevant :attr:`Logger.propagate` attributes), the message " "will be sent to the handler set on :attr:`lastResort`." msgstr "" -"Si no hay ningún controlador asociado a este registrador (o cualquiera de " -"sus antepasados, teniendo en cuenta los atributos relevantes :attr:`Logger." -"propagate`), el mensaje se enviará al controlador establecido en :attr:" +"Si no hay ningún gestor asociado a este registrador (o cualquiera de sus " +"antepasados, teniendo en cuenta los atributos relevantes :attr:`Logger." +"propagate`), el mensaje se enviará al gestor establecido en :attr:" "`lastResort`." #: ../Doc/library/logging.rst:269 ../Doc/library/logging.rst:1175 @@ -691,7 +697,7 @@ msgid "" "set to false is found - that will be the last logger which is checked for " "the existence of handlers." msgstr "" -"Comprueba si este logger tiene algún controlador configurado. Esto se hace " +"Comprueba si este logger tiene algún gestor configurado. Esto se hace " "buscando gestores en este logger y sus padres en la jerarquía del logger. " "Retorna ``True`` si se encontró un gestor, de lo contrario, ``False`` . El " "método deja de buscar en la jerarquía cada vez que se encuentra un logger " @@ -732,7 +738,7 @@ msgstr "Valor numérico" #: ../Doc/library/logging.rst:401 msgid "What it means / When to use it" -msgstr "" +msgstr "Qué significa / Cuándo utilizarlo" #: ../Doc/library/logging.rst:403 msgid "0" @@ -744,6 +750,10 @@ msgid "" "determine the effective level. If that still resolves to :const:`!NOTSET`, " "then all events are logged. When set on a handler, all events are handled." msgstr "" +"Cuando se establece en un logger, indica que los loggers antecesores deben " +"ser consultados para determinar el nivel efectivo. Si el resultado sigue " +"siendo :const:`!NOTSET`, se registrarán todos los eventos. Cuando se " +"establece en un gestor, todos los eventos son gestionados." #: ../Doc/library/logging.rst:411 msgid "10" @@ -754,6 +764,8 @@ msgid "" "Detailed information, typically only of interest to a developer trying to " "diagnose a problem." msgstr "" +"Información detallada, normalmente sólo de interés para un desarrollador que " +"intenta diagnosticar un problema." #: ../Doc/library/logging.rst:415 msgid "20" @@ -761,7 +773,7 @@ msgstr "20" #: ../Doc/library/logging.rst:415 msgid "Confirmation that things are working as expected." -msgstr "" +msgstr "Confirmación de que todo funciona según lo previsto." #: ../Doc/library/logging.rst:418 msgid "30" @@ -773,6 +785,9 @@ msgid "" "occur in the near future (e.g. 'disk space low'). The software is still " "working as expected." msgstr "" +"Una indicación de que ha ocurrido algo inesperado o de que podría producirse " +"un problema en un futuro próximo (por ejemplo, \"espacio en disco bajo\"). " +"El software sigue funcionando como se esperaba." #: ../Doc/library/logging.rst:425 msgid "40" @@ -783,6 +798,8 @@ msgid "" "Due to a more serious problem, the software has not been able to perform " "some function." msgstr "" +"Debido a un problema más grave, el software no ha podido realizar alguna " +"función." #: ../Doc/library/logging.rst:429 msgid "50" @@ -793,13 +810,14 @@ msgid "" "A serious error, indicating that the program itself may be unable to " "continue running." msgstr "" +"Un error grave, que indica que es posible que el propio programa no pueda " +"seguir ejecutándose." #: ../Doc/library/logging.rst:438 msgid "Handler Objects" msgstr "Gestor de objetos" #: ../Doc/library/logging.rst:440 -#, fuzzy msgid "" "Handlers have the following attributes and methods. Note that :class:" "`Handler` is never instantiated directly; this class acts as a base for more " @@ -807,8 +825,8 @@ msgid "" "to call :meth:`Handler.__init__`." msgstr "" "Los gestores tienen los siguientes atributos y métodos. Tenga en cuenta que :" -"class:`Handler` nunca se instancia directamente; Esta clase actúa como base " -"para subclases más útiles. Sin embargo, el método :meth:`__init__` en las " +"class:`Handler` nunca se instancia directamente; esta clase actúa como base " +"para subclases más útiles. Sin embargo, el método :meth:`!__init__` en las " "subclases debe llamar a :meth:`Handler.__init__`." #: ../Doc/library/logging.rst:449 @@ -845,9 +863,9 @@ msgid "" "level is set to :const:`NOTSET` (which causes all messages to be processed)." msgstr "" "Establece el umbral para este gestor en *level*. Los mensajes de registro " -"que son menos severos que *level* serán ignorados. Cuando se crea un " -"controlador, el nivel se establece en :const:`NOTSET` (lo que hace que se " -"procesen todos los mensajes)." +"que son menos severos que *level* serán ignorados. Cuando se crea un gestor, " +"el nivel se establece en :const:`NOTSET` (lo que hace que se procesen todos " +"los mensajes)." #: ../Doc/library/logging.rst:479 msgid "" @@ -859,7 +877,7 @@ msgstr "" #: ../Doc/library/logging.rst:487 msgid "Sets the :class:`Formatter` for this handler to *fmt*." -msgstr "Establece :class:`Formatter` para este controlador en *fmt*." +msgstr "Establece :class:`Formatter` para este gestor en *fmt*." #: ../Doc/library/logging.rst:492 msgid "Adds the specified filter *filter* to this handler." @@ -880,8 +898,8 @@ msgstr "" "Aplique los filtros de este gestor al registro y retorna ``True`` si se va a " "procesar el registro. Los filtros se consultan a su vez, hasta que uno de " "ellos retorna un valor falso. Si ninguno de ellos retorna un valor falso, se " -"emitirá el registro. Si uno retorna un valor falso, el controlador no " -"emitirá el registro." +"emitirá el registro. Si uno retorna un valor falso, el gestor no emitirá el " +"registro." #: ../Doc/library/logging.rst:511 msgid "" @@ -899,7 +917,7 @@ msgid "" "from overridden :meth:`close` methods." msgstr "" "Poner en orden los recursos utilizados por el gestor. Esta versión no genera " -"salida, pero elimina el controlador de una lista interna de gestores que se " +"salida, pero elimina el gestor de una lista interna de gestores que se " "cierra cuando se llama a :func:`shutdown`. Las subclases deben garantizar " "que esto se llame desde métodos :meth:`close` sobreescritos." @@ -910,7 +928,7 @@ msgid "" "with acquisition/release of the I/O thread lock." msgstr "" "Emite condicionalmente el registro especifico, según los filtros que se " -"hayan agregado al controlador. Envuelve la actual emisión del registro con " +"hayan agregado al gestor. Envuelve la actual emisión del registro con " "*acquisition/release* del hilo de bloqueo E/S." #: ../Doc/library/logging.rst:532 @@ -978,7 +996,6 @@ msgstr "" "configuran dichos gestores." #: ../Doc/library/logging.rst:564 -#, fuzzy msgid "" "Many logging APIs lock the module-level lock. If such an API is called from " "this method, it could cause a deadlock if a configuration call is made on " @@ -1011,6 +1028,8 @@ msgid "" "Responsible for converting a :class:`LogRecord` to an output string to be " "interpreted by a human or external system." msgstr "" +"Responsable de convertir un :class:`LogRecord` en una cadena de salida para " +"ser interpretada por un humano o un sistema externo." #: ../Doc/library/logging.rst msgid "Parameters" @@ -1024,6 +1043,10 @@ msgid "" "`logrecord-attributes`. If not specified, ``'%(message)s'`` is used, which " "is just the logged message." msgstr "" +"Una cadena de formato en el *estilo* dado para la salida registrada en su " +"conjunto. Las posibles claves de mapeo se extraen de :ref:`logrecord-" +"attributes` del objeto :class:`LogRecord`. Si no se especifica, se utiliza " +"``'%(message)s'``, que es sólo el mensaje registrado." #: ../Doc/library/logging.rst:593 msgid "" @@ -1031,9 +1054,12 @@ msgid "" "output. If not specified, the default described in :meth:`formatTime` is " "used." msgstr "" +"Una cadena de formato en el *estilo* dado para la parte de fecha/hora de la " +"salida registrada. Si no se especifica, se utiliza el valor predeterminado " +"descrito en :meth:`formatTime`." #: ../Doc/library/logging.rst:598 -#, fuzzy, python-format +#, python-format msgid "" "Can be one of ``'%'``, ``'{'`` or ``'$'`` and determines how the format " "string will be merged with its data: using one of :ref:`old-string-" @@ -1043,27 +1069,28 @@ msgid "" "logging methods. However, there are :ref:`other ways ` to " "use ``{``- and ``$``-formatting for log messages." msgstr "" -"El parámetro *style* puede ser uno de '%', '{'' o '$' y determina cómo se " -"fusionará la cadena de formato con sus datos: usando uno de %-formatting, :" -"meth:`str.format` o :class:`string.Template`. Esto solo aplica al formato de " -"cadenas de caracteres *fmt* (e.j. ``'%(message)s'`` o ``{message}``), no al " -"mensaje pasado actualmente al ``Logger.debug`` etc; ver :ref:`formatting-" -"styles` para más información sobre usar {- y formateado-$ para mensajes de " -"log." +"El parámetro *style* puede ser ``'%'``, ``'{'`` o ``'$'`` y determina cómo " +"se fusionará la cadena de formato con sus datos: usando :ref:`old-string-" +"formatting` (``%``), :meth:`str.format` (``{``) o :class:`string.Template` " +"(``$``). Esto solo aplica al formato de cadenas de caracteres *fmt* y " +"*datefmt* (e.j. ``'%(message)s'`` o ``'{message}'``), no al mensaje de " +"registro real pasado a los métodos de logging. Sin embargo, hay :ref:`other " +"ways ` para usar ``{`` y ``$`` en el formateo de mensajes " +"de registro." #: ../Doc/library/logging.rst:608 -#, fuzzy, python-format +#, python-format msgid "" "If ``True`` (the default), incorrect or mismatched *fmt* and *style* will " "raise a :exc:`ValueError`; for example, ``logging.Formatter('%(asctime)s - " "%(message)s', style='{')``." msgstr "" -"Se agregó el parámetro *validate*. Si el estilo es incorrecto o no " -"coincidente, *fmt* lanzará un ``ValueError``. Por ejemplo: ``logging." -"Formatter('%(asctime)s - %(message)s', style='{')``." +"Si el parámetro *validate* es ``True`` (lo es por defecto), es incorrecto o " +"no coincidente, *fmt* y *style* lanzarán un :exc:`ValueError`; Por ejemplo, " +"``logging.Formatter('%(asctime)s - %(message)s', style='{')``." #: ../Doc/library/logging.rst:613 -#, fuzzy, python-format +#, python-format msgid "" "A dictionary with default values to use in custom fields. For example, " "``logging.Formatter('%(ip)s %(message)s', defaults={\"ip\": None})``" @@ -1073,22 +1100,18 @@ msgstr "" "%(message)s', defaults={\"ip\": None})``" #: ../Doc/library/logging.rst:618 -#, fuzzy msgid "The *style* parameter." msgstr "Se agregó el parámetro *style*." #: ../Doc/library/logging.rst:621 -#, fuzzy msgid "The *validate* parameter." -msgstr "Se agregó el parámetro *style*." +msgstr "Se agregó el parámetro *validate*." #: ../Doc/library/logging.rst:624 -#, fuzzy msgid "The *defaults* parameter." msgstr "Se agregó el parámetro *defaults*." #: ../Doc/library/logging.rst:630 -#, fuzzy msgid "" "The record's attribute dictionary is used as the operand to a string " "formatting operation. Returns the resulting string. Before formatting the " @@ -1108,7 +1131,7 @@ msgid "" msgstr "" "El diccionario de atributos del registro se usa como el operando de una " "operación para formateo de cadenas. Retorna la cadena resultante. Antes de " -"formatear el diccionario, se llevan a cabo un par de pasos preparatorios. El " +"formatear el diccionario, se lleva a cabo un par de pasos preparatorios. El " "atributo *message* del registro se calcula usando *msg* % *args*. Si el " "formato de la cadena contiene ``'(asctime)'``, :meth:`formatTime` se llama " "para dar formato al tiempo del evento. Si hay información sobre la " @@ -1119,9 +1142,10 @@ msgstr "" "propagarse por el cable, pero debe tener cuidado si tiene más de una " "subclase de :class:`Formatter` que personaliza el formato de la información " "de la excepción. En este caso, tendrá que borrar el valor almacenado en " -"caché después de que un formateador haya terminado su formateo, para que el " -"siguiente formateador que maneje el evento no use el valor almacenado en " -"caché sino que lo recalcule de nuevo." +"caché (estableciendo el atributo *exc_text* a ``None``) después de que un " +"formateador haya terminado su formateo, para que el siguiente formateador " +"que maneje el evento no use el valor almacenado en caché, sino que lo " +"recalcule de nuevo." #: ../Doc/library/logging.rst:646 msgid "" @@ -1227,7 +1251,6 @@ msgstr "" "entrada." #: ../Doc/library/logging.rst:701 -#, fuzzy msgid "" "A base formatter class suitable for subclassing when you want to format a " "number of records. You can pass a :class:`Formatter` instance which you want " @@ -1315,6 +1338,10 @@ msgid "" "different record instance which will replace the original log record in any " "future processing of the event." msgstr "" +"¿Debe registrarse el registro especificado? Retorna 'false' para no, 'true' " +"para sí. Los filtros pueden modificar los registros en el lugar o retornar " +"una instancia de registro completamente diferente que sustituirá al registro " +"original en cualquier procesamiento futuro del evento." #: ../Doc/library/logging.rst:755 msgid "" @@ -1366,6 +1393,10 @@ msgid "" "to a :class:`Handler` to modify the log record before it is emitted, without " "having side effects on other handlers." msgstr "" +"Ahora puedes retornar una instancia de :class:`LogRecord` desde los filtros " +"para reemplazar el registro en lugar de modificarlo. Esto permite a los " +"filtros adjuntos a un :class:`Handler` modificar el registro de log antes de " +"que se emita, sin tener efectos secundarios en otros gestores." #: ../Doc/library/logging.rst:781 msgid "" @@ -1409,17 +1440,14 @@ msgid "Contains all the information pertinent to the event being logged." msgstr "Contiene toda la información pertinente al evento que se registra." #: ../Doc/library/logging.rst:806 -#, fuzzy msgid "" "The primary information is passed in *msg* and *args*, which are combined " "using ``msg % args`` to create the :attr:`!message` attribute of the record." msgstr "" -"La información principal se pasa en :attr:`msg` y :attr:`args`, que se " -"combinan usando ``msg % args`` para crear el campo :attr:`message` del " -"registro." +"La información principal se pasa en *msg* y *args*, que se combinan usando " +"``msg % args`` para crear el atributo :attr:`!message` del registro." #: ../Doc/library/logging.rst:810 -#, fuzzy msgid "" "The name of the logger used to log the event represented by this :class:`!" "LogRecord`. Note that the logger name in the :class:`!LogRecord` will always " @@ -1427,9 +1455,9 @@ msgid "" "different (ancestor) logger." msgstr "" "El nombre del logger utilizado para registrar el evento representado por " -"este LogRecord. Tenga en cuenta que este nombre siempre tendrá este valor, " -"aunque puede ser emitido por un gestor adjunto a un logger diferente " -"(ancestro)." +"este :class:`!LogRecord`. Tenga en cuenta que el nombre del logger en el :" +"class:`!LogRecord` siempre tendrá este valor, aunque puede ser emitido por " +"un gestor adjunto a un logger diferente (ancestro)." #: ../Doc/library/logging.rst:818 msgid "" @@ -1444,7 +1472,6 @@ msgstr "" "attr:`!levelname` para el nombre del nivel correspondiente." #: ../Doc/library/logging.rst:825 -#, fuzzy msgid "" "The full string path of the source file where the logging call was made." msgstr "" @@ -1458,14 +1485,15 @@ msgstr "" "logging." #: ../Doc/library/logging.rst:833 -#, fuzzy, python-format +#, python-format msgid "" "The event description message, which can be a %-format string with " "placeholders for variable data, or an arbitrary object (see :ref:`arbitrary-" "object-messages`)." msgstr "" -"El mensaje de descripción del evento, posiblemente una cadena de %- formato " -"con marcadores de posición para datos variables." +"El mensaje de descripción del evento, que puede ser una cadena de formato %, " +"con marcadores de posición para datos variables o un objeto arbitrario (para " +"más información vea :ref:`arbitrary-object-messages`)." #: ../Doc/library/logging.rst:838 msgid "" @@ -1476,13 +1504,13 @@ msgstr "" "descripción del evento." #: ../Doc/library/logging.rst:842 -#, fuzzy msgid "" "An exception tuple with the current exception information, as returned by :" "func:`sys.exc_info`, or ``None`` if no exception information is available." msgstr "" -"Una tupla de excepción con la información de excepción actual, o ``None`` si " -"no hay información de excepción disponible." +"Una tupla de excepción con la información de excepción actual, tal como se " +"retorna por :func:`sys.exc_info` o ``None`` si no hay información de " +"excepción disponible." #: ../Doc/library/logging.rst:847 msgid "" @@ -1551,7 +1579,7 @@ msgid "LogRecord attributes" msgstr "Atributos LogRecord" #: ../Doc/library/logging.rst:894 -#, fuzzy, python-format +#, python-format msgid "" "The LogRecord has a number of attributes, most of which are derived from the " "parameters to the constructor. (Note that the names do not always correspond " @@ -1568,7 +1596,7 @@ msgstr "" "utilizarse para combinar los datos del registro en la cadena de formato. La " "siguiente tabla enumera (en orden alfabético) los nombres de los atributos, " "sus significados y el correspondiente marcador de posición en una cadena de " -"formato de %-estilo." +"formato %-style." #: ../Doc/library/logging.rst:902 msgid "" @@ -1584,7 +1612,6 @@ msgstr "" "atributo real que desea utilizar." #: ../Doc/library/logging.rst:908 -#, fuzzy msgid "" "In the case of {}-formatting, you can specify formatting flags by placing " "them after the attribute name, separated from it with a colon. For example: " @@ -1592,11 +1619,11 @@ msgid "" "as ``004``. Refer to the :meth:`str.format` documentation for full details " "on the options available to you." msgstr "" -"En el caso del formato-{}, puede especificar *flags* de formato colocándolos " -"después del nombre del atributo, separados con dos puntos. Por ejemplo: un " -"marcador de posición de ``{msecs:03d}`` formateará un valor de milisegundos " -"de ``4`` como ``004``. Consulte la documentación :meth:`str.format` para " -"obtener detalles completos sobre las opciones disponibles." +"En el caso del formato con {}, puede especificar *flags* de formato " +"colocándolos después del nombre del atributo, separados con dos puntos. Por " +"ejemplo: un marcador de posición de ``{msecs:03.0f}`` formateará un valor de " +"milisegundos de ``4`` como ``004``. Consulte la documentación :meth:`str." +"format` para obtener detalles completos sobre las opciones disponibles." #: ../Doc/library/logging.rst:915 msgid "Attribute name" @@ -1924,28 +1951,25 @@ msgid "Thread name (if available)." msgstr "Nombre del hilo (si está disponible)." #: ../Doc/library/logging.rst:987 -#, fuzzy msgid "taskName" -msgstr "threadName" +msgstr "taskName" #: ../Doc/library/logging.rst:987 -#, fuzzy, python-format +#, python-format msgid "``%(taskName)s``" -msgstr "``%(name)s``" +msgstr "``%(taskName)s``" #: ../Doc/library/logging.rst:987 -#, fuzzy msgid ":class:`asyncio.Task` name (if available)." -msgstr "Nombre del proceso (si está disponible)." +msgstr "nombre de :class:`asyncio.Task` (si está disponible)." #: ../Doc/library/logging.rst:990 msgid "*processName* was added." msgstr "*processName* fue agregado." #: ../Doc/library/logging.rst:993 -#, fuzzy msgid "*taskName* was added." -msgstr "*processName* fue agregado." +msgstr "*taskName* fue agregado." #: ../Doc/library/logging.rst:999 msgid "LoggerAdapter Objects" @@ -1986,11 +2010,11 @@ msgstr "" #: ../Doc/library/logging.rst:1020 msgid "Delegates to the underlying :attr:`!manager`` on *logger*." -msgstr "" +msgstr "Delega en el :attr:`!manager`` subyacente en *logger*." #: ../Doc/library/logging.rst:1024 msgid "Delegates to the underlying :meth:`!_log`` method on *logger*." -msgstr "" +msgstr "Delega en el método :meth:`!_log`` subyacente en *logger*." #: ../Doc/library/logging.rst:1026 msgid "" @@ -2024,13 +2048,12 @@ msgstr "" "subyacente." #: ../Doc/library/logging.rst:1043 -#, fuzzy msgid "" "Attribute :attr:`!manager` and method :meth:`!_log` were added, which " "delegate to the underlying logger and allow adapters to be nested." msgstr "" -"Se añadieron el atributo Attribute :attr:`manager` y el método :meth:`_log`, " -"que delegan al logger subyacente y permiten que los adaptadores se aniden." +"Se añadió el atributo :attr:`!manager` y el método :meth:`!_log`, que " +"delegan al logger subyacente y permiten que los adaptadores se aniden." #: ../Doc/library/logging.rst:1048 msgid "Thread Safety" @@ -2220,7 +2243,7 @@ msgid "" msgstr "" "Esta función (así como :func:`info`, :func:`warning`, :func:`error` and :" "func:`critical`) llamará a :func:`basicConfig` si el registrador raíz no " -"tiene ningún controlador conectado." +"tiene ningún gestor conectado." #: ../Doc/library/logging.rst:1180 msgid "" @@ -2395,13 +2418,13 @@ msgstr "" "correspondiente valor numérico del nivel." #: ../Doc/library/logging.rst:1274 -#, fuzzy, python-format +#, python-format msgid "" "If no matching numeric or string value is passed in, the string 'Level %s' " "% level is returned." msgstr "" -"Si no se pasa un valor numérico o de cadena que coincida, se retorna la " -"cadena de caracteres 'Level %s' % nivel." +"Si no se pasa un valor numérico o de cadena que coincida, se retorna el " +"valor de nivel de la cadena 'Level %s'." #: ../Doc/library/logging.rst:1277 #, python-format @@ -2436,10 +2459,13 @@ msgid "" "Returns a handler with the specified *name*, or ``None`` if there is no " "handler with that name." msgstr "" +"Retorna un gestor con el *name* especificado o ``None`` si no hay un gestor " +"con ese nombre." #: ../Doc/library/logging.rst:1298 msgid "Returns an immutable set of all known handler names." msgstr "" +"Retorna un conjunto inmutable del nombre de todos los gestor conocidos." #: ../Doc/library/logging.rst:1304 msgid "" @@ -2500,13 +2526,12 @@ msgid "*filename*" msgstr "*filename*" #: ../Doc/library/logging.rst:1335 -#, fuzzy msgid "" "Specifies that a :class:`FileHandler` be created, using the specified " "filename, rather than a :class:`StreamHandler`." msgstr "" -"Especifica que se cree un *FileHandler*, utilizando el nombre de archivo " -"especificado, en lugar de *StreamHandler*." +"Especifica que se cree un :class:`FileHandler`, utilizando el nombre de " +"archivo especificado, en lugar de :class:`StreamHandler`." #: ../Doc/library/logging.rst:1339 msgid "*filemode*" @@ -2621,22 +2646,20 @@ msgid "*encoding*" msgstr "*encoding*" #: ../Doc/library/logging.rst:1383 -#, fuzzy msgid "" "If this keyword argument is specified along with *filename*, its value is " "used when the :class:`FileHandler` is created, and thus used when opening " "the output file." msgstr "" "Si este argumento de palabra clave se especifica junto con *filename*, su " -"valor se utiliza cuando se crea el FileHandler, y por lo tanto se utiliza al " -"abrir el archivo de salida." +"valor se utiliza cuando se crea el :class:`FileHandler`, y por lo tanto se " +"utiliza al abrir el archivo de salida." #: ../Doc/library/logging.rst:1388 msgid "*errors*" msgstr "*errors*" #: ../Doc/library/logging.rst:1388 -#, fuzzy msgid "" "If this keyword argument is specified along with *filename*, its value is " "used when the :class:`FileHandler` is created, and thus used when opening " @@ -2645,11 +2668,11 @@ msgid "" "`open`, which means that it will be treated the same as passing 'errors'." msgstr "" "Si este argumento de palabra clave se especifica junto con *filename*, su " -"valor se utiliza cuando se crea el :class:`FileHandler`, y por lo tanto se " -"utiliza al abrir el archivo de salida. Si no se especifica, se utiliza el " +"valor se utiliza cuando se crea el :class:`FileHandler`, y por lo tanto " +"cuando se abre el archivo de salida. Si no se especifica, se utiliza el " "valor 'backslashreplace'. Tenga en cuenta que si se especifica ``None``, se " "pasará como tal a :func:`open`, lo que significa que se tratará igual que " -"pasar 'errores'. " +"pasar 'errors'." #: ../Doc/library/logging.rst:1399 msgid "The *style* argument was added." @@ -2695,7 +2718,6 @@ msgstr "" "hacerlo manualmente." #: ../Doc/library/logging.rst:1427 -#, fuzzy msgid "" "Tells the logging system to use the class *klass* when instantiating a " "logger. The class should define :meth:`!__init__` such that only a name " @@ -2707,11 +2729,11 @@ msgid "" "loggers." msgstr "" "Le dice al sistema de logging que use la clase *klass* al crear una " -"instancia de un logger. La clase debe definir :meth:`__init__` tal que solo " -"se requiera un argumento de nombre, y :meth:`__init__` debe llamar :meth:" -"`Logger.__init__`. Por lo general, esta función se llama antes de cualquier " -"loggers sea instanciado por las aplicaciones que necesitan utilizar un " -"comportamiento de logger personalizado. Después de esta llamada, como en " +"instancia de un logger. La clase debe definir :meth:`!__init__` tal que solo " +"se requiera un argumento de nombre, y :meth:`!__init__` debe llamar :meth:`!" +"Logger.__init__`. Por lo general, esta función se llama antes de que " +"cualquier logger sea instanciado por las aplicaciones que necesitan utilizar " +"un comportamiento de logger personalizado. Después de esta llamada, como en " "cualquier otro momento, no cree instancias de loggers directamente usando la " "subclase: continúe usando la API :func:`logging.getLogger` para obtener sus " "loggers." @@ -2935,96 +2957,9 @@ msgstr "" "estándar." #: ../Doc/library/logging.rst:12 -#, fuzzy msgid "Errors" -msgstr "*errors*" +msgstr "Errors" #: ../Doc/library/logging.rst:12 -#, fuzzy msgid "logging" -msgstr "Niveles de logging" - -#~ msgid "``CRITICAL``" -#~ msgstr "``CRITICAL``" - -#~ msgid "``ERROR``" -#~ msgstr "``ERROR``" - -#~ msgid "``WARNING``" -#~ msgstr "``WARNING``" - -#~ msgid "``INFO``" -#~ msgstr "``INFO``" - -#~ msgid "``DEBUG``" -#~ msgstr "``DEBUG``" - -#~ msgid "``NOTSET``" -#~ msgstr "``NOTSET``" - -#~ msgid "" -#~ ":class:`Formatter` objects have the following attributes and methods. " -#~ "They are responsible for converting a :class:`LogRecord` to (usually) a " -#~ "string which can be interpreted by either a human or an external system. " -#~ "The base :class:`Formatter` allows a formatting string to be specified. " -#~ "If none is supplied, the default value of ``'%(message)s'`` is used, " -#~ "which just includes the message in the logging call. To have additional " -#~ "items of information in the formatted output (such as a timestamp), keep " -#~ "reading." -#~ msgstr "" -#~ ":class:`Formatter` tiene los siguientes atributos y métodos. Son " -#~ "responsables de convertir una :class:`LogRecord` a (generalmente) una " -#~ "cadena que puede ser interpretada por un sistema humano o externo. La " -#~ "base :class:`Formatter` permite especificar una cadena de formato. Si no " -#~ "se proporciona ninguno, se utiliza el valor predeterminado de " -#~ "``'%(message)s'``, que solo incluye el mensaje en la llamada de registro. " -#~ "Para tener elementos de información adicionales en la salida formateada " -#~ "(como una marca de tiempo), siga leyendo." - -#~ msgid "" -#~ "A Formatter can be initialized with a format string which makes use of " -#~ "knowledge of the :class:`LogRecord` attributes - such as the default " -#~ "value mentioned above making use of the fact that the user's message and " -#~ "arguments are pre-formatted into a :class:`LogRecord`'s *message* " -#~ "attribute. This format string contains standard Python %-style mapping " -#~ "keys. See section :ref:`old-string-formatting` for more information on " -#~ "string formatting." -#~ msgstr "" -#~ "Un formateador se puede inicializar con una cadena de formato que utiliza " -#~ "el conocimiento de los atributos :class:`LogRecord`, como el valor " -#~ "predeterminado mencionado anteriormente, haciendo uso del hecho de que el " -#~ "mensaje y los argumentos del usuario están formateados previamente en :" -#~ "class:`LogRecord`'s con *message* como atributo. Esta cadena de formato " -#~ "contiene claves de mapeo de Python %-style estándar. Ver la sección :ref:" -#~ "`old-string-formatting` para obtener más información sobre el formato de " -#~ "cadenas." - -#~ msgid "" -#~ "The useful mapping keys in a :class:`LogRecord` are given in the section " -#~ "on :ref:`logrecord-attributes`." -#~ msgstr "" -#~ "Las claves de mapeo útiles en a :class:`LogRecord` se dan en la sección " -#~ "sobre :ref:`logrecord-attributes`." - -#~ msgid "" -#~ "Returns a new instance of the :class:`Formatter` class. The instance is " -#~ "initialized with a format string for the message as a whole, as well as a " -#~ "format string for the date/time portion of a message. If no *fmt* is " -#~ "specified, ``'%(message)s'`` is used. If no *datefmt* is specified, a " -#~ "format is used which is described in the :meth:`formatTime` documentation." -#~ msgstr "" -#~ "Retorna una nueva instancia de :class:`Formatter`. La instancia se " -#~ "inicializa con una cadena de formato para el mensaje en su conjunto, así " -#~ "como una cadena de formato para la porción fecha/hora de un mensaje. Si " -#~ "no se especifica *fmt*, se utiliza ``'%(message)s'``. Si no se especifica " -#~ "*datefmt*, se utiliza un formato que se describe en la documentación :" -#~ "meth:`formatTime`." - -#~ msgid "" -#~ "Is the specified record to be logged? Returns zero for no, nonzero for " -#~ "yes. If deemed appropriate, the record may be modified in-place by this " -#~ "method." -#~ msgstr "" -#~ "¿Se apuntará el registro especificado? Retorna cero para no, distinto de " -#~ "cero para sí. Si se considera apropiado, el registro puede modificarse in " -#~ "situ mediante este método." +msgstr "logging" diff --git a/library/lzma.po b/library/lzma.po index a73ccd222b..33e63284f2 100644 --- a/library/lzma.po +++ b/library/lzma.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-10-01 21:27-0400\n" -"Last-Translator: Enrique Giménez \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-06 22:06+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/lzma.rst:2 msgid ":mod:`lzma` --- Compression using the LZMA algorithm" @@ -197,15 +198,15 @@ msgstr "" "transparentemente decodificados como un único flujo lógico." #: ../Doc/library/lzma.rst:102 -#, fuzzy msgid "" ":class:`LZMAFile` supports all the members specified by :class:`io." "BufferedIOBase`, except for :meth:`~io.BufferedIOBase.detach` and :meth:`~io." "IOBase.truncate`. Iteration and the :keyword:`with` statement are supported." msgstr "" ":class:`LZMAFile` soporta todos los miembros especificados por :class:`io." -"BufferedIOBase`, excepto por :meth:`detach` y :meth:`truncate`. La " -"declaración de iteración y :keyword:`with` son soportados." +"BufferedIOBase`, excepto por :meth:`~io.BufferedIOBase.detach` y :meth:`~io." +"IOBase.truncate`. La iteración y la instrucción :keyword:`with` son " +"soportadas." #: ../Doc/library/lzma.rst:107 msgid "The following method is also provided:" @@ -533,16 +534,15 @@ msgstr "" "negativo), el atributo :attr:`~.needs_input` será establecido a ``True``." #: ../Doc/library/lzma.rst:261 -#, fuzzy msgid "" "Attempting to decompress data after the end of stream is reached raises an :" "exc:`EOFError`. Any data found after the end of the stream is ignored and " "saved in the :attr:`~.unused_data` attribute." msgstr "" -"Intentar descomprimir la información descomprimida después de que el fin del " -"flujo es alcanzado genera un `EOFError`. Cualquier información encontrada " -"después de que el fin del flujo es ignorada y guardada en el atributo :attr:" -"`~.unused_data`." +"Intentar descomprimir la información después de que el fin del flujo es " +"alcanzado genera un :exc:`EOFError`. Cualquier información encontrada " +"después del fin del flujo es ignorada y guardada en el atributo :attr:`~." +"unused_data`." #: ../Doc/library/lzma.rst:265 msgid "Added the *max_length* parameter." diff --git a/library/mailbox.po b/library/mailbox.po index eacbb296c3..84d5cd8ba1 100644 --- a/library/mailbox.po +++ b/library/mailbox.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-08-04 21:38+0200\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-06 22:58+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/mailbox.rst:2 msgid ":mod:`mailbox` --- Manipulate mailboxes in various formats" @@ -692,11 +693,10 @@ msgstr "" "abierto." #: ../Doc/library/mailbox.rst:431 -#, fuzzy msgid "" "`maildir man page from Courier `_" msgstr "" -"`pagina web maildir de Courier `_" +"`pagina web maildir de Courier `_" #: ../Doc/library/mailbox.rst:430 msgid "" @@ -789,13 +789,12 @@ msgstr "" #: ../Doc/library/mailbox.rst:479 ../Doc/library/mailbox.rst:688 #: ../Doc/library/mailbox.rst:739 -#, fuzzy msgid "" "Three locking mechanisms are used---dot locking and, if available, the :c:" "func:`!flock` and :c:func:`!lockf` system calls." msgstr "" -"Se utilizan tres mecanismos de bloqueo... el bloqueo por puntos y, si está " -"disponible, las llamadas del sistema :c:func:`flock` y :c:func:`lockf`." +"Se utilizan tres mecanismos de bloqueo---el bloqueo por puntos y, si está " +"disponible, las llamadas del sistema :c:func:`!flock` y :c:func:`!lockf`." #: ../Doc/library/mailbox.rst:486 msgid "" @@ -966,7 +965,6 @@ msgstr "" "del MH de marcar un mensaje para borrarlo poniendo una coma en su nombre." #: ../Doc/library/mailbox.rst:590 -#, fuzzy msgid "" "Three locking mechanisms are used---dot locking and, if available, the :c:" "func:`!flock` and :c:func:`!lockf` system calls. For MH mailboxes, locking " @@ -974,11 +972,12 @@ msgid "" "duration of any operations that affect them, locking individual message " "files." msgstr "" -"Se utilizan tres mecanismos de bloqueo... el bloqueo por puntos y, si está " -"disponible, las llamadas del sistema :c:func:`flock` y :c:func:`lockf`. Para " -"los buzones de correos MH, bloquear el buzón de correo significa bloquear el " -"archivo :file:`.mh_sequences` y, sólo durante la duración de cualquier " -"operación que les afecte, bloquear los archivos de mensajes individuales." +"Se utilizan tres mecanismos de bloqueo---el bloqueo por puntos y, si está " +"disponible, las llamadas del sistema :c:func:`!flock` y :c:func:`!lockf`. " +"Para los buzones de correos MH, bloquear el buzón de correo significa " +"bloquear el archivo :file:`.mh_sequences` y, sólo durante la duración de " +"cualquier operación que les afecte, bloquear los archivos de mensajes " +"individuales." #: ../Doc/library/mailbox.rst:599 msgid "" @@ -1005,9 +1004,8 @@ msgstr "" "este método es equivalente a :meth:`unlock`." #: ../Doc/library/mailbox.rst:618 -#, fuzzy msgid "`nmh - Message Handling System `_" -msgstr "`nmh - Sistema de Manejo de Mensajes `__" +msgstr "`nmh - Sistema de Manejo de Mensajes `__" #: ../Doc/library/mailbox.rst:618 msgid "" @@ -2332,7 +2330,6 @@ msgstr "" "esté, como cuando se elimina una carpeta que contiene mensajes." #: ../Doc/library/mailbox.rst:1511 -#, fuzzy msgid "" "Raised when some mailbox-related condition beyond the control of the program " "causes it to be unable to proceed, such as when failing to acquire a lock " diff --git a/library/operator.po b/library/operator.po index cacb9a4e6f..053c84f0cd 100644 --- a/library/operator.po +++ b/library/operator.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: 2023-03-17 20:03-0500\n" -"Last-Translator: Brian Bokser\n" -"Language: es\n" +"PO-Revision-Date: 2023-11-06 22:32+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/operator.rst:2 msgid ":mod:`operator` --- Standard operators as functions" @@ -92,7 +93,6 @@ msgstr "" "admiten pruebas de verdad, pruebas de identidad y operaciones booleanas:" #: ../Doc/library/operator.rst:61 -#, fuzzy msgid "" "Return the outcome of :keyword:`not` *obj*. (Note that there is no :meth:`!" "__not__` method for object instances; only the interpreter core defines this " @@ -100,9 +100,9 @@ msgid "" "`~object.__len__` methods.)" msgstr "" "Retorna el resultado de :keyword:`not` *obj*. (Tenga en cuenta que no hay " -"ningún método :meth:`__not__` para las instancias de objeto; solo el núcleo " +"ningún método :meth:`!__not__` para las instancias de objeto; solo el núcleo " "del intérprete define esta operación. El resultado se ve afectado por los " -"métodos :meth:`__bool__` y :meth:`__len__`.)" +"métodos :meth:`~object.__bool__` y :meth:`~object.__len__`.)" #: ../Doc/library/operator.rst:69 msgid "" @@ -254,13 +254,12 @@ msgid "Set the value of *a* at index *b* to *c*." msgstr "Establece el valor de *a* en el índice *b* a *c*." #: ../Doc/library/operator.rst:247 -#, fuzzy msgid "" "Return an estimated length for the object *obj*. First try to return its " "actual length, then an estimate using :meth:`object.__length_hint__`, and " "finally return the default value." msgstr "" -"Retorna un largo estimativo del objeto *o*. Primero intenta retornar su " +"Retorna un largo estimativo del objeto *obj*. Primero intenta retornar su " "largo real, luego un estimativo usando :meth:`object.__length_hint__`, y " "finalmente retorna un valor predeterminado." @@ -346,15 +345,14 @@ msgstr "" "r[5], r[3])``." #: ../Doc/library/operator.rst:329 -#, fuzzy msgid "" "The items can be any type accepted by the operand's :meth:`__getitem__` " "method. Dictionaries accept any :term:`hashable` value. Lists, tuples, and " "strings accept an index or a slice:" msgstr "" "Los ítems pueden ser de cualquier tipo aceptado por el método :meth:" -"`__getitem__` del operando. Los diccionarios aceptan cualquier valor " -"*hasheable*. Las listas, las tuplas y las cadenas de caracteres aceptan un " +"`__getitem__` del operando. Los diccionarios aceptan cualquier valor :term:" +"`hashable`. Las listas, las tuplas y las cadenas de caracteres aceptan un " "índice o un segmento:" #: ../Doc/library/operator.rst:343 diff --git a/library/pathlib.po b/library/pathlib.po index 9a48ba2548..9582d9f670 100644 --- a/library/pathlib.po +++ b/library/pathlib.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-12-16 21:29-0300\n" +"PO-Revision-Date: 2024-10-29 13:06-0600\n" "Last-Translator: Carlos A. Crespo \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.5\n" #: ../Doc/library/pathlib.rst:3 msgid ":mod:`pathlib` --- Object-oriented filesystem paths" @@ -145,7 +146,6 @@ msgstr "" "una instancia se crea :class:`PurePosixPath` o :class:`PureWindowsPath`)::" #: ../Doc/library/pathlib.rst:108 -#, fuzzy msgid "" "Each element of *pathsegments* can be either a string representing a path " "segment, or an object implementing the :class:`os.PathLike` interface where " @@ -153,8 +153,9 @@ msgid "" "path object::" msgstr "" "Cada elemento de *pathsegments* puede ser una cadena que representa un " -"segmento de ruta, un objeto que implemente la interfaz :class:`os.PathLike` " -"la cual retorna una cadena o bien otro objeto ruta::" +"segmento de ruta o un objeto que implemente la interfaz :class:`os.PathLike` " +"donde el método :meth:`~os.PathLike.__fspath__` retorna una cadena como otro " +"objeto de ruta::" #: ../Doc/library/pathlib.rst:118 msgid "When *pathsegments* is empty, the current directory is assumed::" @@ -165,12 +166,16 @@ msgid "" "If a segment is an absolute path, all previous segments are ignored (like :" "func:`os.path.join`)::" msgstr "" +"Si un segmento es una ruta absoluta, se ignoran todos los segmentos " +"anteriores (como :func:`os.path.join`)::" #: ../Doc/library/pathlib.rst:131 msgid "" "On Windows, the drive is not reset when a rooted relative path segment (e." "g., ``r'\\foo'``) is encountered::" msgstr "" +"En Windows, la unidad no se restablece cuando se encuentra un segmento de " +"ruta relativa en la raíz (por ejemplo, ``r'\\foo'``)::" #: ../Doc/library/pathlib.rst:137 msgid "" @@ -241,15 +246,14 @@ msgid "General properties" msgstr "Propiedades generales" #: ../Doc/library/pathlib.rst:191 -#, fuzzy msgid "" "Paths are immutable and :term:`hashable`. Paths of a same flavour are " "comparable and orderable. These properties respect the flavour's case-" "folding semantics::" msgstr "" -"Las rutas son inmutables y hashables. Las rutas de una misma familia son " -"comparables y ordenables. Estas propiedades respetan el orden lexicográfico " -"definido por la familia::" +"Las rutas son inmutables y :term:`hashable`. Las rutas de una misma familia " +"son comparables y ordenables. Estas propiedades respetan el orden " +"lexicográfico definido por la familia::" #: ../Doc/library/pathlib.rst:204 msgid "Paths of a different flavour compare unequal and cannot be ordered::" @@ -266,6 +270,10 @@ msgid "" "the drive is not reset when the argument is a rooted relative path (e.g., " "``r'\\foo'``)::" msgstr "" +"El operador de barra inclinada ayuda a crear rutas hijas, como :func:`os." +"path.join`. Si el argumento es una ruta absoluta, se ignora la ruta " +"anterior. En Windows, la unidad no se restablece cuando el argumento es una " +"ruta relativa en la raíz (por ejemplo, ``r'\\foo'``)::" #: ../Doc/library/pathlib.rst:235 msgid "" @@ -474,6 +482,8 @@ msgid "" "Passing additional arguments is deprecated; if supplied, they are joined " "with *other*." msgstr "" +"Está obsoleto pasar argumentos adicionales; si se suministran, se juntan con " +"*other*." #: ../Doc/library/pathlib.rst:521 msgid "" @@ -494,13 +504,12 @@ msgstr "" "inesperadamente o tener efectos no deseados." #: ../Doc/library/pathlib.rst:536 -#, fuzzy msgid "" "Calling this method is equivalent to combining the path with each of the " "given *pathsegments* in turn::" msgstr "" "Llamar a este método es equivalente a combinar la ruta con cada uno de los " -"*other* argumentos::" +"*pathsegments* dados sucesivamente::" #: ../Doc/library/pathlib.rst:551 msgid "" @@ -531,6 +540,8 @@ msgid "" "The *pattern* may be another path object; this speeds up matching the same " "pattern against multiple files::" msgstr "" +"El *pattern* puede ser otro objeto de ruta; esto acelera la coincidencia del " +"mismo patrón con varios archivos::" #: ../Doc/library/pathlib.rst:579 msgid "As with other methods, case-sensitivity follows platform defaults::" @@ -542,21 +553,21 @@ msgstr "" msgid "" "Set *case_sensitive* to ``True`` or ``False`` to override this behaviour." msgstr "" +"Establece *case_sensitive* en ``True`` o ``False`` para invalidar este " +"comportamiento." #: ../Doc/library/pathlib.rst:588 ../Doc/library/pathlib.rst:931 #: ../Doc/library/pathlib.rst:1344 -#, fuzzy msgid "The *case_sensitive* parameter was added." -msgstr "Se agregó el parámetro *newline*." +msgstr "Se agregó el parámetro *case_sensitive*." #: ../Doc/library/pathlib.rst:594 -#, fuzzy msgid "" "Compute a version of this path relative to the path represented by *other*. " "If it's impossible, :exc:`ValueError` is raised::" msgstr "" -"Computa una versión de la ruta en relación a la ruta representada por " -"*other*. Si es imposible, se genera *ValueError*::" +"Computa una versión de esta ruta relativa a la ruta representada por " +"*other*. Si es imposible, se lanza :exc:`ValueError`::" #: ../Doc/library/pathlib.rst:609 msgid "" @@ -565,29 +576,39 @@ msgid "" "path. In all other cases, such as the paths referencing different drives, :" "exc:`ValueError` is raised.::" msgstr "" +"Cuando *walk_up* es False (por defecto), la ruta debe empezar con *other*. " +"Cuando el argumento es True, se pueden agregar entradas ``..`` para formar " +"la ruta relativa. En todos los demás casos, como las rutas que hacen " +"referencia a diferentes unidades, se lanza :exc:`ValueError`.::" #: ../Doc/library/pathlib.rst:624 -#, fuzzy msgid "" "This function is part of :class:`PurePath` and works with strings. It does " "not check or access the underlying file structure. This can impact the " "*walk_up* option as it assumes that no symlinks are present in the path; " "call :meth:`~Path.resolve` first if necessary to resolve symlinks." msgstr "" -"NOTA: Esta función es parte de :class:`PurePath` y trabaja con strings. No " -"revisa ni accede a la estructura de archivos subyacentes." +"Esta función es parte de :class:`PurePath` y trabaja con cadenas de " +"caracteres. No revisa ni accede a la estructura de archivos subyacentes. " +"Esto puede afectar la opción *walk_up* ya que supone que no hay enlaces " +"simbólicos en la ruta; si es necesario llame primero :meth:`~Path.resolve` " +"para resolver los enlaces simbólicos." #: ../Doc/library/pathlib.rst:630 msgid "" "The *walk_up* parameter was added (old behavior is the same as " "``walk_up=False``)." msgstr "" +"Se agregó el parámetro *walk_up* (el comportamiento anterior es el mismo que " +"``walk_up=False``)." #: ../Doc/library/pathlib.rst:635 msgid "" "Passing additional positional arguments is deprecated; if supplied, they are " "joined with *other*." msgstr "" +"Está obsoleto pasar argumentos posicionales adicionales; si se suministran, " +"se juntan con *other*." #: ../Doc/library/pathlib.rst:640 msgid "" @@ -622,6 +643,10 @@ msgid "" "such as from :attr:`parent` and :meth:`relative_to`. Subclasses may override " "this method to pass information to derivative paths, for example::" msgstr "" +"Crea un nuevo objeto de ruta del mismo tipo combinando los *pathsegments* " +"dados. Este método se llama siempre que se crea una ruta derivada, como :" +"attr:`parent` y :meth:`relative_to`. Las subclases pueden anular este método " +"para pasar información a las rutas derivadas, por ejemplo::" #: ../Doc/library/pathlib.rst:724 msgid "Concrete paths" @@ -764,19 +789,17 @@ msgstr "" "meth:`~Path.lchmod`." #: ../Doc/library/pathlib.rst:861 -#, fuzzy msgid "Return ``True`` if the path points to an existing file or directory." -msgstr "Si la ruta apunta a un archivo o directorio existente::" +msgstr "" +"Retorna ``True`` si la ruta apunta a un archivo o directorio existente." #: ../Doc/library/pathlib.rst:863 -#, fuzzy msgid "" "This method normally follows symlinks; to check if a symlink exists, add the " "argument ``follow_symlinks=False``." msgstr "" -"Este método normalmente sigue enlaces simbólicos; para evitar enlaces " -"simbólicos, agregue el argumento ``follow_symlinks = False``, o use :meth:`~ " -"Path.lstat`." +"Este método normalmente sigue enlaces simbólicos; para comprobar si existe " +"un enlace simbólico, agregue el argumento ``follow_symlinks=False``." #: ../Doc/library/pathlib.rst:882 msgid "" @@ -813,6 +836,12 @@ msgid "" "typically, case-sensitive on POSIX, and case-insensitive on Windows. Set " "*case_sensitive* to ``True`` or ``False`` to override this behaviour." msgstr "" +"De forma predeterminada, o cuando el argumento de sólo palabra clave " +"*case_sensitive* está configurado en ``None``, este método coincide con las " +"rutas utilizando reglas de mayúsculas y minúsculas específicas de la " +"plataforma: normalmente, distingue entre mayúsculas y minúsculas en POSIX y " +"no distingue entre mayúsculas y minúsculas en Windows. Se configura " +"*case_sensitive* en ``True`` o ``False`` para anular este comportamiento." #: ../Doc/library/pathlib.rst:922 msgid "" @@ -875,16 +904,14 @@ msgstr "" "de archivo." #: ../Doc/library/pathlib.rst:961 -#, fuzzy msgid "" "Return ``True`` if the path points to a junction, and ``False`` for any " "other type of file. Currently only Windows supports junctions." msgstr "" -"Retorna ``True`` si la ruta apunta a un enlace simbólico, ``False`` de lo " -"contrario." +"Retorna ``True`` si la ruta apunta a una unión y ``False`` para cualquier " +"otro tipo de archivo. Actualmente, solo Windows admite uniones." #: ../Doc/library/pathlib.rst:969 -#, fuzzy msgid "" "Return ``True`` if the path is a :dfn:`mount point`: a point in a file " "system where a different file system has been mounted. On POSIX, the " @@ -895,18 +922,19 @@ msgid "" "letter root (e.g. ``c:\\``), a UNC share (e.g. ``\\\\server\\share``), or a " "mounted filesystem directory." msgstr "" -"Retorna ``True`` si la ruta es un :dfn:`punto de montaje`; un punto en un " -"sistema de archivos donde otro sistema de archivo se encuentra montado. En " -"POSIX, la función comprueba si el padre de *path* , :file:`path/..`, se " -"encuentra en un dispositivo diferente que *path*, o si :file:`path/..` y " -"*path* apuntan al mismo i-nodo en el mismo dispositivo --- esto debería " -"detectar puntos de montajes para todas las variantes Unix y POSIX. No está " -"implementado en Windows." +"Retorna ``True`` si la ruta es un :dfn:`mount point`: un punto en un sistema " +"de archivos donde otro sistema de archivo se encuentra montado. En POSIX, la " +"función comprueba si el padre de *path* , :file:`path/..`, se encuentra en " +"un dispositivo diferente que *path*, o si :file:`path/..` y *path* apuntan " +"al mismo i-nodo en el mismo dispositivo --- esto debería detectar puntos de " +"montajes para todas las variantes Unix y POSIX. En Windows, se considera que " +"un punto de montaje es una letra de unidad de raíz (por ejemplo, ``c:\\``), " +"un recurso compartido UNC (por ejemplo, ``\\\\server\\share``) o un " +"directorio de sistema de archivos montado." #: ../Doc/library/pathlib.rst:980 -#, fuzzy msgid "Windows support was added." -msgstr "Se agregó el parámetro *newline*." +msgstr "Se agregó soporte para Windows." #: ../Doc/library/pathlib.rst:986 msgid "" @@ -982,6 +1010,8 @@ msgid "" "Generate the file names in a directory tree by walking the tree either top-" "down or bottom-up." msgstr "" +"Genera los nombres de archivos en un árbol de directorios recorriendo el " +"árbol de arriba hacia abajo o de abajo hacia arriba." #: ../Doc/library/pathlib.rst:1054 msgid "" @@ -989,6 +1019,9 @@ msgid "" "but excluding '.' and '..'), the method yields a 3-tuple of ``(dirpath, " "dirnames, filenames)``." msgstr "" +"Para cada directorio en el árbol de directorios con raíz en *self* " +"(incluyendo *self* pero excluyendo '.' y '..'), el método produce una tupla " +"de 3 de elementos (o tripleta) ``(dirpath, dirnames, filenames)``." #: ../Doc/library/pathlib.rst:1058 msgid "" @@ -999,6 +1032,13 @@ msgid "" "begins with *self*) to a file or directory in *dirpath*, do ``dirpath / " "name``. Whether or not the lists are sorted is file system-dependent." msgstr "" +"*dirpath* es un objeto :class:`Path` al directorio que se está recorriendo " +"actualmente, *dirnames* es una lista de cadenas de caracteres para los " +"nombres de los subdirectorios en *dirpath* (excluyendo ``'.'`` y ``'..'``), " +"y *filenames* es una lista de cadenas de caracteres para los nombres de los " +"archivos que no son directorios en *dirpath*. Para obtener una ruta completa " +"(que comienza con *self*) a un archivo o directorio en *dirpath*, se ejecuta " +"``dirpath / name``. El orden de las listas depende del sistema de archivos." #: ../Doc/library/pathlib.rst:1066 msgid "" @@ -1010,6 +1050,14 @@ msgid "" "*top_down*, the list of subdirectories is retrieved before the triples for " "the directory and its subdirectories are walked." msgstr "" +"Si el argumento opcional *top_down* es verdadero (que es el valor " +"predeterminado), la tripleta de un directorio se genera antes que las " +"tripletas de cualquiera de sus subdirectorios (los directorios se recorren " +"de arriba hacia abajo). Si *top_down* es falso, la tripleta de un directorio " +"se genera después de las tripletas de todos sus subdirectorios (los " +"directorios se recorren de abajo hacia arriba). Sin importar el valor de " +"*top_down*, la lista de subdirectorios se recupera antes de que se recorran " +"las tripletas del directorio y sus subdirectorios." #: ../Doc/library/pathlib.rst:1074 msgid "" @@ -1023,6 +1071,16 @@ msgid "" "of :meth:`Path.walk()` since the directories in *dirnames* have already been " "generated by the time *dirnames* is yielded to the caller." msgstr "" +"Cuando *top_down* es verdadero, el llamador puede modificar la lista " +"*dirnames* en el lugar (por ejemplo, al usar :keyword:`del` o la asignación " +"de segmentos), y :meth:`Path.walk` solo recurrirá a los subdirectorios cuyos " +"nombres permanezcan en *dirnames*. Esto se puede usar para reducir la " +"búsqueda, o para imponer un orden específico de visita, o incluso para " +"informar a :meth:`Path.walk` sobre los directorios que el llamador crea o " +"renombra antes de que reanude :meth:`Path.walk` nuevamente. Modificar " +"*dirnames* cuando *top_down* es falso no tiene efecto en el comportamiento " +"de :meth:`Path.walk()` ya que los directorios en *dirnames* ya se han " +"generado en el momento en que *dirnames* se entrega al llamador." #: ../Doc/library/pathlib.rst:1084 msgid "" @@ -1032,6 +1090,12 @@ msgid "" "error to continue the walk or re-raise it to stop the walk. Note that the " "filename is available as the ``filename`` attribute of the exception object." msgstr "" +"De forma predeterminada, los errores de :func:`os.scandir` se ignoran. Si se " +"especifica el argumento opcional *on_error*, debe ser un objeto invocable; " +"se llamará con un argumento, una instancia de :exc:`OSError`. El objeto " +"invocable puede manejar el error para continuar la ejecución o volver a " +"generarlo para detenerla. Tenga en cuenta que el nombre del archivo está " +"disponible como el atributo ``filename`` del objeto de excepción." #: ../Doc/library/pathlib.rst:1090 msgid "" @@ -1041,6 +1105,12 @@ msgid "" "their targets, and consequently visit directories pointed to by symlinks " "(where supported)." msgstr "" +"De forma predeterminada, :meth:`Path.walk` no sigue los enlaces simbólicos, " +"sino que los agrega a la lista *filenames*. Establezca *follow_symlinks* " +"como verdadero para resolver los enlaces simbólicos y colocarlos en " +"*dirnames* y *filenames* según corresponda para sus destinos y, en " +"consecuencia, visitar los directorios a los que apuntan los enlaces " +"simbólicos (donde sea compatible)." #: ../Doc/library/pathlib.rst:1097 msgid "" @@ -1048,6 +1118,10 @@ msgid "" "recursion if a link points to a parent directory of itself. :meth:`Path." "walk` does not keep track of the directories it has already visited." msgstr "" +"Tener en cuenta que establecer *follow_symlinks* como verdadero puede " +"generar una recursión infinita si un enlace apunta a un directorio principal " +"de sí mismo. :meth:`Path.walk` no realiza un seguimiento de los directorios " +"que ya ha visitado." #: ../Doc/library/pathlib.rst:1102 msgid "" @@ -1057,18 +1131,27 @@ msgid "" "try to descend into it. To prevent such behavior, remove directories from " "*dirnames* as appropriate." msgstr "" +":meth:`Path.walk` asume que los directorios que recorre no se modifican " +"durante la ejecución. Por ejemplo, si un directorio de *dirnames* ha sido " +"reemplazado por un enlace simbólico y *follow_symlinks* es falso, :meth:" +"`Path.walk` intentará descender a él. Para evitar este comportamiento, " +"elimine los directorios de *dirnames* según corresponda." #: ../Doc/library/pathlib.rst:1110 msgid "" "Unlike :func:`os.walk`, :meth:`Path.walk` lists symlinks to directories in " "*filenames* if *follow_symlinks* is false." msgstr "" +"A diferencia de :func:`os.walk`, :meth:`Path.walk` enumera enlaces " +"simbólicos a directorios en *filenames* si *follow_symlinks* es falso." #: ../Doc/library/pathlib.rst:1113 msgid "" "This example displays the number of bytes used by all files in each " "directory, while ignoring ``__pycache__`` directories::" msgstr "" +"Este ejemplo muestra la cantidad de bytes utilizados por todos los archivos " +"en cada directorio, mientras ignora los directorios ``__pycache__``::" #: ../Doc/library/pathlib.rst:1129 msgid "" @@ -1076,6 +1159,9 @@ msgid "" "Walking the tree bottom-up is essential as :func:`rmdir` doesn't allow " "deleting a directory before it is empty::" msgstr "" +"El siguiente ejemplo es una implementación simple de :func:`shutil.rmtree`. " +"Recorrer el árbol de abajo a arriba es esencial ya que :func:`rmdir` no " +"permite eliminar un directorio antes de que esté vacío::" #: ../Doc/library/pathlib.rst:1146 msgid "" @@ -1218,6 +1304,7 @@ msgid "" "It is implemented in terms of :func:`os.rename` and gives the same " "guarantees." msgstr "" +"Se implementa en términos de :func:`os.rename` y ofrece las mismas garantías." #: ../Doc/library/pathlib.rst:1264 ../Doc/library/pathlib.rst:1278 msgid "Added return value, return the new Path instance." @@ -1272,21 +1359,19 @@ msgstr "" "`RuntimeError`." #: ../Doc/library/pathlib.rst:1317 -#, fuzzy msgid "The *strict* parameter was added (pre-3.6 behavior is strict)." msgstr "" -"El argumento *strict* (el comportamiento previo a 3.6 es *strict* = " -"``True``)." +"Se agregó el parámetro *strict* (el comportamiento previo a 3.6 es *strict*)." #: ../Doc/library/pathlib.rst:1322 -#, fuzzy msgid "" "Glob the given relative *pattern* recursively. This is like calling :func:" "`Path.glob` with \"``**/``\" added in front of the *pattern*, where " "*patterns* are the same as for :mod:`fnmatch`::" msgstr "" -"Idéntico a llamar a :func:`Path.glob` con \"``**/``\" agregado delante del " -"*pattern* relativo::" +"Agrupa el *pattern* relativo dado de forma recursiva. Esto es como llamar a :" +"func:`Path.glob` con \"``**/``\" agregado antes del *pattern*, donde los " +"*patterns* son los mismos que para :mod:`fnmatch`::" #: ../Doc/library/pathlib.rst:1338 msgid "" @@ -1552,14 +1637,12 @@ msgid ":meth:`Path.iterdir`" msgstr ":meth:`Path.iterdir`" #: ../Doc/library/pathlib.rst:1495 -#, fuzzy msgid ":func:`os.walk`" -msgstr ":func:`os.link`" +msgstr ":func:`os.walk`" #: ../Doc/library/pathlib.rst:1495 -#, fuzzy msgid ":meth:`Path.walk`" -msgstr ":meth:`Path.readlink`" +msgstr ":meth:`Path.walk`" #: ../Doc/library/pathlib.rst:1496 msgid ":func:`os.path.isdir`" @@ -1646,18 +1729,16 @@ msgid ":func:`os.path.basename`" msgstr ":func:`os.path.basename`" #: ../Doc/library/pathlib.rst:1508 -#, fuzzy msgid ":attr:`PurePath.name`" -msgstr ":data:`PurePath.name`" +msgstr ":attr:`PurePath.name`" #: ../Doc/library/pathlib.rst:1509 msgid ":func:`os.path.dirname`" msgstr ":func:`os.path.dirname`" #: ../Doc/library/pathlib.rst:1509 -#, fuzzy msgid ":attr:`PurePath.parent`" -msgstr ":data:`PurePath.parent`" +msgstr ":attr:`PurePath.parent`" #: ../Doc/library/pathlib.rst:1510 msgid ":func:`os.path.samefile`" @@ -1672,9 +1753,8 @@ msgid ":func:`os.path.splitext`" msgstr ":func:`os.path.splitext`" #: ../Doc/library/pathlib.rst:1511 -#, fuzzy msgid ":attr:`PurePath.stem` and :attr:`PurePath.suffix`" -msgstr ":data:`PurePath.stem` y :data:`PurePath.suffix`" +msgstr ":attr:`PurePath.stem` y :attr:`PurePath.suffix`" #: ../Doc/library/pathlib.rst:1516 msgid "Footnotes" @@ -1697,14 +1777,14 @@ msgstr "" ":meth:`PurePath.relative_to` requiere que ``self`` sea la ruta secundaria " "del argumento, pero :func:`os.path.relpath` no." +# Es parte del índice? #: ../Doc/library/pathlib.rst:12 msgid "path" -msgstr "" +msgstr "path" #: ../Doc/library/pathlib.rst:12 -#, fuzzy msgid "operations" -msgstr "Operadores" +msgstr "operations" #~ msgid "" #~ "When several absolute paths are given, the last is taken as an anchor " diff --git a/library/pickle.po b/library/pickle.po index 5f139f6941..cab2ebb547 100644 --- a/library/pickle.po +++ b/library/pickle.po @@ -968,6 +968,8 @@ msgid "" "built-in constants (``None``, ``True``, ``False``, ``Ellipsis``, and " "``NotImplemented``);" msgstr "" +"constantes incorporadas (``None``, ``True``, ``False``, ``Ellipsis``, y " +"``NotImplemented``);" #: ../Doc/library/pickle.rst:500 msgid "integers, floating-point numbers, complex numbers;" @@ -985,13 +987,12 @@ msgstr "" "serializables con pickle;" #: ../Doc/library/pickle.rst:506 -#, fuzzy msgid "" "functions (built-in and user-defined) accessible from the top level of a " "module (using :keyword:`def`, not :keyword:`lambda`);" msgstr "" -"funciones definidas en el nivel superior de un módulo (usando :keyword:" -"`def`, no :keyword:`lambda`)" +"funciones (incorporadas y definidas por el usuario) accesibles desde el " +"nivel superior de un módulo (usando :keyword:`def`, no :keyword:`lambda`)" #: ../Doc/library/pickle.rst:509 msgid "classes accessible from the top level of a module;" @@ -1958,7 +1959,7 @@ msgstr "Bases de datos indexadas de objetos; usa :mod:`pickle`." #: ../Doc/library/pickle.rst:1200 msgid "Module :mod:`copy`" -msgstr "Module :mod:`copy`" +msgstr "Módulo :mod:`copy`" #: ../Doc/library/pickle.rst:1200 msgid "Shallow and deep object copying." @@ -2019,63 +2020,63 @@ msgstr "" #: ../Doc/library/pickle.rst:12 msgid "persistence" -msgstr "" +msgstr "persistence" #: ../Doc/library/pickle.rst:12 msgid "persistent" -msgstr "" +msgstr "persistent" #: ../Doc/library/pickle.rst:12 msgid "objects" -msgstr "" +msgstr "objects" #: ../Doc/library/pickle.rst:12 msgid "serializing" -msgstr "" +msgstr "serializing" #: ../Doc/library/pickle.rst:12 msgid "marshalling" -msgstr "" +msgstr "marshalling" #: ../Doc/library/pickle.rst:12 msgid "flattening" -msgstr "" +msgstr "flattening" #: ../Doc/library/pickle.rst:12 msgid "pickling" -msgstr "" +msgstr "pickling" #: ../Doc/library/pickle.rst:123 msgid "External Data Representation" -msgstr "" +msgstr "External Data Representation" #: ../Doc/library/pickle.rst:664 msgid "copy" -msgstr "" +msgstr "copy" #: ../Doc/library/pickle.rst:664 msgid "protocol" -msgstr "" +msgstr "protocol" #: ../Doc/library/pickle.rst:747 msgid "persistent_id (pickle protocol)" -msgstr "" +msgstr "persistent_id (pickle protocol)" #: ../Doc/library/pickle.rst:747 msgid "persistent_load (pickle protocol)" -msgstr "" +msgstr "persistent_load (pickle protocol)" #: ../Doc/library/pickle.rst:823 msgid "__getstate__() (copy protocol)" -msgstr "" +msgstr "__getstate__() (copy protocol)" #: ../Doc/library/pickle.rst:823 msgid "__setstate__() (copy protocol)" -msgstr "" +msgstr "__setstate__() (copy protocol)" #: ../Doc/library/pickle.rst:1068 msgid "find_class() (pickle protocol)" -msgstr "" +msgstr "find_class() (pickle protocol)" #~ msgid "``None``, ``True``, and ``False``;" #~ msgstr "``None``, ``True``, y ``False``;" diff --git a/library/profile.po b/library/profile.po index df225cbc1e..daa2c0af66 100644 --- a/library/profile.po +++ b/library/profile.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: 2023-03-14 20:55-0500\n" +"PO-Revision-Date: 2024-11-07 23:24-0400\n" "Last-Translator: Rodrigo Tobar \n" -"Language: es_CO\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_CO\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/library/profile.rst:5 msgid "The Python Profilers" @@ -132,7 +133,6 @@ msgstr "" "perfil como los siguientes::" #: ../Doc/library/profile.rst:83 -#, fuzzy msgid "" "The first line indicates that 214 calls were monitored. Of those calls, 207 " "were :dfn:`primitive`, meaning that the call was not induced via recursion. " @@ -143,7 +143,7 @@ msgstr "" "La primera línea indica que 214 llamadas fueron monitoreadas. De esas " "llamadas, 207 fueron :dfn:`primitive`, lo cual significa que la llamada no " "fue inducida vía recursión. La siguiente línea: ``Ordered by: cumulative " -"name``, indica que la cadena de texto en la columna más a la derecha fue " +"time``, indica que la cadena de texto en la columna más a la derecha fue " "utilizada para ordenar la salida. Las cabeceras de la columna incluyen:" #: ../Doc/library/profile.rst:89 @@ -1334,10 +1334,9 @@ msgstr "" "(*wall-clock time*). Por ejemplo, vea :func:`time.perf_counter`." #: ../Doc/library/profile.rst:16 -#, fuzzy msgid "deterministic profiling" -msgstr "¿Qué es el perfil determinista?" +msgstr "deterministic profiling" #: ../Doc/library/profile.rst:16 msgid "profiling, deterministic" -msgstr "" +msgstr "profiling, deterministic" diff --git a/library/queue.po b/library/queue.po index 8755a6815f..740ad8c4f4 100644 --- a/library/queue.po +++ b/library/queue.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: 2022-11-17 12:05-0300\n" -"Last-Translator: \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-06 21:40+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/queue.rst:2 msgid ":mod:`queue` --- A synchronized queue class" @@ -42,7 +43,6 @@ msgstr "" "`Queue` de este módulo implementa toda la semántica de bloqueo necesaria." #: ../Doc/library/queue.rst:16 -#, fuzzy msgid "" "The module implements three types of queue, which differ only in the order " "in which the entries are retrieved. In a :abbr:`FIFO (first-in, first-out)` " @@ -129,15 +129,14 @@ msgstr "" "*maxsize* es menor o igual a cero, el tamaño de la cola es infinito." #: ../Doc/library/queue.rst:59 -#, fuzzy msgid "" "The lowest valued entries are retrieved first (the lowest valued entry is " "the one that would be returned by ``min(entries)``). A typical pattern for " "entries is a tuple in the form: ``(priority_number, data)``." msgstr "" "Las entradas de menor valor se recuperan primero (la entrada de menor valor " -"es la retornada por ``sorted(list(entries))[0]``). Un patrón típico para " -"las entradas es una tupla en la forma: ``(número_de_prioridad, datos)``." +"es la retornada por ``min(entries)``). Un patrón típico para las entradas " +"es una tupla en la forma: ``(priority_number, data)``." #: ../Doc/library/queue.rst:63 msgid "" @@ -222,7 +221,6 @@ msgstr "" "posterior a put() no se bloquee." #: ../Doc/library/queue.rst:130 -#, fuzzy msgid "" "Put *item* into the queue. If optional args *block* is true and *timeout* " "is ``None`` (the default), block if necessary until a free slot is " @@ -235,7 +233,7 @@ msgstr "" "Pone el *item* en la cola. Si el argumento opcional *block* es verdadero y " "*timeout* es ``None`` (el predeterminado), bloquea si es necesario hasta que " "un espacio libre esté disponible. Si *timeout* es un número positivo, " -"bloquea como máximo *timeout* segundos y aumenta la excepción :exc:`Full` si " +"bloquea como máximo *timeout* segundos y lanza la excepción :exc:`Full` si " "no había ningún espacio libre disponible en ese tiempo. De lo contrario " "(*block* es falso), pone un elemento en la cola si un espacio libre está " "disponible inmediatamente, o bien lanza la excepción :exc:`Full` (*timeout* " @@ -265,7 +263,6 @@ msgstr "" "ignorado en ese caso)." #: ../Doc/library/queue.rst:153 -#, fuzzy msgid "" "Prior to 3.0 on POSIX systems, and for all versions on Windows, if *block* " "is true and *timeout* is ``None``, this operation goes into an " @@ -275,7 +272,7 @@ msgid "" msgstr "" "Antes de la 3.0 en los sistemas POSIX, y para todas las versiones en " "Windows, si *block* es verdadero y *timeout* es ``None``, esta operación " -"entra en una espera ininterrumpida en una cerradura subyacente. Esto " +"entra en una espera no interrumpible en una cerradura subyacente. Esto " "significa que no puede haber excepciones, y en particular una SIGINT no " "disparará una :exc:`KeyboardInterrupt`." @@ -328,7 +325,6 @@ msgstr "" "procesado." #: ../Doc/library/queue.rst:185 -#, fuzzy msgid "" "The count of unfinished tasks goes up whenever an item is added to the " "queue. The count goes down whenever a consumer thread calls :meth:" @@ -366,7 +362,6 @@ msgstr "" "un get() posterior no se bloquee." #: ../Doc/library/queue.rst:230 -#, fuzzy msgid "" "Return ``True`` if the queue is empty, ``False`` otherwise. If empty() " "returns ``False`` it doesn't guarantee that a subsequent call to get() will " diff --git a/library/re.po b/library/re.po index ed6ef6f262..3f42a1d9d9 100644 --- a/library/re.po +++ b/library/re.po @@ -208,10 +208,10 @@ msgid "" "For example, the expression ``(?:a{6})*`` matches any multiple of six " "``'a'`` characters." msgstr "" -"Los operadores de repetición o cuantificadores (``*``, ``+``, ``?``, ``{m,n}``, etc.) " -"no pueden ser anidados directamente. Esto evita la ambigüedad con el sufijo " -"modificador no codicioso ``?``, y con otros modificadores en " -"otras implementaciones. Para aplicar una segunda repetición a una repetición " +"Los operadores de repetición o cuantificadores (``*``, ``+``, ``?``, ``{m,n}" +"``, etc.) no pueden ser anidados directamente. Esto evita la ambigüedad con " +"el sufijo modificador no codicioso ``?``, y con otros modificadores en otras " +"implementaciones. Para aplicar una segunda repetición a una repetición " "interna, se pueden usar paréntesis. Por ejemplo, la expresión ``(?:a{6})*`` " "coincide con cualquier múltiplo de seis caracteres ``'a'``." @@ -358,14 +358,14 @@ msgstr "" "permiten retroceder cuando la expresión que le sigue no coincide. Estos se " "conocen como cuantificadores :dfn:`possessive`. Por ejemplo, ``a*a`` " "coincidirá con ``'aaaa'`` porque la ``a*`` coincidirá con los 4 ``'a'``\\ s, " -"pero, cuando se encuentra la ``'a'`` final, la expresión retrocede de " -"modo que al final la ``a*`` termina coincidiendo con 3 ``'a'``\\ s total, y " -"la cuarta ``'a'`` coincide con la final ``'a'``. Sin embargo, cuando " -"``a*+a`` se usa para que coincida con ``'aaaa'``, el ``a*+`` coincidirá con " -"los 4 ``'a'``, pero cuando el ``'a'`` final no encuentra más caracteres para " -"coincidir, la expresión no puede retroceder y, por lo tanto, no " -"coincidirá. ``x*+``, ``x++`` and ``x?+`` son equivalentes a ``(?>x*)``, ``(?" -">x+)`` and ``(?>x?)`` correspondientemente." +"pero, cuando se encuentra la ``'a'`` final, la expresión retrocede de modo " +"que al final la ``a*`` termina coincidiendo con 3 ``'a'``\\ s total, y la " +"cuarta ``'a'`` coincide con la final ``'a'``. Sin embargo, cuando ``a*+a`` " +"se usa para que coincida con ``'aaaa'``, el ``a*+`` coincidirá con los 4 " +"``'a'``, pero cuando el ``'a'`` final no encuentra más caracteres para " +"coincidir, la expresión no puede retroceder y, por lo tanto, no coincidirá. " +"``x*+``, ``x++`` and ``x?+`` son equivalentes a ``(?>x*)``, ``(?>x+)`` and " +"``(?>x?)`` correspondientemente." #: ../Doc/library/re.rst:187 msgid "``{m}``" @@ -782,12 +782,12 @@ msgstr "" "separada, y si tiene éxito, continúa coincidiendo con el resto del patrón " "que la sigue. Si el patrón posterior no coincide, la pila solo se puede " "desenrollar a un punto *antes* del ``(?>...)`` Porque una vez que salió, la " -"expresión, conocida como :dfn:`grupo atomico `, ha desechado todos los puntos de pila " -"dentro de sí misma. Por lo tanto, ``(?>.*).`` nunca coincidiría con nada " -"porque primero el ``.*`` coincidiría con todos los caracteres posibles, " -"luego, al no tener nada que igualar, el ``.`` final no coincidiría. Dado que " -"no hay puntos de pila guardados en el Grupo Atómico, y no hay ningún punto " -"de pila antes de él, toda la expresión no coincidiría." +"expresión, conocida como :dfn:`grupo atomico `, ha desechado " +"todos los puntos de pila dentro de sí misma. Por lo tanto, ``(?>.*).`` nunca " +"coincidiría con nada porque primero el ``.*`` coincidiría con todos los " +"caracteres posibles, luego, al no tener nada que igualar, el ``.`` final no " +"coincidiría. Dado que no hay puntos de pila guardados en el Grupo Atómico, y " +"no hay ningún punto de pila antes de él, toda la expresión no coincidiría." #: ../Doc/library/re.rst:424 msgid "``(?P...)``" @@ -869,8 +869,8 @@ msgid "" "In :class:`bytes` patterns, group *name* can only contain bytes in the ASCII " "range (``b'\\x00'``-``b'\\x7f'``)." msgstr "" -"En patrones de tipo :class:`bytes`, el nombre del grupo *name* solo puede contener " -"bytes en el rango ASCII (``b'\\x00'``-``b'\\x7f'``)." +"En patrones de tipo :class:`bytes`, el nombre del grupo *name* solo puede " +"contener bytes en el rango ASCII (``b'\\x00'``-``b'\\x7f'``)." #: ../Doc/library/re.rst:430 msgid "``(?P=name)``" @@ -1006,9 +1006,9 @@ msgid "" "Group *id* can only contain ASCII digits. In :class:`bytes` patterns, group " "*name* can only contain bytes in the ASCII range (``b'\\x00'``-``b'\\x7f'``)." msgstr "" -"El *id* del grupo solo puede contener dígitos ASCII. En patrones de " -"tipo :class:`bytes`, el *name* del grupo solo puede contener bytes " -"en el rango ASCII (``b'\\x00'``-``b'\\x7f'``)." +"El *id* del grupo solo puede contener dígitos ASCII. En patrones de tipo :" +"class:`bytes`, el *name* del grupo solo puede contener bytes en el rango " +"ASCII (``b'\\x00'``-``b'\\x7f'``)." #: ../Doc/library/re.rst:506 msgid "" @@ -1208,8 +1208,9 @@ msgid "" "const:`ASCII` flag is used, only ``[a-zA-Z0-9_]`` is matched." msgstr "" "Coincide con los caracteres de palabras Unicode; esto incluye los caracteres " -"alfanuméricos (como se define por :meth:`str.isalnum`) así como el guión bajo " -"(``_``). Si se utiliza la bandera :const:`ASCII`, sólo coincide con ``[a-zA-Z0-9_]``." +"alfanuméricos (como se define por :meth:`str.isalnum`) así como el guión " +"bajo (``_``). Si se utiliza la bandera :const:`ASCII`, sólo coincide con " +"``[a-zA-Z0-9_]``." #: ../Doc/library/re.rst:604 msgid "" @@ -1254,8 +1255,8 @@ msgid "" "string literals are also accepted by the regular expression parser::" msgstr "" "La mayoría de las :ref:`secuencias de escape ` soportadas " -"por los literales de cadena de Python también son aceptadas por el analizador " -"de expresiones regulares::" +"por los literales de cadena de Python también son aceptadas por el " +"analizador de expresiones regulares::" #: ../Doc/library/re.rst:644 msgid "" @@ -1482,9 +1483,9 @@ msgid "" msgstr "" "Indica que no se aplica ninguna bandera, el valor es ``0``. Esta bandera " "puede ser utilizada como valor predeterminado para un argumento de palabra " -"clave de función o como un valor que será condicionalmente combinado " -"con otras banderas usando el operador binario OR. Ejemplo de uso como " -"valor predeterminado::" +"clave de función o como un valor que será condicionalmente combinado con " +"otras banderas usando el operador binario OR. Ejemplo de uso como valor " +"predeterminado::" #: ../Doc/library/re.rst:779 msgid "" @@ -1503,13 +1504,15 @@ msgid "" "include Unicode characters in matches. Since Python 3, Unicode characters " "are matched by default." msgstr "" -"En Python 2, esta bandera hacía que :ref:`secuencias especiales ` " -"incluyeran caracteres Unicode en las coincidencias. Desde Python 3, los caracteres " -"Unicode se coinciden por defecto." +"En Python 2, esta bandera hacía que :ref:`secuencias especiales ` incluyeran caracteres Unicode en las coincidencias. Desde Python " +"3, los caracteres Unicode se coinciden por defecto." #: ../Doc/library/re.rst:791 msgid "See :const:`A` for restricting matching on ASCII characters instead." -msgstr "Ver :const:`A` para restringir la coincidencia a caracteres ASCII en su lugar." +msgstr "" +"Ver :const:`A` para restringir la coincidencia a caracteres ASCII en su " +"lugar." #: ../Doc/library/re.rst:793 msgid "This flag is only kept for backward compatibility." @@ -1613,9 +1616,9 @@ msgid "" "pattern; note that this is different from finding a zero-length match at " "some point in the string." msgstr "" -"Explora la cadena de caracteres *string* en busca de la primera ubicación donde el " -"patrón *pattern* de la expresión regular produce una coincidencia, y " -"retorna un :class:`~re.Match` correspondiente. Retorna ``None`` si ninguna " +"Explora la cadena de caracteres *string* en busca de la primera ubicación " +"donde el patrón *pattern* de la expresión regular produce una coincidencia, " +"y retorna un :class:`~re.Match` correspondiente. Retorna ``None`` si ninguna " "posición en la cadena coincide con el patrón; nota que esto es diferente a " "encontrar una coincidencia de longitud cero en algún punto de la cadena." @@ -1626,8 +1629,8 @@ msgid "" "``None`` if the string does not match the pattern; note that this is " "different from a zero-length match." msgstr "" -"Si cero o más caracteres al principio de la cadena *string* coinciden con " -"el patrón *pattern* de la expresión regular, retorna un :class:`~re.Match` " +"Si cero o más caracteres al principio de la cadena *string* coinciden con el " +"patrón *pattern* de la expresión regular, retorna un :class:`~re.Match` " "correspondiente. Retorna ``None`` si la cadena no coincide con el patrón; " "notar que esto es diferente de una coincidencia de longitud cero." @@ -1654,10 +1657,10 @@ msgid "" "corresponding :class:`~re.Match`. Return ``None`` if the string does not " "match the pattern; note that this is different from a zero-length match." msgstr "" -"Si toda la cadena *string* coincide con el patrón *pattern* de la " -"expresión regular, retorna un :class:`~re.Match` correspondiente. Retorna " -"``None`` si la cadena no coincide con el patrón; notar que esto es diferente " -"de una coincidencia de longitud cero." +"Si toda la cadena *string* coincide con el patrón *pattern* de la expresión " +"regular, retorna un :class:`~re.Match` correspondiente. Retorna ``None`` si " +"la cadena no coincide con el patrón; notar que esto es diferente de una " +"coincidencia de longitud cero." #: ../Doc/library/re.rst:889 msgid "" @@ -1752,10 +1755,10 @@ msgid "" "scanned left-to-right, and matches are returned in the order found. Empty " "matches are included in the result." msgstr "" -"Retorna un :term:`iterador ` que produce objetos :class:`~re.Match` sobre " -"todas las coincidencias no superpuestas para el patrón de RE *pattern* en la " -"*string*. La *string* es examinada de izquierda a derecha, y las " -"coincidencias son retornadas en el orden en que se encuentran. Las " +"Retorna un :term:`iterador ` que produce objetos :class:`~re." +"Match` sobre todas las coincidencias no superpuestas para el patrón de RE " +"*pattern* en la *string*. La *string* es examinada de izquierda a derecha, y " +"las coincidencias son retornadas en el orden en que se encuentran. Las " "coincidencias vacías se incluyen en el resultado." #: ../Doc/library/re.rst:966 @@ -1869,9 +1872,9 @@ msgid "" "strings, group *name* can only contain bytes in the ASCII range " "(``b'\\x00'``-``b'\\x7f'``)." msgstr "" -"El *id* del grupo solo puede contener dígitos ASCII. En las cadenas de reemplazo " -":class:`bytes`, el nombre del grupo *name* solo puede contener bytes en el rango ASCII " -"(``b'\\x00'``-``b'\\x7f'``)." +"El *id* del grupo solo puede contener dígitos ASCII. En las cadenas de " +"reemplazo :class:`bytes`, el nombre del grupo *name* solo puede contener " +"bytes en el rango ASCII (``b'\\x00'``-``b'\\x7f'``)." #: ../Doc/library/re.rst:1041 msgid "" @@ -1977,8 +1980,8 @@ msgid "" ":py:class:`re.Pattern` supports ``[]`` to indicate a Unicode (str) or bytes " "pattern. See :ref:`types-genericalias`." msgstr "" -":py:class:`re.Pattern` soporta ``[]`` para indicar un patrón Unicode (str) o de bytes. " -"Ver :ref:`types-genericalias`." +":py:class:`re.Pattern` soporta ``[]`` para indicar un patrón Unicode (str) o " +"de bytes. Ver :ref:`types-genericalias`." #: ../Doc/library/re.rst:1140 msgid "" @@ -1988,10 +1991,10 @@ msgid "" "this is different from finding a zero-length match at some point in the " "string." msgstr "" -"Escanea a través de la cadena *string* buscando la primera ubicación " -"donde esta expresión regular produce una coincidencia, y retorna un :class:" -"`~re.Match` correspondiente. Retorna ``None`` si ninguna posición en la " -"cadena coincide con el patrón; notar que esto es diferente a encontrar una " +"Escanea a través de la cadena *string* buscando la primera ubicación donde " +"esta expresión regular produce una coincidencia, y retorna un :class:`~re." +"Match` correspondiente. Retorna ``None`` si ninguna posición en la cadena " +"coincide con el patrón; notar que esto es diferente a encontrar una " "coincidencia de longitud cero en algún punto de la cadena." #: ../Doc/library/re.rst:1145 @@ -2031,10 +2034,10 @@ msgid "" "the string does not match the pattern; note that this is different from a " "zero-length match." msgstr "" -"Si cero o más caracteres en el comienzo *beginning* de la cadena " -"*string* coinciden con esta expresión regular, retorna un :class:`~re.Match` " -"correspondiente. Retorna ``None`` si la cadena no coincide con el patrón; notar " -"que esto es diferente de una coincidencia de longitud cero." +"Si cero o más caracteres en el comienzo *beginning* de la cadena *string* " +"coinciden con esta expresión regular, retorna un :class:`~re.Match` " +"correspondiente. Retorna ``None`` si la cadena no coincide con el patrón; " +"notar que esto es diferente de una coincidencia de longitud cero." #: ../Doc/library/re.rst:1171 ../Doc/library/re.rst:1189 msgid "" @@ -2059,10 +2062,10 @@ msgid "" "corresponding :class:`~re.Match`. Return ``None`` if the string does not " "match the pattern; note that this is different from a zero-length match." msgstr "" -"Si toda la cadena *string* coincide con esta expresión regular, " -"retorna un :class:`~re.Match` correspondiente. Retorna ``None`` si la " -"cadena no coincide con el patrón; notar que esto es diferente de una " -"coincidencia de longitud cero." +"Si toda la cadena *string* coincide con esta expresión regular, retorna un :" +"class:`~re.Match` correspondiente. Retorna ``None`` si la cadena no " +"coincide con el patrón; notar que esto es diferente de una coincidencia de " +"longitud cero." #: ../Doc/library/re.rst:1203 msgid "Identical to the :func:`split` function, using the compiled pattern." @@ -2158,8 +2161,8 @@ msgid "" ":py:class:`re.Match` supports ``[]`` to indicate a Unicode (str) or bytes " "match. See :ref:`types-genericalias`." msgstr "" -":py:class:`re.Match` soporta ``[]`` para indicar una coincidencia Unicode (str) o de bytes. " -"Ver :ref:`types-genericalias`." +":py:class:`re.Match` soporta ``[]`` para indicar una coincidencia Unicode " +"(str) o de bytes. Ver :ref:`types-genericalias`." #: ../Doc/library/re.rst:1283 msgid "" @@ -2559,11 +2562,14 @@ msgstr "search() vs. match()" #: ../Doc/library/re.rst:1591 msgid "" "Python offers different primitive operations based on regular expressions:" -msgstr "Python ofrece diferentes operaciones primitivas basadas en expresiones regulares:" +msgstr "" +"Python ofrece diferentes operaciones primitivas basadas en expresiones " +"regulares:" #: ../Doc/library/re.rst:1593 msgid ":func:`re.match` checks for a match only at the beginning of the string" -msgstr ":func:`re.match` verifica una coincidencia solo al principio de la cadena" +msgstr "" +":func:`re.match` verifica una coincidencia solo al principio de la cadena" #: ../Doc/library/re.rst:1594 msgid "" @@ -2575,7 +2581,8 @@ msgstr "" #: ../Doc/library/re.rst:1596 msgid ":func:`re.fullmatch` checks for entire string to be a match" -msgstr ":func:`re.fullmatch` verifica si la cadena completa es una coincidencia" +msgstr "" +":func:`re.fullmatch` verifica si la cadena completa es una coincidencia" #: ../Doc/library/re.rst:1608 msgid "" @@ -2697,12 +2704,12 @@ msgid "" "writer wanted to find all of the adverbs *and their positions* in some text, " "they would use :func:`finditer` in the following manner::" msgstr "" -"Si se desea obtener más información sobre todas las coincidencias de un patrón en " -"lugar del texto coincidente, :func:`finditer` es útil ya que proporciona :" -"class:`~re.Match` objetos en lugar de cadenas. " -"Continuando con el ejemplo anterior, si un escritor quisiera encontrar todos " -"los adverbios *y sus posiciones* en algún texto, usaría :func:`finditer` de " -"la siguiente manera::" +"Si se desea obtener más información sobre todas las coincidencias de un " +"patrón en lugar del texto coincidente, :func:`finditer` es útil ya que " +"proporciona :class:`~re.Match` objetos en lugar de cadenas. Continuando con " +"el ejemplo anterior, si un escritor quisiera encontrar todos los adverbios " +"*y sus posiciones* en algún texto, usaría :func:`finditer` de la siguiente " +"manera::" #: ../Doc/library/re.rst:1736 msgid "Raw String Notation" @@ -2810,7 +2817,7 @@ msgstr "$ (dólar)" #: ../Doc/library/re.rst:123 msgid "* (asterisk)" -msgstr * (asterisco)" +msgstr "* (asterisco)" #: ../Doc/library/re.rst:130 msgid "+ (plus)" diff --git a/library/secrets.po b/library/secrets.po index 773c1f69f3..db316fb4f8 100644 --- a/library/secrets.po +++ b/library/secrets.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-08-04 21:52+0200\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-06 22:36+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/secrets.rst:2 msgid ":mod:`secrets` --- Generate secure random numbers for managing secrets" @@ -79,9 +80,10 @@ msgstr "" "SystemRandom` para más detalles." #: ../Doc/library/secrets.rst:47 -#, fuzzy msgid "Return a randomly chosen element from a non-empty sequence." -msgstr "Retorna un elemento aleatorio de una secuencia no vacía." +msgstr "" +"Retorna un elemento elegido aleatoriamente a partir de una secuencia no " +"vacía." #: ../Doc/library/secrets.rst:51 msgid "Return a random int in the range [0, *n*)." @@ -193,7 +195,6 @@ msgid "Other functions" msgstr "Otras funciones" #: ../Doc/library/secrets.rst:131 -#, fuzzy msgid "" "Return ``True`` if strings or :term:`bytes-like objects ` " "*a* and *b* are equal, otherwise ``False``, using a \"constant-time " @@ -201,10 +202,11 @@ msgid "" "lesson-in-timing-attacks/>`_. See :func:`hmac.compare_digest` for additional " "details." msgstr "" -"Retorna ``True`` si las cadenas de caracteres *a* y *b* son iguales, de lo " -"contrario, ``False``, de forma tal que se reduzca el riesgo de `ataques de " -"análisis temporal `_. Ver :" -"func:`hmac.compare_digest`` para detalles adicionales." +"Retorna ``True`` si las cadenas de caracteres o :term:`objetos tipo-bytes " +"` *a* y *b* son iguales, de lo contrario ``False``, " +"usando una \"comparación de tiempo constante\" para reducir el riesgo de " +"`ataques de análisis temporal `_. Ver :func:`hmac.compare_digest`` para detalles adicionales." #: ../Doc/library/secrets.rst:140 msgid "Recipes and best practices" @@ -223,7 +225,6 @@ msgid "Generate an eight-character alphanumeric password:" msgstr "Generar una contraseña alfanumérica de ocho caracteres:" #: ../Doc/library/secrets.rst:157 -#, fuzzy msgid "" "Applications should not `store passwords in a recoverable format `_, whether plain text or " diff --git a/library/security_warnings.po b/library/security_warnings.po index 30ff000496..9e53698c1a 100644 --- a/library/security_warnings.po +++ b/library/security_warnings.po @@ -9,15 +9,16 @@ msgstr "" "Project-Id-Version: Python en Español 3.10\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2022-10-31 09:53+0100\n" -"Last-Translator: \n" -"Language: es_ES\n" +"PO-Revision-Date: 2023-11-06 22:03+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_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.4\n" #: ../Doc/library/security_warnings.rst:6 msgid "Security Considerations" @@ -51,14 +52,14 @@ msgstr "" "bloqueados conocidos `" #: ../Doc/library/security_warnings.rst:16 -#, fuzzy msgid "" ":mod:`http.server` is not suitable for production use, only implementing " "basic security checks. See the :ref:`security considerations `." msgstr "" ":mod:`http.server` no se recomienda para producción. Sólo implementa " -"controles de seguridad básicos" +"controles de seguridad básicos. Consulte las :ref:`consideraciones de " +"seguridad `." #: ../Doc/library/security_warnings.rst:18 msgid "" @@ -144,6 +145,5 @@ msgstr "" "actual, el directorio del script o un string vacío." #: ../Doc/library/security_warnings.rst:3 -#, fuzzy msgid "security considerations" -msgstr "Consideraciones de seguridad" +msgstr "security considerations" diff --git a/library/selectors.po b/library/selectors.po index 5a1e0623ad..56c96048e8 100644 --- a/library/selectors.po +++ b/library/selectors.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: 2022-11-27 20:02-0300\n" -"Last-Translator: Alfonso Areiza Guerra \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-06 22:02+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/selectors.rst:2 msgid ":mod:`selectors` --- High-level I/O multiplexing" @@ -92,9 +93,8 @@ msgid "Low-level I/O multiplexing module." msgstr "Módulo de multiplexación de E/S de bajo nivel." #: ../Doc/includes/wasm-notavail.rst:3 -#, fuzzy msgid ":ref:`Availability `: not Emscripten, not WASI." -msgstr ":ref:`Disponibilidad `: ni Emscripten, ni WASI." +msgstr ":ref:`Disponibilidad `: no Emscripten, no WASI." #: ../Doc/includes/wasm-notavail.rst:5 msgid "" @@ -250,14 +250,13 @@ msgstr "" "datos adjuntos." #: ../Doc/library/selectors.rst:135 -#, fuzzy msgid "" "This is equivalent to ``BaseSelector.unregister(fileobj)`` followed by " "``BaseSelector.register(fileobj, events, data)``, except that it can be " "implemented more efficiently." msgstr "" -"Esto es equivalente a :meth:`BaseSelector.unregister(fileobj)` seguido de :" -"meth:`BaseSelector.register(fileobj, events, data)`, excepto que se puede " +"Esto es equivalente a `BaseSelector.unregister(fileobj)` seguido de " +"`BaseSelector.register(fileobj, events, data)`, excepto que se puede " "implementar de manera más eficiente." #: ../Doc/library/selectors.rst:139 diff --git a/library/signal.po b/library/signal.po index 4d9211924f..3362c8472e 100644 --- a/library/signal.po +++ b/library/signal.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-08-18 10:12+0800\n" +"PO-Revision-Date: 2024-10-27 19:03-0400\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.13.0\n" +"X-Generator: Poedit 3.5\n" #: ../Doc/library/signal.rst:2 msgid ":mod:`signal` --- Set handlers for asynchronous events" @@ -27,7 +28,7 @@ msgstr ":mod:`signal` --- Establece gestores para eventos asíncronos" #: ../Doc/library/signal.rst:7 msgid "**Source code:** :source:`Lib/signal.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/signal.py`" #: ../Doc/library/signal.rst:11 msgid "This module provides mechanisms to use signal handlers in Python." @@ -164,7 +165,6 @@ msgid "Module contents" msgstr "Contenidos del módulo" #: ../Doc/library/signal.rst:75 -#, fuzzy msgid "" "signal (SIG*), handler (:const:`SIG_DFL`, :const:`SIG_IGN`) and sigmask (:" "const:`SIG_BLOCK`, :const:`SIG_UNBLOCK`, :const:`SIG_SETMASK`) related " @@ -174,24 +174,24 @@ msgid "" "`sigwait` functions return human-readable :class:`enums ` as :" "class:`Signals` objects." msgstr "" -"señal (SIG*), gestor (:const:`SIG_DFL`, :const:`SIG_IGN`) y 'sigmask' (:" -"const:`SIG_BLOCK`, :const:`SIG_UNBLOCK`, :const:`SIG_SETMASK`) las clases " -"relacionadas abajo se cambian en las funciones :class:`enums `. :func:`getsignal`, :func:`pthread_sigmask`, :func:`sigpending` y :" -"func:`sigwait` que retornan :class:`enums ` que pueden ser " -"leídas por humanos." +"Las constantes relacionadas con señal (SIG*), gestor (:const:`SIG_DFL`, :" +"const:`SIG_IGN`) y sigmask (:const:`SIG_BLOCK`, :const:`SIG_UNBLOCK`, :const:" +"`SIG_SETMASK`) enumeradas a continuación fueron convertidas en :class:`enums " +"` (:class:`Signals`, :class:`Handlers` y :class:`Sigmasks`, " +"respectivamente). Las funciones :func:`getsignal`, :func:`pthread_sigmask`, :" +"func:`sigpending` y :func:`sigwait` devuelven :class:`enums ` " +"legibles por humanos como objetos :class:`Signals`." #: ../Doc/library/signal.rst:85 -#, fuzzy msgid "The signal module defines three enums:" -msgstr "El módulo :mod:`signal` define una excepción:" +msgstr "El módulo signal define tres enums:" #: ../Doc/library/signal.rst:89 msgid "" ":class:`enum.IntEnum` collection of SIG* constants and the CTRL_* constants." msgstr "" ":class:`enum.IntEnum` colección de constantes SIG* y colección de constantes " -"CTRL_*" +"CTRL_*." #: ../Doc/library/signal.rst:95 msgid "" @@ -224,14 +224,12 @@ msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilidad `: Unix." #: ../Doc/library/signal.rst:105 ../Doc/library/signal.rst:471 -#, fuzzy msgid "" "See the man page :manpage:`sigprocmask(2)` and :manpage:`pthread_sigmask(3)` " "for further information." msgstr "" -":ref:`Disponibilidd `: Unix. Consulte la página de manual :" -"manpage:`sigprocmask(2)` y :manpage:`pthread_sigmask(3)` para obtener más " -"información." +"Consulta la página del manual :manpage:`sigprocmask(2)` y :manpage:" +"`pthread_sigmask(3)` para obtener más información." #: ../Doc/library/signal.rst:111 msgid "The variables defined in the :mod:`signal` module are:" @@ -351,18 +349,16 @@ msgstr "" "esta sólo puede ser lanzada en el espacio de usuario." #: ../Doc/library/signal.rst:215 -#, fuzzy msgid ":ref:`Availability `: Linux." -msgstr ":ref:`Disponibilidad `: Unix." +msgstr ":ref:`Disponibilidad `: Linux." #: ../Doc/library/signal.rst:217 -#, fuzzy msgid "" "On architectures where the signal is available. See the man page :manpage:" "`signal(7)` for further information." msgstr "" -":ref:`Disponibilidad `: Unix. Consulte la página man :manpage:" -"`signal(2)` para obtener más información." +"En arquitecturas donde la señal está disponible. Consulta la página del " +"manual :manpage:`signal(7)` para obtener más información." #: ../Doc/library/signal.rst:224 msgid "Termination signal." @@ -524,11 +520,10 @@ msgstr "" "valor de retorno es cero, no hay ninguna alarma programada actualmente." #: ../Doc/library/signal.rst:351 -#, fuzzy msgid "See the man page :manpage:`alarm(2)` for further information." msgstr "" -":ref:`Disponibilidad `: Unix. Consulte la página de manual :" -"manpage:`alarm(2)` para obtener más información." +"Consulta la página del manual :manpage:`alarm(2)` para obtener más " +"información." #: ../Doc/library/signal.rst:356 msgid "" @@ -549,15 +544,14 @@ msgstr "" "instaló desde Python." #: ../Doc/library/signal.rst:367 -#, fuzzy msgid "" "Returns the description of signal *signalnum*, such as \"Interrupt\" for :" "const:`SIGINT`. Returns :const:`None` if *signalnum* has no description. " "Raises :exc:`ValueError` if *signalnum* is invalid." msgstr "" -"Retorna la descripción del sistema de la señal *signalnum*, como " -"\"Interrupción\", \"Fallo de segmentación\", etc. Retorna :const:`None` si " -"no se reconoce la señal." +"Retorna la descripción de la señal *signalnum*, como \"Interrupt\" para :" +"const:`SIGINT`. Retorna :const:`None` si *signalnum* no tiene descripción. " +"Lanza :exc:`ValueError` si *signalnum* no es válido." #: ../Doc/library/signal.rst:376 msgid "" @@ -578,11 +572,10 @@ msgstr "" "llamará al manejador apropiado. No retorna nada." #: ../Doc/library/signal.rst:390 -#, fuzzy msgid "See the man page :manpage:`signal(2)` for further information." msgstr "" -":ref:`Disponibilidad `: Unix. Consulte la página man :manpage:" -"`signal(2)` para obtener más información." +"Consulta la página del manual :manpage:`signal(2)` para obtener más " +"información." #: ../Doc/library/signal.rst:392 msgid "" @@ -614,9 +607,8 @@ msgstr "" "Para más información vea la página de manual :manpage:`pidfd_send_signal(2)`." #: ../Doc/library/signal.rst:412 -#, fuzzy msgid ":ref:`Availability `: Linux >= 5.1" -msgstr ":ref:`Disponibilidad `: Linux 5.1+" +msgstr ":ref:`Disponibilidad `: Linux >= 5.1" #: ../Doc/library/signal.rst:418 msgid "" @@ -665,11 +657,10 @@ msgstr "" "argumentos ``thread_id``, ``signalnum``." #: ../Doc/library/signal.rst:437 -#, fuzzy msgid "See the man page :manpage:`pthread_kill(3)` for further information." msgstr "" -":ref:`Disponibilidad `: Unix. Consulte la página del manual :" -"manpage:`pthread_kill(3)` para obtener más información." +"Consulta la página del manual :manpage:`pthread_kill(3)` para obtener más " +"información." #: ../Doc/library/signal.rst:439 msgid "See also :func:`os.kill`." @@ -892,14 +883,12 @@ msgstr "" "interrumpirán. No retorna nada." #: ../Doc/library/signal.rst:561 -#, fuzzy msgid "See the man page :manpage:`siginterrupt(3)` for further information." msgstr "" -":ref:`Disponibilidad `: Unix. Consulte la página man :manpage:" -"`siginterrupt(3)` para obtener más información." +"Consulta la página del manual :manpage:`siginterrupt(3)` para obtener más " +"información." #: ../Doc/library/signal.rst:563 -#, fuzzy msgid "" "Note that installing a signal handler with :func:`signal` will reset the " "restart behaviour to interruptible by implicitly calling :c:func:`!" @@ -907,7 +896,7 @@ msgid "" msgstr "" "Tenga en cuenta que la instalación de un gestor de señales con :func:" "`signal` restablecerá el comportamiento de reinicio a interrumpible llamando " -"implícitamente a :c:func:`siginterrupt` con un valor de *flag* verdadero " +"implícitamente a :c:func:`!siginterrupt` con un valor de *flag* verdadero " "para la señal dada." #: ../Doc/library/signal.rst:570 @@ -966,11 +955,10 @@ msgstr "" "bloqueadas). Retorna el conjunto de señales pendientes." #: ../Doc/library/signal.rst:603 -#, fuzzy msgid "See the man page :manpage:`sigpending(2)` for further information." msgstr "" -":ref:`Disponibilidad `: Unix. Consulte la página de manual :" -"manpage:`sigpending(2)` para obtener más información." +"Consulta la página del manual :manpage:`sigpending(2)` para obtener más " +"información." #: ../Doc/library/signal.rst:605 msgid "See also :func:`pause`, :func:`pthread_sigmask` and :func:`sigwait`." @@ -989,11 +977,10 @@ msgstr "" "de señal." #: ../Doc/library/signal.rst:618 -#, fuzzy msgid "See the man page :manpage:`sigwait(3)` for further information." msgstr "" -":ref:`Disponibilidad `: Unix. Consulte la página man :manpage:" -"`sigwait(3)` para obtener más información." +"Consulta la página del manual :manpage:`sigwait(3)` para obtener más " +"información." #: ../Doc/library/signal.rst:620 msgid "" @@ -1034,11 +1021,10 @@ msgstr "" "`si_band`." #: ../Doc/library/signal.rst:644 -#, fuzzy msgid "See the man page :manpage:`sigwaitinfo(2)` for further information." msgstr "" -":ref:`Disponibilidad `: Unix. Consulte la página man :manpage:" -"`sigwaitinfo(2)` para obtener más información." +"Consulta la página del manual :manpage:`sigwaitinfo(2)` para obtener más " +"información." #: ../Doc/library/signal.rst:646 msgid "See also :func:`pause`, :func:`sigwait` and :func:`sigtimedwait`." @@ -1055,23 +1041,21 @@ msgstr "" "pep:`475` para la justificación)." #: ../Doc/library/signal.rst:658 -#, fuzzy msgid "" "Like :func:`sigwaitinfo`, but takes an additional *timeout* argument " "specifying a timeout. If *timeout* is specified as ``0``, a poll is " "performed. Returns :const:`None` if a timeout occurs." msgstr "" -"Como :func:`sigwaitinfo`, pero toma un argumento *timeout* adicional que " -"especifica un tiempo de espera. Si *timeout* se especifica como :const:`0`, " +"Similar a :func:`sigwaitinfo`, pero toma un argumento *timeout* adicional " +"que especifica un tiempo de espera. Si *timeout* se especifica como ``0``, " "se realiza una encuesta. Retorna :const:`None` si se agota el tiempo de " "espera." #: ../Doc/library/signal.rst:664 -#, fuzzy msgid "See the man page :manpage:`sigtimedwait(2)` for further information." msgstr "" -":ref:`Disponibilidad `: Unix. Consulte la página de manual :" -"manpage:`sigtimedwait(2)` para obtener más información." +"Consulta la página del manual :manpage:`sigtimedwait(2)` para obtener más " +"información." #: ../Doc/library/signal.rst:666 msgid "See also :func:`pause`, :func:`sigwait` and :func:`sigwaitinfo`." @@ -1088,9 +1072,8 @@ msgstr "" "una excepción (ver :pep:`475` para la justificación)." #: ../Doc/library/signal.rst:679 -#, fuzzy msgid "Examples" -msgstr "Ejemplo" +msgstr "Ejemplos" #: ../Doc/library/signal.rst:681 msgid "" @@ -1129,22 +1112,20 @@ msgstr "" "siguiente manera:" #: ../Doc/library/signal.rst:734 -#, fuzzy msgid "" "Do not set :const:`SIGPIPE`'s disposition to :const:`SIG_DFL` in order to " "avoid :exc:`BrokenPipeError`. Doing that would cause your program to exit " "unexpectedly whenever any socket connection is interrupted while your " "program is still writing to it." msgstr "" -"No establezca la disposición de :const:`SIGPIPE` a :const:`SIG_DFL` para " -"evitar :exc:`BrokenPipeError`. Si lo hace, su programa se cerrará " -"inesperadamente también cuando se interrumpa cualquier conexión de socket " -"mientras su programa todavía está escribiendo en él." +"No establezcas la disposición de :const:`SIGPIPE` en :const:`SIG_DFL` para " +"evitar :exc:`BrokenPipeError`. Hacerlo causaría que tu programa se cierre " +"inesperadamente siempre que se interrumpa cualquier conexión de socket " +"mientras su programa aún esté escribiendo en él." #: ../Doc/library/signal.rst:743 -#, fuzzy msgid "Note on Signal Handlers and Exceptions" -msgstr "El módulo :mod:`signal` define una excepción:" +msgstr "Nota sobre Manejadores de Señales y Excepciones" #: ../Doc/library/signal.rst:745 msgid "" diff --git a/library/smtplib.po b/library/smtplib.po index d35bf487a1..93fbdc68f6 100644 --- a/library/smtplib.po +++ b/library/smtplib.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: 2022-11-17 12:38-0300\n" +"PO-Revision-Date: 2023-11-17 11:05+0100\n" "Last-Translator: Diego Cristobal Herreros \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.4.1\n" #: ../Doc/library/smtplib.rst:2 msgid ":mod:`smtplib` --- SMTP protocol client" @@ -58,7 +59,6 @@ msgstr "" "para más información." #: ../Doc/library/smtplib.rst:26 -#, fuzzy msgid "" "An :class:`SMTP` instance encapsulates an SMTP connection. It has methods " "that support a full repertoire of SMTP and ESMTP operations. If the optional " @@ -79,22 +79,23 @@ msgid "" msgstr "" "Una instancia :class:`SMTP` encapsula una conexión SMTP. Tiene métodos que " "admiten un repertorio completo de operaciones SMTP y ESMTP. Si se " -"proporcionan los parámetros de puerto y host opcionales, se llama al método " -"SMTP :meth:`connect` con esos parámetros durante la inicialización. Si se " -"especifica, *local_hostname* se utiliza como FQDN del host local en el " -"comando HELO / EHLO. De lo contrario, el nombre de host local se encuentra " +"proporcionan los parámetros de *port* y *host* opcionales, se llama al " +"método SMTP :meth:`connect` con esos parámetros durante la inicialización. " +"Si se especifica, *local_hostname* se utiliza como FQDN del host local en el " +"comando HELO /EHLO. De lo contrario, el nombre de host local se encuentra " "mediante :func:`socket.getfqdn`. Si la llamada :meth:`connect` retorna algo " "que no sea un código de éxito, se lanza un :exc:`SMTPConnectError`. El " "parámetro opcional *timeout* especifica un tiempo de espera en segundos para " "bloquear operaciones como el intento de conexión (si no se especifica, se " "utilizará la configuración de tiempo de espera global predeterminada). Si " "expira el tiempo de espera, se lanza :exc:`TimeoutError`. El parámetro " -"opcional source_address permite la vinculación a alguna dirección de origen " -"específica en una máquina con múltiples interfaces de red y/o algún puerto " -"TCP de origen específico. Se necesita una tupla de 2 (host, puerto), para " -"que el socket se vincule como su dirección de origen antes de conectarse. Si " -"se omite (o si el host o el puerto son ``''`` y / o 0 respectivamente), se " -"utilizará el comportamiento predeterminado del sistema operativo." +"opcional *source_address* permite la vinculación a alguna dirección de " +"origen específica en una máquina con múltiples interfaces de red y/o algún " +"puerto TCP de origen específico. Se necesita una tupla de 2 (host, port), " +"para que el socket se vincule como su dirección de origen antes de " +"conectarse. Si se omite (o si el *host* o el *port* son ``''`` y/o 0 " +"respectivamente), se utilizará el comportamiento predeterminado del sistema " +"operativo." #: ../Doc/library/smtplib.rst:44 msgid "" @@ -137,22 +138,20 @@ msgid "Support for the :keyword:`with` statement was added." msgstr "Se agregó soporte para la sentencia :keyword:`with`." #: ../Doc/library/smtplib.rst:68 -#, fuzzy msgid "*source_address* argument was added." -msgstr "se agrego el argumento source_address." +msgstr "Se agregó el argumento *source_address*." #: ../Doc/library/smtplib.rst:71 msgid "The SMTPUTF8 extension (:rfc:`6531`) is now supported." msgstr "La extensión SMTPUTF8 (:rfc:`6531`) ahora es compatible." #: ../Doc/library/smtplib.rst:74 -#, fuzzy msgid "" "If the *timeout* parameter is set to be zero, it will raise a :class:" "`ValueError` to prevent the creation of a non-blocking socket." msgstr "" -"Si el parámetro *timeout* se mantiene en cero, lanzará un :class:" -"`ValueError` para evitar la creación de un socket no bloqueante" +"Si el parámetro *timeout* se define a cero, lanzará un :class:`ValueError` " +"para evitar la creación de un socket no bloqueado." #: ../Doc/library/smtplib.rst:81 msgid "" @@ -183,12 +182,10 @@ msgid "*context* was added." msgstr "se agregó *contexto*." #: ../Doc/library/smtplib.rst:95 -#, fuzzy msgid "The *source_address* argument was added." -msgstr "se agrego el argumento source_address." +msgstr "Se agregó el argumento *source_address*." #: ../Doc/library/smtplib.rst:98 -#, fuzzy msgid "" "The class now supports hostname check with :attr:`ssl.SSLContext." "check_hostname` and *Server Name Indication* (see :const:`ssl.HAS_SNI`)." @@ -202,15 +199,14 @@ msgid "" "If the *timeout* parameter is set to be zero, it will raise a :class:" "`ValueError` to prevent the creation of a non-blocking socket" msgstr "" -"Si el parámetro *timeout* se mantiene en cero, lanzará un :class:" -"`ValueError` para evitar la creación de un socket no bloqueante" +"Si el parámetro *timeout* se define a cero, lanzará un :class:`ValueError` " +"para evitar la creación de un socket no bloqueado" #: ../Doc/library/smtplib.rst:107 ../Doc/library/smtplib.rst:403 msgid "The deprecated *keyfile* and *certfile* parameters have been removed." -msgstr "" +msgstr "Los parámetros obsoletos *keyfile y *certifile* se han eliminado." #: ../Doc/library/smtplib.rst:113 -#, fuzzy msgid "" "The LMTP protocol, which is very similar to ESMTP, is heavily based on the " "standard SMTP client. It's common to use Unix sockets for LMTP, so our :meth:" @@ -222,8 +218,8 @@ msgstr "" "El protocolo LMTP, que es muy similar a ESMTP, se basa en gran medida en el " "cliente SMTP estándar. Es común usar sockets Unix para LMTP, por lo que " "nuestro método :meth:`connect` debe ser compatible con eso, así como con un " -"servidor host:puerto normal. Los argumentos opcionales local_hostname y " -"source_address tienen el mismo significado que en la clase :class:`SMTP`. " +"servidor host:puerto regular. Los argumentos opcionales *local_hostname* y " +"*source_address* tienen el mismo significado que en la clase :class:`SMTP`. " "Para especificar un socket Unix, debe usar una ruta absoluta para *host*, " "comenzando con '/'." @@ -327,7 +323,7 @@ msgstr "" #: ../Doc/library/smtplib.rst:201 msgid ":rfc:`821` - Simple Mail Transfer Protocol" -msgstr ":rfc:`821` - Simple Mail Transfer Protocol" +msgstr ":rfc:`821` - Protocolo Simple de Transferencia" #: ../Doc/library/smtplib.rst:200 msgid "" @@ -381,8 +377,8 @@ msgid "" "Send a command *cmd* to the server. The optional argument *args* is simply " "concatenated to the command, separated by a space." msgstr "" -"Envíe un comando *cmd* al servidor. El argumento opcional *args* simplemente " -"se concatena al comando, separado por un espacio." +"Envía un comando *cmd* al servidor. El argumento opcional *args* " +"simplemente se concatena con el comando, separado por un espacio." #: ../Doc/library/smtplib.rst:232 msgid "" @@ -627,12 +623,11 @@ msgstr "" "en el elemento ``auth`` de :attr:`esmtp_features`." #: ../Doc/library/smtplib.rst:354 -#, fuzzy msgid "" "*authobject* must be a callable object taking an optional single argument::" msgstr "" -"*authobject* debe ser un objeto invocable que tome un único argumento " -"opcional:" +"*authobject* debe ser un objeto que se pueda invocar y que tome un único " +"argumento opcional::" #: ../Doc/library/smtplib.rst:358 msgid "" @@ -744,7 +739,6 @@ msgstr "" "Python." #: ../Doc/library/smtplib.rst:418 -#, fuzzy msgid "" "The method now supports hostname check with :attr:`SSLContext." "check_hostname` and *Server Name Indicator* (see :const:`~ssl.HAS_SNI`)." @@ -1035,16 +1029,15 @@ msgstr "" #: ../Doc/library/smtplib.rst:11 msgid "SMTP" -msgstr "" +msgstr "SMTP" #: ../Doc/library/smtplib.rst:11 msgid "protocol" -msgstr "" +msgstr "protocolo" #: ../Doc/library/smtplib.rst:11 -#, fuzzy msgid "Simple Mail Transfer Protocol" -msgstr ":rfc:`821` - Simple Mail Transfer Protocol" +msgstr "Protocolo Simple de Transferencia" #~ msgid "" #~ "*keyfile* and *certfile* are a legacy alternative to *context*, and can " diff --git a/library/sndhdr.po b/library/sndhdr.po index cfda5b2c62..c6d54515fa 100644 --- a/library/sndhdr.po +++ b/library/sndhdr.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-11-14 11:58-0300\n" +"PO-Revision-Date: 2024-10-31 20:43-0400\n" "Last-Translator: \n" -"Language: en\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-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/library/sndhdr.rst:2 msgid ":mod:`sndhdr` --- Determine type of sound file" @@ -223,8 +224,8 @@ msgstr "Ejemplo:" #: ../Doc/library/sndhdr.rst:13 msgid "A-LAW" -msgstr "" +msgstr "A-LAW" #: ../Doc/library/sndhdr.rst:13 msgid "u-LAW" -msgstr "" +msgstr "u-LAW" diff --git a/library/socketserver.po b/library/socketserver.po index d7dab53d67..a85f6e5d44 100644 --- a/library/socketserver.po +++ b/library/socketserver.po @@ -38,7 +38,6 @@ msgstr "" "red." #: ../Doc/includes/wasm-notavail.rst:3 -#, fuzzy msgid ":ref:`Availability `: not Emscripten, not WASI." msgstr ":ref:`Disponibilidad `: no Emscripten, no WASI." @@ -175,7 +174,6 @@ msgstr "" "representan servidores síncronos de cuatro tipos:" #: ../Doc/library/socketserver.rst:97 -#, fuzzy msgid "" "Note that :class:`UnixDatagramServer` derives from :class:`UDPServer`, not " "from :class:`UnixStreamServer` --- the only difference between an IP and a " @@ -183,8 +181,7 @@ msgid "" msgstr "" "Tenga en cuenta que :class:`UnixDatagramServer` deriva de :class:" "`UDPServer`, no de :class:`UnixStreamServer` --- la única diferencia entre " -"una IP y un servidor de flujo Unix es la familia de direcciones, que " -"simplemente se repite en ambos Clases de servidor Unix." +"un servidor IP y uno Unix es la familia de direcciones." #: ../Doc/library/socketserver.rst:105 msgid "" @@ -260,6 +257,8 @@ msgid "" "The ``ForkingUnixStreamServer`` and ``ForkingUnixDatagramServer`` classes " "were added." msgstr "" +"Las clases ``ForkingUnixStreamServer`` y ``ForkingUnixDatagramServer`` " +"fueron agregadas." #: ../Doc/library/socketserver.rst:154 msgid "" @@ -327,7 +326,6 @@ msgstr "" "de solicitudes el método :meth:`~BaseRequestHandler.handle`." #: ../Doc/library/socketserver.rst:180 -#, fuzzy msgid "" "Another approach to handling multiple simultaneous requests in an " "environment that supports neither threads nor :func:`~os.fork` (or where " @@ -338,15 +336,14 @@ msgid "" "client can potentially be connected for a long time (if threads or " "subprocesses cannot be used)." msgstr "" -"Otro enfoque para manejar múltiples solicitudes simultáneas en un entorno " +"Otro enfoque para gestionar múltiples solicitudes simultáneas en un entorno " "que no admite subprocesos ni :func:`~os.fork` (o donde estos son demasiado " -"costosos o inapropiados para el servicio) es mantener una tabla explícita de " +"costosos o inadecuados para el servicio) es mantener una tabla explícita de " "solicitudes parcialmente terminadas y utilizar :mod:`selectors` para decidir " "en qué solicitud trabajar a continuación (o si manejar una nueva solicitud " "entrante). Esto es particularmente importante para los servicios de " "transmisión en los que cada cliente puede potencialmente estar conectado " -"durante mucho tiempo (si no se pueden utilizar subprocesos o subprocesos). " -"Consulte :mod:`asyncore` para ver otra forma de gestionar esto." +"durante mucho tiempo (si no se pueden utilizar subprocesos o subprocesos)." #: ../Doc/library/socketserver.rst:193 msgid "Server Objects" @@ -693,7 +690,6 @@ msgstr "" "`setup` lanza una excepción, no se llamará a esta función." #: ../Doc/library/socketserver.rst:434 -#, fuzzy msgid "" "These :class:`BaseRequestHandler` subclasses override the :meth:" "`~BaseRequestHandler.setup` and :meth:`~BaseRequestHandler.finish` methods, " @@ -704,12 +700,14 @@ msgid "" "interface, and :attr:`!wfile` attributes support the :class:`!io." "BufferedIOBase` writable interface." msgstr "" -"Estas subclases :class:`BaseRequestHandler` anulan los métodos :meth:" -"`~BaseRequestHandler.setup` y :meth:`~BaseRequestHandler.finish`, y " -"proporcionan :attr:`self.rfile` y :attr:`self.wfile` atributos. Los " +"Estas subclases de :class:`BaseRequestHandler` sobrescriben los métodos :" +"meth:`~BaseRequestHandler.setup` y :meth:`~BaseRequestHandler.finish`, y " +"proporcionan los atributos :attr:`self.rfile` y :attr:`self.wfile`. Los " "atributos :attr:`self.rfile` y :attr:`self.wfile` se pueden leer o escribir, " -"respectivamente, para obtener los datos de la solicitud o retornar los datos " -"al cliente." +"respectivamente, para obtener los datos de la solicitud o devolver datos al " +"cliente. Los atributos :attr:`!rfile` son compatibles con la interfaz de " +"lectura de :class:`io.BufferedIOBase`, y los atributos :attr:`!wfile` son " +"compatibles con la interfaz de escritura de :class:`!io.BufferedIOBase`." #: ../Doc/library/socketserver.rst:443 msgid "" diff --git a/library/stat.po b/library/stat.po index e29198e408..aa6241d6bb 100644 --- a/library/stat.po +++ b/library/stat.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-10-28 08:29-0400\n" -"Last-Translator: \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-06 22:37+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/stat.rst:2 msgid ":mod:`stat` --- Interpreting :func:`~os.stat` results" @@ -30,7 +31,6 @@ msgid "**Source code:** :source:`Lib/stat.py`" msgstr "**Código fuente:** :source:`Lib/stat.py`" #: ../Doc/library/stat.rst:14 -#, fuzzy msgid "" "The :mod:`stat` module defines constants and functions for interpreting the " "results of :func:`os.stat`, :func:`os.fstat` and :func:`os.lstat` (if they " @@ -40,7 +40,7 @@ msgstr "" "El módulo :mod:`stat` define constantes y funciones para interpretar los " "resultados de :func:`os.stat`, :func:`os.fstat` y :func:`os.lstat` (si " "existen). Para obtener los detalles completos sobre las llamadas a :c:func:" -"`stat`, :c:func:`fstat` y :c:func:`lstat`, consulta la documentación de tu " +"`stat`, :c:func:`!fstat` y :c:func:`!lstat`, consulta la documentación de tu " "sistema." #: ../Doc/library/stat.rst:19 @@ -120,16 +120,14 @@ msgstr "" "soporten)." #: ../Doc/library/stat.rst:91 -#, fuzzy msgid "" "Return the portion of the file's mode that describes the file type (used by " "the :func:`!S_IS\\*` functions above)." msgstr "" "Retorna la porción del modo del archivo que describe el tipo de archivo " -"(usado por las funciones :func:`S_IS\\*` de más arriba)." +"(usado por las funciones :func:`!S_IS\\*` de más arriba)." #: ../Doc/library/stat.rst:94 -#, fuzzy msgid "" "Normally, you would use the :func:`!os.path.is\\*` functions for testing the " "type of a file; the functions here are useful when you are doing multiple " @@ -138,8 +136,8 @@ msgid "" "information about a file that isn't handled by :mod:`os.path`, like the " "tests for block and character devices." msgstr "" -"Normalmente se usarían las funciones :func:`os.path.is\\*` para comprobar el " -"tipo de un archivo; estas funciones de aquí son útiles cuando se hacen " +"Normalmente se usarían las funciones :func:`!os.path.is\\*` para comprobar " +"el tipo de un archivo; estas funciones de aquí son útiles cuando se hacen " "múltiples comprobaciones sobre el mismo archivo y se desea evitar la " "sobrecarga causada por la llamada al sistema :c:func:`stat` en cada " "comprobación. También son útiles cuando se comprueba información de un " diff --git a/library/statistics.po b/library/statistics.po index 4edec1e982..eb8ea989d8 100644 --- a/library/statistics.po +++ b/library/statistics.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: 2023-01-20 10:50-0300\n" -"Last-Translator: Francisco Mora \n" -"Language: es_ES\n" +"PO-Revision-Date: 2024-10-24 23:58+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_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/library/statistics.rst:2 msgid ":mod:`statistics` --- Mathematical statistics functions" @@ -38,7 +39,6 @@ msgstr "" "datos numéricos (de tipo :class:`~numbers.Real`)." #: ../Doc/library/statistics.rst:24 -#, fuzzy msgid "" "The module is not intended to be a competitor to third-party libraries such " "as `NumPy `_, `SciPy `_, or " @@ -47,10 +47,10 @@ msgid "" "graphing and scientific calculators." msgstr "" "Este módulo no pretende ser competidor o sustituto de bibliotecas de " -"terceros como `NumPy `_ o `SciPy `_, ni de paquetes completos de software propietario para profesionales " -"como Minitab, SAS o Matlab. Este módulo se ubica a nivel de calculadoras " -"científicas gráficas." +"terceros como `NumPy `_ o `SciPy `_, " +"ni de paquetes completos de software propietario para estadistas " +"profesionales como Minitab, SAS o Matlab. Este módulo se ubica a nivel de " +"calculadoras científicas y gráficas." #: ../Doc/library/statistics.rst:30 msgid "" @@ -116,9 +116,9 @@ msgid ":func:`fmean`" msgstr ":func:`fmean`" #: ../Doc/library/statistics.rst:75 -#, fuzzy msgid "Fast, floating point arithmetic mean, with optional weighting." -msgstr "Media aritmética usando coma flotante, más rápida." +msgstr "" +"Media aritmética rápida usando coma flotante, con ponderación opcional." #: ../Doc/library/statistics.rst:76 msgid ":func:`geometric_mean`" @@ -260,9 +260,8 @@ msgid ":func:`correlation`" msgstr ":func:`correlation`" #: ../Doc/library/statistics.rst:107 -#, fuzzy msgid "Pearson and Spearman's correlation coefficients." -msgstr "Coeficiente de correlación de Pearson para dos variables." +msgstr "Coeficiente de correlación de Pearson y Spearman." #: ../Doc/library/statistics.rst:108 msgid ":func:`linear_regression`" @@ -1002,19 +1001,16 @@ msgstr "" "se lanza :exc:`StatisticsError`." #: ../Doc/library/statistics.rst:653 -#, fuzzy msgid "" "Return the `Pearson's correlation coefficient `_ for two inputs. Pearson's correlation " "coefficient *r* takes values between -1 and +1. It measures the strength and " "direction of a linear relationship." msgstr "" -"Retorna el `coeficiente de correlación de Pearson `_ para dos entradas. El coeficiente de " -"correlación de Pearson *r* toma valores entre -1 y +1. Mide la fuerza y " -"dirección de la relación lineal, donde +1 significa una relación muy fuerte, " -"positiva y lineal, -1 una relación muy fuerte, negativa y lineal, y 0 una " -"relación no lineal." +"Retorna el `coeficiente de correlación de Pearson `_ para dos entradas. El " +"coeficiente de correlación de Pearson *r* toma valores entre -1 y +1. Mide " +"la fuerza y dirección de la relación lineal." #: ../Doc/library/statistics.rst:659 #, python-format @@ -1025,6 +1021,12 @@ msgid "" "equal values receive the same rank. The resulting coefficient measures the " "strength of a monotonic relationship." msgstr "" +"Si *method* es \"*ranked*\", calcula `El coeficiente de correlación de " +"Spearman `_ para dos entradas. Los datos " +"se sustituyen por rangos. Los empates se promedian para que valores iguales " +"reciban el mismo rango. El coeficiente resultante mide la fuerza de una " +"relación monótona." #: ../Doc/library/statistics.rst:665 msgid "" @@ -1032,6 +1034,9 @@ msgid "" "continuous data that doesn't meet the linear proportion requirement for " "Pearson's correlation coefficient." msgstr "" +"El coeficiente de correlación de Spearman es apropiado para datos ordinales " +"o para datos continuos que no cumplen el requisito de proporción lineal para " +"el coeficiente de correlación de Pearson." #: ../Doc/library/statistics.rst:669 msgid "" @@ -1046,10 +1051,12 @@ msgid "" "Example with `Kepler's laws of planetary motion `_:" msgstr "" +"Ejemplo con 'Leyes de Kepler sobre el movimiento planetario `_ or " @@ -1313,9 +1316,9 @@ msgid "" msgstr "" "Calcula la función de distribución acumulada inversa, también conocida como " "`función cuantil `_ o " -"función `punto porcentual `_. Matemáticamente, se escribe ``x : P(X " -"<= x) = p``." +"función `punto porcentual `_. Matemáticamente, se escribe ``x : P(X <= x) = p``." #: ../Doc/library/statistics.rst:859 msgid "" @@ -1405,11 +1408,8 @@ msgid ":class:`NormalDist` Examples and Recipes" msgstr "Ejemplos de uso de :class:`NormalDist`" #: ../Doc/library/statistics.rst:927 -#, fuzzy msgid "Classic probability problems" -msgstr "" -":class:`NormalDist` permite resolver fácilmente problemas probabilísticos " -"clásicos." +msgstr "Problemas de probabilidad clásicos" #: ../Doc/library/statistics.rst:929 msgid ":class:`NormalDist` readily solves classic probability problems." @@ -1442,7 +1442,7 @@ msgstr "" #: ../Doc/library/statistics.rst:956 msgid "Monte Carlo inputs for simulations" -msgstr "" +msgstr "Entradas de Monte Carlo para simulaciones" #: ../Doc/library/statistics.rst:958 msgid "" @@ -1457,17 +1457,16 @@ msgstr "" #: ../Doc/library/statistics.rst:975 msgid "Approximating binomial distributions" -msgstr "" +msgstr "Aproximación de la distribución binomial" #: ../Doc/library/statistics.rst:977 -#, fuzzy msgid "" "Normal distributions can be used to approximate `Binomial distributions " "`_ when the sample " "size is large and when the probability of a successful trial is near 50%." msgstr "" "Las distribuciones normales se pueden utilizar para aproximar " -"`distribuciones binomiales `_ cuando el tamaño de la muestra es grande y la " "probabilidad de un ensayo exitoso es cercana al 50%." @@ -1490,7 +1489,7 @@ msgstr "" #: ../Doc/library/statistics.rst:1016 msgid "Naive bayesian classifier" -msgstr "" +msgstr "Clasificador bayesiano ingenuo" #: ../Doc/library/statistics.rst:1018 msgid "Normal distributions commonly arise in machine learning problems." @@ -1499,7 +1498,6 @@ msgstr "" "automático." #: ../Doc/library/statistics.rst:1020 -#, fuzzy msgid "" "Wikipedia has a `nice example of a Naive Bayesian Classifier `_. The " @@ -1507,8 +1505,8 @@ msgid "" "distributed features including height, weight, and foot size." msgstr "" "Wikipedia detalla un buen ejemplo de un `clasificador bayesiano ingenuo " -"`_. El " -"objetivo es predecir el género de una persona a partir de características " +"`_. El reto " +"consiste en predecir el género de una persona a partir de características " "físicas que siguen una distribución normal, como la altura, el peso y el " "tamaño del pie." @@ -1554,13 +1552,15 @@ msgstr "" #: ../Doc/library/statistics.rst:1073 msgid "Kernel density estimation" -msgstr "" +msgstr "Estimación de la densidad del núcleo" #: ../Doc/library/statistics.rst:1075 msgid "" "It is possible to estimate a continuous probability density function from a " "fixed number of discrete samples." msgstr "" +"Es posible estimar una función de densidad de probabilidad continua a partir " +"de un número fijo de muestras discretas." #: ../Doc/library/statistics.rst:1078 msgid "" @@ -1571,6 +1571,12 @@ msgid "" "smoothing is controlled by a single parameter, ``h``, representing the " "variance of the kernel function." msgstr "" +"La idea básica es suavizar los datos utilizando `una función de núcleo como " +"una distribución normal, una distribución triangular o una distribución " +"uniforme `_. El grado de suavizado " +"se controla mediante un único parámetro, ``h``, que representa la varianza " +"de la función del núcleo." #: ../Doc/library/statistics.rst:1097 msgid "" @@ -1579,10 +1585,17 @@ msgid "" "recipe to generate and plot a probability density function estimated from a " "small sample:" msgstr "" +"'Wikipedia tiene un ejemplo '_ donde podemos usar la " +"fórmula ``kde_normal()`` para generar y trazar una función de densidad de " +"probabilidad estimada a partir de una muestra pequeña:" #: ../Doc/library/statistics.rst:1109 msgid "The points in ``xarr`` and ``yarr`` can be used to make a PDF plot:" msgstr "" +"Los puntos de ``xarr`` y ``yarr`` pueden utilizarse para hacer una gráfica " +"de la función de densidad de probabilidad:" msgid "Scatter plot of the estimated probability density function." msgstr "" +"Diagrama de dispersión de la función de densidad de probabilidad estimada." diff --git a/library/stdtypes.po b/library/stdtypes.po index a23e18d9b8..77afcbce6a 100755 --- a/library/stdtypes.po +++ b/library/stdtypes.po @@ -1612,7 +1612,7 @@ msgstr "``s[i:j:k]``" #: ../Doc/library/stdtypes.rst:981 msgid "slice of *s* from *i* to *j* with step *k*" -msgstr "el segmento de *s* desde *i* hasta *j*, con paso *j*" +msgstr "el segmento de *s* desde *i* hasta *j*, con paso *k*" #: ../Doc/library/stdtypes.rst:981 msgid "(3)(5)" diff --git a/library/string.po b/library/string.po index 804a9b400e..2bf4b523a2 100644 --- a/library/string.po +++ b/library/string.po @@ -11,8 +11,8 @@ 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: 2023-10-13 11:53-0300\n" -"Last-Translator: Alfonso Areiza Guerra \n" +"PO-Revision-Date: 2023-11-06 22:01+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" "Language: es\n" "MIME-Version: 1.0\n" @@ -372,7 +372,6 @@ msgid "See also the :ref:`formatspec` section." msgstr "Véase también la sección :ref:`formatspec`." #: ../Doc/library/string.rst:228 -#, fuzzy msgid "" "The *field_name* itself begins with an *arg_name* that is either a number or " "a keyword. If it's a number, it refers to a positional argument, and if " @@ -391,17 +390,18 @@ msgstr "" "El *field_name* (nombre de campo) comienza con un *arg_name* que es un " "número o una palabra clave. Si es un número, hace referencia a un argumento " "posicional y, si es una palabra clave, hace referencia a un argumento de " -"palabra clave. Si los *arg_names* numéricos en una cadena de caracteres de " -"formato son una secuencia como 0, 1, 2, ..., todos pueden ser omitidos (no " -"sólo algunos) y los números 0, 1, 2, ... se insertarán automáticamente en " -"ese orden. Dado que *arg_name* no está delimitado por comillas, no es " -"posible especificar claves de diccionario arbitrarias (por ejemplo, las " -"cadenas ``'10'`` or ``':-]'``) dentro de una cadena de caracteres de " -"formato. El *arg_name* puede ir seguido de cualquier número de expresiones " -"de índice o atributo. Una expresión con forma ``'.name'`` selecciona el " -"atributo con nombre mediante :func:`getattr`, mientras que una expresión con " -"forma ``'[index]'`` realiza una búsqueda de índice mediante :func:" -"`__getitem__`." +"palabra clave. Un *arg_name* se trata como un número si una llamada a :meth:" +"`str.isdecimal` sobre la cadena retorna verdadero. Si los *arg_names* " +"numéricos en una cadena de caracteres de formato son una secuencia como 0, " +"1, 2, ..., todos pueden ser omitidos (no sólo algunos) y los números 0, 1, " +"2, ... se insertarán automáticamente en ese orden. Dado que *arg_name* no " +"está delimitado por comillas, no es posible especificar claves de " +"diccionario arbitrarias (por ejemplo, las cadenas ``'10'`` or ``':-]'``) " +"dentro de una cadena de caracteres de formato. El *arg_name* puede ir " +"seguido de cualquier número de expresiones de índice o atributo. Una " +"expresión con forma ``'.name'`` selecciona el atributo con nombre mediante :" +"func:`getattr`, mientras que una expresión con forma ``'[index]'`` realiza " +"una búsqueda de índice mediante :meth:`~object.__getitem__`." #: ../Doc/library/string.rst:242 msgid "" @@ -424,7 +424,6 @@ msgid "Some simple format string examples::" msgstr "Algunos ejemplos simples de cadena de formato:" #: ../Doc/library/string.rst:258 -#, fuzzy msgid "" "The *conversion* field causes a type coercion before formatting. Normally, " "the job of formatting a value is done by the :meth:`~object.__format__` " @@ -434,11 +433,12 @@ msgid "" "`~object.__format__`, the normal formatting logic is bypassed." msgstr "" "El campo *conversion* causa una coerción de tipo antes del formateo. " -"Normalmente, el formateo es hecho el método :meth:`__format__` del valor " -"mismo. Sin embargo, en algunos es deseable forzar el tipo a ser formateado " -"como una cadena de caracteres, sobrescribiendo su propia definición de " -"formateo. Cuando se convierte el valor a una cadena de caracteres antes de " -"llamar al método :meth:`__format__`, la lógica normal de formateo es evitada." +"Normalmente, el formateo es hecho el método :meth:`~object.__format__` del " +"valor mismo. Sin embargo, en algunos es deseable forzar el tipo a ser " +"formateado como una cadena de caracteres, sobrescribiendo su propia " +"definición de formateo. Cuando se convierte el valor a una cadena de " +"caracteres antes de llamar al método :meth:`~object.__format__`, la lógica " +"normal de formateo es evitada." #: ../Doc/library/string.rst:265 msgid "" diff --git a/library/symtable.po b/library/symtable.po index 92665ce9d6..536691c997 100644 --- a/library/symtable.po +++ b/library/symtable.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: 2022-10-29 11:17-0500\n" +"PO-Revision-Date: 2024-10-31 02:44-0600\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.5\n" #: ../Doc/library/symtable.rst:2 msgid ":mod:`symtable` --- Access to the compiler's symbol tables" @@ -70,12 +71,18 @@ msgid "" "alias'``, and ``'type parameter'``. The latter four refer to different " "flavors of :ref:`annotation scopes `." msgstr "" +"Retorna el tipo de la tabla de símbolos. Los valores posibles son " +"``'class'``, ``'module'``, ``'function'``, ``'annotation'``, ``'TypeVar " +"bound'``, ``'type alias'`` y ``'type parameter'``. Los cuatro últimos se " +"refieren a diferentes tipos de :ref:`annotation-scopes`." #: ../Doc/library/symtable.rst:45 msgid "" "Added ``'annotation'``, ``'TypeVar bound'``, ``'type alias'``, and ``'type " "parameter'`` as possible return values." msgstr "" +"Se agregaron ``'annotation'``, ``'TypeVar bound'``, ``'type alias'`` y " +"``'type parameter'`` como posibles valores de retorno." #: ../Doc/library/symtable.rst:51 msgid "Return the table's identifier." @@ -91,6 +98,14 @@ msgid "" "alias. For type alias scopes, it is the name of the type alias. For :class:" "`~typing.TypeVar` bound scopes, it is the name of the ``TypeVar``." msgstr "" +"Retorna el nombre de la tabla. Es el nombre de la clase si la tabla es para " +"una clase, el nombre de la función si la tabla es para una función o " +"``'top`` si la tabla es global (:meth:`get_type` retorna ``'module``). Para " +"ámbitos de parámetros de tipo (que se utilizan para clases genéricas, " +"funciones y alias de tipo), es el nombre de la clase, función o alias de " +"tipo subyacente. Para ámbitos de alias de tipo, es el nombre del alias de " +"tipo. Para ámbitos enlazados :class:`~typing.TypeVar`, es el nombre del " +"``TypeVar``." #: ../Doc/library/symtable.rst:65 msgid "Return the number of the first line in the block this table represents." diff --git a/library/telnetlib.po b/library/telnetlib.po index 392123cd3d..decef2509e 100644 --- a/library/telnetlib.po +++ b/library/telnetlib.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: 2023-02-05 21:26-0600\n" +"PO-Revision-Date: 2024-11-03 07:56-0400\n" "Last-Translator: Cristián Maureira-Fredes \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.13.0\n" +"X-Generator: Poedit 3.5\n" #: ../Doc/library/telnetlib.rst:2 msgid ":mod:`telnetlib` --- Telnet client" @@ -70,7 +71,6 @@ msgstr "" "Begin)." #: ../Doc/includes/wasm-notavail.rst:3 -#, fuzzy msgid ":ref:`Availability `: not Emscripten, not WASI." msgstr ":ref:`Disponibilidad `: no Emscripten, no WASI." @@ -399,9 +399,8 @@ msgstr "Un ejemplo sencillo que ilustra el uso típico::" #: ../Doc/library/telnetlib.rst:12 msgid "protocol" -msgstr "" +msgstr "protocol" #: ../Doc/library/telnetlib.rst:12 -#, fuzzy msgid "Telnet" -msgstr "Objetos telnet" +msgstr "Telnet" diff --git a/library/tempfile.po b/library/tempfile.po index 4f3c3564cf..658c64abf9 100644 --- a/library/tempfile.po +++ b/library/tempfile.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: 2023-02-28 10:45-0300\n" -"Last-Translator: Alfonso Areiza Guerrao \n" -"Language: es\n" +"PO-Revision-Date: 2024-05-15 21:27+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.13.0\n" +"X-Generator: Poedit 3.4.2\n" #: ../Doc/library/tempfile.rst:2 msgid ":mod:`tempfile` --- Generate temporary files and directories" @@ -133,13 +134,12 @@ msgstr "" "atributo :attr:`!file` es el objeto de archivo verdadero subyacente." #: ../Doc/library/tempfile.rst:62 -#, fuzzy msgid "" "The :py:const:`os.O_TMPFILE` flag is used if it is available and works " "(Linux-specific, requires Linux kernel 3.11 or later)." msgstr "" -"El indicador :py:data:`os.O_TMPFILE` se usa si está disponible (específico " -"de Linux, requiere el kernel de Linux 3.11 o posterior)." +"El indicador :py:const:`os.O_TMPFILE` se usa si está disponible y funciona " +"(específico de Linux, requiere el kernel de Linux 3.11 o posterior)." #: ../Doc/library/tempfile.rst:65 msgid "" @@ -159,9 +159,8 @@ msgstr "" "argumento ``fullpath``." #: ../Doc/library/tempfile.rst:72 -#, fuzzy msgid "The :py:const:`os.O_TMPFILE` flag is now used if available." -msgstr "El indicador :py:data:`os.O_TMPFILE` ahora se usa si está disponible." +msgstr "El indicador :py:const:`os.O_TMPFILE` ahora se usa si está disponible." #: ../Doc/library/tempfile.rst:74 ../Doc/library/tempfile.rst:139 #: ../Doc/library/tempfile.rst:167 @@ -173,12 +172,16 @@ msgid "" "This function operates exactly as :func:`TemporaryFile` does, except the " "following differences:" msgstr "" +"Esta función opera exactamente como :func:`TemporaryFile`, excepto por las " +"siguientes diferencias:" #: ../Doc/library/tempfile.rst:83 msgid "" "This function returns a file that is guaranteed to have a visible name in " "the file system." msgstr "" +"Esta función retorna un archivo que tiene garantizado un nombre visible en " +"el sistema de archivos." #: ../Doc/library/tempfile.rst:85 msgid "" @@ -186,6 +189,9 @@ msgid "" "with *delete* and *delete_on_close* parameters that determine whether and " "how the named file should be automatically deleted." msgstr "" +"Para administrar el archivo nombrado, amplía los parámetros de :func:" +"`TemporaryFile` con los parámetros *delete* y *delete_on_close* que " +"determinan si el archivo nombrado debe eliminarse automáticamente y cómo." #: ../Doc/library/tempfile.rst:89 msgid "" @@ -197,6 +203,13 @@ msgid "" "`TemporaryFile`, the directory entry does not get unlinked immediately after " "the file creation." msgstr "" +"El objeto retornado es siempre un :term:`file-like object` cuyo atributo :" +"attr:`!file` es el objeto de archivo verdadero subyacente. Este :term:`file-" +"like object` se puede usar en una instrucción :keyword:`with`, al igual que " +"un archivo normal. El nombre del archivo temporal se puede recuperar del " +"atributo :attr:`name` del objeto similar al archivo retornado. En Unix, a " +"diferencia de :func:`TemporaryFile`, la entrada del directorio no se " +"desvincula inmediatamente después de la creación del archivo." #: ../Doc/library/tempfile.rst:97 msgid "" @@ -207,6 +220,13 @@ msgid "" "not always guaranteed in this case (see :meth:`object.__del__`). If *delete* " "is false, the value of *delete_on_close* is ignored." msgstr "" +"Si *delete* es true (el valor predeterminado) y *delete_on_close* es true " +"(el valor predeterminado), el archivo se elimina tan pronto como se cierra. " +"Si *delete* es true y *delete_on_close* es false, el archivo se elimina solo " +"al salir del administrador de contexto, o bien cuando se finaliza el :term:" +"`file-like object`. La eliminación no siempre está garantizada en este caso " +"(ver :meth:`object.__del__`). Si *delete* es false, se omite el valor de " +"*delete_on_close*." #: ../Doc/library/tempfile.rst:104 msgid "" @@ -217,32 +237,45 @@ msgid "" "false. The latter approach is recommended as it provides assistance in " "automatic cleaning of the temporary file upon the context manager exit." msgstr "" +"Por lo tanto, para usar el nombre del archivo temporal para volver a abrir " +"el archivo después de cerrarlo, asegúrese de no eliminar el archivo al " +"cerrarlo (establezca el parámetro *delete* en false) o, en caso de que el " +"archivo temporal se cree en una declaración :keyword:`with`, establezca el " +"parámetro *delete_on_close* en false. Se recomienda este último enfoque, ya " +"que proporciona asistencia en la limpieza automática del archivo temporal al " +"salir del administrador de contexto." #: ../Doc/library/tempfile.rst:111 msgid "" "Opening the temporary file again by its name while it is still open works as " "follows:" msgstr "" +"Abrir el archivo temporal de nuevo por su nombre mientras todavía está " +"abierto funciona de la siguiente forma:" #: ../Doc/library/tempfile.rst:114 msgid "On POSIX the file can always be opened again." -msgstr "" +msgstr "En POSIX el archivo siempre se puede volver a abrir." #: ../Doc/library/tempfile.rst:115 msgid "" "On Windows, make sure that at least one of the following conditions are " "fulfilled:" msgstr "" +"En Windows, asegúrese de que se cumple al menos una de las siguientes " +"condiciones:" #: ../Doc/library/tempfile.rst:118 msgid "*delete* is false" -msgstr "" +msgstr "*delete* es falso" #: ../Doc/library/tempfile.rst:119 msgid "" "additional open shares delete access (e.g. by calling :func:`os.open` with " "the flag ``O_TEMPORARY``)" msgstr "" +"la función de apertura adicional comparte el acceso de eliminación (por " +"ejemplo, llamando :func:`os.open` con la opción ``O_TEMPORARY``)" #: ../Doc/library/tempfile.rst:121 msgid "" @@ -252,6 +285,12 @@ msgid "" "func:`os.unlink` call on context manager exit will fail with a :exc:" "`PermissionError`." msgstr "" +"*delete* es verdadero, pero *delete_on_close* es falso. Tenga en cuenta que, " +"en este caso, las funciones de apertura adicional que no comparten el acceso " +"de eliminación (por ejemplo, creado mediante el tipo integrado :func:`open`) " +"deben cerrarse antes de salir del gestor de contexto, sino la llamada :func:" +"`os.unlink` al salir del gestor de contexto fallará con un :exc:" +"`PermissionError`." #: ../Doc/library/tempfile.rst:127 msgid "" @@ -262,6 +301,12 @@ msgid "" "requested by the open, which fails immediately if the requested access is " "not granted." msgstr "" +"En Windows, si *delete_on_close* es falso y el archivo se crea en un " +"directorio para el que el usuario carece de acceso de eliminación, la " +"llamada :func:`os.unlink` al salir del gestor de contexto fallará con un :" +"exc:`PermissionError`. Esto no puede suceder cuando *delete_on_close* es " +"true, porque el acceso de eliminación es solicitado por la función de " +"apertura, que falla inmediatamente si no se concede el acceso solicitado." #: ../Doc/library/tempfile.rst:134 msgid "" @@ -272,9 +317,8 @@ msgstr "" "eliminar automáticamente ningún NamedTemporaryFiles que se haya creado." #: ../Doc/library/tempfile.rst:142 -#, fuzzy msgid "Added *delete_on_close* parameter." -msgstr "Se agregó el parámetro *errors*." +msgstr "Se agregó el parámetro *delete_on_close*." #: ../Doc/library/tempfile.rst:148 msgid "" @@ -383,6 +427,11 @@ msgid "" "during debugging or when you need your cleanup behavior to be conditional " "based on other logic." msgstr "" +"El parámetro *delete* se puede utilizar para deshabilitar la limpieza del " +"árbol de directorios al salir del contexto. Aunque puede parecer inusual que " +"un administrador de contexto deshabilite la acción realizada al salir del " +"contexto, puede ser útil durante la depuración o cuando necesita que el " +"comportamiento de limpieza sea condicional en función de otra lógica." #: ../Doc/library/tempfile.rst:204 ../Doc/library/tempfile.rst:284 msgid "" @@ -397,9 +446,8 @@ msgid "Added *ignore_cleanup_errors* parameter." msgstr "Se agregó el parámetro *ignore_cleanup_errors*." #: ../Doc/library/tempfile.rst:211 -#, fuzzy msgid "Added the *delete* parameter." -msgstr "Se agregó el parámetro *errors*." +msgstr "Se agregó el parámetro *delete*." #: ../Doc/library/tempfile.rst:217 msgid "" @@ -546,11 +594,12 @@ msgid ":func:`mkdtemp` returns the absolute pathname of the new directory." msgstr ":func:`mkdtemp` retorna la ruta absoluta del nuevo directorio." #: ../Doc/library/tempfile.rst:295 -#, fuzzy msgid "" ":func:`mkdtemp` now always returns an absolute path, even if *dir* is " "relative." -msgstr ":func:`mkdtemp` retorna la ruta absoluta del nuevo directorio." +msgstr "" +":func:`mkdtemp` no siempre retorna la ruta absoluta del nuevo directorio, " +"incluso si *dir* es relativo." #: ../Doc/library/tempfile.rst:301 msgid "" @@ -755,38 +804,12 @@ msgstr "" #: ../Doc/library/tempfile.rst:11 msgid "temporary" -msgstr "" +msgstr "temporary" #: ../Doc/library/tempfile.rst:11 msgid "file name" -msgstr "" +msgstr "file name" #: ../Doc/library/tempfile.rst:11 msgid "file" -msgstr "" - -#~ msgid "" -#~ "This function operates exactly as :func:`TemporaryFile` does, except that " -#~ "the file is guaranteed to have a visible name in the file system (on " -#~ "Unix, the directory entry is not unlinked). That name can be retrieved " -#~ "from the :attr:`name` attribute of the returned file-like object. " -#~ "Whether the name can be used to open the file a second time, while the " -#~ "named temporary file is still open, varies across platforms (it can be so " -#~ "used on Unix; it cannot on Windows). If *delete* is true (the default), " -#~ "the file is deleted as soon as it is closed. The returned object is " -#~ "always a file-like object whose :attr:`!file` attribute is the underlying " -#~ "true file object. This file-like object can be used in a :keyword:`with` " -#~ "statement, just like a normal file." -#~ msgstr "" -#~ "Esta función opera exactamente como lo hace :func:`TemporaryFile`, " -#~ "excepto que el archivo está garantizado para tener un nombre visible en " -#~ "el sistema de archivos (en Unix, el directorio de entrada no está " -#~ "desvinculado). El nombre se puede obtener del atributo :attr:`name` del " -#~ "objeto tipo archivo retornado. Aunque el nombre se puede usar para abrir " -#~ "el archivo por segunda vez, mientras el archivo temporal nombrado sigue " -#~ "abierto, esto varía según las plataformas (se puede usar en Unix; no se " -#~ "puede en Windows). Si *delete* es verdadero (por defecto), el archivo se " -#~ "elimina tan pronto como se cierra. El objeto retornado siempre es un " -#~ "objeto similar a un archivo cuyo atributo :attr:`!file` es el objeto de " -#~ "archivo verdadero subyacente. Este objeto similar a un archivo se puede " -#~ "usar con una sentencia :keyword:`with`, al igual que un archivo normal." +msgstr "file" diff --git a/library/termios.po b/library/termios.po index 17e47a25bb..6c739f2e75 100644 --- a/library/termios.po +++ b/library/termios.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2020-10-27 19:25-0500\n" +"PO-Revision-Date: 2024-11-07 23:03-0400\n" "Last-Translator: \n" -"Language: es_CO\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_CO\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/library/termios.rst:2 msgid ":mod:`termios` --- POSIX style tty control" @@ -190,12 +191,12 @@ msgstr "" #: ../Doc/library/termios.rst:8 msgid "POSIX" -msgstr "" +msgstr "POSIX" #: ../Doc/library/termios.rst:8 msgid "I/O control" -msgstr "" +msgstr "I/O control" #: ../Doc/library/termios.rst:8 msgid "tty" -msgstr "" +msgstr "tty" diff --git a/library/threading.po b/library/threading.po index cf8d4bfc5d..af2e254948 100644 --- a/library/threading.po +++ b/library/threading.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: 2022-10-26 23:05+0100\n" -"Last-Translator: Claudia Millan \n" -"Language: es_419\n" +"PO-Revision-Date: 2024-02-21 10:02-0300\n" +"Last-Translator: zodac \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.4.2\n" #: ../Doc/library/threading.rst:2 msgid ":mod:`threading` --- Thread-based parallelism" @@ -30,13 +31,12 @@ msgid "**Source code:** :source:`Lib/threading.py`" msgstr "**Código fuente:** :source:`Lib/threading.py`" #: ../Doc/library/threading.rst:11 -#, fuzzy msgid "" "This module constructs higher-level threading interfaces on top of the lower " "level :mod:`_thread` module." msgstr "" "Este módulo construye interfaces de hilado de alto nivel sobre el módulo de " -"más bajo nivel :mod:`_thread`. Ver también el módulo :mod:`queue`." +"más bajo nivel :mod:`_thread`." #: ../Doc/library/threading.rst:14 msgid "This module used to be optional, it is now always available." @@ -49,7 +49,7 @@ msgid "" "the calling thread, while still being able to retrieve their results when " "needed." msgstr "" -":class:`concurrent.futures.ThreadPoolExecutor` ofrece una interfaz a mas " +":class:`concurrent.futures.ThreadPoolExecutor` ofrece una interfaz a mas " "alto nivel para enviar tareas a un hilo en segundo plano sin bloquear la " "ejecución del hilo de llamada, pero manteniendo la capacidad de recuperar " "sus resultados cuando sea necesario." @@ -59,7 +59,7 @@ msgid "" ":mod:`queue` provides a thread-safe interface for exchanging data between " "running threads." msgstr "" -":mod:`queue` proporciona una interfaz segura a nivel de hilos intercambiar " +":mod:`queue` proporciona una interfaz segura a nivel de hilos intercambiar " "datos entre hilos en ejecución." #: ../Doc/library/threading.rst:26 @@ -102,10 +102,8 @@ msgstr "" "varias tareas vinculadas a E/S simultáneamente." #: ../Doc/includes/wasm-notavail.rst:3 -#, fuzzy msgid ":ref:`Availability `: not Emscripten, not WASI." -msgstr "" -":ref:`Disponibilidad `: Windows, sistemas con hilos POSIX." +msgstr ":ref:`Disponibilidad `: no Emscripten, no WASI." #: ../Doc/includes/wasm-notavail.rst:5 msgid "" @@ -113,8 +111,8 @@ msgid "" "``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " "more information." msgstr "" -"Este módulo no funciona o no está disponible en las plataformas WebAssembly " -"``wasm32-emscripten`` y ``wasm32-wasi``. Consulte :ref:`wasm-availability` " +"Este módulo no funciona o no está disponible en las plataformas WebAssembly " +"``wasm32-emscripten`` y ``wasm32-wasi``. Consulte :ref:`wasm-availability` " "para obtener más información." #: ../Doc/library/threading.rst:50 @@ -159,7 +157,7 @@ msgstr "El argumento *args* posee los siguientes atributos:" #: ../Doc/library/threading.rst:77 msgid "*exc_type*: Exception type." -msgstr "*exc_type*: Tipo de la excepción." +msgstr "*exc_type*: Tipo de excepción." #: ../Doc/library/threading.rst:78 msgid "*exc_value*: Exception value, can be ``None``." @@ -213,7 +211,7 @@ msgid "" "object which is being finalized. Avoid storing *thread* after the custom " "hook completes to avoid resurrecting objects." msgstr "" -"Guarda *thread* usando un *hook* personalizado puede resucitarlo si se " +"Guardando *thread* usando un *hook* personalizado puede resucitarlo si se " "asigna a un objeto que esté siendo finalizado. Evítese que *thread* sea " "almacenado después de que el *hook* personalizado se complete para evitar " "resucitar objetos." @@ -254,19 +252,18 @@ msgid "" "after which the value may be recycled by the OS)." msgstr "" "Retorna la ID de Hilo (*Thread ID*) nativo integral del hilo actual asignado " -"por el *kernel*. Ella es un entero distinto de cero. Su valor puede " -"utilizarse para identificar de forma única a este hilo en particular a " -"través de todo el sistema (hasta que el hilo termine, luego de lo cual el " -"valor puede ser reciclado por el SO)." +"por el kernel. Este es un entero distinto de cero. Su valor puede utilizarse " +"para identificar de forma única a este hilo en particular a través de todo " +"el sistema (hasta que el hilo termine, luego de lo cual el valor puede ser " +"reciclado por el SO)." #: ../Doc/library/threading.rst:130 ../Doc/library/threading.rst:465 -#, fuzzy msgid "" ":ref:`Availability `: Windows, FreeBSD, Linux, macOS, OpenBSD, " "NetBSD, AIX, DragonFlyBSD." msgstr "" ":ref:`Disponibilidad `: Windows, FreeBSD, Linux, macOS, " -"OpenBSD, NetBSD, AIX." +"OpenBSD, NetBSD, AIX, DragonFlyBSD." #: ../Doc/library/threading.rst:137 msgid "" @@ -297,29 +294,26 @@ msgid "" "module. The *func* will be passed to :func:`sys.settrace` for each thread, " "before its :meth:`~Thread.run` method is called." msgstr "" -"Establece una función de traza para todos los hilos iniciados desde el " +"Establece una función de seguimiento para todos los hilos iniciados desde el " "módulo :mod:`threading` . La *func* se pasará a :func:`sys.settrace` por " -"cada hilo, antes de que su método :meth:`~Thread.run` sea llamado." +"cada hilo, antes de que su método :meth:`~Thread.run` sea invocado." #: ../Doc/library/threading.rst:163 -#, fuzzy msgid "" "Set a trace function for all threads started from the :mod:`threading` " "module and all Python threads that are currently executing." msgstr "" -"Establece una función de traza para todos los hilos iniciados desde el " -"módulo :mod:`threading` . La *func* se pasará a :func:`sys.settrace` por " -"cada hilo, antes de que su método :meth:`~Thread.run` sea llamado." +"Establece una función de seguimiento para todos los hilos iniciados desde el " +"módulo :mod:`threading` y todos los hilos de Python que se estén ejecutando " +"en ese momento." #: ../Doc/library/threading.rst:166 -#, fuzzy msgid "" "The *func* will be passed to :func:`sys.settrace` for each thread, before " "its :meth:`~Thread.run` method is called." msgstr "" -"Establece una función de traza para todos los hilos iniciados desde el " -"módulo :mod:`threading` . La *func* se pasará a :func:`sys.settrace` por " -"cada hilo, antes de que su método :meth:`~Thread.run` sea llamado." +"La *func* será pasada a :func:`sys.settrace` para cada hilo, antes de que su " +"método :meth:`~Thread.run` sea invocado." #: ../Doc/library/threading.rst:177 msgid "Get the trace function as set by :func:`settrace`." @@ -337,24 +331,21 @@ msgstr "" "cada hilo, antes de que se llame a su método :meth:`~Thread.run`." #: ../Doc/library/threading.rst:192 -#, fuzzy msgid "" "Set a profile function for all threads started from the :mod:`threading` " "module and all Python threads that are currently executing." msgstr "" "Establece una función de perfil para todos los hilos iniciados desde el " -"módulo :mod:`threading`. La *func* se pasará a :func:`sys.setprofile` por " -"cada hilo, antes de que se llame a su método :meth:`~Thread.run`." +"módulo :mod:`threading` y todos los hilos de Python que se estén ejecutando " +"en ese momento." #: ../Doc/library/threading.rst:195 -#, fuzzy msgid "" "The *func* will be passed to :func:`sys.setprofile` for each thread, before " "its :meth:`~Thread.run` method is called." msgstr "" -"Establece una función de perfil para todos los hilos iniciados desde el " -"módulo :mod:`threading`. La *func* se pasará a :func:`sys.setprofile` por " -"cada hilo, antes de que se llame a su método :meth:`~Thread.run`." +"La *func* se pasará a :func:`sys.setprofile` para cada hilo, antes de que se " +"llame a su método :meth:`~Thread.run`." #: ../Doc/library/threading.rst:204 msgid "Get the profiler function as set by :func:`setprofile`." @@ -398,10 +389,8 @@ msgstr "" "específica)" #: ../Doc/library/threading.rst:226 -#, fuzzy msgid ":ref:`Availability `: Windows, pthreads." -msgstr "" -":ref:`Disponibilidad `: Windows, sistemas con hilos POSIX." +msgstr ":ref:`Disponibilidad `: Windows, pthreads." #: ../Doc/library/threading.rst:228 msgid "Unix platforms with POSIX threads support." @@ -441,15 +430,15 @@ msgid "" "stopped, suspended, resumed, or interrupted. The static methods of Java's " "Thread class, when implemented, are mapped to module-level functions." msgstr "" -"El diseño de este módulo está libremente basado en el modelo de *threading* " -"de Java. Sin embargo, donde Java hace de *locks* y variables condicionales " -"el comportamiento básico de cada objeto, éstos son objetos separados en " -"Python. La clase de Python :class:`Thread` soporta un subdominio del " -"comportamiento de la clase *Thread* de Java; actualmente, no hay " -"prioridades, ni grupos de hilos, y los hilos no pueden ser destruidos, " -"detenidos, suspendidos, retomados o interrumpidos. Los métodos estáticos de " -"la clase *Thread* de Java, cuando son implementados, son mapeados a " -"funciones a nivel de módulo." +"El diseño de este módulo está vagamente basado en el modelo de hilos de " +"Java. Sin embargo, donde Java hace que los bloqueos y las variables de " +"condición sean comportamientos básicos de cada objeto, en Python son objetos " +"separados. La clase :class:`Thread` de Python soporta un subconjunto del " +"comportamiento de la clase Thread de Java; actualmente, no hay prioridades, " +"no hay grupos de hilos, y los hilos no pueden ser destruidos, detenidos, " +"suspendidos, reanudados o interrumpidos. Los métodos estáticos de la clase " +"Thread de Java, cuando se implementan, se asignan a funciones de nivel de " +"módulo." #: ../Doc/library/threading.rst:254 msgid "All of the methods described below are executed atomically." @@ -479,20 +468,18 @@ msgid "A class that represents thread-local data." msgstr "Una clase que representa datos locales de hilo." #: ../Doc/library/threading.rst:274 -#, fuzzy msgid "" "For more details and extensive examples, see the documentation string of " "the :mod:`!_threading_local` module: :source:`Lib/_threading_local.py`." msgstr "" "Para más detalles y ejemplos extensivos, véase la documentación del módulo :" -"mod:`_threading_local`." +"mod:`!_threading_local` module: :source:`Lib/_threading_local.py`." #: ../Doc/library/threading.rst:281 msgid "Thread Objects" msgstr "Objetos tipo hilo" #: ../Doc/library/threading.rst:283 -#, fuzzy msgid "" "The :class:`Thread` class represents an activity that is run in a separate " "thread of control. There are two ways to specify the activity: by passing a " @@ -506,8 +493,8 @@ msgstr "" "objeto invocable al constructor, o sobrescribiendo el método :meth:`~Thread." "run` en una subclase. Ningún otro método (a excepción del constructor) " "deberá ser sobrescrito en una subclase. En otras palabras, *solo* " -"sobrescribir los métodos :meth:`~Thread.__init__` y :meth:`~Thread.run` de " -"esta clase." +"sobrescribir los métodos ``__init__()`` y :meth:`~Thread.run` de esta " +"clase." #: ../Doc/library/threading.rst:290 msgid "" @@ -537,9 +524,9 @@ msgid "" "the calling thread until the thread whose :meth:`~Thread.join` method is " "called is terminated." msgstr "" -"Otros hilos pueden llamar al método :meth:`~Thread.join` de un hilo. Esto " -"bloquea el hilo llamador hasta que el hilo cuyo método :meth:`~Thread.join` " -"ha sido llamado termine." +"Otras hilos pueden llamar al método :meth:`~Thread.join`. Esto bloquea el " +"hilo que llama hasta que el hilo cuyo método :meth:`~Hilo.join` es llamado " +"termina." #: ../Doc/library/threading.rst:303 msgid "" @@ -595,7 +582,6 @@ msgstr "" "inicial del programa de Python. No es un hilo demonio." #: ../Doc/library/threading.rst:325 -#, fuzzy msgid "" "There is the possibility that \"dummy thread objects\" are created. These " "are thread objects corresponding to \"alien threads\", which are threads of " @@ -610,8 +596,8 @@ msgstr "" "control iniciados afuera del modulo *threading*, por ejemplo directamente de " "código en C. Los objetos de hilos *dummy* tienen funcionalidad limitada; " "siempre se consideran vivos y demoníacos, y no pueden se les puede aplicar " -"el método :meth:`~Thread.join`. Nunca son eliminados, ya que es imposible " -"detectar la terminación de hilos extranjeros." +"el método :ref:`joined `. Nunca son eliminados, ya que es " +"imposible detectar la terminación de hilos extranjeros." #: ../Doc/library/threading.rst:336 msgid "" @@ -622,13 +608,12 @@ msgstr "" "Los argumentos son:" #: ../Doc/library/threading.rst:339 -#, fuzzy msgid "" "*group* should be ``None``; reserved for future extension when a :class:`!" "ThreadGroup` class is implemented." msgstr "" "*group* debe ser `None`; reservado para una futura extensión cuando se " -"implemente una clase :class:`ThreadGroup`." +"implemente una clase :class:`!ThreadGroup`." #: ../Doc/library/threading.rst:342 msgid "" @@ -651,13 +636,12 @@ msgstr "" "se especifica el argumento *target*." #: ../Doc/library/threading.rst:350 -#, fuzzy msgid "" "*args* is a list or tuple of arguments for the target invocation. Defaults " "to ``()``." msgstr "" -"*args* es la tupla de argumento para la invocación objetivo. Por defecto es " -"``()``." +"*args* es una lista o tupla de argumentos para la invocación de destino. Por " +"defecto es ``()``." #: ../Doc/library/threading.rst:352 msgid "" @@ -742,9 +726,8 @@ msgstr "" "`Thread` podría lograr el mismo efecto." #: ../Doc/library/threading.rst:392 -#, fuzzy msgid "Example::" -msgstr "Por ejemplo:" +msgstr "Ejemplo::" #: ../Doc/library/threading.rst:406 msgid "" @@ -783,9 +766,8 @@ msgstr "" "bloqueará hasta que el hilo termine." #: ../Doc/library/threading.rst:421 -#, fuzzy msgid "A thread can be joined many times." -msgstr "A un hilo se le puede aplicar :meth:`~Thread.join` muchas veces." +msgstr "Un hilo puede unirse varias veces." #: ../Doc/library/threading.rst:423 msgid "" @@ -872,7 +854,6 @@ msgstr "" "los hilos vivos." #: ../Doc/library/threading.rst:479 -#, fuzzy msgid "" "A boolean value indicating whether this thread is a daemon thread (``True``) " "or not (``False``). This must be set before :meth:`~Thread.start` is " @@ -1010,7 +991,6 @@ msgstr "" "``Falso`` inmediatamente; de otro modo, cierra el *lock* y retorna ``True``." #: ../Doc/library/threading.rst:550 -#, fuzzy msgid "" "When invoked with the floating-point *timeout* argument set to a positive " "value, block for at most the number of seconds specified by *timeout* and as " @@ -1022,7 +1002,7 @@ msgstr "" "valor positivo, bloquea por a lo más el número de segundos especificado en " "*timeout* y mientras el *lock* no pueda ser adquirido. Un argumento " "*timeout* de \"-1\" especifica una espera ilimitada. No está admitido " -"especificar un *timeout* cuando *blocking* es falso." +"especificar un *timeout* cuando *blocking* es ``False``." #: ../Doc/library/threading.rst:556 msgid "" @@ -1073,9 +1053,8 @@ msgid "There is no return value." msgstr "No hay valor de retorno." #: ../Doc/library/threading.rst:582 -#, fuzzy msgid "Return ``True`` if the lock is acquired." -msgstr "Retorna *true* si el *lock* ha sido adquirido." +msgstr "Retorna ``True`` si se adquiere el bloqueo." #: ../Doc/library/threading.rst:589 msgid "RLock Objects" @@ -1154,37 +1133,35 @@ msgid "" "waiting until the lock is unlocked, only one at a time will be able to grab " "ownership of the lock. There is no return value in this case." msgstr "" -"Cuando se invoca sin argumentos: si este hilo ya es dueño del *lock*, " -"incrementa el nivel de recursividad en uno, y retorna inmediatamente. De " -"otro modo, si otro hilo es dueño del *lock*, bloquea hasta que se abra el " -"*lock*. Una vez que el *lock* se abra (ningún hilo sea su dueño), se adueña, " -"establece el nivel de recursividad en uno, y retorna. Si más de un hilo está " -"bloqueado esperando que sea abra el *lock*, solo uno a la vez podrá " -"apoderarse del *lock*. No hay valor de retorno en este caso." +"Cuando se invoca sin argumentos: si este subproceso ya posee el bloqueo, " +"incrementa el nivel de recursión en uno y devuelve inmediatamente. En caso " +"contrario, si el bloqueo pertenece a otro subproceso, se bloquea hasta que " +"se desbloquea el bloqueo. Una vez que se desbloquea el bloqueo (no es " +"propiedad de ningún hilo), se toma la propiedad, se establece el nivel de " +"recursividad en uno y se devuelve. Si hay más de un proceso bloqueado " +"esperando a que se desbloquee el bloqueo, sólo uno a la vez podrá hacerse " +"con la propiedad del bloqueo. En este caso no hay valor de retorno." #: ../Doc/library/threading.rst:631 -#, fuzzy msgid "" "When invoked with the *blocking* argument set to ``True``, do the same thing " "as when called without arguments, and return ``True``." msgstr "" -"Cuando se invoca con el argumento *blocking* fijado en *true*, hace lo mismo " -"que cuando se llama sin argumentos y retorna ``True``." +"Cuando se invoca con el argumento *blocking* fijado en ``True``, hace lo " +"mismo que cuando se llama sin argumentos y retorna ``True``." #: ../Doc/library/threading.rst:634 -#, fuzzy msgid "" "When invoked with the *blocking* argument set to ``False``, do not block. " "If a call without an argument would block, return ``False`` immediately; " "otherwise, do the same thing as when called without arguments, and return " "``True``." msgstr "" -"Cuando se invoca con el argumento *blocking* fijado a falso, no bloquea. Si " -"una llamada sin argumento bloquease, retorna ``False`` inmediatamente; de " +"Cuando se invoca con el argumento *blocking* fijado a ``False``, no bloquea. " +"Si una llamada sin argumento bloquease, retorna ``False`` inmediatamente; de " "otro modo, hace lo mismo que al llamarse sin argumentos, y retorna ``True``." #: ../Doc/library/threading.rst:638 -#, fuzzy msgid "" "When invoked with the floating-point *timeout* argument set to a positive " "value, block for at most the number of seconds specified by *timeout* and as " @@ -1193,9 +1170,8 @@ msgid "" msgstr "" "Cuando se invoca con el argumento de coma flotante *timeout* fijado a un " "valor positivo, bloquea por máximo el número de segundos especificado por " -"*timeout* y mientras el *lock* no pueda ser adquirido. Retorna ``True`` si " -"el *lock* ha sido adquirido, falso si el tiempo de espera *timeout* ha " -"caducado." +"*timeout* y mientras el lock no pueda ser adquirido. Retorna ``True`` si el " +"lock ha sido adquirido, ``False`` si el tiempo de espera ha caducado." #: ../Doc/library/threading.rst:649 msgid "" @@ -1634,15 +1610,15 @@ msgstr "" "debiese confiarse en el orden en que los hilos sean despertados." #: ../Doc/library/threading.rst:882 -#, fuzzy msgid "" "When invoked with *blocking* set to ``False``, do not block. If a call " "without an argument would block, return ``False`` immediately; otherwise, do " "the same thing as when called without arguments, and return ``True``." msgstr "" -"Cuando se invoca con *blocking* fijado en falso, no bloquea. Si una llamada " -"sin un argumento bloquease, retorna ``Falso`` inmediatamente; de otro modo, " -"hace lo mismo que cuando se llama sin argumentos, y retorna ``True``." +"Cuando se invoca con *blocking* fijado en ``False``, no bloquea. Si una " +"llamada sin un argumento bloquease, retorna ``False`` inmediatamente; de " +"otro modo, hace lo mismo que cuando se llama sin argumentos, y retorna " +"``True``." #: ../Doc/library/threading.rst:886 msgid "" @@ -1835,7 +1811,6 @@ msgstr "" "ejemplo de creación de hilos personalizados." #: ../Doc/library/threading.rst:1012 -#, fuzzy msgid "" "Timers are started, as with threads, by calling their :meth:`Timer.start " "` method. The timer can be stopped (before its action has " @@ -1844,10 +1819,10 @@ msgid "" "interval specified by the user." msgstr "" "Los temporizadores son iniciados, tal como los hilos, al llamarse su método :" -"meth:`~Timer.start`. El temporizador puede ser detenido (antes de que su " -"acción haya comenzado) al llamar al método :meth:`~Timer.cancel`. El " -"intervalo que el temporizador esperará antes de ejecutar su acción puede no " -"ser exactamente el mismo que el intervalo especificado por el usuario." +"meth:`Timer.start `. El temporizador puede ser detenido (antes " +"de que su acción haya comenzado) al llamar al método :meth:`~Timer.cancel`. " +"El intervalo que el temporizador esperará antes de ejecutar su acción puede " +"no ser exactamente el mismo que el intervalo especificado por el usuario." #: ../Doc/library/threading.rst:1018 msgid "For example::" @@ -1954,7 +1929,7 @@ msgstr "" #: ../Doc/library/threading.rst:1101 msgid "If the call times out, the barrier is put into the broken state." -msgstr "Si la llamada caduca, la barrera entra en estado *broken*." +msgstr "Si se agota el tiempo de llamada, la barrera pasa al estado roto." #: ../Doc/library/threading.rst:1103 msgid "" @@ -2030,7 +2005,6 @@ msgstr "" "Uso de *locks*, condiciones y semáforos en la declaración :keyword:`!with`" #: ../Doc/library/threading.rst:1150 -#, fuzzy msgid "" "All of the objects provided by this module that have ``acquire`` and " "``release`` methods can be used as context managers for a :keyword:`with` " @@ -2038,11 +2012,11 @@ msgid "" "and ``release`` will be called when the block is exited. Hence, the " "following snippet::" msgstr "" -"Todos los objetos provistos por este módulo que tienen métodos :meth:" -"`acquire` y :meth:`release` pueden ser utilizados como administradores de " -"contexto para una declaración :keyword:`with`. El método :meth:`acquire` " -"será llamado cuando se ingresa al bloque y el método :meth:`release` será " -"llamado cuando se abandona el bloque. De ahí que, el siguiente fragmento::" +"Todos los objetos provistos por este módulo que tienen métodos ``acquire`` y " +"``release`` pueden ser utilizados como administradores de contexto para una " +"declaración :keyword:`with`. El método ``acquire`` será llamado cuando se " +"ingresa al bloque y el método ``release`` será llamado cuando se abandona el " +"bloque. De ahí que, el siguiente fragmento::" #: ../Doc/library/threading.rst:1159 msgid "is equivalent to::" @@ -2060,15 +2034,15 @@ msgstr "" #: ../Doc/library/threading.rst:155 ../Doc/library/threading.rst:173 msgid "trace function" -msgstr "" +msgstr "trace function" #: ../Doc/library/threading.rst:173 msgid "debugger" -msgstr "" +msgstr "debugger" #: ../Doc/library/threading.rst:184 ../Doc/library/threading.rst:202 msgid "profile function" -msgstr "" +msgstr "profile function" #~ msgid "" #~ ":ref:`Availability `: Windows, FreeBSD, Linux, macOS, " diff --git a/library/tkinter.ttk.po b/library/tkinter.ttk.po index 880d2ba076..2870136d33 100644 --- a/library/tkinter.ttk.po +++ b/library/tkinter.ttk.po @@ -186,9 +186,8 @@ msgid "Standard Options" msgstr "Opciones estándar" #: ../Doc/library/tkinter.ttk.rst:105 -#, fuzzy msgid "All the :mod:`ttk` Widgets accept the following options:" -msgstr "Todos los widgets :mod:`ttk` aceptan las siguientes opciones:" +msgstr "Todos los Widgets :mod:`ttk` aceptan las siguientes opciones:" #: ../Doc/library/tkinter.ttk.rst:110 ../Doc/library/tkinter.ttk.rst:145 #: ../Doc/library/tkinter.ttk.rst:171 ../Doc/library/tkinter.ttk.rst:214 @@ -2695,4 +2694,4 @@ msgstr "" #: ../Doc/library/tkinter.ttk.rst:11 msgid "ttk" -msgstr "" +msgstr "ttk" diff --git a/library/token.po b/library/token.po index b541fd6730..1b8368f195 100644 --- a/library/token.po +++ b/library/token.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-10-05 17:28+0200\n" +"PO-Revision-Date: 2024-10-19 16:27-0600\n" "Last-Translator: \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.5\n" #: ../Doc/library/token.rst:2 msgid ":mod:`token` --- Constants used with Python parse trees" @@ -81,195 +82,195 @@ msgstr "Las constantes de token son:" #: ../Doc/library/token-list.inc:18 msgid "Token value for ``\"(\"``." -msgstr "" +msgstr "Valor de token para ``\"(\"``." #: ../Doc/library/token-list.inc:22 msgid "Token value for ``\")\"``." -msgstr "" +msgstr "Valor de token para ``\")\"``." #: ../Doc/library/token-list.inc:26 msgid "Token value for ``\"[\"``." -msgstr "" +msgstr "Valor de token para ``\"[\"``." #: ../Doc/library/token-list.inc:30 msgid "Token value for ``\"]\"``." -msgstr "" +msgstr "Valor de token para ``\"]\"``." #: ../Doc/library/token-list.inc:34 msgid "Token value for ``\":\"``." -msgstr "" +msgstr "Valor de token para ``\":\"``." #: ../Doc/library/token-list.inc:38 msgid "Token value for ``\",\"``." -msgstr "" +msgstr "Valor de token para ``\",\"``." #: ../Doc/library/token-list.inc:42 msgid "Token value for ``\";\"``." -msgstr "" +msgstr "Valor de token para ``\";\"``." #: ../Doc/library/token-list.inc:46 msgid "Token value for ``\"+\"``." -msgstr "" +msgstr "Valor de token para ``\"+\"``." #: ../Doc/library/token-list.inc:50 msgid "Token value for ``\"-\"``." -msgstr "" +msgstr "Valor de token para ``\"-\"``." #: ../Doc/library/token-list.inc:54 msgid "Token value for ``\"*\"``." -msgstr "" +msgstr "Valor de token para ``\"*\"``." #: ../Doc/library/token-list.inc:58 msgid "Token value for ``\"/\"``." -msgstr "" +msgstr "Valor de token para ``\"/\"``." #: ../Doc/library/token-list.inc:62 msgid "Token value for ``\"|\"``." -msgstr "" +msgstr "Valor de token para ``\"|\"``." #: ../Doc/library/token-list.inc:66 msgid "Token value for ``\"&\"``." -msgstr "" +msgstr "Valor de token para ``\"&\"``." #: ../Doc/library/token-list.inc:70 msgid "Token value for ``\"<\"``." -msgstr "" +msgstr "Valor de token para ``\"<\"``." #: ../Doc/library/token-list.inc:74 msgid "Token value for ``\">\"``." -msgstr "" +msgstr "Valor de token para ``\">\"``." #: ../Doc/library/token-list.inc:78 msgid "Token value for ``\"=\"``." -msgstr "" +msgstr "Valor de token para ``\"=\"``." #: ../Doc/library/token-list.inc:82 msgid "Token value for ``\".\"``." -msgstr "" +msgstr "Valor de token para ``\".\"``." #: ../Doc/library/token-list.inc:86 msgid "Token value for ``\"%\"``." -msgstr "" +msgstr "Valor de token para ``\"%\"``." #: ../Doc/library/token-list.inc:90 msgid "Token value for ``\"{\"``." -msgstr "" +msgstr "Valor de token para ``\"{\"``." #: ../Doc/library/token-list.inc:94 msgid "Token value for ``\"}\"``." -msgstr "" +msgstr "Valor de token para ``\"}\"``." #: ../Doc/library/token-list.inc:98 msgid "Token value for ``\"==\"``." -msgstr "" +msgstr "Valor de token para ``\"==\"``." #: ../Doc/library/token-list.inc:102 msgid "Token value for ``\"!=\"``." -msgstr "" +msgstr "Valor de token para ``\"!=\"``." #: ../Doc/library/token-list.inc:106 msgid "Token value for ``\"<=\"``." -msgstr "" +msgstr "Valor de token para ``\"<=\"``." #: ../Doc/library/token-list.inc:110 msgid "Token value for ``\">=\"``." -msgstr "" +msgstr "Valor de token para ``\">=\"``." #: ../Doc/library/token-list.inc:114 msgid "Token value for ``\"~\"``." -msgstr "" +msgstr "Valor de token para ``\"~\"``." #: ../Doc/library/token-list.inc:118 msgid "Token value for ``\"^\"``." -msgstr "" +msgstr "Valor de token para ``\"^\"``." #: ../Doc/library/token-list.inc:122 msgid "Token value for ``\"<<\"``." -msgstr "" +msgstr "Valor de token para ``\"<<\"``." #: ../Doc/library/token-list.inc:126 msgid "Token value for ``\">>\"``." -msgstr "" +msgstr "Valor de token para ``\">>\"``." #: ../Doc/library/token-list.inc:130 msgid "Token value for ``\"**\"``." -msgstr "" +msgstr "Valor de token para ``\"**\"``." #: ../Doc/library/token-list.inc:134 msgid "Token value for ``\"+=\"``." -msgstr "" +msgstr "Valor de token para ``\"+=\"``." #: ../Doc/library/token-list.inc:138 msgid "Token value for ``\"-=\"``." -msgstr "" +msgstr "Valor de token para ``\"-=\"``." #: ../Doc/library/token-list.inc:142 msgid "Token value for ``\"*=\"``." -msgstr "" +msgstr "Valor de token para ``\"*=\"``." #: ../Doc/library/token-list.inc:146 msgid "Token value for ``\"/=\"``." -msgstr "" +msgstr "Valor de token para ``\"/=\"``." #: ../Doc/library/token-list.inc:150 msgid "Token value for ``\"%=\"``." -msgstr "" +msgstr "Valor de token para ``\"%=\"``." #: ../Doc/library/token-list.inc:154 msgid "Token value for ``\"&=\"``." -msgstr "" +msgstr "Valor de token para ``\"&=\"``." #: ../Doc/library/token-list.inc:158 msgid "Token value for ``\"|=\"``." -msgstr "" +msgstr "Valor de token para ``\"|=\"``." #: ../Doc/library/token-list.inc:162 msgid "Token value for ``\"^=\"``." -msgstr "" +msgstr "Valor de token para ``\"^=\"``." #: ../Doc/library/token-list.inc:166 msgid "Token value for ``\"<<=\"``." -msgstr "" +msgstr "Valor de token para ``\"<<=\"``." #: ../Doc/library/token-list.inc:170 msgid "Token value for ``\">>=\"``." -msgstr "" +msgstr "Valor de token para ``\">>=\"``." #: ../Doc/library/token-list.inc:174 msgid "Token value for ``\"**=\"``." -msgstr "" +msgstr "Valor de token para ``\"**=\"``." #: ../Doc/library/token-list.inc:178 msgid "Token value for ``\"//\"``." -msgstr "" +msgstr "Valor de token para ``\"//\"``." #: ../Doc/library/token-list.inc:182 msgid "Token value for ``\"//=\"``." -msgstr "" +msgstr "Valor de token para ``\"//=\"``." #: ../Doc/library/token-list.inc:186 msgid "Token value for ``\"@\"``." -msgstr "" +msgstr "Valor de token para ``\"@\"``." #: ../Doc/library/token-list.inc:190 msgid "Token value for ``\"@=\"``." -msgstr "" +msgstr "Valor de token para ``\"@=\"``." #: ../Doc/library/token-list.inc:194 msgid "Token value for ``\"->\"``." -msgstr "" +msgstr "Valor de token para ``\"->\"``." #: ../Doc/library/token-list.inc:198 msgid "Token value for ``\"...\"``." -msgstr "" +msgstr "Valor de token para ``\"...\"``." #: ../Doc/library/token-list.inc:202 msgid "Token value for ``\":=\"``." -msgstr "" +msgstr "Valor de token para ``\":=\"``." #: ../Doc/library/token-list.inc:206 msgid "Token value for ``\"!\"``." -msgstr "" +msgstr "Valor de token para ``\"!\"``." #: ../Doc/library/token.rst:49 msgid "" @@ -277,7 +278,7 @@ msgid "" "needed for the :mod:`tokenize` module." msgstr "" "Los siguientes tipos de valores tokens no son usados por el tokenizador C " -"pero son necesarios para el modulo :mod:`tokenizador`." +"pero son necesarios para el módulo :mod:`tokenize`." #: ../Doc/library/token.rst:55 msgid "Token value used to indicate a comment." diff --git a/library/tokenize.po b/library/tokenize.po index 2a76509610..4836c0f816 100644 --- a/library/tokenize.po +++ b/library/tokenize.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-07-25 21:23+0200\n" +"PO-Revision-Date: 2024-10-27 18:50-0400\n" "Last-Translator: Ignasi Fosch \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.5\n" #: ../Doc/library/tokenize.rst:2 msgid ":mod:`tokenize` --- Tokenizer for Python source" @@ -63,6 +64,11 @@ msgid "" "**undefined** when providing invalid Python code and it can change at any " "point." msgstr "" +"Ten en cuenta que las funciones en este módulo están diseñadas únicamente " +"para analizar código Python sintácticamente válido (código que no genera " +"errores al ser analizado usando :func:`ast.parse`). El comportamiento de las " +"funciones en este módulo es **indefinido** cuando se proporciona código " +"Python no válido y puede cambiar en cualquier momento." #: ../Doc/library/tokenize.rst:35 msgid "Tokenizing Input" diff --git a/library/tomllib.po b/library/tomllib.po index 4757610096..7c6d574668 100644 --- a/library/tomllib.po +++ b/library/tomllib.po @@ -9,8 +9,8 @@ msgstr "" "Project-Id-Version: Python en Español 3.11\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-25 19:47+0200\n" -"PO-Revision-Date: 2022-11-16 10:39-0300\n" -"Last-Translator: Rodrigo Poblete \n" +"PO-Revision-Date: 2023-11-06 23:00+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: \n" "Language: es_419\n" "MIME-Version: 1.0\n" @@ -18,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.10.3\n" -"X-Generator: Poedit 3.2.1\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/tomllib.rst:2 msgid ":mod:`tomllib` --- Parse TOML files" @@ -29,7 +29,6 @@ msgid "**Source code:** :source:`Lib/tomllib`" msgstr "**Código fuente:** :source:`Lib/tomllib`" #: ../Doc/library/tomllib.rst:16 -#, fuzzy msgid "" "This module provides an interface for parsing TOML (Tom's Obvious Minimal " "Language, `https://toml.io `_). This module does not " @@ -78,7 +77,6 @@ msgstr "" "Python utilizando esta :ref:`tabla de conversión `." #: ../Doc/library/tomllib.rst:43 -#, fuzzy msgid "" "*parse_float* will be called with the string of every TOML float to be " "decoded. By default, this is equivalent to ``float(num_str)``. This can be " @@ -90,7 +88,7 @@ msgstr "" "decodificará. Por defecto, esto es equivalente a ``float(num_str)``. Esto " "se puede utilizar para usar otro tipo de datos o analizador para flotantes " "TOML (por ejemplo, :class:`decimal.Decimal`). La llamada no debe devolver " -"un :class:`dict` o un :class:`list`, de lo contrario se produce un :exc:" +"un :class:`dict` o un :class:`list`, de lo contrario se lanza un :exc:" "`ValueError`." #: ../Doc/library/tomllib.rst:49 ../Doc/library/tomllib.rst:58 @@ -181,7 +179,6 @@ msgid "bool" msgstr "bool" #: ../Doc/library/tomllib.rst:108 -#, fuzzy msgid "offset date-time" msgstr "offset date-time" @@ -194,7 +191,6 @@ msgstr "" "``datetime.timezone``)" #: ../Doc/library/tomllib.rst:110 -#, fuzzy msgid "local date-time" msgstr "local date-time" @@ -203,7 +199,6 @@ msgid "datetime.datetime (``tzinfo`` attribute set to ``None``)" msgstr "datetime.datetime (atributo ``tzinfo`` establecido en ``None``)" #: ../Doc/library/tomllib.rst:112 -#, fuzzy msgid "local date" msgstr "local date" diff --git a/library/types.po b/library/types.po index 706cd80a80..01cacf11ed 100644 --- a/library/types.po +++ b/library/types.po @@ -8,18 +8,19 @@ # msgid "" msgstr "" -"Project-Id-Version: Python 3.8\n" +"Project-Id-Version: Python 3.12\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2021-12-14 07:45-0500\n" -"Last-Translator: Adolfo Hristo David Roque Gámez \n" -"Language: es\n" +"PO-Revision-Date: 2024-11-18 16:17-0300\n" +"Last-Translator: Carlos A. Crespo \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.0.1\n" #: ../Doc/library/types.rst:2 msgid ":mod:`types` --- Dynamic type creation and names for built-in types" @@ -154,7 +155,6 @@ msgstr "" "Resuelve las entradas MRO dinámicamente según lo especificado por :pep:`560`." #: ../Doc/library/types.rst:76 -#, fuzzy msgid "" "This function looks for items in *bases* that are not instances of :class:" "`type`, and returns a tuple where each such object that has an :meth:" @@ -163,12 +163,12 @@ msgid "" "it doesn't have an :meth:`!__mro_entries__` method, then it is included in " "the return tuple unchanged." msgstr "" -"Esta función busca elementos en *bases* que no son instancias de :class:" -"`type` y retorna una tupla donde cada uno de estos objetos que tiene un " -"método ``__mro_entries__`` se reemplaza con un resultado desempaquetado de " -"llamar a este método. Si un elemento *bases* es una instancia de :class:" -"`type` o no tiene un método ``__mro_entries__``, se incluye en el retorno la " -"tupla sin cambios." +"Esta función busca elementos en *bases* que no sean instancias de :class:" +"`type`, y retorna una tupla donde cada objeto que tenga un método :meth:" +"`~object.__mro_entries__` es reemplazado por el resultado desempaquetado de " +"llamar a dicho método. Si un elemento de *bases* es una instancia de :class:" +"`type`, o no tiene un método :meth:`!__mro_entries__`, entonces es incluido " +"sin cambios en la tupla de retorno." #: ../Doc/library/types.rst:87 msgid "" @@ -177,6 +177,10 @@ msgid "" "(following the mechanisms laid out in :pep:`560`). This is useful for " "introspecting :ref:`Generics `." msgstr "" +"Retorna la tupla de objetos originalmente dados como bases de *cls* antes de " +"que el método :meth:`~object.__mro_entries__` sea llamado en cualquier base " +"(siguiendo los mecanismos establecidos en :pep:`560`). Esto es útil para " +"introspección :ref:`Genéricos `." #: ../Doc/library/types.rst:92 msgid "" @@ -184,10 +188,13 @@ msgid "" "the value of ``cls.__orig_bases__``. For classes without the " "``__orig_bases__`` attribute, ``cls.__bases__`` is returned." msgstr "" +"Para las clases que tienen un atributo ``__orig_bases__``, esta función " +"retorna el valor de ``cls.__orig_bases__``. Para clases sin el atributo " +"``__orig_bases__``, se retorna ``cls.__bases__``." #: ../Doc/library/types.rst:97 msgid "Examples::" -msgstr "" +msgstr "Ejemplos::" #: ../Doc/library/types.rst:127 msgid ":pep:`560` - Core support for typing module and generic types" @@ -397,13 +404,12 @@ msgstr "" "El :term:`loader` que cargó el módulo. El valor predeterminado es ``None``." #: ../Doc/library/types.rst:281 -#, fuzzy msgid "" "This attribute is to match :attr:`importlib.machinery.ModuleSpec.loader` as " "stored in the :attr:`__spec__` object." msgstr "" -"Este atributo va a coincidir con :attr:`importlib.machinery.ModuleSpec." -"loader` como se almacena en el objeto attr:`__spec__`." +"Este atributo debe coincidir con :attr:`importlib.machinery.ModuleSpec." +"loader` como almacenado en el objeto :attr:`__spec__`." #: ../Doc/library/types.rst:285 msgid "" @@ -444,13 +450,12 @@ msgstr "" "El valor predeterminado es ``None``." #: ../Doc/library/types.rst:306 -#, fuzzy msgid "" "This attribute is to match :attr:`importlib.machinery.ModuleSpec.parent` as " "stored in the :attr:`__spec__` object." msgstr "" -"Este atributo va a coincidir con :attr:`importlib.machinery.ModuleSpec." -"parent` como se guarda en el objeto attr:`__spec__`." +"Este atributo debe coincidir con :attr:`importlib.machinery.ModuleSpec." +"parent` como almacenado en el objeto :attr:`__spec__`." #: ../Doc/library/types.rst:310 msgid "" @@ -500,32 +505,32 @@ msgstr "Este tipo ahora puede heredarse." #: ../Doc/library/types.rst:357 msgid ":ref:`Generic Alias Types`" -msgstr "" +msgstr ":ref:`Tipos de alias genéricos`" #: ../Doc/library/types.rst:357 msgid "In-depth documentation on instances of :class:`!types.GenericAlias`" msgstr "" +"Documentación detallada sobre instancias de :class:`!types.GenericAlias`" #: ../Doc/library/types.rst:359 msgid ":pep:`585` - Type Hinting Generics In Standard Collections" -msgstr "" +msgstr ":pep:`585` - Sugerencias de tipo genéricas en colecciones estándar" #: ../Doc/library/types.rst:360 msgid "Introducing the :class:`!types.GenericAlias` class" -msgstr "" +msgstr "Presentando la clase :class:`!types.GenericAlias`" #: ../Doc/library/types.rst:364 msgid "The type of :ref:`union type expressions`." msgstr "El tipo de :ref:`union type expressions`." #: ../Doc/library/types.rst:370 -#, fuzzy msgid "" "The type of traceback objects such as found in ``sys.exception()." "__traceback__``." msgstr "" -"El tipo de objetos *traceback* tal como los encontrados en ``sys.exc_info()" -"[2]``." +"El tipo de objetos de rastreo como los que se encuentran en ``sys." +"exception().__traceback__``." #: ../Doc/library/types.rst:372 msgid "" @@ -669,9 +674,8 @@ msgstr "" "Retorna un iterador inverso sobre las claves de la asignación subyacente." #: ../Doc/library/types.rst:469 -#, fuzzy msgid "Return a hash of the underlying mapping." -msgstr "Retorna una copia superficial de la asignación subyacente." +msgstr "Retorna un hash del mapeo subyacente." #: ../Doc/library/types.rst:475 msgid "Additional Utility Classes and Functions" @@ -750,7 +754,6 @@ msgid "Coroutine Utility Functions" msgstr "Funciones de utilidad de corutina" #: ../Doc/library/types.rst:531 -#, fuzzy msgid "" "This function transforms a :term:`generator` function into a :term:" "`coroutine function` which returns a generator-based coroutine. The " @@ -759,11 +762,12 @@ msgid "" "However, it may not necessarily implement the :meth:`~object.__await__` " "method." msgstr "" -"Esta función transforma una función :term:`generador` en una función :term:" -"`coroutine` que retorna una corrutina basada en un generador. La corrutina " -"basada en un generador sigue siendo un :term:`generator iterator`, pero " -"también se considera un objeto :term:`coroutine` y es :term:`awaitable`. " -"Sin embargo, no puede necesariamente implementar el método :meth:`__await__`." +"Esta función transforma una función :term:`generator` en una :term:" +"`coroutine function` que retorna una corrutina basada en generador. La " +"corrutina basada en generador sigue siendo un :term:`generator iterator`, " +"pero también se considera un objeto :term:`coroutine` y es :term:`awaitable`." +"Sin embargo, es posible que no implemente necesariamente el método :meth:" +"`~object.__await__`." #: ../Doc/library/types.rst:538 msgid "If *gen_func* is a generator function, it will be modified in-place." @@ -783,8 +787,8 @@ msgstr "" #: ../Doc/library/types.rst:189 msgid "built-in function" -msgstr "" +msgstr "built-in function" #: ../Doc/library/types.rst:189 msgid "compile" -msgstr "" +msgstr "compile" diff --git a/library/typing.po b/library/typing.po index cd48396ace..54ea216f58 100644 --- a/library/typing.po +++ b/library/typing.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: 2023-01-10 10:24-0300\n" -"Last-Translator: Héctor Canto \n" -"Language: es\n" +"PO-Revision-Date: 2024-11-21 11:04-0500\n" +"Last-Translator: Alfonso Areiza Guerra \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/library/typing.rst:3 msgid ":mod:`typing` --- Support for type hints" @@ -40,17 +41,15 @@ msgstr "" "como validadores de tipado, IDEs, linters, etc." #: ../Doc/library/typing.rst:26 -#, fuzzy msgid "" "This module provides runtime support for type hints. For the original " "specification of the typing system, see :pep:`484`. For a simplified " "introduction to type hints, see :pep:`483`." msgstr "" -"Este módulo entrega soporte en tiempo de ejecución para indicadores de tipo. " -"El soporte fundamental se encuentra en los tipos :data:`Any`, :data:" -"`Union`, :data:`Callable`, :class:`TypeVar`, y :class:`Generic`. Para una " -"especificación completa, por favor ver :pep:`484`. Para una introducción " -"simplificada a los indicadores de tipo, véase :pep:`483`." +"Este módulo proporciona soporte en tiempo de ejecución para las sugerencias " +"de tipo. Para la especificación original del sistema de tipado, véase :pep:" +"`484`. Para una introducción simplificada a las sugerencias de tipo, véase :" +"pep:`483`." #: ../Doc/library/typing.rst:31 msgid "" @@ -81,29 +80,35 @@ msgstr "" "de Python." #: ../Doc/library/typing.rst:44 -#, fuzzy msgid "" "For a summary of deprecated features and a deprecation timeline, please see " "`Deprecation Timeline of Major Features`_." msgstr "" -"Para un resumen de las funcionalidades obsoletas y una linea de tiempo de " -"obsolescencia, por favor ver `Deprecation Timeline of Major Features`_." +"Para ver un resumen de las características descontinuadas y un histórico de " +"estas, consulte `Calendario de descontinuación de características " +"principales`_." #: ../Doc/library/typing.rst:50 msgid "" "`\"Typing cheat sheet\" `_" msgstr "" +"`”Guía rápida sobre los indicadores de tipo” `_" #: ../Doc/library/typing.rst:50 msgid "A quick overview of type hints (hosted at the mypy docs)" msgstr "" +"Una visión general de los indicadores de tipo (hospedado por mypy docs, en " +"inglés.)" #: ../Doc/library/typing.rst:55 msgid "" "\"Type System Reference\" section of `the mypy docs `_" msgstr "" +"Sección “Referencia sobre sistema de tipo” de `the mypy docs `_" #: ../Doc/library/typing.rst:53 msgid "" @@ -111,28 +116,30 @@ msgid "" "broadly apply to most Python type checkers. (Some parts may still be " "specific to mypy.)" msgstr "" +"El sistema de tipos de Python es estandarizado por medio de las PEPs, así " +"que esta referencia debe aplicarse a la mayoría de validadores de tipo de " +"Python. (Algunas partes pueden referirse específicamente a mypy.)" #: ../Doc/library/typing.rst:59 msgid "" "`\"Static Typing with Python\" `_" msgstr "" +"`”Tipado estático con Python” `_" #: ../Doc/library/typing.rst:58 -#, fuzzy msgid "" "Type-checker-agnostic documentation written by the community detailing type " "system features, useful typing related tools and typing best practices." msgstr "" -"La documentación en https://typing.readthedocs.io/ es una referencia útil " -"sobre características de sistemas de tipos, herramientas útiles relativas al " -"tipado, y mejores prácticas de tipado." +"Documentación independiente del validador de tipos escrita por la comunidad " +"que detalla las características del sistema de tipos, herramientas útiles " +"relacionadas con el tipado y mejores prácticas." #: ../Doc/library/typing.rst:65 msgid "Relevant PEPs" msgstr "PEPs relevantes" #: ../Doc/library/typing.rst:67 -#, fuzzy msgid "" "Since the initial introduction of type hints in :pep:`484` and :pep:`483`, a " "number of PEPs have modified and enhanced Python's framework for type " @@ -140,7 +147,7 @@ msgid "" msgstr "" "Desde la introducción inicial de los indicadores de tipo en :pep:`484` y :" "pep:`483`, un número de PEPs han modificado y mejorado el sistema de " -"anotaciones de tipos de Python. Éstos incluyen:" +"anotaciones de tipos de Python:" #: ../Doc/library/typing.rst:77 msgid ":pep:`526`: Syntax for Variable Annotations" @@ -288,9 +295,8 @@ msgid "*Introducing* :data:`LiteralString`" msgstr "*Introduce* :data:`LiteralString`" #: ../Doc/library/typing.rst:111 -#, fuzzy msgid ":pep:`681`: Data Class Transforms" -msgstr ":pep:`681`: Transformaciones de Clases de Datos" +msgstr ":pep:`681`: Transformadores de Clases de Datos" #: ../Doc/library/typing.rst:112 msgid "" @@ -301,49 +307,50 @@ msgstr "" #: ../Doc/library/typing.rst:114 msgid ":pep:`692`: Using ``TypedDict`` for more precise ``**kwargs`` typing" msgstr "" +":pep:`692`: Usar ``TypedDict`` para un tipado más preciso con ``**kwargs``" #: ../Doc/library/typing.rst:114 msgid "" "*Introducing* a new way of typing ``**kwargs`` with :data:`Unpack` and :data:" "`TypedDict`" msgstr "" +"*Introduce* a una nueva forma de tipado ``**kwargs`` con :data:`Unpack` y :" +"data:`TypedDict`" #: ../Doc/library/typing.rst:116 msgid ":pep:`695`: Type Parameter Syntax" -msgstr "" +msgstr ":pep:`695`: Sintaxis para parámetros de tipo" #: ../Doc/library/typing.rst:117 -#, fuzzy msgid "" "*Introducing* builtin syntax for creating generic functions, classes, and " "type aliases." msgstr "" -"*Introduce* sintaxis para anotar variables fuera de definiciones de " -"funciones, y :data:`ClassVar`" +"*Introduce* sintaxis integrada para crear funciones genéricas, clases y " +"alias de tipos." #: ../Doc/library/typing.rst:119 -#, fuzzy msgid ":pep:`698`: Adding an override decorator to typing" -msgstr ":pep:`591`: Agregar un cualificador final a typing" +msgstr ":pep:`698`: Agregar un decorador *override* al sistema de tipado" #: ../Doc/library/typing.rst:119 -#, fuzzy msgid "*Introducing* the :func:`@override` decorator" -msgstr "*Introduce* :data:`Final` y el decorador :func:`@final`" +msgstr "*Introduce* el decorador :func:`@override`" #: ../Doc/library/typing.rst:129 msgid "Type aliases" msgstr "Alias de tipo" #: ../Doc/library/typing.rst:131 -#, fuzzy msgid "" "A type alias is defined using the :keyword:`type` statement, which creates " "an instance of :class:`TypeAliasType`. In this example, ``Vector`` and " "``list[float]`` will be treated equivalently by static type checkers::" msgstr "" -"Un alias de tipo se define asignando el tipo al alias. En este ejemplo, " -"``Vector`` y ``List[float]`` serán tratados como sinónimos intercambiables::" +"Un alias de tipo se define usando la declaración :keyword:`type`, el cual " +"crea una instancia de :class:`TypeAliasType`. En este ejemplo, ``Vector`` y " +"``list[float]`` serán tratados de manera equivalente a los validadores de " +"tipo estático::" #: ../Doc/library/typing.rst:144 msgid "" @@ -358,12 +365,17 @@ msgid "" "The :keyword:`type` statement is new in Python 3.12. For backwards " "compatibility, type aliases can also be created through simple assignment::" msgstr "" +"La declaración :keyword:`type` es nueva en Python 3.12. Para compatibilidad " +"con versiones anteriores, los alias de tipo también se pueden crear mediante " +"una asignación simple.::" #: ../Doc/library/typing.rst:167 msgid "" "Or marked with :data:`TypeAlias` to make it explicit that this is a type " "alias, not a normal variable assignment::" msgstr "" +"O marcarse con :data:`TypeAlias` para dejar explícito que se trata de un " +"alias de tipo, no de una asignación de variable normal::" #: ../Doc/library/typing.rst:177 msgid "NewType" @@ -371,8 +383,7 @@ msgstr "NewType" #: ../Doc/library/typing.rst:179 msgid "Use the :class:`NewType` helper to create distinct types::" -msgstr "" -"Utilícese la clase auxiliar :class:`NewType` para crear tipos distintos::" +msgstr "Use la clase auxiliar :class:`NewType` para crear tipos distintos::" #: ../Doc/library/typing.rst:186 msgid "" @@ -402,8 +413,8 @@ msgid "" "it. That means the expression ``Derived(some_value)`` does not create a new " "class or introduce much overhead beyond that of a regular function call." msgstr "" -"Tenga en cuenta que estas validaciones solo las aplica el verificador de " -"tipo estático. En tiempo de ejecución, la declaración ``Derived = " +"Tenga en cuenta que estas validaciones solo las aplica el validador de tipo " +"estático. En tiempo de ejecución, la declaración ``Derived = " "NewType('Derived', Base)`` hará que ``Derived`` sea una clase que retorna " "inmediatamente cualquier parámetro que le pase. Eso significa que la " "expresión ``Derived(some_value)`` no crea una nueva clase ni introduce mucha " @@ -439,16 +450,15 @@ msgid "See :pep:`484` for more details." msgstr "Véase :pep:`484` para más detalle." #: ../Doc/library/typing.rst:238 -#, fuzzy msgid "" "Recall that the use of a type alias declares two types to be *equivalent* to " "one another. Doing ``type Alias = Original`` will make the static type " "checker treat ``Alias`` as being *exactly equivalent* to ``Original`` in all " "cases. This is useful when you want to simplify complex type signatures." msgstr "" -"Recuérdese que el uso de alias de tipo implica que los dos tipos son " -"*equivalentes* entre sí. Haciendo ``Alias = Original`` provocará que el " -"Validador estático de tipos trate ``Alias`` como algo *exactamente " +"Recuerde que el uso de alias de tipo implica que los dos tipos son " +"*equivalentes* entre sí. Haciendo ``type Alias = Original`` provocará que el " +"validador estático de tipos trate ``Alias`` como algo *exactamente " "equivalente* a ``Original`` en todos los casos. Esto es útil para cuando se " "quiera simplificar indicadores de tipo complejos." @@ -469,7 +479,6 @@ msgstr "" "coste de ejecución mínimo." #: ../Doc/library/typing.rst:252 -#, fuzzy msgid "" "``NewType`` is now a class rather than a function. As a result, there is " "some additional runtime cost when calling ``NewType`` over a regular " @@ -477,17 +486,19 @@ msgid "" msgstr "" "``NewType`` es ahora una clase en lugar de una función. Existe un costo de " "tiempo de ejecución adicional cuando se llama a ``NewType`` a través de una " -"función normal. Sin embargo, este costo se reducirá en 3.11.0." +"función normal." #: ../Doc/library/typing.rst:257 msgid "" "The performance of calling ``NewType`` has been restored to its level in " "Python 3.9." msgstr "" +"El rendimiento al llamar ``NewType`` ha sido restaurado a su nivel en Python " +"3.9." #: ../Doc/library/typing.rst:264 msgid "Annotating callable objects" -msgstr "" +msgstr "Anotaciones en objetos invocables" #: ../Doc/library/typing.rst:266 msgid "" @@ -496,31 +507,35 @@ msgid "" "``Callable[[int], str]`` signifies a function that takes a single parameter " "of type :class:`int` and returns a :class:`str`." msgstr "" +"Las funciones -- u otro objeto invocable :term:`callable` se pueden anotar " +"utilizando :class:`collections.abc.Callable` o :data:`typing.Callable`. " +"``Callable[[int], str]`` se refiere a una función que toma un solo parámetro " +"de tipo :class:`int` y retorna un :class:`str`." #: ../Doc/library/typing.rst:271 ../Doc/library/typing.rst:2873 #: ../Doc/library/typing.rst:3015 -#, fuzzy msgid "For example:" -msgstr "Por ejemplo::" +msgstr "Por ejemplo:" #: ../Doc/library/typing.rst:289 -#, fuzzy msgid "" "The subscription syntax must always be used with exactly two values: the " "argument list and the return type. The argument list must be a list of " "types, a :class:`ParamSpec`, :data:`Concatenate`, or an ellipsis. The return " "type must be a single type." msgstr "" -"La sintaxis de subíndice (con corchetes *[]*) debe usarse siempre con dos " -"valores: la lista de argumentos y el tipo de retorno. La lista de argumentos " -"debe ser una lista de tipos o unos puntos suspensivos; el tipo de retorno " -"debe ser un único tipo." +"La sintaxis de suscripción siempre debe utilizarse con exactamente dos " +"valores: una lista de argumentos y el tipo de retorno. La lista de " +"argumentos debe ser una lista de tipos, un :class:`ParamSpec`, :data:" +"`Concatenate` o una elipsis. El tipo de retorno debe ser un único tipo." #: ../Doc/library/typing.rst:294 msgid "" "If a literal ellipsis ``...`` is given as the argument list, it indicates " "that a callable with any arbitrary parameter list would be acceptable:" msgstr "" +"Si se proporciona una elipsis como lista de argumentos, indica que sería " +"aceptable un invocable con cualquier lista de parámetros arbitraria:" #: ../Doc/library/typing.rst:306 msgid "" @@ -530,6 +545,11 @@ msgid "" "be expressed by defining a :class:`Protocol` class with a :meth:`~object." "__call__` method:" msgstr "" +"``Callable`` no puede representar firmas complejas como funciones que toman " +"un número variado de argumentos, :func:`funciones sobrecargadas ` " +"o funciones que reciben parámetros de solo palabras clave. Sin embargo, " +"estas firmas se pueden definir al definir una clase :class:`Protocol` con un " +"método :meth:`~object.__call__` method:" #: ../Doc/library/typing.rst:333 msgid "" @@ -570,40 +590,43 @@ msgid "Generics" msgstr "Genéricos" #: ../Doc/library/typing.rst:354 -#, fuzzy msgid "" "Since type information about objects kept in containers cannot be statically " "inferred in a generic way, many container classes in the standard library " "support subscription to denote the expected types of container elements." msgstr "" -"Ya que no es posible inferir estáticamente y de una manera genérica la " -"información de tipo de objetos dentro de contenedores, las clases base " -"abstractas han sido mejoradas para permitir sintaxis de subíndice para " -"denotar los tipos esperados en elementos contenedores." +"Dado que la información de tipo sobre los objetos guardados en contenedores " +"no se puede inferir estáticamente de manera genérica, muchas clases de " +"contenedor en la biblioteca estándar admiten suscripción para indicar los " +"tipos esperados de elementos de contenedor." #: ../Doc/library/typing.rst:371 msgid "" "Generic functions and classes can be parameterized by using :ref:`type " "parameter syntax `::" msgstr "" +"Funciones y clases genéricas pueden ser parametrizadas usando :ref:`type " +"parameter syntax `::" #: ../Doc/library/typing.rst:379 msgid "Or by using the :class:`TypeVar` factory directly::" -msgstr "" +msgstr "O utilizando directamente la fábrica :class:`TypeVar`::" #: ../Doc/library/typing.rst:389 msgid "Syntactic support for generics is new in Python 3.12." -msgstr "" +msgstr "El soporte sintáctico para genéricos es nuevo en Python 3.12." #: ../Doc/library/typing.rst:395 msgid "Annotating tuples" -msgstr "" +msgstr "Anotaciones en tuplas" #: ../Doc/library/typing.rst:397 msgid "" "For most containers in Python, the typing system assumes that all elements " "in the container will be of the same type. For example::" msgstr "" +"En la mayoría de los contenedores de Python, el sistema de tipado supone que " +"todos los elementos del contenedor serán del mismo tipo. Por ejemplo:" #: ../Doc/library/typing.rst:412 msgid "" @@ -612,6 +635,11 @@ msgid "" "Mapping` only accepts two type arguments: the first indicates the type of " "the keys, and the second indicates the type of the values." msgstr "" +":class:`list` solo acepta un argumento de tipo, por lo que un validador de " +"tipos emitiría un error en la asignación ``y`` anterior. De manera similar, :" +"class:`~collections.abc.Mapping` solo acepta dos argumentos de tipo: el " +"primero indica el tipo de las claves y el segundo indica el tipo de los " +"valores." #: ../Doc/library/typing.rst:418 msgid "" @@ -620,6 +648,11 @@ msgid "" "For this reason, tuples are special-cased in Python's typing system. :class:" "`tuple` accepts *any number* of type arguments::" msgstr "" +"Sin embargo, a diferencia de la mayoría de los demás contenedores de Python, " +"es común en el código idiomático de Python que las tuplas tengan elementos " +"que no sean todos del mismo tipo. Por este motivo, las tuplas son un caso " +"especial en el sistema de tipado de Python. :class:`tuple` acepta *cualquier " +"número* de argumentos de tipo::" #: ../Doc/library/typing.rst:434 msgid "" @@ -628,47 +661,47 @@ msgid "" "use ``tuple[()]``. Using plain ``tuple`` as an annotation is equivalent to " "using ``tuple[Any, ...]``::" msgstr "" +"Para indicar una tupla que podría tener *cualquier* tamaño y en la que todos " +"los elementos son del mismo tipo ``T``, utilice ``tuple[T, ...]``. Para " +"indicar una tupla vacía, utilice ``tuple[()]``. El uso de ``tuple`` simple " +"como anotación es equivalente a utilizar ``tuple[Any, ...]``::" #: ../Doc/library/typing.rst:457 msgid "The type of class objects" -msgstr "" +msgstr "El tipo de objetos de clase" #: ../Doc/library/typing.rst:459 -#, fuzzy msgid "" "A variable annotated with ``C`` may accept a value of type ``C``. In " "contrast, a variable annotated with ``type[C]`` (or :class:`typing.Type[C] " "`) may accept values that are classes themselves -- specifically, it " "will accept the *class object* of ``C``. For example::" msgstr "" -"Una variable indicada como ``C`` puede aceptar valores de tipo ``C``. Sin " -"embargo, un variable indicada como ``Type[C]`` puede aceptar valores que son " -"clases en sí mismas -- específicamente, aceptará el *objeto clase* de ``C``. " -"Por ejemplo.::" +"Una variable anotada con ``C`` puede aceptar un valor de tipo ``C``. Por el " +"contrario, una variable anotada con ``type[C]`` (o :class:`typing.Type[C] " +"`) puede aceptar valores que sean clases en sí mismas; " +"específicamente, aceptará el *objeto de clase* de ``C``. Por ejemplo:" #: ../Doc/library/typing.rst:469 -#, fuzzy msgid "Note that ``type[C]`` is covariant::" -msgstr "Nótese que ``Type[C]`` es covariante::" +msgstr "Tenga en cuenta que ``type[C]`` es covariante::" #: ../Doc/library/typing.rst:485 -#, fuzzy msgid "" "The only legal parameters for :class:`type` are classes, :data:`Any`, :ref:" "`type variables `, and unions of any of these types. For example::" msgstr "" -"Lo únicos parámetros válidos de :class:`Type` son clases, :data:`Any`, :ref:" -"`type variables `, y uniones de cualquiera de los tipos " -"anteriores. Por ejemplo::" +"Los únicos parámetros legales para :class:`type` son las clases, :data:" +"`Any`, :ref:`variables de tipo ` y uniones de cualquiera de estos " +"tipos. Por ejemplo::" #: ../Doc/library/typing.rst:497 -#, fuzzy msgid "" "``type[Any]`` is equivalent to :class:`type`, which is the root of Python's :" "ref:`metaclass hierarchy `." msgstr "" -"``Type[Any]`` es equivalente a ``Type``, que a su vez es equivalente a " -"``type``, que es la raíz de la jerarquía de metaclases de Python." +"``type[Any]`` es equivalente a :class:`type`, que es la raíz de la :ref:" +"`jerarquía de metaclases ` de Python." #: ../Doc/library/typing.rst:503 msgid "User-defined generic types" @@ -680,15 +713,14 @@ msgstr "" "Una clase definida por el usuario puede ser definida como una clase genérica." #: ../Doc/library/typing.rst:528 -#, fuzzy msgid "" "This syntax indicates that the class ``LoggedVar`` is parameterised around a " "single :class:`type variable ` ``T`` . This also makes ``T`` valid " "as a type within the class body." msgstr "" -"``Generic[T]`` como clase base define que la clase ``LoggedVar`` toma un " -"solo parámetro ``T``. Esto también implica que ``T`` es un tipo válido " -"dentro del cuerpo de la clase." +"Esta sintaxis indica que la clase ``LoggedVar`` está parametrizada en torno " +"a una única variable de tipo :class:`` ``T`` . Esto también hace " +"que ``T`` sea válida como tipo dentro del cuerpo de la clase." #: ../Doc/library/typing.rst:532 msgid "" @@ -696,12 +728,18 @@ msgid "" "with Python 3.11 and lower, it is also possible to inherit explicitly from :" "class:`Generic` to indicate a generic class::" msgstr "" +"Las clases genéricas heredan implícitamente de :class:`Generic`. Para " +"compatibilidad con Python 3.11 y versiones anteriores, también es posible " +"heredar explícitamente de :class:`Generic` para indicar una clase genérica::" #: ../Doc/library/typing.rst:543 msgid "" "Generic classes have :meth:`~object.__class_getitem__` methods, meaning they " "can be parameterised at runtime (e.g. ``LoggedVar[int]`` below)::" msgstr "" +"Las clases genéricas tienen métodos :meth:`~object.__class_getitem__`, lo " +"que significa que se pueden parametrizar en tiempo de ejecución (por " +"ejemplo, ``LoggedVar[int]`` a continuación)::" #: ../Doc/library/typing.rst:552 msgid "" @@ -712,54 +750,51 @@ msgstr "" "permiten todas las variaciones de :class:`TypeVar` para ser usadas como " "parámetros de un tipo genérico::" -# revisar la relacion argumento-variable-clase #: ../Doc/library/typing.rst:567 msgid "" "Each type variable argument to :class:`Generic` must be distinct. This is " "thus invalid::" msgstr "" -"Cada argumento de variable de tipo en una clase :class:`Generic` debe ser " -"distinto. Así, no será válido::" +"Cada argumento de variable de tipo de :class:`Generic` debe ser distinto. " +"Por lo tanto, esto no es válido::" #: ../Doc/library/typing.rst:581 msgid "Generic classes can also inherit from other classes::" -msgstr "" +msgstr "Las clases genéricas también pueden heredar de otras clases:" #: ../Doc/library/typing.rst:588 -#, fuzzy msgid "" "When inheriting from generic classes, some type parameters could be fixed::" msgstr "" -"Cuando se hereda de clases genéricas, se pueden fijar algunas variables de " -"tipo::" +"Al heredar de clases genéricas, algunos parámetros de tipo podrían ser fijos:" #: ../Doc/library/typing.rst:595 msgid "In this case ``MyDict`` has a single parameter, ``T``." msgstr "En este caso ``MyDict`` tiene un solo parámetro, ``T``." #: ../Doc/library/typing.rst:597 -#, fuzzy msgid "" "Using a generic class without specifying type parameters assumes :data:`Any` " "for each position. In the following example, ``MyIterable`` is not generic " "but implicitly inherits from ``Iterable[Any]``:" msgstr "" -"Al usar una clase genérica sin especificar parámetros de tipo se asume :data:" -"`Any` para todas las posiciones. En el siguiente ejemplo, ``MyIterable`` no " -"es genérico pero hereda implícitamente de ``Iterable[Any]``::" +"El uso de una clase genérica sin especificar parámetros de tipo supone :data:" +"`Any` para cada posición. En el siguiente ejemplo, ``MyIterable`` no es " +"genérico, sino que hereda implícitamente de ``Iterable[Any]``:" #: ../Doc/library/typing.rst:608 -#, fuzzy msgid "User-defined generic type aliases are also supported. Examples::" msgstr "" -"Son posibles los alias de tipos genéricos definidos por el usuario. " -"Ejemplos::" +"También se admiten alias de tipos genéricos definidos por el usuario. " +"Ejemplos:" #: ../Doc/library/typing.rst:623 msgid "" "For backward compatibility, generic type aliases can also be created through " "a simple assignment::" msgstr "" +"Para compatibilidad con versiones anteriores, también se pueden crear alias " +"de tipos genéricos mediante una asignación simple:" #: ../Doc/library/typing.rst:632 msgid ":class:`Generic` no longer has a custom metaclass." @@ -771,9 +806,11 @@ msgid "" "Previously, generic classes had to explicitly inherit from :class:`Generic` " "or contain a type variable in one of their bases." msgstr "" +"La compatibilidad sintáctica con genéricos y alias de tipo es una novedad en " +"la versión 3.12. Antes, las clases genéricas debían heredar explícitamente " +"de :class:`Generic` o contener una variable de tipo en una de sus bases." #: ../Doc/library/typing.rst:640 -#, fuzzy msgid "" "User-defined generics for parameter expressions are also supported via " "parameter specification variables in the form ``[**P]``. The behavior is " @@ -783,21 +820,22 @@ msgid "" "a :class:`ParamSpec`::" msgstr "" "Los genéricos definidos por el usuario para expresiones de parámetros " -"también se admiten a través de variables de especificación de parámetros con " -"el formato ``Generic[P]``. El comportamiento es coherente con las variables " -"de tipo descritas anteriormente, ya que el módulo typing trata las variables " +"también se admiten a través de variables de especificación de parámetros en " +"el formato ``[**P]``. El comportamiento es coherente con las variables de " +"tipo descritas anteriormente, ya que el módulo de tipado trata las variables " "de especificación de parámetros como una variable de tipo especializada. La " -"única excepción a esto es que se puede usar una lista de tipos para " -"sustituir un :class:`ParamSpec`:" +"única excepción a esto es que se puede utilizar una lista de tipos para " +"sustituir un :class:`ParamSpec`::" #: ../Doc/library/typing.rst:651 msgid "" "Classes generic over a :class:`ParamSpec` can also be created using explicit " "inheritance from :class:`Generic`. In this case, ``**`` is not used::" msgstr "" +"También se pueden crear clases genéricas sobre :class:`ParamSpec` utilizando " +"herencia explícita de :class:`Generic`. En este caso, no se utiliza ``**``::" #: ../Doc/library/typing.rst:661 -#, fuzzy msgid "" "Another difference between :class:`TypeVar` and :class:`ParamSpec` is that a " "generic with only one parameter specification variable will accept parameter " @@ -805,20 +843,20 @@ msgid "" "Type2, ...]`` for aesthetic reasons. Internally, the latter is converted to " "the former, so the following are equivalent::" msgstr "" -"Además, un genérico con una sola variable de especificación de parámetro " -"aceptará listas de parámetros en los formatos ``X[[Type1, Type2, ...]]`` y " -"también ``X[Type1, Type2, ...]`` por razones estéticas. Internamente, este " -"último se convierte en el primero y, por lo tanto, son equivalentes::" +"Otra diferencia entre :class:`TypeVar` y :class:`ParamSpec` es que una " +"variable genérica con una sola especificación de parámetros aceptará listas " +"de parámetros en los formatos ``X[[Type1, Type2, ...]]`` y también " +"``X[Type1, Type2, ...]`` por razones estéticas. Internamente, el último se " +"convierte al primero, por lo que los siguientes son equivalentes::" #: ../Doc/library/typing.rst:674 -#, fuzzy msgid "" "Note that generics with :class:`ParamSpec` may not have correct " "``__parameters__`` after substitution in some cases because they are " "intended primarily for static type checking." msgstr "" -"Téngase presente que los genéricos con :class:`ParamSpec` pueden no tener el " -"``__parameters__`` correcto después de la sustitución en algunos casos " +"Tenga en cuenta que los genéricos con :class:`ParamSpec` pueden no tener " +"``__parameters__`` correctos después de la sustitución en algunos casos " "porque están destinados principalmente a la verificación de tipos estáticos." #: ../Doc/library/typing.rst:678 @@ -831,18 +869,17 @@ msgstr "" "detalles." #: ../Doc/library/typing.rst:682 -#, fuzzy msgid "" "A user-defined generic class can have ABCs as base classes without a " "metaclass conflict. Generic metaclasses are not supported. The outcome of " "parameterizing generics is cached, and most types in the typing module are :" "term:`hashable` and comparable for equality." msgstr "" -"Un clase genérica definida por el usuario puede tener clases ABC como clase " -"base sin conflicto de metaclase. Las metaclases genéricas no están " -"permitidas. El resultado de parametrizar clases genéricas se cachea, y la " -"mayoría de los tipos en el módulo *typing* pueden tener un hash y ser " -"comparables por igualdad (*equality*)." +"Una clase genérica definida por el usuario puede tener clases ABC sin que se " +"produzca un conflicto de metaclases. No se admiten metaclases genéricas. El " +"resultado de parametrizar los genéricos se almacena en caché y la mayoría de " +"los tipos en el módulo de tipificación son :term:`hashable` y comparables en " +"términos de igualdad." #: ../Doc/library/typing.rst:689 msgid "The :data:`Any` type" @@ -956,9 +993,9 @@ msgstr "" "Este requisito también se aplicaba anteriormente a clases base abstractas " "(ABC), tales como :class:`~collections.abc.Iterable`. El problema con esta " "estrategia es que una clase debía de ser marcada explícitamente para " -"proporcionar tal funcionalidad, lo que resulta poco *pythónico* (idiomático) " -"y poco ajustado a lo que uno normalmente haría en un código Python tipado " -"dinámicamente. Por ejemplo, esto sí se ajusta al :pep:`484`::" +"proporcionar esta funcionalidad, lo que resulta poco *pythónico* " +"(idiomático) y poco ajustado a lo que uno normalmente haría en un código " +"Python tipado dinámicamente. Por ejemplo, esto sí se ajusta al :pep:`484`::" #: ../Doc/library/typing.rst:786 msgid "" @@ -989,11 +1026,11 @@ msgid "Module contents" msgstr "Contenido del módulo" #: ../Doc/library/typing.rst:809 -#, fuzzy msgid "" "The ``typing`` module defines the following classes, functions and " "decorators." -msgstr "El módulo define las siguientes clases, funciones y decoradores." +msgstr "" +"El módulo ``typing`` define las siguientes clases, funciones y decoradores." #: ../Doc/library/typing.rst:812 msgid "Special typing primitives" @@ -1004,12 +1041,12 @@ msgid "Special types" msgstr "Tipos especiales" #: ../Doc/library/typing.rst:817 -#, fuzzy msgid "" "These can be used as types in annotations. They do not support subscription " "using ``[]``." msgstr "" -"Estos pueden ser usados como tipos en anotaciones y no soportan ``[]``." +"Estos pueden ser usados como tipos en anotaciones. No soportan suscripción " +"usando ``[]``." #: ../Doc/library/typing.rst:822 msgid "Special type indicating an unconstrained type." @@ -1025,30 +1062,31 @@ msgstr ":data:`Any` es compatible con todos los tipos." # ¿Qué signica el uso de "to duck type" como un verbo en este contexto? #: ../Doc/library/typing.rst:827 -#, fuzzy msgid "" ":data:`Any` can now be used as a base class. This can be useful for avoiding " "type checker errors with classes that can duck type anywhere or are highly " "dynamic." msgstr "" -"Ahora es posible utilizar :data:`Any` como una clase base. Ésto puede ser " -"útil para evitar errores del Verificador de tipos con clases que pueden " -"hacer uso del *duck typing* en cualquier punto, o que sean altamente " -"dinámicas." +"Ahora es posible utilizar :data:`Any` como una clase base. Esto puede ser " +"útil para evitar errores del validador de tipos con clases que pueden hacer " +"uso del *duck typing* en cualquier punto, o que sean altamente dinámicas." #: ../Doc/library/typing.rst:834 msgid "A :ref:`constrained type variable `." -msgstr "" +msgstr "Una :ref:`variables de tipo restringida `." #: ../Doc/library/typing.rst:836 msgid "Definition::" -msgstr "" +msgstr "Definición::" #: ../Doc/library/typing.rst:840 msgid "" "``AnyStr`` is meant to be used for functions that may accept :class:`str` " "or :class:`bytes` arguments but cannot allow the two to mix." msgstr "" +"``AnyStr`` está pensado para ser utilizado por funciones que pueden aceptar " +"argumentos :class:`str` o :class:`bytes` pero que no puedan permitir que los " +"dos se mezclen." #: ../Doc/library/typing.rst:843 ../Doc/library/typing.rst:934 #: ../Doc/library/typing.rst:954 ../Doc/library/typing.rst:1011 @@ -1063,42 +1101,43 @@ msgid "" "`Any` type, nor does it mean \"any string\". In particular, ``AnyStr`` and " "``str | bytes`` are different from each other and have different use cases::" msgstr "" +"Tenga en cuenta que, a pesar de su nombre, ``AnyStr`` no tiene nada que ver " +"con el tipo :class:`Any`, ni significa “cualquier cadena de caracteres”. En " +"particular, ``AnyStr`` y ``str | bytes`` son diferentes entre sí y tienen " +"diferentes casos de uso::" #: ../Doc/library/typing.rst:869 msgid "Special type that includes only literal strings." -msgstr "" +msgstr "Tipo especial que incluye sólo cadenas de caracteres literales." #: ../Doc/library/typing.rst:871 -#, fuzzy msgid "" "Any string literal is compatible with ``LiteralString``, as is another " "``LiteralString``. However, an object typed as just ``str`` is not. A string " "created by composing ``LiteralString``-typed objects is also acceptable as a " "``LiteralString``." msgstr "" -"Tipo especial que solo incluye a las cadenas de texto literales. Una cadena " -"de texto literal es compatible con ``LiteralString``, así como otro " -"``LiteralString`` también lo es, pero un objeto tipado como ``str`` no lo " -"es. Una cadena de texto que ha sido creada componiendo objetos tipados como " -"``LiteralString`` también es válida como ``LiteralString``." +"Cualquier cadena de caracteres literal es compatible con ``LiteralString``, " +"al igual que cualquier otro ``LiteralString``. Sin embargo, un objeto cuyo " +"tipo sea simplemente ``str`` no lo es. Una cadena de caracteres creada " +"mediante la composición de objetos cuyo tipo sea ``LiteralString`` también " +"es aceptable como ``LiteralString``." #: ../Doc/library/typing.rst:877 ../Doc/library/typing.rst:1957 -#, fuzzy msgid "Example:" -msgstr "Por ejemplo::" +msgstr "Por ejemplo:" #: ../Doc/library/typing.rst:893 -#, fuzzy msgid "" "``LiteralString`` is useful for sensitive APIs where arbitrary user-" "generated strings could generate problems. For example, the two cases above " "that generate type checker errors could be vulnerable to an SQL injection " "attack." msgstr "" -"Ésto es util para APIs sensibles donde cadenas de texto arbitrarias " -"generadas por usuarios podrían generar problemas. Por ejemplo, los dos casos " -"que aparecen arriba que generar errores en el verificador de tipos podrían " -"ser vulnerables a un ataque de inyección de SQL." +"``LiteralString`` es útil para API sensibles en las que cadenas de " +"caracteres arbitrarias generadas por el usuario podrían generar problemas. " +"Por ejemplo, los dos casos anteriores que generan errores de verificación de " +"tipos podrían ser vulnerables a un ataque de inyección SQL." #: ../Doc/library/typing.rst:898 msgid "See :pep:`675` for more details." @@ -1111,7 +1150,7 @@ msgid "" "has no members." msgstr "" "El `bottom type `_ (tipo vacío), " -"un tipo que no tiene miembros." +"es un tipo que no tiene miembros." #: ../Doc/library/typing.rst:907 msgid "" @@ -1133,11 +1172,8 @@ msgstr "" # se añade valor para matizar que la funcion retorna (retorna el control) pero # no de manera normal. En el ejemplo lanza una excepción. #: ../Doc/library/typing.rst:932 -#, fuzzy msgid "Special type indicating that a function never returns." -msgstr "" -"Tipo especial que indica que una función nunca retorna un valor. Por " -"ejemplo::" +msgstr "Tipo especial que indica que una función nunca retorna un valor." #: ../Doc/library/typing.rst:941 msgid "" @@ -1153,9 +1189,8 @@ msgstr "" # ¿cómo se le llama en español a una variable "capturada" en una clausura? #: ../Doc/library/typing.rst:952 -#, fuzzy msgid "Special type to represent the current enclosed class." -msgstr "Tipo especial que representa la clase capturada actual. Por ejemplo::" +msgstr "Tipo especial que representa la clase capturada actual." #: ../Doc/library/typing.rst:968 msgid "" @@ -1173,6 +1208,11 @@ msgid "" "object returned from ``SubclassOfFoo.return_self`` as being of type ``Foo`` " "rather than ``SubclassOfFoo``." msgstr "" +"En general, si algo devuelve ``self``, como en los ejemplos anteriores, se " +"debe utilizar ``Self`` en la anotación del retorno. Si ``Foo.return_self`` " +"se anotó como que devuelve ``”Foo”``, entonces el validador de tipos " +"inferiría que el objeto devuelto desde ``SubclassOfFoo.return_self`` es del " +"tipo ``Foo`` en lugar de ``SubclassOfFoo``." #: ../Doc/library/typing.rst:986 msgid "Other common use cases include:" @@ -1195,19 +1235,21 @@ msgid "" "You should not use ``Self`` as the return annotation if the method is not " "guaranteed to return an instance of a subclass when the class is subclassed::" msgstr "" +"No debe utilizar ``Self`` como anotación de retorno si no se garantiza que " +"el método devuelva una instancia de una subclase cuando la clase sea " +"heredada::" #: ../Doc/library/typing.rst:1003 msgid "See :pep:`673` for more details." msgstr "Véase :pep:`673` para más detalle." #: ../Doc/library/typing.rst:1009 -#, fuzzy msgid "" "Special annotation for explicitly declaring a :ref:`type alias `." msgstr "" "Anotación especial para declarar explícitamente un :ref:`alias de tipo `. Por ejemplo::" +"aliases>`." #: ../Doc/library/typing.rst:1017 msgid "" @@ -1215,11 +1257,14 @@ msgid "" "aliases that make use of forward references, as it can be hard for type " "checkers to distinguish these from normal variable assignments:" msgstr "" +"``TypeAlias`` es particularmente útil en versiones anteriores de Python para " +"anotar alias que utilizan referencias para versiones posteriores, ya que " +"puede ser difícil para los validadores de tipos distinguirlos de las " +"asignaciones de variables normales:" #: ../Doc/library/typing.rst:1037 -#, fuzzy msgid "See :pep:`613` for more details." -msgstr "Véase :pep:`681` para más detalle." +msgstr "Ver :pep:`613` para más detalle." #: ../Doc/library/typing.rst:1041 msgid "" @@ -1231,19 +1276,26 @@ msgid "" "`TypeAlias` is not currently planned, but users are encouraged to migrate " "to :keyword:`type` statements." msgstr "" +":data:`TypeAlias` ha sido descontinuado en favor de la declaración :keyword:" +"`type`, la cual crea instancias de :class:`TypeAliasType` y que admite de " +"forma nativa referencias de versiones posteriores de Python. Tenga en cuenta " +"que, si bien :data:`TypeAlias` y :class:`TypeAliasType` tienen propósitos " +"similares y tienen nombres similares, son distintos y el último no es el " +"tipo del primero. La eliminación de :data:`TypeAlias` no está prevista " +"actualmente, pero se recomienda a los usuarios que migren a las " +"declaraciones :keyword:`type`." #: ../Doc/library/typing.rst:1052 msgid "Special forms" msgstr "Formas especiales" #: ../Doc/library/typing.rst:1054 -#, fuzzy msgid "" "These can be used as types in annotations. They all support subscription " "using ``[]``, but each has a unique syntax." msgstr "" -"Estas se pueden usar como anotaciones de tipo usando ``[]``, cada cual tiene " -"una sintaxis única." +"Estos se pueden utilizar como tipos en anotaciones. Todos admiten la " +"suscripción mediante ``[]``, pero cada uno tiene una sintaxis única." #: ../Doc/library/typing.rst:1059 msgid "" @@ -1336,10 +1388,9 @@ msgstr "" #: ../Doc/library/typing.rst:1117 msgid "Special form for annotating higher-order functions." -msgstr "" +msgstr "Forma especial para anotar funciones de orden superior." #: ../Doc/library/typing.rst:1119 -#, fuzzy msgid "" "``Concatenate`` can be used in conjunction with :ref:`Callable ` and :class:`ParamSpec` to annotate a higher-order callable which " @@ -1349,13 +1400,14 @@ msgid "" "a :ref:`Callable `. The last parameter to " "``Concatenate`` must be a :class:`ParamSpec` or ellipsis (``...``)." msgstr "" -"Se utiliza con :data:`Callable` y :class:`ParamSpec` para escribir anotar un " -"invocable de orden superior que agrega, elimina o transforma parámetros de " -"otro invocable. El uso tiene el formato ``Concatenate[Arg1Type, " -"Arg2Type, ..., ParamSpecVariable]``. Actualmente, ``Concatenate`` solo es " -"válido cuando se utiliza como primer argumento de un :data:`Callable`. El " -"último parámetro de ``Concatenate`` debe ser un :class:`ParamSpec` o unos " -"puntos suspensivos (``...``)." +"``Concatenate`` se puede utilizar junto con :ref:`Callable ` y :class:`ParamSpec` para anotar un objeto invocable de orden " +"superior que agrega, elimina o transforma parámetros de otro objeto " +"invocable. El uso se realiza en el formato ``Concatenate[Arg1Type, " +"Arg2Type, ..., ParamSpecVariable]``. ``Concatenate`` actualmente solo es " +"válido cuando se utiliza como primer argumento de un :ref:`Callable " +"`. El último parámetro de ``Concatenate`` debe ser un :" +"class:`ParamSpec` o elipsis." #: ../Doc/library/typing.rst:1128 msgid "" @@ -1376,36 +1428,33 @@ msgstr "" "que se pasan en ::" #: ../Doc/library/typing.rst:1167 ../Doc/library/typing.rst:1925 -#, fuzzy msgid "" ":pep:`612` -- Parameter Specification Variables (the PEP which introduced " "``ParamSpec`` and ``Concatenate``)" msgstr "" ":pep:`612` - Variables de especificación de parámetros (el PEP que introdujo " -"``ParamSpec`` y ``Concatenate``)." +"``ParamSpec`` y ``Concatenate``)" #: ../Doc/library/typing.rst:1169 -#, fuzzy msgid ":class:`ParamSpec`" -msgstr ":class:`ParamSpec` y :class:`Callable`." +msgstr ":class:`ParamSpec`" #: ../Doc/library/typing.rst:1170 ../Doc/library/typing.rst:1928 msgid ":ref:`annotating-callables`" -msgstr "" +msgstr ":ref:`annotating-callables`" #: ../Doc/library/typing.rst:1174 msgid "Special typing form to define \"literal types\"." -msgstr "" +msgstr "Tipo especial que solo incluye cadenas literales." #: ../Doc/library/typing.rst:1176 -#, fuzzy msgid "" "``Literal`` can be used to indicate to type checkers that the annotated " "object has a value equivalent to one of the provided literals." msgstr "" -"Un tipo que puede ser utilizado para indicar a los validadores de tipos que " -"una variable o un parámetro de una función tiene un valor equivalente al " -"valor literal proveído (o uno de los proveídos). Por ejemplo::" +"``Literal`` se puede utilizar para indicar a los validadores de tipos que el " +"objeto anotado tiene un valor equivalente a uno de los literales " +"proporcionados." #: ../Doc/library/typing.rst:1192 msgid "" @@ -1468,12 +1517,16 @@ msgstr "" #: ../Doc/library/typing.rst:1232 msgid "Special typing construct to indicate final names to type checkers." msgstr "" +"Construcción de tipado especial para indicar nombres finales a los " +"validadores de tipos." #: ../Doc/library/typing.rst:1234 msgid "" "Final names cannot be reassigned in any scope. Final names declared in class " "scopes cannot be overridden in subclasses." msgstr "" +"Los nombres finales no se pueden reasignar en ningún ámbito. Los nombres " +"finales declarados en ámbitos de clase no se pueden anular en subclases." #: ../Doc/library/typing.rst:1248 ../Doc/library/typing.rst:2829 msgid "" @@ -1484,23 +1537,26 @@ msgstr "" "pep:`591` para más detalles." #: ../Doc/library/typing.rst:1255 -#, fuzzy msgid "Special typing construct to mark a :class:`TypedDict` key as required." -msgstr "Construcción especial para tipado para marcar variables de clase." +msgstr "" +"Construcción de tipado especial para marcar una clave :class:`TypedDict` " +"como requerida." #: ../Doc/library/typing.rst:1257 -#, fuzzy msgid "" "This is mainly useful for ``total=False`` TypedDicts. See :class:`TypedDict` " "and :pep:`655` for more details." -msgstr "Véase :class:`TypedDict` y :pep:`655` para más detalle." +msgstr "" +"Esto es útil principalmente para TypedDicts ``total=False``. Vea :class:" +"`TypedDict` y :pep:`655` para obtener más detalles." #: ../Doc/library/typing.rst:1264 -#, fuzzy msgid "" "Special typing construct to mark a :class:`TypedDict` key as potentially " "missing." -msgstr "Construcción especial para tipado para marcar variables de clase." +msgstr "" +"Construcción de tipado especial para marcar una clave :class:`TypedDict` " +"como potencialmente faltante." #: ../Doc/library/typing.rst:1267 msgid "See :class:`TypedDict` and :pep:`655` for more details." @@ -1509,6 +1565,8 @@ msgstr "Véase :class:`TypedDict` y :pep:`655` para más detalle." #: ../Doc/library/typing.rst:1273 msgid "Special typing form to add context-specific metadata to an annotation." msgstr "" +"Forma de escritura especial para agregar metadatos específicos del contexto " +"a una anotación." #: ../Doc/library/typing.rst:1275 msgid "" @@ -1517,6 +1575,11 @@ msgid "" "static analysis tools or at runtime. At runtime, the metadata is stored in " "a :attr:`!__metadata__` attribute." msgstr "" +"Agregue metadatos ``x`` a un tipo ``T`` determinado mediante la anotación " +"``Annotated[T, x]``. Los metadatos agregados mediante ``Annotated`` pueden " +"usarse con herramientas de análisis estático o en tiempo de ejecución. En " +"tiempo de ejecución, los metadatos se almacenan en un atributo :attr:`!" +"__metadata__`." #: ../Doc/library/typing.rst:1280 msgid "" @@ -1526,6 +1589,11 @@ msgid "" "that wants to use annotations for purposes outside Python's static typing " "system." msgstr "" +"Si una biblioteca o herramienta encuentra una anotación ``Annotated[T, x]`` " +"y no tiene una lógica especial para los metadatos, debe ignorar los " +"metadatos y simplemente tratar la anotación como ``T``. Como tal, " +"``Annotated`` puede ser útil para el código que desea usar anotaciones para " +"fines fuera del sistema de tipado estático de Python." #: ../Doc/library/typing.rst:1286 msgid "" @@ -1536,145 +1604,151 @@ msgid "" "outside the scope of the typing system, but completely disables typechecking " "for a function or class." msgstr "" +"El uso de ``Annotated[T, x]`` como anotación aún permite la verificación de " +"tipos estática de ``T``, ya que los validadores de tipos simplemente " +"ignorarán los metadatos ``x``. De esta manera, ``Annotated`` difiere del " +"decorador :func:`@no_type_check `, que también se puede usar " +"para agregar anotaciones fuera del alcance del sistema de tipado, pero " +"deshabilita por completo la verificación de tipos para una función o clase." #: ../Doc/library/typing.rst:1293 -#, fuzzy msgid "" "The responsibility of how to interpret the metadata lies with the the tool " "or library encountering an ``Annotated`` annotation. A tool or library " "encountering an ``Annotated`` type can scan through the metadata elements to " "determine if they are of interest (e.g., using :func:`isinstance`)." msgstr "" -"En última instancia, la responsabilidad de cómo interpretar las anotaciones " -"(si es que la hay) es de la herramienta o librería que encuentra el tipo " -"``Annotated``. Una herramienta o librería que encuentra un tipo " -"``Annotated`` puede escanear las anotaciones para determinar si son de " -"interés. (por ejemplo, usando ``isinstance()``)." +"La responsabilidad de cómo interpretar los metadatos recae en la herramienta " +"o biblioteca que encuentre la anotación ``Annotated``. Una herramienta o " +"biblioteca que encuentra un tipo ``Annotated`` puede examinar los elementos " +"de metadatos para determinar si son de interés (por ejemplo, utilizando :" +"func:`isinstance`)." #: ../Doc/library/typing.rst:1301 msgid "" "Here is an example of how you might use ``Annotated`` to add metadata to " "type annotations if you were doing range analysis:" msgstr "" +"A continuación se muestra un ejemplo de cómo podría utilizar ``Annotated`` " +"para agregar metadatos a las anotaciones de tipo si estuviera realizando un " +"análisis de rango:" #: ../Doc/library/typing.rst:1314 -#, fuzzy msgid "Details of the syntax:" -msgstr "Los detalles de la sintaxis:" +msgstr "Detalles de la sintaxis:" #: ../Doc/library/typing.rst:1316 msgid "The first argument to ``Annotated`` must be a valid type" msgstr "El primer argumento en ``Annotated`` debe ser un tipo válido" #: ../Doc/library/typing.rst:1318 -#, fuzzy msgid "" "Multiple metadata elements can be supplied (``Annotated`` supports variadic " "arguments)::" msgstr "" -"Se permiten varias anotaciones de tipo (``Annotated`` admite argumentos " -"variádicos)::" +"Se pueden proporcionar varios elementos de metadatos (``Annotated`` admite " +"argumentos variádicos):" #: ../Doc/library/typing.rst:1327 -#, fuzzy msgid "" "It is up to the tool consuming the annotations to decide whether the client " "is allowed to add multiple metadata elements to one annotation and how to " "merge those annotations." msgstr "" "Depende de la herramienta que consume las anotaciones decidir si el cliente " -"puede tener varias anotaciones en un tipo y cómo combinar esas anotaciones." +"puede agregar varios elementos de metadatos a una anotación y cómo fusionar " +"esas anotaciones." #: ../Doc/library/typing.rst:1331 -#, fuzzy msgid "" "``Annotated`` must be subscripted with at least two arguments " "( ``Annotated[int]`` is not valid)" msgstr "" -"``Annotated`` debe ser llamado con al menos dos argumentos " -"(``Annotated[int]`` no es válido)" +"``Annotated`` debe estar subscrito con al menos dos argumentos " +"( ``Annotated[int]`` no es válido)" #: ../Doc/library/typing.rst:1334 -#, fuzzy msgid "" "The order of the metadata elements is preserved and matters for equality " "checks::" msgstr "" -"Se mantiene el orden de las anotaciones y se toma en cuenta para chequeos de " -"igualdad::" +"El orden de los elementos de metadatos se conserva y es importante para las " +"comprobaciones de igualdad::" #: ../Doc/library/typing.rst:1341 -#, fuzzy msgid "" "Nested ``Annotated`` types are flattened. The order of the metadata elements " "starts with the innermost annotation::" msgstr "" -"Los tipos ``Annotated`` anidados son aplanados con los metadatos ordenados " -"empezando por la anotación más interna::" +"Los tipos anidados ``Annotated`` se aplanan. El orden de los elementos de " +"metadatos comienza con la anotación más interna::" #: ../Doc/library/typing.rst:1348 -#, fuzzy msgid "Duplicated metadata elements are not removed::" -msgstr "Anotaciones duplicadas no son removidas::" +msgstr "Los elementos de metadatos duplicados no se eliminan:" #: ../Doc/library/typing.rst:1354 -#, fuzzy msgid "``Annotated`` can be used with nested and generic aliases:" -msgstr "``Anotated`` puede ser usado con alias anidados y genéricos::" +msgstr "``Annotated`` se puede utilizar con alias anidados y genéricos:" #: ../Doc/library/typing.rst:1368 -#, fuzzy msgid "``Annotated`` cannot be used with an unpacked :class:`TypeVarTuple`::" -msgstr "``Anotated`` puede ser usado con alias anidados y genéricos::" +msgstr "" +"No se puede utilizar ``Annotated`` con un :class:`TypeVarTuple` " +"descomprimido::" #: ../Doc/library/typing.rst:1372 -#, fuzzy msgid "This would be equivalent to::" -msgstr "Esto es equivalente a::" +msgstr "Esto sería equivalente a:" #: ../Doc/library/typing.rst:1376 msgid "" "where ``T1``, ``T2``, etc. are :class:`TypeVars `. This would be " "invalid: only one type should be passed to Annotated." msgstr "" +"donde ``T1``, ``T2``, etc. son :class:`TypeVars `. Esto no sería " +"válido: solo se debe pasar un tipo a ``Annotated``." #: ../Doc/library/typing.rst:1379 msgid "" "By default, :func:`get_type_hints` strips the metadata from annotations. " "Pass ``include_extras=True`` to have the metadata preserved:" msgstr "" +"De forma predeterminada, :func:`get_type_hints` elimina los metadatos de las " +"anotaciones. Pase ``include_extras=True`` para conservar los metadatos:" #: ../Doc/library/typing.rst:1392 msgid "" "At runtime, the metadata associated with an ``Annotated`` type can be " "retrieved via the :attr:`!__metadata__` attribute:" msgstr "" +"En tiempo de ejecución, los metadatos asociados con un tipo ``Annotated`` se " +"pueden recuperar a través del atributo :attr:`!__metadata__`:" #: ../Doc/library/typing.rst:1406 -#, fuzzy msgid ":pep:`593` - Flexible function and variable annotations" -msgstr ":pep:`593`: Anotaciones flexibles para funciones y variables" +msgstr ":pep:`593` - Anotaciones flexibles de funciones y variables" #: ../Doc/library/typing.rst:1407 msgid "The PEP introducing ``Annotated`` to the standard library." -msgstr "" +msgstr "El PEP introduce ``Annotated`` en la biblioteca estándar." #: ../Doc/library/typing.rst:1414 -#, fuzzy msgid "Special typing construct for marking user-defined type guard functions." -msgstr "Construcción especial para tipado para marcar variables de clase." +msgstr "" +"Construcción de tipado especial para marcar funciones de protección de tipo " +"definidas por el usuario." #: ../Doc/library/typing.rst:1416 -#, fuzzy msgid "" "``TypeGuard`` can be used to annotate the return type of a user-defined type " "guard function. ``TypeGuard`` only accepts a single type argument. At " "runtime, functions marked this way should return a boolean." msgstr "" -"Formulario de mecanografía especial utilizado para anotar el tipo de retorno " -"de una función de protección de tipo definida por el usuario. ``TypeGuard`` " -"solo acepta un argumento de tipo único. En tiempo de ejecución, las " -"funciones marcadas de esta manera deberían retornar un booleano." +"``TypeGuard`` se puede utilizar para anotar el tipo de retorno de una " +"función de protección de tipo definida por el usuario. ``TypeGuard`` solo " +"acepta un único argumento de tipo. En tiempo de ejecución, las funciones " +"marcadas de esta manera deben devolver un valor booleano." #: ../Doc/library/typing.rst:1420 msgid "" @@ -1685,7 +1759,7 @@ msgid "" "conditional expression here is sometimes referred to as a \"type guard\"::" msgstr "" "``TypeGuard`` tiene como objetivo beneficiar a *type narrowing*, una técnica " -"utilizada por los verificadores de tipo estático para determinar un tipo más " +"utilizada por los validadores de tipo estático para determinar un tipo más " "preciso de una expresión dentro del flujo de código de un programa. Por lo " "general, el estrechamiento de tipos se realiza analizando el flujo de código " "condicional y aplicando el estrechamiento a un bloque de código. La " @@ -1699,15 +1773,15 @@ msgid "" msgstr "" "A veces sería conveniente utilizar una función booleana definida por el " "usuario como protección de tipos. Dicha función debería usar " -"``TypeGuard[...]`` como su tipo de retorno para alertar a los verificadores " -"de tipo estático sobre esta intención." +"``TypeGuard[...]`` como su tipo de retorno para alertar a los validadores de " +"tipo estático sobre esta intención." #: ../Doc/library/typing.rst:1439 msgid "" "Using ``-> TypeGuard`` tells the static type checker that for a given " "function:" msgstr "" -"El uso de ``-> TypeGuard`` le dice al verificador de tipo estático que para " +"El uso de ``-> TypeGuard`` le dice al validador de tipo estático que para " "una función determinada:" #: ../Doc/library/typing.rst:1442 @@ -1767,31 +1841,30 @@ msgstr "" #: ../Doc/library/typing.rst:1483 msgid "Typing operator to conceptually mark an object as having been unpacked." msgstr "" +"Tipado para marcar conceptualmente un objeto como si hubiera sido " +"desempaquetado." #: ../Doc/library/typing.rst:1485 -#, fuzzy msgid "" "For example, using the unpack operator ``*`` on a :class:`type variable " "tuple ` is equivalent to using ``Unpack`` to mark the type " "variable tuple as having been unpacked::" msgstr "" -"Un operador de tipado que conceptualmente marca en un objeto el hecho de " -"haber sido desempaquetado. Por ejemplo, el uso del operador de " -"desempaquetado ``*`` en una :class:`type variable tuple ` es " -"equivalente al uso de ``Unpack`` para marcar en una tupla de variables de " -"tipo el haber sido desempaquetada::" +"Por ejemplo, usar el operador de desempaquetamiento ``*`` en una :class:" +"`tupla de variable de tipo ` es equivalente a usar ``Unpack`` " +"para marcar la tupla de variable de tipo como desempaquetada::" #: ../Doc/library/typing.rst:1494 -#, fuzzy msgid "" "In fact, ``Unpack`` can be used interchangeably with ``*`` in the context " "of :class:`typing.TypeVarTuple ` and :class:`builtins.tuple " "` types. You might see ``Unpack`` being used explicitly in older " "versions of Python, where ``*`` couldn't be used in certain places::" msgstr "" -"De hecho, es posible utilizar ``Unpack`` indistintamente de ``*`` en el " -"contexto de tipos. ``Unpack`` puede ser visto siendo usado explícitamente en " -"versiones más antiguas de Python, donde ``*`` no podía ser usado en ciertos " +"De hecho, ``Unpack`` se puede usar indistintamente con ``*`` en el contexto " +"de los tipos :class:`typing.TypeVarTuple ` y :class:`builtins." +"tuple `. Es posible que veas que ``Unpack`` se usa explícitamente en " +"versiones anteriores de Python, donde ``*`` no se podía usar en ciertos " "lugares::" #: ../Doc/library/typing.rst:1508 @@ -1799,26 +1872,29 @@ msgid "" "``Unpack`` can also be used along with :class:`typing.TypedDict` for typing " "``**kwargs`` in a function signature::" msgstr "" +"``Unpack`` también se puede usar junto con :class:`typing.TypedDict` para " +"tipear ``**kwargs`` en una firma de función::" #: ../Doc/library/typing.rst:1521 msgid "" "See :pep:`692` for more details on using ``Unpack`` for ``**kwargs`` typing." msgstr "" +"Consulte :pep:`692` para obtener más información sobre el uso de ``Unpack`` " +"para tipear ``**kwargs``." #: ../Doc/library/typing.rst:1526 -#, fuzzy msgid "Building generic types and type aliases" -msgstr "Construir tipos genéricos" +msgstr "Creación de tipos genéricos y alias de tipos" #: ../Doc/library/typing.rst:1528 -#, fuzzy msgid "" "The following classes should not be used directly as annotations. Their " "intended purpose is to be building blocks for creating generic types and " "type aliases." msgstr "" -"Estos no son utilizados en anotaciones. Son utilizados como bloques para " -"crear tipos genéricos." +"Las siguientes clases no se deben utilizar directamente como anotaciones. Su " +"finalidad es servir de bloques de construcción para crear tipos genéricos y " +"alias de tipos." #: ../Doc/library/typing.rst:1532 msgid "" @@ -1827,6 +1903,10 @@ msgid "" "with Python 3.11 and earlier, they can also be created without the dedicated " "syntax, as documented below." msgstr "" +"Estos objetos se pueden crear mediante una sintaxis especial (:ref:`type " +"parameter lists ` y la declaración :keyword:`type`). Para " +"compatibilidad con Python 3.11 y versiones anteriores, también se pueden " +"crear sin la sintaxis dedicada, como se documenta a continuación." #: ../Doc/library/typing.rst:1539 msgid "Abstract base class for generic types." @@ -1837,12 +1917,17 @@ msgid "" "A generic type is typically declared by adding a list of type parameters " "after the class name::" msgstr "" +"Un tipo genérico normalmente se declara agregando una lista de parámetros de " +"tipo después del nombre de la clase:" #: ../Doc/library/typing.rst:1549 msgid "" "Such a class implicitly inherits from ``Generic``. The runtime semantics of " "this syntax are discussed in the :ref:`Language Reference `." msgstr "" +"Esta clase hereda implícitamente de ``Generic``. La semántica de tiempo de " +"ejecución de esta sintaxis se analiza en la :ref:`Referencia del lenguaje " +"`." #: ../Doc/library/typing.rst:1553 msgid "This class can then be used as follows::" @@ -1853,6 +1938,8 @@ msgid "" "Here the brackets after the function name indicate a :ref:`generic function " "`." msgstr "" +"Aquí los corchetes después del nombre de la función indican una :ref:" +"`función genérica `." #: ../Doc/library/typing.rst:1564 msgid "" @@ -1860,6 +1947,9 @@ msgid "" "explicitly inheriting from ``Generic``. In this case, the type parameters " "must be declared separately::" msgstr "" +"Para compatibilidad con versiones anteriores, las clases genéricas también " +"se pueden declarar heredando explícitamente de ``Generic``. En este caso, " +"los parámetros de tipo se deben declarar por separado:" #: ../Doc/library/typing.rst:1579 msgid "Type variable." @@ -1871,31 +1961,38 @@ msgid "" "for :ref:`generic functions `, :ref:`generic classes " "`, and :ref:`generic type aliases `::" msgstr "" +"La forma preferida de construir una variable de tipo es a través de la " +"sintaxis dedicada para :ref:`funciones genéricas `, :ref:" +"`clases genéricas ` y :ref:`alias de tipo genérico `::" #: ../Doc/library/typing.rst:1589 msgid "" "This syntax can also be used to create bound and constrained type variables::" msgstr "" +"Esta sintaxis también se puede utilizar para crear variables de tipo " +"enlazadas y restringidas:" #: ../Doc/library/typing.rst:1599 msgid "" "However, if desired, reusable type variables can also be constructed " "manually, like so::" msgstr "" +"Sin embargo, si se desea, también se pueden construir manualmente variables " +"de tipo reutilizables, de la siguiente manera:" #: ../Doc/library/typing.rst:1605 -#, fuzzy msgid "" "Type variables exist primarily for the benefit of static type checkers. " "They serve as the parameters for generic types as well as for generic " "function and type alias definitions. See :class:`Generic` for more " "information on generic types. Generic functions work as follows::" msgstr "" -"Las variables de tipo son principalmente para ayudar a los validadores " -"estáticos de tipos. Sirven tanto como de parámetros para tipos genéricos " -"como para definición de funciones genéricas. Véase :class:`Generic` para más " -"información sobre tipos genéricos. Las funciones genéricas funcionan de la " -"siguiente manera::" +"Las variables de tipo existen principalmente para el beneficio de los " +"validadores de tipos estáticos. Sirven como parámetros para tipos genéricos, " +"así como para definiciones de alias de tipo y funciones genéricas. Consulte :" +"class:`Generic` para obtener más información sobre tipos genéricos. Las " +"funciones genéricas funcionan de la siguiente manera::" #: ../Doc/library/typing.rst:1626 msgid "" @@ -1915,6 +2012,13 @@ msgid "" "or ``contravariant=True``. By default, manually created type variables are " "invariant. See :pep:`484` and :pep:`695` for more details." msgstr "" +"La varianza de las variables de tipo es inferida por los validadores de tipo " +"cuando se crean a través de la :ref:`sintáxis de parámetros de tipo ` o cuando se pasa ``infer_variance=True``. Las variables de tipo " +"creadas manualmente se pueden marcar explícitamente como covariantes o " +"contravariantes al pasar ``covariant=True`` o ``contravariant=True``. De " +"manera predeterminada, las variables de tipo creadas manualmente son " +"invariantes. Consulte :pep:`484` y :pep:`695` para obtener más detalles." #: ../Doc/library/typing.rst:1637 msgid "" @@ -1946,29 +2050,29 @@ msgstr "" #: ../Doc/library/typing.rst:1675 msgid "At runtime, ``isinstance(x, T)`` will raise :exc:`TypeError`." -msgstr "" +msgstr "En tiempo de ejecución, ``isinstance(x, T)`` lanzará :exc:`TypeError`." #: ../Doc/library/typing.rst:1679 -#, fuzzy msgid "The name of the type variable." -msgstr "Variable de tipo." +msgstr "El nombre de la variable de tipo." #: ../Doc/library/typing.rst:1683 msgid "Whether the type var has been explicitly marked as covariant." -msgstr "" +msgstr "Si la variable de tipo ha sido marcado explícitamente como covariante." #: ../Doc/library/typing.rst:1687 msgid "Whether the type var has been explicitly marked as contravariant." -msgstr "" +msgstr "Si la variable de tipo ha sido marcado explícitamente como covariante." #: ../Doc/library/typing.rst:1691 msgid "" "Whether the type variable's variance should be inferred by type checkers." msgstr "" +"Si los validadores de tipo deben inferir la variación de la variable de tipo." #: ../Doc/library/typing.rst:1697 msgid "The bound of the type variable, if any." -msgstr "" +msgstr "El límite de la variable de tipo, si existe." #: ../Doc/library/typing.rst:1701 msgid "" @@ -1976,10 +2080,15 @@ msgid "" "params>`, the bound is evaluated only when the attribute is accessed, not " "when the type variable is created (see :ref:`lazy-evaluation`)." msgstr "" +"Para las variables de tipo creadas a través de :ref:`sintáxis de parámetros " +"de tipo `, el límite se evalúa solo cuando se accede al " +"atributo, no cuando se crea la variable de tipo (consulte :ref:`lazy-" +"evaluation`)." #: ../Doc/library/typing.rst:1707 msgid "A tuple containing the constraints of the type variable, if any." msgstr "" +"Una tupla que contiene las restricciones de la variable de tipo, si las hay." #: ../Doc/library/typing.rst:1711 msgid "" @@ -1987,6 +2096,10 @@ msgid "" "params>`, the constraints are evaluated only when the attribute is accessed, " "not when the type variable is created (see :ref:`lazy-evaluation`)." msgstr "" +"Para las variables de tipo creadas a través de la :ref:`sintáxis de " +"parámetros de tipo `, las restricciones se evalúan solo cuando " +"se accede al atributo, no cuando se crea la variable de tipo (consulte :ref:" +"`lazy-evaluation`)." #: ../Doc/library/typing.rst:1717 msgid "" @@ -1994,6 +2107,9 @@ msgid "" "params>` syntax introduced by :pep:`695`. The ``infer_variance`` parameter " "was added." msgstr "" +"Ahora es posible declarar variables de tipo utilizando la sintaxis de :ref:" +"`parámetros de tipo ` introducida por :pep:`695`. Se agregó el " +"parámetro ``infer_variance``." #: ../Doc/library/typing.rst:1723 msgid "" @@ -2008,10 +2124,13 @@ msgid "" "Type variable tuples can be declared in :ref:`type parameter lists ` using a single asterisk (``*``) before the name::" msgstr "" +"Las tuplas de variables de tipo se pueden declarar en :ref:`listas de " +"parámetros de tipo ` usando un solo asterisco (``*``) antes del " +"nombre::" #: ../Doc/library/typing.rst:1732 msgid "Or by explicitly invoking the ``TypeVarTuple`` constructor::" -msgstr "" +msgstr "O invocando explícitamente el constructor ``TypeVarTuple``::" #: ../Doc/library/typing.rst:1740 msgid "" @@ -2041,17 +2160,14 @@ msgstr "" "en versiones más antiguas de Python, ésto puede verse escrito usando en " "cambio :data:`Unpack `, en la forma ``Unpack[Ts]``.)" -# Esta coma es válida en español? en mi mente hace sentido porque me permite -# separar los dos sustantivos, en el mar de "de" que hay #: ../Doc/library/typing.rst:1770 -#, fuzzy msgid "" "Type variable tuples must *always* be unpacked. This helps distinguish type " "variable tuples from normal type variables::" msgstr "" -"Las tuplas de variables de tipo *siempre* deben ser desempaquetadas. Esto " -"ayuda a distinguir tuplas de variables de tipos, de variables de tipo " -"normales::" +"Las tuplas de variables de tipo *siempre* deben descomprimirse. Esto ayuda a " +"distinguir las tuplas de variables de tipo, de las variables de tipo " +"normales:" #: ../Doc/library/typing.rst:1777 msgid "" @@ -2063,12 +2179,11 @@ msgstr "" "clases, argumentos y tipos de retorno::" #: ../Doc/library/typing.rst:1785 -#, fuzzy msgid "" "Type variable tuples can be happily combined with normal type variables:" msgstr "" -"Las tuplas de variables de tipo pueden ser combinadas sin problema con " -"variables de tipo normales::" +"Las tuplas de variables de tipo se pueden combinar sin problemas con " +"variables de tipo normales:" #: ../Doc/library/typing.rst:1801 msgid "" @@ -2109,13 +2224,15 @@ msgstr "" #: ../Doc/library/typing.rst:1829 msgid "The name of the type variable tuple." -msgstr "" +msgstr "El nombre de la tupla de variables de tipo." #: ../Doc/library/typing.rst:1835 msgid "" "Type variable tuples can now be declared using the :ref:`type parameter " "` syntax introduced by :pep:`695`." msgstr "" +"Ahora es posible declarar tuplas de variables de tipo utilizando la sintaxis " +"de :ref:`parámetros de tipo ` introducida por :pep:`695`." #: ../Doc/library/typing.rst:1840 msgid "" @@ -2130,12 +2247,17 @@ msgid "" "In :ref:`type parameter lists `, parameter specifications can " "be declared with two asterisks (``**``)::" msgstr "" +"En las :ref:`listas de parámetros de tipo `, las " +"especificaciones de parámetros se pueden declarar con dos asteriscos " +"(``**``)::" #: ../Doc/library/typing.rst:1848 msgid "" "For compatibility with Python 3.11 and earlier, ``ParamSpec`` objects can " "also be created as follows::" msgstr "" +"Para compatibilidad con Python 3.11 y versiones anteriores, los objetos " +"``ParamSpec`` también se pueden crear de la siguiente manera:" #: ../Doc/library/typing.rst:1853 msgid "" @@ -2147,8 +2269,8 @@ msgid "" "See :class:`Generic` for more information on generic types." msgstr "" "Las variables de especificación de parámetros existen principalmente para el " -"beneficio de los verificadores de tipo estático. Se utilizan para reenviar " -"los tipos de parámetros de un invocable a otro invocable, un patrón que se " +"beneficio de los validadores de tipo estático. Se utilizan para reenviar los " +"tipos de parámetros de un invocable a otro invocable, un patrón que se " "encuentra comúnmente en funciones y decoradores de orden superior. Solo son " "válidos cuando se utilizan en ``Concatenate``, o como primer argumento de " "``Callable``, o como parámetros para genéricos definidos por el usuario. " @@ -2163,9 +2285,9 @@ msgid "" msgstr "" "Por ejemplo, para agregar un registro básico a una función, se puede crear " "un decorador ``add_logging`` para registrar llamadas a funciones. La " -"variable de especificación de parámetros le dice al verificador de tipo que " -"el invocable pasado al decorador y el nuevo invocable retornado por él " -"tienen parámetros de tipo interdependientes:" +"variable de especificación de parámetros le dice al validador de tipo que el " +"invocable pasado al decorador y el nuevo invocable retornado por él tienen " +"parámetros de tipo interdependientes:" #: ../Doc/library/typing.rst:1880 msgid "" @@ -2182,7 +2304,7 @@ msgid "" "The type checker can't type check the ``inner`` function because ``*args`` " "and ``**kwargs`` have to be typed :data:`Any`." msgstr "" -"El verificador de tipo no puede verificar la función ``inner`` porque " +"El validador de tipo no puede verificar la función ``inner`` porque " "``*args`` y ``**kwargs`` deben escribirse :data:`Any`." #: ../Doc/library/typing.rst:1886 @@ -2193,7 +2315,7 @@ msgid "" msgstr "" "Es posible que se requiera :func:`~cast` en el cuerpo del decorador " "``add_logging`` al retornar la función ``inner``, o se debe indicar al " -"verificador de tipo estático que ignore el ``return inner``." +"validador de tipo estático que ignore el ``return inner``." #: ../Doc/library/typing.rst:1893 msgid "" @@ -2220,7 +2342,7 @@ msgstr "" #: ../Doc/library/typing.rst:1905 msgid "The name of the parameter specification." -msgstr "" +msgstr "El nombre de la especificación del parámetro." #: ../Doc/library/typing.rst:1907 msgid "" @@ -2241,6 +2363,9 @@ msgid "" "Parameter specifications can now be declared using the :ref:`type parameter " "` syntax introduced by :pep:`695`." msgstr "" +"Las especificaciones de parámetros ahora se pueden declarar utilizando la " +"sintaxis de :ref:`parámetros de tipo ` introducida por :pep:" +"`695`." #: ../Doc/library/typing.rst:1921 msgid "" @@ -2252,7 +2377,7 @@ msgstr "" #: ../Doc/library/typing.rst:1927 msgid ":data:`Concatenate`" -msgstr "" +msgstr ":data:`Concatenate`" #: ../Doc/library/typing.rst:1933 msgid "" @@ -2265,10 +2390,9 @@ msgstr "" "`ParamSpec`. El atributo ``P.args`` de un ``ParamSpec`` es una instancia de " "``ParamSpecArgs`` y ``P.kwargs`` es una instancia de ``ParamSpecKwargs``. " "Están pensados para la introspección en tiempo de ejecución y no tienen un " -"significado especial para los verificadores de tipo estático." +"significado especial para los validadores de tipo estático." #: ../Doc/library/typing.rst:1938 -#, fuzzy msgid "" "Calling :func:`get_origin` on either of these objects will return the " "original ``ParamSpec``:" @@ -2279,20 +2403,23 @@ msgstr "" #: ../Doc/library/typing.rst:1955 msgid "The type of type aliases created through the :keyword:`type` statement." msgstr "" +"El tipo de alias de tipo creado a través de la declaración :keyword:`type`." #: ../Doc/library/typing.rst:1969 msgid "The name of the type alias:" -msgstr "" +msgstr "El nombre del alias de tipo:" #: ../Doc/library/typing.rst:1979 msgid "The module in which the type alias was defined::" -msgstr "" +msgstr "El módulo en el que se definió el alias de tipo::" #: ../Doc/library/typing.rst:1987 msgid "" "The type parameters of the type alias, or an empty tuple if the alias is not " "generic:" msgstr "" +"Los parámetros de tipo del alias de tipo, o una tupla vacía si el alias no " +"es genérico:" #: ../Doc/library/typing.rst:2001 msgid "" @@ -2300,20 +2427,23 @@ msgid "" "so names used in the definition of the alias are not resolved until the " "``__value__`` attribute is accessed:" msgstr "" +"El valor del alias de tipo. Se :ref:`evalúa de forma diferida `, por lo que los nombres utilizados en la definición del alias " +"no se resuelven hasta que se accede al atributo ``__value__``:" #: ../Doc/library/typing.rst:2019 msgid "Other special directives" msgstr "Otras directivas especiales" #: ../Doc/library/typing.rst:2021 -#, fuzzy msgid "" "These functions and classes should not be used directly as annotations. " "Their intended purpose is to be building blocks for creating and declaring " "types." msgstr "" -"Estos no son utilizados en anotaciones. Son utilizados como bloques para " -"crear tipos genéricos." +"Estas funciones y clases no se deben utilizar directamente como anotaciones. " +"Su finalidad es servir de bloques de construcción para crear y declarar " +"tipos." #: ../Doc/library/typing.rst:2027 msgid "Typed version of :func:`collections.namedtuple`." @@ -2402,44 +2532,41 @@ msgstr "Se agrega soporte para *namedtuples* genéricas." #: ../Doc/library/typing.rst:2101 msgid "Helper class to create low-overhead :ref:`distinct types `." msgstr "" +"Clase auxiliar para crear :ref:`tipos distintos ` con bajo consumo " +"de recursos." #: ../Doc/library/typing.rst:2103 -#, fuzzy msgid "" "A ``NewType`` is considered a distinct type by a typechecker. At runtime, " "however, calling a ``NewType`` returns its argument unchanged." msgstr "" -"Una clase auxiliar para indicar un tipo diferenciado a un comprobador de " -"tipos, consulte :ref:`distinct`. En tiempo de ejecución, retorna un objeto " -"que retorna su argumento cuando se llama. Uso::" +"Un validador de tipos considera que un ``NewType`` es un tipo distinto. Sin " +"embargo, en tiempo de ejecución, llamar a un ``NewType`` devuelve su " +"argumento sin cambios." #: ../Doc/library/typing.rst:2113 msgid "The module in which the new type is defined." -msgstr "" +msgstr "El módulo en el que se define el nuevo tipo." #: ../Doc/library/typing.rst:2117 msgid "The name of the new type." -msgstr "" +msgstr "El nombre del nuevo tipo." #: ../Doc/library/typing.rst:2121 msgid "The type that the new type is based on." -msgstr "" +msgstr "El tipo en el que se basa el nuevo tipo." #: ../Doc/library/typing.rst:2125 msgid "``NewType`` is now a class rather than a function." msgstr "``NewType`` es ahora una clase en lugar de una función." #: ../Doc/library/typing.rst:2130 -#, fuzzy msgid "Base class for protocol classes." -msgstr "" -"Clase base para clases protocolo. Las clases protocolo se definen así::" +msgstr "Clase base para clases de protocolo." #: ../Doc/library/typing.rst:2132 -#, fuzzy msgid "Protocol classes are defined like this::" -msgstr "" -"Clase base para clases protocolo. Las clases protocolo se definen así::" +msgstr "Las clases de protocolo se definen así::" #: ../Doc/library/typing.rst:2138 msgid "" @@ -2470,6 +2597,8 @@ msgid "" "In code that needs to be compatible with Python 3.11 or older, generic " "Protocols can be written as follows::" msgstr "" +"En el código que necesita ser compatible con Python 3.11 o anterior, los " +"protocolos genéricos se pueden escribir de la siguiente manera:" #: ../Doc/library/typing.rst:2174 msgid "Mark a protocol class as a runtime protocol." @@ -2492,7 +2621,6 @@ msgstr "" "`Iterable`. Por ejemplo::" #: ../Doc/library/typing.rst:2196 -#, fuzzy msgid "" ":func:`!runtime_checkable` will check only the presence of the required " "methods or attributes, not their type signatures or types. For example, :" @@ -2502,12 +2630,13 @@ msgid "" "more informative message, therefore making it impossible to call " "(instantiate) :class:`ssl.SSLObject`." msgstr "" -":func:`runtime_checkable` verificará solo la presencia de los métodos " -"requeridos, no sus firmas de tipo. Por ejemplo, :class:`ssl.SSLObject` es " -"una clase, por lo que pasa una verificación :func:`issubclass` contra :data:" -"`Callable`. Sin embargo, el método :meth:`ssl.SSLObject.__init__` existe " -"solo para lanzar un :exc:`TypeError` con un mensaje más informativo, por lo " -"que es imposible llamar (instanciar) :class:`ssl.SSLObject`." +":func:`!runtime_checkable` comprobará únicamente la presencia de los métodos " +"o atributos requeridos, no sus firmas de tipo o tipos. Por ejemplo, :class:" +"`ssl.SSLObject` es una clase, por lo tanto, pasa una comprobación :func:" +"`issubclass` contra :ref:`Callable `. Sin embargo, el " +"método ``ssl.SSLObject.__init__`` existe únicamente para generar un :exc:" +"`TypeError` con un mensaje más informativo, por lo que es imposible llamar " +"(instanciar) :class:`ssl.SSLObject`." #: ../Doc/library/typing.rst:2207 msgid "" @@ -2516,6 +2645,11 @@ msgid "" "protocol class. Consider using alternative idioms such as :func:`hasattr` " "calls for structural checks in performance-sensitive code." msgstr "" +"Una verificación :func:`isinstance` contra un protocolo comprobable en " +"tiempo de ejecución puede ser sorprendentemente lenta en comparación con una " +"verificación ``isinstance()`` contra una clase que no es de protocolo. " +"Considere utilizar expresiones alternativas como llamadas :func:`hasattr` " +"para comprobaciones estructurales en código sensible al rendimiento." #: ../Doc/library/typing.rst:2215 msgid "" @@ -2526,6 +2660,14 @@ msgid "" "longer be considered instances of that protocol on Python 3.12+, and vice " "versa. Most users are unlikely to be affected by this change." msgstr "" +"La implementación interna de las comprobaciones de :func:`isinstance` con " +"protocolos que se pueden comprobar en tiempo de ejecución ahora utiliza :" +"func:`inspect.getattr_static` para buscar atributos (anteriormente, se " +"utilizaba :func:`hasattr`). Como resultado, algunos objetos que solían " +"considerarse instancias de un protocolo que se podía comprobar en tiempo de " +"ejecución ya no se consideran instancias de ese protocolo en Python 3.12+, y " +"viceversa. Es poco probable que la mayoría de los usuarios se vean afectados " +"por este cambio." #: ../Doc/library/typing.rst:2224 msgid "" @@ -2535,6 +2677,13 @@ msgid "" "on :func:`isinstance` checks comparing objects to the protocol. See :ref:" "`\"What's new in Python 3.12\" ` for more details." msgstr "" +"Los miembros de un protocolo que se pueden comprobar en tiempo de ejecución " +"ahora se consideran \"congelados\" en tiempo de ejecución tan pronto como se " +"crea la clase. La aplicación de parches de atributos en un protocolo que se " +"puede comprobar en tiempo de ejecución seguirá funcionando, pero no tendrá " +"ningún impacto en las comprobaciones de :func:`isinstance` que comparan " +"objetos con el protocolo. Consulte :ref:`\"¿Qué hay de nuevo en Python " +"3.12\" ` para obtener más detalles." #: ../Doc/library/typing.rst:2235 msgid "" @@ -2627,7 +2776,7 @@ msgid "" "and makes all items defined in the class body required." msgstr "" "Esto significa que un ``TypedDict`` ``Point2D`` puede tener cualquiera de " -"las llaves omitidas. Solo se espera que un verificador de tipo admita un " +"las llaves omitidas. Solo se espera que un validador de tipo admita un " "``False`` literal o ``True`` como valor del argumento ``total``. ``True`` es " "el predeterminado y hace que todos los elementos definidos en el cuerpo de " "la clase sean obligatorios." @@ -2673,6 +2822,8 @@ msgid "" "To create a generic ``TypedDict`` that is compatible with Python 3.11 or " "lower, inherit from :class:`Generic` explicitly:" msgstr "" +"Para crear un ``TypedDict`` genérico que sea compatible con Python 3.11 o " +"anterior, herede de :class:`Generic` explícitamente:" #: ../Doc/library/typing.rst:2373 msgid "" @@ -2687,11 +2838,10 @@ msgstr "" "`__optional_keys__`." #: ../Doc/library/typing.rst:2379 -#, fuzzy msgid "" "``Point2D.__total__`` gives the value of the ``total`` argument. Example:" msgstr "" -"``Point2D.__total__`` entrega el valor del argumento ``total``. Ejemplo::" +"``Point2D.__total__`` proporciona el valor del argumento ``total``. Ejemplo:" #: ../Doc/library/typing.rst:2401 msgid "" @@ -2714,7 +2864,6 @@ msgstr "" "aparecerán en ``__optional_keys__``." #: ../Doc/library/typing.rst:2407 -#, fuzzy msgid "" "For backwards compatibility with Python 3.10 and below, it is also possible " "to use inheritance to declare both required and non-required keys in the " @@ -2722,11 +2871,11 @@ msgid "" "value for the ``total`` argument and then inheriting from it in another " "``TypedDict`` with a different value for ``total``:" msgstr "" -"Para retrocompatibilidad con Python 3.10 y versiones más antiguas, es " -"posible utilizar herencia para declarar tanto las llaves requeridas como las " -"no requeridas en el mismo ``TypedDict``. Ésto se logra declarando un " -"``TypedDict`` con un valor para el argumento ``total`` y luego heredando de " -"él en otro ``TypedDict`` con un valor distinto para ``total``::" +"Para compatibilidad con versiones anteriores de Python 3.10, también es " +"posible usar la herencia para declarar claves obligatorias y no obligatorias " +"en el mismo ``TypedDict``. Esto se hace declarando un ``TypedDict`` con un " +"valor para el argumento ``total`` y luego heredando de él en otro " +"``TypedDict`` con un valor diferente para ``total``:" #: ../Doc/library/typing.rst:2430 msgid "" @@ -2752,11 +2901,12 @@ msgid "Protocols" msgstr "Protocolos" #: ../Doc/library/typing.rst:2444 -#, fuzzy msgid "" "The following protocols are provided by the typing module. All are decorated " "with :func:`@runtime_checkable `." -msgstr "Estos protocolos se decoran con :func:`runtime_checkable`." +msgstr "" +"El módulo de tipado proporciona los siguientes protocolos. Todos están " +"decorados con :func:`@runtime_checkable `." #: ../Doc/library/typing.rst:2449 msgid "" @@ -2796,7 +2946,7 @@ msgstr "" #: ../Doc/library/typing.rst:2480 msgid "ABCs for working with IO" -msgstr "" +msgstr "ABC para trabajar con IO" #: ../Doc/library/typing.rst:2486 msgid "" @@ -2816,7 +2966,6 @@ msgstr "Funciones y decoradores" msgid "Cast a value to a type." msgstr "Convertir un valor a un tipo." -# el "esto" del final queda muy colgado #: ../Doc/library/typing.rst:2498 msgid "" "This returns the value unchanged. To the type checker this signals that the " @@ -2836,21 +2985,20 @@ msgstr "" "tipo inferido." #: ../Doc/library/typing.rst:2507 -#, fuzzy msgid "" "At runtime this does nothing: it returns the first argument unchanged with " "no checks or side effects, no matter the actual type of the argument." msgstr "" -"En tiempo de ejecución, ésto retorna el primer argumento sin modificar y sin " -"efectos secundarios." +"En tiempo de ejecución esto no hace nada: devuelve el primer argumento sin " +"cambios, sin verificaciones ni efectos secundarios, sin importar el tipo " +"real del argumento." #: ../Doc/library/typing.rst:2510 -#, fuzzy msgid "" "When a static type checker encounters a call to ``assert_type()``, it emits " "an error if the value is not of the specified type::" msgstr "" -"Cuando el validador de tipos se encuentra con una llamada a " +"Cuando un validador de tipo estático encuentra una llamada a " "``assert_type()``, emite un error si el valor no es del tipo especificado::" #: ../Doc/library/typing.rst:2517 @@ -2879,9 +3027,11 @@ msgid "" "never execute, because ``arg`` is either an :class:`int` or a :class:`str`, " "and both options are covered by earlier cases." msgstr "" +"Aquí, las anotaciones permiten al validador de tipos inferir que el último " +"caso nunca puede ejecutarse, porque ``arg`` es un :class:`int` o un :class:" +"`str`, y ambas opciones están cubiertas por los casos anteriores." #: ../Doc/library/typing.rst:2549 -#, fuzzy msgid "" "If a type checker finds that a call to ``assert_never()`` is reachable, it " "will emit an error. For example, if the type annotation for ``arg`` was " @@ -2890,16 +3040,13 @@ msgid "" "``assert_never`` to pass type checking, the inferred type of the argument " "passed in must be the bottom type, :data:`Never`, and nothing else." msgstr "" -"Aquí, las anotaciones permiten al validador de tipos inferir que el último " -"caso nunca será ejecutado, porque ``arg`` es un :class:`int` o un :class:" -"`str`, y ambas opciones son cubiertas por los casos anteriores. Si un " -"validador de tipos encuentra que una llamada a ``assert_never()`` es " -"alcanzable, emitirá un error. Por ejemplo, si la anotación de tipos para " -"``arg`` fuera en cambio ``int | str | float``, el validador de tipos " -"emitiría un error señalando que ``unreachable`` es de tipo :class:`float`. " -"Para que una llamada a ``assert_never`` pase la validación de tipos, el tipo " -"inferido del argumento dado debe ser el tipo vacío, :data:`Never`, y nada " -"más." +"Si un validador de tipos encuentra que una llamada a ``assert_never()`` es " +"alcanzable, emitirá un error. Por ejemplo, si la anotación de tipo para " +"``arg`` fuese en cambio ``int | str | float``, el validador de tipos " +"emitiría un error que indicaría que ``unreachable`` es de tipo :class:" +"`float`. Para que una llamada a ``assert_never`` pase la verificación de " +"tipos, el tipo inferido del argumento pasado debe ser el tipo inferior, :" +"data:`Never`, y nada más." #: ../Doc/library/typing.rst:2557 msgid "At runtime, this throws an exception when called." @@ -2967,9 +3114,10 @@ msgid "" "Decorator to mark an object as providing :func:`dataclass `-like behavior." msgstr "" +"Decorador para marcar un objeto como si proporcionara un comportamiento " +"similar a :func:`dataclass `." #: ../Doc/library/typing.rst:2604 -#, fuzzy msgid "" "``dataclass_transform`` may be used to decorate a class, metaclass, or a " "function that is itself a decorator. The presence of " @@ -2977,17 +3125,16 @@ msgid "" "object performs runtime \"magic\" that transforms a class in a similar way " "to :func:`@dataclasses.dataclass `." msgstr "" -"Es posible utilizar :data:`~typing.dataclass_transform` para decorar una " -"clase, metaclase, o una función que es ella misma un decorador. La presencia " -"de ``@dataclass_transform()`` indica a un validador estático de tipos que el " -"objeto decorado ejecuta, en tiempo de ejecución, \"magia\" que transforma " -"una clase, dándole comportamientos similares a los que tiene :func:" -"`dataclasses.dataclass`." +"``dataclass_transform`` se puede utilizar para decorar una clase, metaclase " +"o una función que sea en sí misma un decorador. La presencia de " +"``@dataclass_transform()`` le indica al validador de tipos estáticos que el " +"objeto decorado realiza una \"magia\" en tiempo de ejecución que transforma " +"una clase de manera similar a :func:`@dataclasses.dataclass `." #: ../Doc/library/typing.rst:2611 -#, fuzzy msgid "Example usage with a decorator function:" -msgstr "Ejemplo de uso con una función-decorador::" +msgstr "Ejemplo de uso con una función decoradora:" #: ../Doc/library/typing.rst:2625 msgid "On a base class::" @@ -3039,63 +3186,58 @@ msgstr "" #: ../Doc/library/typing.rst msgid "Parameters" -msgstr "" +msgstr "Parámetros" #: ../Doc/library/typing.rst:2663 -#, fuzzy msgid "" "Indicates whether the ``eq`` parameter is assumed to be ``True`` or " "``False`` if it is omitted by the caller. Defaults to ``True``." msgstr "" -"``eq_default`` indica si, cuando el invocador haya omitido el parámetro " -"``eq``, el valor de éste debe tomarse por ``True`` o ``False``." +"Indica si se asume que el parámetro ``eq`` es ``True`` o ``False`` si el " +"llamador lo omite. El valor predeterminado es ``True``." #: ../Doc/library/typing.rst:2668 -#, fuzzy msgid "" "Indicates whether the ``order`` parameter is assumed to be ``True`` or " "``False`` if it is omitted by the caller. Defaults to ``False``." msgstr "" -"``eq_default`` indica si, cuando el invocador haya omitido el parámetro " -"``eq``, el valor de éste debe tomarse por ``True`` o ``False``." +"Indica si se asume que el parámetro ``order`` es ``True`` o ``False`` si el " +"llamador lo omite. El valor predeterminado es ``False``." #: ../Doc/library/typing.rst:2673 -#, fuzzy msgid "" "Indicates whether the ``kw_only`` parameter is assumed to be ``True`` or " "``False`` if it is omitted by the caller. Defaults to ``False``." msgstr "" -"``eq_default`` indica si, cuando el invocador haya omitido el parámetro " -"``eq``, el valor de éste debe tomarse por ``True`` o ``False``." +"Indica si se asume que el parámetro ``kw_only`` es ``True`` o ``False`` si " +"el llamador lo omite. El valor predeterminado es ``False``." #: ../Doc/library/typing.rst:2678 -#, fuzzy msgid "" "Indicates whether the ``frozen`` parameter is assumed to be ``True`` or " "``False`` if it is omitted by the caller. Defaults to ``False``. .. " "versionadded:: 3.12" msgstr "" -"``eq_default`` indica si, cuando el invocador haya omitido el parámetro " -"``eq``, el valor de éste debe tomarse por ``True`` o ``False``." +"Indica si se asume que el parámetro ``frozen`` es ``True`` o ``False`` si el " +"llamador lo omite. El valor predeterminado es ``False``. .. Agregado en la " +"versión:: 3.12" #: ../Doc/library/typing.rst:2679 -#, fuzzy msgid "" "Indicates whether the ``frozen`` parameter is assumed to be ``True`` or " "``False`` if it is omitted by the caller. Defaults to ``False``." msgstr "" -"``eq_default`` indica si, cuando el invocador haya omitido el parámetro " -"``eq``, el valor de éste debe tomarse por ``True`` o ``False``." +"Indica si se asume que el parámetro ``frozen`` es ``True`` o ``False`` si el " +"llamador lo omite. El valor predeterminado es ``False``." #: ../Doc/library/typing.rst:2685 -#, fuzzy msgid "" "Specifies a static list of supported classes or functions that describe " "fields, similar to :func:`dataclasses.field`. Defaults to ``()``." msgstr "" -"``field_specifiers`` (especificadores de campos) especifica una lista " -"estática de clases o funciones soportadas que describen campos, de manera " -"similar a ``dataclasses.field()``." +"Especifica una lista estática de clases o funciones admitidas que describen " +"campos, parecido con :func:`dataclasses.field`. El valor predeterminado es " +"``()``." #: ../Doc/library/typing.rst:2691 msgid "" @@ -3106,80 +3248,76 @@ msgstr "" "posibles extensiones futuras." #: ../Doc/library/typing.rst:2695 -#, fuzzy msgid "" "Type checkers recognize the following optional parameters on field " "specifiers:" msgstr "" -"Los validadores de tipos reconocen los siguientes argumentos opcionales en " -"especificadores de campos:" +"Los validadores de tipos reconocen los siguientes parámetros opcionales en " +"los especificadores de campo:" #: ../Doc/library/typing.rst:2698 msgid "**Recognised parameters for field specifiers**" -msgstr "" +msgstr "**Parámetros reconocidos para especificadores de campo**" #: ../Doc/library/typing.rst:2702 msgid "Parameter name" -msgstr "" +msgstr "Nombre del parámetro" #: ../Doc/library/typing.rst:2703 msgid "Description" -msgstr "" +msgstr "Descripción" #: ../Doc/library/typing.rst:2704 -#, fuzzy msgid "``init``" -msgstr "``typing.Text``" +msgstr "``init``" #: ../Doc/library/typing.rst:2705 -#, fuzzy msgid "" "Indicates whether the field should be included in the synthesized " "``__init__`` method. If unspecified, ``init`` defaults to ``True``." msgstr "" -"``init`` indica si el campo debe ser incluido en el método ``__init__`` " -"sintetizado. Si no es especificado, ``init`` será ``True`` por defecto." +"Indica si el campo debe incluirse en el método ``__init__`` sintetizado. Si " +"no se especifica, el valor predeterminado de ``init`` es ``True``." #: ../Doc/library/typing.rst:2708 msgid "``default``" -msgstr "" +msgstr "``default``" #: ../Doc/library/typing.rst:2709 -#, fuzzy msgid "Provides the default value for the field." -msgstr "``default`` provee el valor por defecto para el campo." +msgstr "Proporciona el valor predeterminado para el campo." #: ../Doc/library/typing.rst:2710 msgid "``default_factory``" -msgstr "" +msgstr "``default_factory``" #: ../Doc/library/typing.rst:2711 -#, fuzzy msgid "" "Provides a runtime callback that returns the default value for the field. If " "neither ``default`` nor ``default_factory`` are specified, the field is " "assumed to have no default value and must be provided a value when the class " "is instantiated." msgstr "" -"``default_factory`` provee un *callback* en tiempo de ejecución que retorna " -"el valor por defecto para el campo. Si no se especifican ``default`` ni " -"``default_factory``, se asumirá que el campo no tiene un valor por defecto y " -"que un valor debe ser provisto cuando la clase sea instanciada." +"Proporciona una retrollamada en tiempo de ejecución que devuelve el valor " +"predeterminado del campo. Si no se especifican ``default`` ni " +"``default_factory``, se supone que el campo no tiene un valor predeterminado " +"y se le debe proporcionar un valor cuando se cree una instancia de la clase." #: ../Doc/library/typing.rst:2716 msgid "``factory``" -msgstr "" +msgstr "``factory``" #: ../Doc/library/typing.rst:2717 msgid "An alias for the ``default_factory`` parameter on field specifiers." msgstr "" +"Un alias para el parámetro ``default_factory`` en los especificadores de " +"campo." #: ../Doc/library/typing.rst:2718 msgid "``kw_only``" -msgstr "" +msgstr "``kw_only``" #: ../Doc/library/typing.rst:2719 -#, fuzzy msgid "" "Indicates whether the field should be marked as keyword-only. If ``True``, " "the field will be keyword-only. If ``False``, it will not be keyword-only. " @@ -3188,28 +3326,27 @@ msgid "" "unspecified, the value of ``kw_only_default`` on ``dataclass_transform`` " "will be used." msgstr "" -"``kw_only`` indica si el campo debe ser marcado como exclusivamente de " -"palabra clave. Si es ``True``, el campo será exclusivamente de palabra " -"clave. Si es ``False`` no lo será. Si no se especifica, se utilizará el " -"valor para el parámetro ``kw_only`` especificado en el objeto decorado con " -"``dataclass_transform``, o si éste tampoco está especificado, se utilizará " -"el valor de ``kw_only_default`` en ``dataclass_transform``." +"Indica si el campo debe marcarse como solo para palabras clave. Si es " +"``True``, el campo será solo para palabras clave. Si es ``False``, no será " +"solo para palabras clave. Si no se especifica, se utilizará el valor del " +"parámetro ``kw_only`` en el objeto decorado con ``dataclass_transform``, o " +"si no se especifica, se utilizará el valor de ``kw_only_default`` en " +"``dataclass_transform``." #: ../Doc/library/typing.rst:2725 msgid "``alias``" -msgstr "" +msgstr "``alias``" # La idea de "synthesized __init__ method" puede verse en el pep 681 donde # refiere a los métodos init que pueden auto-generar librerías con # características similares a dataclass #: ../Doc/library/typing.rst:2726 -#, fuzzy msgid "" "Provides an alternative name for the field. This alternative name is used in " "the synthesized ``__init__`` method." msgstr "" -"``alias`` provee un nombre alternativo para el campo. Este nombre " -"alternativo será utilizado en el método ``__init__`` sintetizado." +"Proporciona un nombre alternativo para el campo. Este nombre alternativo se " +"utiliza en el método sintetizado ``__init__``." #: ../Doc/library/typing.rst:2729 msgid "" @@ -3227,7 +3364,7 @@ msgstr "Véase :pep:`681` para más detalle." #: ../Doc/library/typing.rst:2739 msgid "Decorator for creating overloaded functions and methods." -msgstr "" +msgstr "Decorador para crear funciones y métodos sobrecargados." #: ../Doc/library/typing.rst:2741 msgid "" @@ -3236,6 +3373,11 @@ msgid "" "``@overload``-decorated definitions must be followed by exactly one non-" "``@overload``-decorated definition (for the same function/method)." msgstr "" +"El decorador ``@overload`` permite describir funciones y métodos que admiten " +"múltiples combinaciones diferentes de tipos de argumentos. Una serie de " +"definiciones decoradas con ``@overload`` debe ir seguida de exactamente una " +"definición que no esté decorada con ``@overload`` (para la misma función o " +"método)." #: ../Doc/library/typing.rst:2746 msgid "" @@ -3246,12 +3388,20 @@ msgid "" "calling an ``@overload``-decorated function directly will raise :exc:" "`NotImplementedError`." msgstr "" +"Las definiciones decoradas con ``@overload`` son solo para beneficio del " +"validador de tipos, ya que serán sobrescritas por la definición no decorada " +"con ``@overload``. Mientras tanto, la definición no decorada con " +"``@overload`` se usará en tiempo de ejecución, pero el validador de tipos " +"debe ignorarla. En tiempo de ejecución, llamar a una función decorada con " +"``@overload`` directamente generará :exc:`NotImplementedError`." #: ../Doc/library/typing.rst:2754 msgid "" "An example of overload that gives a more precise type than can be expressed " "using a union or a type variable:" msgstr "" +"Un ejemplo de sobrecarga que proporciona un tipo más preciso que el que se " +"puede expresar mediante una unión o una variable de tipo:" #: ../Doc/library/typing.rst:2771 msgid "" @@ -3273,9 +3423,10 @@ msgid "" "Return a sequence of :func:`@overload `-decorated definitions for " "*func*." msgstr "" +"Devuelve una secuencia de definiciones decoradas con :func:`@overload " +"` para *func*." #: ../Doc/library/typing.rst:2783 -#, fuzzy msgid "" "*func* is the function object for the implementation of the overloaded " "function. For example, given the definition of ``process`` in the " @@ -3284,13 +3435,12 @@ msgid "" "overloads. If called on a function with no overloads, ``get_overloads()`` " "returns an empty sequence." msgstr "" -"Retorna una secuencia de definiciones para *func* decoradas con :func:" -"`@overload `. *func* es el objeto función correspondiente a la " -"implementación de la función sobrecargada. Por ejemplo, dada la definición " -"de ``process`` en la documentación de :func:`@overload `, " -"``get_overloads(process)`` retornará una secuencia de tres objetos función " -"para las tres sobrecargas definidas. Si es llamada con una función que no " -"tenga sobrecargas, ``get_overloads()`` retorna una secuencia vacía." +"*func* es el objeto de función para la implementación de la función " +"sobrecargada. Por ejemplo, dada la definición de ``process`` en la " +"documentación de :func:`@overload `, ``get_overloads(process)`` " +"devolverá una secuencia de tres objetos de función para las tres sobrecargas " +"definidas. Si se llama en una función sin sobrecargas, ``get_overloads()`` " +"devuelve una secuencia vacía." #: ../Doc/library/typing.rst:2790 msgid "" @@ -3301,36 +3451,29 @@ msgstr "" "ejecución una función sobrecargada." #: ../Doc/library/typing.rst:2798 -#, fuzzy msgid "Clear all registered overloads in the internal registry." -msgstr "" -"Limpia todas las sobrecargas registradas del registro interno. Ésto puede " -"ser usado para recuperar memoria usada por el registro." +msgstr "Borra todas las sobrecargas registradas en el registro interno." #: ../Doc/library/typing.rst:2800 -#, fuzzy msgid "This can be used to reclaim the memory used by the registry." msgstr "" -"Limpia todas las sobrecargas registradas del registro interno. Ésto puede " -"ser usado para recuperar memoria usada por el registro." +"Esto se puede utilizar para recuperar la memoria utilizada por el registro." #: ../Doc/library/typing.rst:2807 msgid "Decorator to indicate final methods and final classes." -msgstr "" +msgstr "Decorador para indicar métodos finales y clases finales." #: ../Doc/library/typing.rst:2809 -#, fuzzy msgid "" "Decorating a method with ``@final`` indicates to a type checker that the " "method cannot be overridden in a subclass. Decorating a class with " "``@final`` indicates that it cannot be subclassed." msgstr "" -"Un decorador que indica a los validadores de tipos que el método decorado no " -"se puede sobreescribir, o que la clase decorada no se puede derivar " -"(*subclassed*). Por ejemplo::" +"Decorar un método con ``@final`` indica a un validador de tipos que el " +"método no se puede anular en una subclase. Decorar una clase con ``@final`` " +"indica que no se puede subclasificar." #: ../Doc/library/typing.rst:2834 -#, fuzzy msgid "" "The decorator will now attempt to set a ``__final__`` attribute to ``True`` " "on the decorated object. Thus, a check like ``if getattr(obj, \"__final__\", " @@ -3339,12 +3482,12 @@ msgid "" "attributes, the decorator returns the object unchanged without raising an " "exception." msgstr "" -"El decorador establecerá a ``True`` el atributo ``__final__`` en el objeto " -"decorado. De este modo, es posible utilizar en tiempo de ejecución una " -"verificación como ``if getattr(obj, \"__final__\", False)`` para determinar " -"si un objeto ``obj`` has sido marcado como final. Si el objeto decorado no " -"soporta el establecimiento de atributos, el decorador retorna el objeto sin " -"cambios y sin levantar una excepción." +"El decorador intentará ahora establecer un atributo ``__final__`` como " +"``True`` en el objeto decorado. Por lo tanto, se puede utilizar una " +"comprobación como ``if getattr(obj, “__final__”, False)`` en tiempo de " +"ejecución para determinar si un objeto ``obj`` se ha marcado como final. Si " +"el objeto decorado no admite la configuración de atributos, el decorador " +"devuelve el objeto sin cambios sin lanzar una excepción." # se extrae del contexto que el decorador elimina la comprobacion de tipo en # el validador, por lo tanto solo anota/comenta (annotation), no @@ -3356,7 +3499,6 @@ msgstr "" "indicadores de tipo." #: ../Doc/library/typing.rst:2847 -#, fuzzy msgid "" "This works as a class or function :term:`decorator`. With a class, it " "applies recursively to all methods and classes defined in that class (but " @@ -3365,18 +3507,17 @@ msgid "" msgstr "" "Esto funciona como un :term:`decorator` (decorador) de clase o función. Con " "una clase, se aplica recursivamente a todos los métodos y clases definidos " -"en dicha clase (pero no a lo métodos definidos en sus superclases y " -"subclases)." +"en esa clase (pero no a los métodos definidos en sus superclases o " +"subclases). Los validadores de tipos ignorarán todas las anotaciones en una " +"función o clase con este decorador." #: ../Doc/library/typing.rst:2853 msgid "``@no_type_check`` mutates the decorated object in place." -msgstr "" +msgstr "``@no_type_check`` muta el objeto decorado en su lugar." #: ../Doc/library/typing.rst:2857 msgid "Decorator to give another decorator the :func:`no_type_check` effect." -msgstr "" -"Un decorador que asigna a otro decorador el efecto de :func:`no_type_check` " -"(no comprobar tipo)." +msgstr "Decorador para dar a otro decorador el efecto :func:`no_type_check`." #: ../Doc/library/typing.rst:2859 msgid "" @@ -3391,6 +3532,8 @@ msgid "" "Decorator to indicate that a method in a subclass is intended to override a " "method or attribute in a superclass." msgstr "" +"Decorador para indicar que un método en una subclase está destinado a anular " +"un método o atributo en una superclase." #: ../Doc/library/typing.rst:2868 msgid "" @@ -3398,16 +3541,16 @@ msgid "" "does not, in fact, override anything. This helps prevent bugs that may occur " "when a base class is changed without an equivalent change to a child class." msgstr "" +"Los validadores de tipos deberían emitir un error si un método decorado con " +"``@override`` no anula nada. Esto ayuda a evitar errores que pueden ocurrir " +"cuando se modifica una clase base sin un cambio equivalente en una clase " +"secundaria." #: ../Doc/library/typing.rst:2890 -#, fuzzy msgid "There is no runtime checking of this property." -msgstr "" -"No hay comprobación en tiempo de ejecución para estas propiedades. Véase :" -"pep:`591` para más detalles." +msgstr "No hay ninguna comprobación en tiempo de ejecución de esta propiedad." #: ../Doc/library/typing.rst:2892 -#, fuzzy msgid "" "The decorator will attempt to set an ``__override__`` attribute to ``True`` " "on the decorated object. Thus, a check like ``if getattr(obj, " @@ -3416,23 +3559,21 @@ msgid "" "not support setting attributes, the decorator returns the object unchanged " "without raising an exception." msgstr "" -"El decorador establecerá a ``True`` el atributo ``__final__`` en el objeto " -"decorado. De este modo, es posible utilizar en tiempo de ejecución una " -"verificación como ``if getattr(obj, \"__final__\", False)`` para determinar " -"si un objeto ``obj`` has sido marcado como final. Si el objeto decorado no " -"soporta el establecimiento de atributos, el decorador retorna el objeto sin " -"cambios y sin levantar una excepción." +"El decorador intentará establecer un atributo ``__override__`` en ``True`` " +"en el objeto decorado. Por lo tanto, una comprobación como ``if getattr(obj, " +"“__override__”, False)`` se puede utilizar en tiempo de ejecución para " +"determinar si un objeto ``obj`` ha sido marcado como anulado. Si el objeto " +"decorado no admite la configuración de atributos, el decorador devuelve el " +"objeto sin cambios sin generar una excepción." #: ../Doc/library/typing.rst:2899 -#, fuzzy msgid "See :pep:`698` for more details." -msgstr "Véase :pep:`681` para más detalle." +msgstr "Vea :pep:`681` para más información." #: ../Doc/library/typing.rst:2906 -#, fuzzy msgid "Decorator to mark a class or function as unavailable at runtime." msgstr "" -"Un decorador que marca una clase o función como no disponible en tiempo de " +"Decorador para marcar una clase o función como no disponible en tiempo de " "ejecución." #: ../Doc/library/typing.rst:2908 @@ -3480,15 +3621,14 @@ msgstr "" "``__annotations__`` y ``C.__mro`` en orden inverso." #: ../Doc/library/typing.rst:2936 -#, fuzzy msgid "" "The function recursively replaces all ``Annotated[T, ...]`` with ``T``, " "unless ``include_extras`` is set to ``True`` (see :class:`Annotated` for " "more information). For example:" msgstr "" -"La función reemplaza todos los ``Annotated[T, ...]`` con ``T`` de manera " -"recursiva, a menos que ``include_extras`` se defina como ``True`` ( véase :" -"class:`Annotated` para más información). Por ejemplo::" +"La función reemplaza recursivamente todos los ``Annotated[T, ...]`` con " +"``T``, a menos que ``include_extras`` esté configurado como ``True`` " +"(consulte :class:`Annotated` para obtener más información). Por ejemplo:" #: ../Doc/library/typing.rst:2953 msgid "" @@ -3502,11 +3642,12 @@ msgstr "" "mayoría de las referencias futuras." #: ../Doc/library/typing.rst:2958 -#, fuzzy msgid "" "Added ``include_extras`` parameter as part of :pep:`593`. See the " "documentation on :data:`Annotated` for more information." -msgstr "Se agregan los parámetros ``include_extras`` como parte de :pep:`593`." +msgstr "" +"Se agregó el parámetro ``include_extras`` como parte de :pep:`593`. Consulte " +"la documentación en :data:`Annotated` para obtener más información." #: ../Doc/library/typing.rst:2962 msgid "" @@ -3523,6 +3664,8 @@ msgid "" "Get the unsubscripted version of a type: for a typing object of the form " "``X[Y, Z, ...]`` return ``X``." msgstr "" +"Obtiene la versión sin suscripción de un tipo: para un objeto de tipado de " +"la forma ``X[Y, Z, ...]`` devuelve ``X``." #: ../Doc/library/typing.rst:2972 msgid "" @@ -3531,34 +3674,34 @@ msgid "" "class:`ParamSpecArgs` or :class:`ParamSpecKwargs`, return the underlying :" "class:`ParamSpec`. Return ``None`` for unsupported objects." msgstr "" +"Si ``X`` es un alias de módulo de tipado para una clase incorporada o :mod:" +"`collections`, se normalizará a la clase original. Si ``X`` es una instancia " +"de :class:`ParamSpecArgs` o :class:`ParamSpecKwargs`, devuelve la :class:" +"`ParamSpec` subyacente. Devuelve ``None`` para objetos no soportados." #: ../Doc/library/typing.rst:2978 ../Doc/library/typing.rst:3001 -#, fuzzy msgid "Examples:" -msgstr "Por ejemplo::" +msgstr "Por ejemplo:" #: ../Doc/library/typing.rst:2993 msgid "" "Get type arguments with all substitutions performed: for a typing object of " "the form ``X[Y, Z, ...]`` return ``(Y, Z, ...)``." msgstr "" +"Obtiene los argumentos de tipo con todas las sustituciones realizadas: para " +"un objeto de tipo con la forma ``X[Y, Z, ...]`` devuelve ``(Y, Z, ...)``." #: ../Doc/library/typing.rst:2996 -#, fuzzy msgid "" "If ``X`` is a union or :class:`Literal` contained in another generic type, " "the order of ``(Y, Z, ...)`` may be different from the order of the original " "arguments ``[Y, Z, ...]`` due to type caching. Return ``()`` for unsupported " "objects." msgstr "" -"Para un objeto de escritura de la forma ``X[Y, Z, ...]``, estas funciones " -"retornan ``X`` y ``(Y, Z, ...)``. Si ``X`` es un alias genérico para una " -"clase incorporada o :mod:`collections`, se normaliza a la clase original. Si " -"``X`` es una unión o :class:`Literal` contenido en otro tipo genérico, el " +"Si ``X`` es una unión o :class:`Literal` contenida en otro tipo genérico, el " "orden de ``(Y, Z, ...)`` puede ser diferente del orden de los argumentos " -"originales ``[Y, Z, ...]`` debido al tipo de almacenamiento en caché. Para " -"objetos no admitidos, retorna ``None`` y ``()`` correspondientemente. " -"Ejemplos:" +"originales ``[Y, Z, ...]`` debido al almacenamiento en caché de tipos. " +"Devuelve ``()`` para objetos no soportados." #: ../Doc/library/typing.rst:3013 msgid "Check if a type is a :class:`TypedDict`." @@ -3568,19 +3711,18 @@ msgstr "Compruebe si un tipo es :class:`TypedDict`." msgid "" "Class used for internal typing representation of string forward references." msgstr "" +"Clase utilizada para la representación interna de tipado de cadenas de " +"caracteres en referencias futuras." #: ../Doc/library/typing.rst:3036 -#, fuzzy msgid "" "For example, ``List[\"SomeClass\"]`` is implicitly transformed into " "``List[ForwardRef(\"SomeClass\")]``. ``ForwardRef`` should not be " "instantiated by a user, but may be used by introspection tools." msgstr "" -"Una clase utilizada para la representación de escritura interna de " -"referencias de cadena hacia adelante. Por ejemplo, ``List[\"SomeClass\"]`` " -"se transforma implícitamente en ``List[ForwardRef(\"SomeClass\")]``. Esta " -"clase no debe ser instanciada por un usuario, pero puede ser utilizada por " -"herramientas de introspección." +"Por ejemplo, ``List[\"SomeClass\"]`` se transforma implícitamente en " +"``List[ForwardRef(\"SomeClass\")]``. ``ForwardRef`` no debe ser instanciado " +"por un usuario, pero puede ser utilizado por herramientas de introspección." #: ../Doc/library/typing.rst:3041 msgid "" @@ -3597,14 +3739,12 @@ msgid "Constant" msgstr "Constantes" #: ../Doc/library/typing.rst:3052 -#, fuzzy msgid "" "A special constant that is assumed to be ``True`` by 3rd party static type " "checkers. It is ``False`` at runtime." msgstr "" -"Una constante especial que se asume como cierta (``True``) por validadores " -"estáticos de tipos de terceros. Es falsa (``False``) en tiempo de ejecución. " -"Uso::" +"Una constante especial que los validadores de tipos estáticos de terceros " +"asumen como ``True``. Es ``False`` en tiempo de ejecución." #: ../Doc/library/typing.rst:3063 msgid "" @@ -3632,12 +3772,10 @@ msgstr "" "innecesario el uso de comillas alrededor de la anotación (véase :pep:`563`)." #: ../Doc/library/typing.rst:3082 -#, fuzzy msgid "Deprecated aliases" -msgstr "En desuso desde" +msgstr "Alias obsoletos" #: ../Doc/library/typing.rst:3084 -#, fuzzy msgid "" "This module defines several deprecated aliases to pre-existing standard " "library classes. These were originally included in the typing module in " @@ -3645,11 +3783,12 @@ msgid "" "the aliases became redundant in Python 3.9 when the corresponding pre-" "existing classes were enhanced to support ``[]`` (see :pep:`585`)." msgstr "" -"Este módulo define algunos tipos que son subclases de clases que ya existen " -"en la librería estándar, y que además extienden :class:`Generic` para " -"soportar variables de tipo dentro de ``[]``. Estos tipos se vuelven " -"redundantes en Python 3.9 ya que las clases correspondientes fueron " -"mejoradas para soportar ``[]``." +"Este módulo define varios alias obsoletos para clases de biblioteca estándar " +"preexistentes. Originalmente, se incluyeron en el módulo de tipado para " +"admitir la parametrización de estas clases genéricas mediante ``[]``. Sin " +"embargo, los alias se volvieron redundantes en Python 3.9 cuando las clases " +"preexistentes correspondientes se mejoraron para admitir ``[]`` (vea :pep:" +"`585`)." #: ../Doc/library/typing.rst:3091 msgid "" @@ -3658,6 +3797,10 @@ msgid "" "currently planned. As such, no deprecation warnings are currently issued by " "the interpreter for these aliases." msgstr "" +"Los tipos redundantes están obsoletos a partir de Python 3.9. Sin embargo, " +"si bien los alias pueden eliminarse en algún momento, actualmente no se " +"planea eliminarlos. Por lo tanto, el intérprete no emite advertencias de " +"obsolescencia para estos alias." #: ../Doc/library/typing.rst:3096 msgid "" @@ -3666,32 +3809,37 @@ msgid "" "releases prior to removal. The aliases are guaranteed to remain in the " "typing module without deprecation warnings until at least Python 3.14." msgstr "" +"Si en algún momento se decide eliminar estos alias obsoletos, el intérprete " +"emitirá una advertencia de desuso durante al menos dos versiones antes de la " +"eliminación. Se garantiza que los alias permanecerán en el módulo de " +"tipificación sin advertencias de desuso hasta al menos Python 3.14." #: ../Doc/library/typing.rst:3101 msgid "" "Type checkers are encouraged to flag uses of the deprecated types if the " "program they are checking targets a minimum Python version of 3.9 or newer." msgstr "" +"Se recomienda a los validadores de tipos que marquen los usos de los tipos " +"obsoletos si el programa que están verificando apunta a una versión mínima " +"de Python 3.9 o más reciente." #: ../Doc/library/typing.rst:3107 -#, fuzzy msgid "Aliases to built-in types" -msgstr "Correspondientes a tipos integrados" +msgstr "Alias de tipos integrados" #: ../Doc/library/typing.rst:3111 msgid "Deprecated alias to :class:`dict`." -msgstr "" +msgstr "Alias obsoleto de :class:`dict`." #: ../Doc/library/typing.rst:3113 -#, fuzzy msgid "" "Note that to annotate arguments, it is preferred to use an abstract " "collection type such as :class:`Mapping` rather than to use :class:`dict` " "or :class:`!typing.Dict`." msgstr "" -"Versión genérica de :class:`list`. Útil para anotar tipos de retorno. Para " -"anotar argumentos es preferible usar un tipo abstracto de colección como :" -"class:`Sequence` o :class:`Iterable`." +"Tenga en cuenta que para anotar argumentos, es preferible utilizar un tipo " +"de colección abstracto como :class:`Mapping` en lugar de utilizar :class:" +"`dict` o :class:`!typing.Dict`." #: ../Doc/library/typing.rst:3117 ../Doc/library/typing.rst:3359 msgid "This type can be used as follows::" @@ -3707,18 +3855,17 @@ msgstr "" #: ../Doc/library/typing.rst:3128 msgid "Deprecated alias to :class:`list`." -msgstr "" +msgstr "Alias obsoleto de :class:`list`." #: ../Doc/library/typing.rst:3130 -#, fuzzy msgid "" "Note that to annotate arguments, it is preferred to use an abstract " "collection type such as :class:`Sequence` or :class:`Iterable` rather than " "to use :class:`list` or :class:`!typing.List`." msgstr "" -"Versión genérica de :class:`list`. Útil para anotar tipos de retorno. Para " -"anotar argumentos es preferible usar un tipo abstracto de colección como :" -"class:`Sequence` o :class:`Iterable`." +"Tenga en cuenta que para anotar argumentos, es preferible utilizar un tipo " +"de colección abstracto como :class:`Sequence` o :class:`Iterable` en lugar " +"de utilizar :class:`list` o :class:`!typing.List`." #: ../Doc/library/typing.rst:3134 msgid "This type may be used as follows::" @@ -3733,20 +3880,18 @@ msgstr "" "`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3148 -#, fuzzy msgid "Deprecated alias to :class:`builtins.set `." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`builtins.set `." #: ../Doc/library/typing.rst:3150 -#, fuzzy msgid "" "Note that to annotate arguments, it is preferred to use an abstract " "collection type such as :class:`AbstractSet` rather than to use :class:`set` " "or :class:`!typing.Set`." msgstr "" -"Versión genérica de :class:`list`. Útil para anotar tipos de retorno. Para " -"anotar argumentos es preferible usar un tipo abstracto de colección como :" -"class:`Sequence` o :class:`Iterable`." +"Tenga en cuenta que para anotar argumentos, es preferible utilizar un tipo " +"de colección abstracto como :class:`AbstractSet` en lugar de utilizar :class:" +"`set` o :class:`!typing.Set`." #: ../Doc/library/typing.rst:3154 msgid "" @@ -3757,9 +3902,8 @@ msgstr "" "`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3160 -#, fuzzy msgid "Deprecated alias to :class:`builtins.frozenset `." -msgstr "Una versión genérica de :class:`builtins.frozenset `." +msgstr "Alias obsoleto de :class:`builtins.frozenset `." #: ../Doc/library/typing.rst:3162 msgid "" @@ -3771,13 +3915,15 @@ msgstr "" #: ../Doc/library/typing.rst:3169 msgid "Deprecated alias for :class:`tuple`." -msgstr "" +msgstr "Alias obsoleto de :class:`tuple`." #: ../Doc/library/typing.rst:3171 msgid "" ":class:`tuple` and ``Tuple`` are special-cased in the type system; see :ref:" "`annotating-tuples` for more details." msgstr "" +":class:`tuple` y ``Tuple`` son casos especiales en el sistema de tipos; " +"consulte :ref:`annotating-tuples` para más detalles." #: ../Doc/library/typing.rst:3174 msgid "" @@ -3789,13 +3935,15 @@ msgstr "" #: ../Doc/library/typing.rst:3180 msgid "Deprecated alias to :class:`type`." -msgstr "" +msgstr "Alias obsoleto de :class:`type`." #: ../Doc/library/typing.rst:3182 msgid "" "See :ref:`type-of-class-objects` for details on using :class:`type` or " "``typing.Type`` in type annotations." msgstr "" +"Vea :ref:`type-of-class-objects` para obtener detalles sobre el uso de :" +"class:`type` o ``typing.Type`` en anotaciones de tipo." #: ../Doc/library/typing.rst:3187 msgid "" @@ -3806,14 +3954,12 @@ msgstr "" "Véase :pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3194 -#, fuzzy msgid "Aliases to types in :mod:`collections`" -msgstr "Correspondiente a tipos en :mod:`collections`" +msgstr "Alias de tipos en :mod:`collections`" #: ../Doc/library/typing.rst:3198 -#, fuzzy msgid "Deprecated alias to :class:`collections.defaultdict`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.defaultdict`." #: ../Doc/library/typing.rst:3202 msgid "" @@ -3824,9 +3970,8 @@ msgstr "" "pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3208 -#, fuzzy msgid "Deprecated alias to :class:`collections.OrderedDict`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.OrderedDict`." #: ../Doc/library/typing.rst:3212 msgid "" @@ -3837,9 +3982,8 @@ msgstr "" "pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3218 -#, fuzzy msgid "Deprecated alias to :class:`collections.ChainMap`." -msgstr "Un alias de :class:`collections.abc.Hashable`." +msgstr "Alias obsoleto de :class:`collections.ChainMap`." #: ../Doc/library/typing.rst:3223 msgid "" @@ -3850,9 +3994,8 @@ msgstr "" "`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3229 -#, fuzzy msgid "Deprecated alias to :class:`collections.Counter`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.Counter`." #: ../Doc/library/typing.rst:3234 msgid "" @@ -3863,9 +4006,8 @@ msgstr "" "`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3240 -#, fuzzy msgid "Deprecated alias to :class:`collections.deque`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.deque`." #: ../Doc/library/typing.rst:3245 msgid "" @@ -3876,9 +4018,8 @@ msgstr "" "`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3252 -#, fuzzy msgid "Aliases to other concrete types" -msgstr "Otros tipos concretos" +msgstr "Alias ​​a otros tipos concretos" #: ../Doc/library/typing.rst:3257 msgid "" @@ -3893,19 +4034,20 @@ msgid "" "Deprecated aliases corresponding to the return types from :func:`re.compile` " "and :func:`re.match`." msgstr "" +"Alias ​​obsoletos correspondientes a los tipos de retorno :func:`re.compile` " +"y :func:`re.match`." #: ../Doc/library/typing.rst:3264 -#, fuzzy msgid "" "These types (and the corresponding functions) are generic over :data:" "`AnyStr`. ``Pattern`` can be specialised as ``Pattern[str]`` or " "``Pattern[bytes]``; ``Match`` can be specialised as ``Match[str]`` or " "``Match[bytes]``." msgstr "" -"Estos alias de tipo corresponden a los tipos retornados de :func:`re." -"compile` y :func:`re.match`. Estos tipos (y las funciones correspondientes) " -"son genéricos en ``AnyStr`` y se pueden hacer específicos escribiendo " -"``Pattern[str]``, ``Pattern[bytes]``, ``Match[str]`` o ``Match[bytes]``." +"Estos tipos (y las funciones correspondientes) son genéricos sobre :data:" +"`AnyStr`. ``Pattern`` se puede especializar como ``Pattern[str]`` o " +"``Pattern[bytes]``; ``Match`` se puede especializar como ``Match[str]`` o " +"``Match[bytes]``." #: ../Doc/library/typing.rst:3272 msgid "" @@ -3925,17 +4067,15 @@ msgstr "" #: ../Doc/library/typing.rst:3279 msgid "Deprecated alias for :class:`str`." -msgstr "" +msgstr "Alias obsoleto para :class:`str`." #: ../Doc/library/typing.rst:3281 -#, fuzzy msgid "" "``Text`` is provided to supply a forward compatible path for Python 2 code: " "in Python 2, ``Text`` is an alias for ``unicode``." msgstr "" -"``Text`` es un alias para ``str``. Ésta disponible para proporcionar un " -"mecanismo compatible hacia delante para código en Python 2: en Python 2, " -"``Text`` es un alias de ``unicode``." +"Se indica ``Text`` para proporcionar compatibilidad con versiones de código " +"posteriores a Python 2: en Python 2, ``Text`` es un alias para ``unicode``." #: ../Doc/library/typing.rst:3285 msgid "" @@ -3946,26 +4086,23 @@ msgstr "" "Unicode de manera que sea compatible con Python 2 y Python 3::" #: ../Doc/library/typing.rst:3293 -#, fuzzy msgid "" "Python 2 is no longer supported, and most type checkers also no longer " "support type checking Python 2 code. Removal of the alias is not currently " "planned, but users are encouraged to use :class:`str` instead of ``Text``." msgstr "" -"Ya no se soporta Python 2, y la mayoría de los validadores de tipo tampoco " -"dan soporte a la validación de tipos en código escrito en Python 2. " -"Actualmente no está planificado remover el alias, pero se alienta a los " -"usuarios a utilizar :class:`str` en vez de ``Text`` allí donde sea posible." +"Python 2 ya no es compatible, y la mayoría de los validadores de tipos " +"tampoco admiten la verificación de tipos de código Python 2. La eliminación " +"del alias no está planeada actualmente, pero se recomienda a los usuarios " +"utilizar :class:`str` en lugar de ``Text``." #: ../Doc/library/typing.rst:3303 -#, fuzzy msgid "Aliases to container ABCs in :mod:`collections.abc`" -msgstr "Correspondiente a otros tipos en :mod:`collections.abc`" +msgstr "Alias de ABCs de contenedores en :mod:`collections.abc`" #: ../Doc/library/typing.rst:3307 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.Set`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.abc.Set`." #: ../Doc/library/typing.rst:3309 msgid "" @@ -3988,11 +4125,12 @@ msgid "" "Prefer :class:`collections.abc.Buffer`, or a union like ``bytes | bytearray " "| memoryview``." msgstr "" +"Preferiblemente use :class:`collections.abc.Buffer`, o una unión como " +"``bytes | bytearray | memoryview``." #: ../Doc/library/typing.rst:3323 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.Collection`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.abc.Collection`." #: ../Doc/library/typing.rst:3327 msgid "" @@ -4003,9 +4141,8 @@ msgstr "" "(``[]``). Véase :pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3333 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.Container`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.abc.Container`." #: ../Doc/library/typing.rst:3335 msgid "" @@ -4016,9 +4153,8 @@ msgstr "" "pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3341 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.ItemsView`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.abc.ItemsView`." #: ../Doc/library/typing.rst:3343 msgid "" @@ -4029,9 +4165,8 @@ msgstr "" "pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3349 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.KeysView`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.abc.KeysView`." #: ../Doc/library/typing.rst:3351 msgid "" @@ -4042,9 +4177,8 @@ msgstr "" "pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3357 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.Mapping`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.abc.Mapping`." #: ../Doc/library/typing.rst:3364 msgid "" @@ -4055,9 +4189,8 @@ msgstr "" "pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3370 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.MappingView`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.abc.MappingView`." #: ../Doc/library/typing.rst:3372 msgid "" @@ -4068,9 +4201,8 @@ msgstr "" "Véase :pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3378 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.MutableMapping`." -msgstr "Un alias de :class:`collections.abc.Hashable`." +msgstr "Alias obsoleto de :class:`collections.abc.MutableMapping`." #: ../Doc/library/typing.rst:3380 msgid "" @@ -4081,9 +4213,8 @@ msgstr "" "Véase :pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3387 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.MutableSequence`." -msgstr "Un alias de :class:`collections.abc.Hashable`." +msgstr "Alias obsoleto de :class:`collections.abc.MutableSequence`." #: ../Doc/library/typing.rst:3389 msgid "" @@ -4094,9 +4225,8 @@ msgstr "" "Véase :pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3396 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.MutableSet`." -msgstr "Un alias de :class:`collections.abc.Hashable`." +msgstr "Alias obsoleto de :class:`collections.abc.MutableSet`." #: ../Doc/library/typing.rst:3398 msgid "" @@ -4107,9 +4237,8 @@ msgstr "" "Véase :pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3404 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.Sequence`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.abc.Sequence`." #: ../Doc/library/typing.rst:3406 msgid "" @@ -4120,9 +4249,8 @@ msgstr "" "pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3412 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.ValuesView`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.abc.ValuesView`." #: ../Doc/library/typing.rst:3414 msgid "" @@ -4133,24 +4261,20 @@ msgstr "" "Véase :pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3421 -#, fuzzy msgid "Aliases to asynchronous ABCs in :mod:`collections.abc`" -msgstr "Correspondientes a las colecciones en :mod:`collections.abc`" +msgstr "Alias para ABCs asíncronos en :mod:`collections.abc`" #: ../Doc/library/typing.rst:3425 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.Coroutine`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.abc.Coroutine`." #: ../Doc/library/typing.rst:3427 -#, fuzzy msgid "" "The variance and order of type variables correspond to those of :class:" "`Generator`, for example::" msgstr "" -"Una versión genérica de :class:`collections.abc.Coroutine`.y orden de las " -"variables de tipo se corresponde con aquellas de :class:`Generator`, por " -"ejemplo::" +"La variación y el orden de las variables de tipo corresponden a las de :" +"class:`Generator`, por ejemplo::" #: ../Doc/library/typing.rst:3438 msgid "" @@ -4161,9 +4285,8 @@ msgstr "" "pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3444 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.AsyncGenerator`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.abc.AsyncGenerator`." #: ../Doc/library/typing.rst:3446 msgid "" @@ -4208,9 +4331,8 @@ msgstr "" "Véase :pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3484 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.AsyncIterable`." -msgstr "Un alias de :class:`collections.abc.Hashable`." +msgstr "Alias obsoleto de :class:`collections.abc.AsyncIterable`." #: ../Doc/library/typing.rst:3488 msgid "" @@ -4221,9 +4343,8 @@ msgstr "" "Véase :pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3494 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.AsyncIterator`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.abc.AsyncIterator`." #: ../Doc/library/typing.rst:3498 msgid "" @@ -4234,9 +4355,8 @@ msgstr "" "Véase :pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3504 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.Awaitable`." -msgstr "Un alias de :class:`collections.abc.Hashable`." +msgstr "Alias obsoleto de :class:`collections.abc.Awaitable`." #: ../Doc/library/typing.rst:3508 msgid "" @@ -4247,14 +4367,12 @@ msgstr "" "pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3515 -#, fuzzy msgid "Aliases to other ABCs in :mod:`collections.abc`" -msgstr "Correspondiente a otros tipos en :mod:`collections.abc`" +msgstr "Alias a otros ABCs en :mod:`collections.abc`" #: ../Doc/library/typing.rst:3519 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.Iterable`." -msgstr "Un alias de :class:`collections.abc.Hashable`." +msgstr "Alias obsoleto de :class:`collections.abc.Iterable`." #: ../Doc/library/typing.rst:3521 msgid "" @@ -4265,9 +4383,8 @@ msgstr "" "pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3527 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.Iterator`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.abc.Iterator`." #: ../Doc/library/typing.rst:3529 msgid "" @@ -4278,15 +4395,17 @@ msgstr "" "pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3535 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.Callable`." -msgstr "Un alias de :class:`collections.abc.Hashable`." +msgstr "Alias obsoleto de :class:`collections.abc.Callable`." #: ../Doc/library/typing.rst:3537 msgid "" "See :ref:`annotating-callables` for details on how to use :class:" "`collections.abc.Callable` and ``typing.Callable`` in type annotations." msgstr "" +"Vea :ref:`annotating-callables` para información detallada de cómo usar :" +"class:`collections.abc.Callable` y ``typing.Callable`` en anotaciones de " +"tipo." #: ../Doc/library/typing.rst:3540 msgid "" @@ -4297,9 +4416,8 @@ msgstr "" "pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3550 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.Generator`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.abc.Generator`." #: ../Doc/library/typing.rst:3552 msgid "" @@ -4344,19 +4462,16 @@ msgstr "" "pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3587 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.Hashable`." -msgstr "Un alias de :class:`collections.abc.Hashable`." +msgstr "Alias obsoleto de :class:`collections.abc.Hashable`." #: ../Doc/library/typing.rst:3589 -#, fuzzy msgid "Use :class:`collections.abc.Hashable` directly instead." -msgstr "Un alias de :class:`collections.abc.Hashable`." +msgstr "Use directamente :class:`collections.abc.Hashable` en su lugar." #: ../Doc/library/typing.rst:3594 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.Reversible`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.abc.Reversible`." #: ../Doc/library/typing.rst:3596 msgid "" @@ -4367,23 +4482,20 @@ msgstr "" "Véase :pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3602 -#, fuzzy msgid "Deprecated alias to :class:`collections.abc.Sized`." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Alias obsoleto de :class:`collections.abc.Sized`." #: ../Doc/library/typing.rst:3604 -#, fuzzy msgid "Use :class:`collections.abc.Sized` directly instead." -msgstr "Un alias de :class:`collections.abc.Sized`." +msgstr "Use directamente :class:`collections.abc.Sized` en su lugar." #: ../Doc/library/typing.rst:3610 msgid "Aliases to :mod:`contextlib` ABCs" -msgstr "" +msgstr "Alias de ABCs :mod:`contextlib`" #: ../Doc/library/typing.rst:3614 -#, fuzzy msgid "Deprecated alias to :class:`contextlib.AbstractContextManager`." -msgstr "Una versión genérica de :class:`contextlib.AbstractContextManager`." +msgstr "Alias obsoleto de :class:`contextlib.AbstractContextManager`." #: ../Doc/library/typing.rst:3619 msgid "" @@ -4394,10 +4506,8 @@ msgstr "" "(``[]``). Véase :pep:`585` y :ref:`types-genericalias`." #: ../Doc/library/typing.rst:3626 -#, fuzzy msgid "Deprecated alias to :class:`contextlib.AbstractAsyncContextManager`." -msgstr "" -"Una versión genérica de :class:`contextlib.AbstractAsyncContextManager`." +msgstr "Alias obsoleto de :class:`contextlib.AbstractAsyncContextManager`." #: ../Doc/library/typing.rst:3631 msgid "" @@ -4448,9 +4558,8 @@ msgid "3.8" msgstr "3.8" #: ../Doc/library/typing.rst:3652 -#, fuzzy msgid "3.13" -msgstr "3.12" +msgstr "3.13" #: ../Doc/library/typing.rst:3653 msgid ":issue:`38291`" @@ -4466,7 +4575,7 @@ msgstr "3.9" #: ../Doc/library/typing.rst:3656 msgid "Undecided (see :ref:`deprecated-aliases` for more information)" -msgstr "" +msgstr "No decidido (ver :ref:`deprecated-aliases` para más información)" #: ../Doc/library/typing.rst:3657 msgid ":pep:`585`" @@ -4474,22 +4583,19 @@ msgstr ":pep:`585`" #: ../Doc/library/typing.rst:3658 msgid ":class:`typing.ByteString`" -msgstr "" +msgstr ":class:`typing.ByteString`" #: ../Doc/library/typing.rst:3660 -#, fuzzy msgid "3.14" -msgstr "3.12" +msgstr "3.14" #: ../Doc/library/typing.rst:3661 -#, fuzzy msgid ":gh:`91896`" -msgstr ":gh:`92332`" +msgstr ":gh:`91896`" #: ../Doc/library/typing.rst:3662 -#, fuzzy msgid ":data:`typing.Text`" -msgstr "``typing.Text``" +msgstr ":data:`typing.Text`" #: ../Doc/library/typing.rst:3663 msgid "3.11" @@ -4505,491 +4611,21 @@ msgid ":gh:`92332`" msgstr ":gh:`92332`" #: ../Doc/library/typing.rst:3666 -#, fuzzy msgid ":class:`typing.Hashable` and :class:`typing.Sized`" -msgstr ":class:`Callable` y :class:`Concatenate`." +msgstr ":class:`typing.Hashable` y :class:`typing.Sized`" #: ../Doc/library/typing.rst:3667 ../Doc/library/typing.rst:3671 msgid "3.12" msgstr "3.12" #: ../Doc/library/typing.rst:3669 -#, fuzzy msgid ":gh:`94309`" -msgstr ":gh:`92332`" +msgstr ":gh:`94309`" #: ../Doc/library/typing.rst:3670 -#, fuzzy msgid ":data:`typing.TypeAlias`" -msgstr "*Introduce* :data:`TypeAlias`" +msgstr ":data:`typing.TypeAlias`" #: ../Doc/library/typing.rst:3673 -#, fuzzy msgid ":pep:`695`" -msgstr ":pep:`585`" - -#~ msgid "" -#~ "Note that ``None`` as a type hint is a special case and is replaced by " -#~ "``type(None)``." -#~ msgstr "" -#~ "Nótese que ``None`` como indicador de tipo es un caso especial y es " -#~ "substituido por ``type(None)``." - -#~ msgid "Callable" -#~ msgstr "Callable" - -# Aquí frameworks parace indicar un término abierto referiéndose a elementos -# que interactuarán con las llamadas anotadas. Por ello, se escoge el término -# genérico "entidades" -#~ msgid "" -#~ "Frameworks expecting callback functions of specific signatures might be " -#~ "type hinted using ``Callable[[Arg1Type, Arg2Type], ReturnType]``." -#~ msgstr "" -#~ "Entidades que esperen llamadas a funciones con interfaces específicas " -#~ "puede ser anotadas usando ``Callable[[Arg1Type, Arg2Type], ReturnType]``." - -#~ msgid "" -#~ "It is possible to declare the return type of a callable without " -#~ "specifying the call signature by substituting a literal ellipsis for the " -#~ "list of arguments in the type hint: ``Callable[..., ReturnType]``." -#~ msgstr "" -#~ "Es posible declarar el tipo de retorno de un *callable* (invocable) sin " -#~ "especificar tipos en los parámetros substituyendo la lista de argumentos " -#~ "por unos puntos suspensivos (...) en el indicador de tipo: " -#~ "``Callable[..., ReturnType]``." - -#~ msgid "" -#~ "Generics can be parameterized by using a factory available in typing " -#~ "called :class:`TypeVar`." -#~ msgstr "" -#~ "Los genéricos se pueden parametrizar usando una nueva *factory* " -#~ "disponible en *typing* llamada :class:`TypeVar`." - -# revisar en su contexto -#~ msgid "" -#~ "The :class:`Generic` base class defines :meth:`~object.__class_getitem__` " -#~ "so that ``LoggedVar[T]`` is valid as a type::" -#~ msgstr "" -#~ "La clase base :class:`Generic` define :meth:`__class_getitem__` para que " -#~ "``LoggedVar[T]`` sea válido como tipo::" - -#~ msgid "You can use multiple inheritance with :class:`Generic`::" -#~ msgstr "Se puede utilizar herencia múltiple con :class:`Generic`::" - -#~ msgid "" -#~ "The redundant types are deprecated as of Python 3.9 but no deprecation " -#~ "warnings will be issued by the interpreter. It is expected that type " -#~ "checkers will flag the deprecated types when the checked program targets " -#~ "Python 3.9 or newer." -#~ msgstr "" -#~ "Los tipos redundantes están descontinuados con Python 3.9 pero el " -#~ "intérprete no mostrará ninguna advertencia. Se espera que los " -#~ "verificadores de tipo marquen estos tipos como obsoletos cuando el " -#~ "programa a verificar apunte a Python 3.9 o superior." - -#~ msgid "" -#~ "The deprecated types will be removed from the :mod:`typing` module in the " -#~ "first Python version released 5 years after the release of Python 3.9.0. " -#~ "See details in :pep:`585`—*Type Hinting Generics In Standard Collections*." -#~ msgstr "" -#~ "Los tipos obsoletos serán removidos del módulo :class:`Generic` en la " -#~ "primera versión de Python que sea lanzada 5 años después del lanzamiento " -#~ "de Python 3.9.0. Véase los detalles en :pep:`585` -- *Sugerencias de tipo " -#~ "genéricas en las Colecciones Estándar*." - -#~ msgid "In general if something currently follows the pattern of::" -#~ msgstr "En general, si actualmente algo sigue el patrón de::" - -#~ msgid "" -#~ "You should use :data:`Self` as calls to ``SubclassOfFoo.return_self`` " -#~ "would have ``Foo`` as the return type and not ``SubclassOfFoo``." -#~ msgstr "" -#~ "Se debiese usar :data:`Self`, ya que llamadas a ``SubclassOfFoo." -#~ "return_self`` tendrían ``Foo`` como valor de retorno, y no " -#~ "``SubclassOfFoo``." - -#~ msgid "See :pep:`613` for more details about explicit type aliases." -#~ msgstr "" -#~ "Consulte :pep:`613` para obtener más detalles sobre los alias de tipos " -#~ "explícitos." - -#~ msgid "" -#~ "Tuple type; ``Tuple[X, Y]`` is the type of a tuple of two items with the " -#~ "first item of type X and the second of type Y. The type of the empty " -#~ "tuple can be written as ``Tuple[()]``." -#~ msgstr "" -#~ "El tipo Tuple, ``Tuple[X, Y]`` es el tipo de una tupla de dos ítems con " -#~ "el primer ítem de tipo X y el segundo de tipo Y. El tipo de una tupla " -#~ "vacía se puede escribir así: ``Tuple[()]``." - -#~ msgid "" -#~ "Example: ``Tuple[T1, T2]`` is a tuple of two elements corresponding to " -#~ "type variables T1 and T2. ``Tuple[int, float, str]`` is a tuple of an " -#~ "int, a float and a string." -#~ msgstr "" -#~ "Ejemplo: ``Tuple[T1, T2]`` es una tupla de dos elementos con sus " -#~ "correspondientes variables de tipo T1 y T2. ``Tuple[int, float, str]`` es " -#~ "un tupla con un número entero, un número de punto flotante y una cadena " -#~ "de texto." - -#~ msgid "" -#~ "To specify a variable-length tuple of homogeneous type, use literal " -#~ "ellipsis, e.g. ``Tuple[int, ...]``. A plain :data:`Tuple` is equivalent " -#~ "to ``Tuple[Any, ...]``, and in turn to :class:`tuple`." -#~ msgstr "" -#~ "Para especificar una tupla de longitud variable y tipo homogéneo, se usan " -#~ "puntos suspensivos, p. ej. ``Tuple[int, ...]``. Un simple :data:`Tuple` " -#~ "es equivalente a ``Tuple[Any, ...]`` y, a su vez, a :class:`tuple`." - -#~ msgid "Optional type." -#~ msgstr "Tipo Optional." - -#~ msgid "" -#~ "Callable type; ``Callable[[int], str]`` is a function of (int) -> str." -#~ msgstr "" -#~ "Tipo Callable (invocable); ``Callable[[int], str]`` es una función de " -#~ "(int) -> str." - -#~ msgid "" -#~ "There is no syntax to indicate optional or keyword arguments; such " -#~ "function types are rarely used as callback types. ``Callable[..., " -#~ "ReturnType]`` (literal ellipsis) can be used to type hint a callable " -#~ "taking any number of arguments and returning ``ReturnType``. A plain :" -#~ "data:`Callable` is equivalent to ``Callable[..., Any]``, and in turn to :" -#~ "class:`collections.abc.Callable`." -#~ msgstr "" -#~ "No existe una sintaxis para indicar argumentos opcionales o con clave " -#~ "(*keyword*); tales funciones rara vez se utilizan como tipos para " -#~ "llamadas. ``Callable[..., ReturnType]`` (puntos suspensivos) se puede " -#~ "usar para indicar que un *callable* admite un número indeterminado de " -#~ "argumentos y retorna ``ReturnType``. Un simple :data:`Callable` es " -#~ "equivalente a ``Callable[..., Any]`` y, a su vez, a :class:`collections." -#~ "abc.Callable`." - -#~ msgid "" -#~ "The documentation for :class:`ParamSpec` and :class:`Concatenate` provide " -#~ "examples of usage with ``Callable``." -#~ msgstr "" -#~ "La documentación de :class:`ParamSpec` y :class:`Concatenate` proporciona " -#~ "ejemplos de uso con ``Callable``." - -#~ msgid "" -#~ "The fact that ``Type[C]`` is covariant implies that all subclasses of " -#~ "``C`` should implement the same constructor signature and class method " -#~ "signatures as ``C``. The type checker should flag violations of this, but " -#~ "should also allow constructor calls in subclasses that match the " -#~ "constructor calls in the indicated base class. How the type checker is " -#~ "required to handle this particular case may change in future revisions " -#~ "of :pep:`484`." -#~ msgstr "" -#~ "El hecho de que ``Type[C]`` sea covariante implica que todas las " -#~ "subclases de ``C`` deben implementar la misma interfaz del constructor y " -#~ "las mismas interfaces de los métodos de clase que ``C``. El validador de " -#~ "tipos marcará cualquier incumplimiento de esto, pero permitirá llamadas " -#~ "al constructor que coincida con la llamada al constructor de la clase " -#~ "base indicada. El modo en que el validador de tipos debe gestionar este " -#~ "caso particular podría cambiar en futuras revisiones de :pep:`484`." - -#~ msgid "" -#~ "A special typing construct to indicate to type checkers that a name " -#~ "cannot be re-assigned or overridden in a subclass. For example::" -#~ msgstr "" -#~ "Un construcción especial para tipado que indica a los validadores de tipo " -#~ "que un nombre no puede ser reasignado o sobrescrito en una subclase. Por " -#~ "ejemplo::" - -#~ msgid "" -#~ "Special typing constructs that mark individual keys of a :class:" -#~ "`TypedDict` as either required or non-required respectively." -#~ msgstr "" -#~ "Constructos de tipado especiales que marcan llaves individuales de un :" -#~ "class:`TypedDict` como requeridas o no requeridas respectivamente." - -#~ msgid "" -#~ "A type, introduced in :pep:`593` (``Flexible function and variable " -#~ "annotations``), to decorate existing types with context-specific metadata " -#~ "(possibly multiple pieces of it, as ``Annotated`` is variadic). " -#~ "Specifically, a type ``T`` can be annotated with metadata ``x`` via the " -#~ "typehint ``Annotated[T, x]``. This metadata can be used for either static " -#~ "analysis or at runtime. If a library (or tool) encounters a typehint " -#~ "``Annotated[T, x]`` and has no special logic for metadata ``x``, it " -#~ "should ignore it and simply treat the type as ``T``. Unlike the " -#~ "``no_type_check`` functionality that currently exists in the ``typing`` " -#~ "module which completely disables typechecking annotations on a function " -#~ "or a class, the ``Annotated`` type allows for both static typechecking of " -#~ "``T`` (which can safely ignore ``x``) together with runtime access to " -#~ "``x`` within a specific application." -#~ msgstr "" -#~ "Un tipo introducido en :pep:`593` (``Anotaciones flexibles de función y " -#~ "variable``), para decorar tipos existentes con metadatos específicos del " -#~ "contexto (posiblemente múltiples partes del mismo, ya que ``Annotated`` " -#~ "es variádico). En concreto, un tipo ``T`` puede ser anotado con el " -#~ "metadato ``x`` a través del *typehint* ``Annotated[T,x]``. Estos " -#~ "metadatos se pueden utilizar para el análisis estático o en tiempo de " -#~ "ejecución. Si una librería (o herramienta) encuentra un *typehint* " -#~ "``Annotated[T,x]`` y no encuentra una lógica especial para el metadato " -#~ "``x``, este debería ignorarlo o simplemente tratar el tipo como ``T``. A " -#~ "diferencia de la funcionalidad ``no_type_check``, que actualmente existe " -#~ "en el módulo ``typing``, que deshabilita completamente la comprobación de " -#~ "anotaciones de tipo en una función o clase, el tipo ``Annotated`` permite " -#~ "tanto la comprobación de tipos estático de ``T`` (la cuál ignoraría ``x`` " -#~ "de forma segura) en conjunto con el acceso a ``x`` en tiempo de ejecución " -#~ "dentro de una aplicación específica." - -#~ msgid "" -#~ "When a tool or a library does not support annotations or encounters an " -#~ "unknown annotation it should just ignore it and treat annotated type as " -#~ "the underlying type." -#~ msgstr "" -#~ "Cuando una herramienta o librería no soporta anotaciones o encuentra una " -#~ "anotación desconocida, simplemente debe ignorarla o tratar la anotación " -#~ "como el tipo subyacente." - -#~ msgid "" -#~ "Since the ``Annotated`` type allows you to put several annotations of the " -#~ "same (or different) type(s) on any node, the tools or libraries consuming " -#~ "those annotations are in charge of dealing with potential duplicates. For " -#~ "example, if you are doing value range analysis you might allow this::" -#~ msgstr "" -#~ "Dado que el tipo ``Annotated`` permite colocar varias anotaciones del " -#~ "mismo (o diferente) tipo(s) en cualquier nodo, las herramientas o " -#~ "librerías que consumen dichas anotaciones están a cargo de ocuparse de " -#~ "potenciales duplicados. Por ejemplo, si se está realizando un análisis de " -#~ "rango, esto se debería permitir::" - -#~ msgid "" -#~ "Passing ``include_extras=True`` to :func:`get_type_hints` lets one access " -#~ "the extra annotations at runtime." -#~ msgstr "" -#~ "Pasar ``include_extras=True`` a :func:`get_type_hints` permite acceder a " -#~ "las anotaciones extra en tiempo de ejecución." - -#~ msgid "" -#~ "A generic type is typically declared by inheriting from an instantiation " -#~ "of this class with one or more type variables. For example, a generic " -#~ "mapping type might be defined as::" -#~ msgstr "" -#~ "Un tipo genérico se declara habitualmente heredando de una instancia de " -#~ "esta clase con una o más variables de tipo. Por ejemplo, un tipo de mapeo " -#~ "genérico se podría definir como::" - -#~ msgid "" -#~ "At runtime, ``isinstance(x, T)`` will raise :exc:`TypeError`. In " -#~ "general, :func:`isinstance` and :func:`issubclass` should not be used " -#~ "with types." -#~ msgstr "" -#~ "En tiempo de ejecución, ``isinstance(x, T)`` lanzará una excepción :exc:" -#~ "`TypeError`. En general, :func:`isinstance` y :func:`issubclass` no se " -#~ "deben usar con variables de tipo." - -#~ msgid "" -#~ "Type variables may be marked covariant or contravariant by passing " -#~ "``covariant=True`` or ``contravariant=True``. See :pep:`484` for more " -#~ "details. By default, type variables are invariant." -#~ msgstr "" -#~ "Las variables de tipo pueden ser marcadas como covariantes o " -#~ "contravariantes pasando ``covariant=True`` o ``contravariant=True``, " -#~ "respectivamente. Véase :pep:`484` para más detalles. Por defecto, las " -#~ "variables de tipo son invariantes." - -#~ msgid "" -#~ "``AnyStr`` is a :class:`constrained type variable ` defined as " -#~ "``AnyStr = TypeVar('AnyStr', str, bytes)``." -#~ msgstr "" -#~ "``AnyStr`` es una :class:`constrained type variable ` definida " -#~ "como ``AnyStr = TypeVar('AnyStr', str, bytes)``." - -#~ msgid "" -#~ "It is meant to be used for functions that may accept any kind of string " -#~ "without allowing different kinds of strings to mix. For example::" -#~ msgstr "" -#~ "Su objetivo es ser usada por funciones que pueden aceptar cualquier tipo " -#~ "de cadena de texto sin permitir mezclar diferentes tipos al mismo tiempo. " -#~ "Por ejemplo::" - -#~ msgid "" -#~ "These are not used in annotations. They are building blocks for declaring " -#~ "types." -#~ msgstr "" -#~ "Estos no son utilizados en anotaciones. Son utilizados como bloques para " -#~ "crear tipos genéricos." - -#~ msgid "Generic concrete collections" -#~ msgstr "Colecciones genéricas concretas" - -#~ msgid "" -#~ "A generic version of :class:`dict`. Useful for annotating return types. " -#~ "To annotate arguments it is preferred to use an abstract collection type " -#~ "such as :class:`Mapping`." -#~ msgstr "" -#~ "Una versión genérica de :class:`dict`. Útil para anotar tipos de retorno. " -#~ "Para anotar argumentos es preferible usar un tipo abstracto de colección " -#~ "como :class:`Mapping`." - -#~ msgid "" -#~ "A generic version of :class:`builtins.set `. Useful for annotating " -#~ "return types. To annotate arguments it is preferred to use an abstract " -#~ "collection type such as :class:`AbstractSet`." -#~ msgstr "" -#~ "Una versión genérica de :class:`builtins.set `. Útil para anotar " -#~ "tipos de retornos. Para anotar argumentos es preferible usar un tipo " -#~ "abstracto de colección como :class:`AbstractSet`." - -#~ msgid ":data:`Tuple` is a special form." -#~ msgstr ":data:`Tuple` es una forma especial." - -#~ msgid "A generic version of :class:`collections.defaultdict`." -#~ msgstr "Una versión genérica de :class:`collections.defaultdict`." - -#~ msgid "A generic version of :class:`collections.OrderedDict`." -#~ msgstr "Una versión genérica de :class:`collections.OrderedDict`." - -#~ msgid "A generic version of :class:`collections.ChainMap`." -#~ msgstr "Una versión genérica de :class:`collections.ChainMap`." - -#~ msgid "A generic version of :class:`collections.Counter`." -#~ msgstr "Una versión genérica de :class:`collections.Counter`." - -#~ msgid "A generic version of :class:`collections.deque`." -#~ msgstr "Una versión genérica de :class:`collections.deque`." - -#~ msgid "Abstract Base Classes" -#~ msgstr "Clase base abstracta para tipos genéricos" - -#~ msgid "A generic version of :class:`collections.abc.Set`." -#~ msgstr "Una versión genérica de :class:`collections.abc.Set`." - -#~ msgid "A generic version of :class:`collections.abc.ByteString`." -#~ msgstr "Una versión genérica de :class:`collections.abc.ByteString`." - -#~ msgid "" -#~ "As a shorthand for this type, :class:`bytes` can be used to annotate " -#~ "arguments of any of the types mentioned above." -#~ msgstr "" -#~ "Como abreviación para este tipo, :class:`bytes` se puede usar para anotar " -#~ "argumentos de cualquiera de los tipos mencionados arriba." - -#~ msgid "" -#~ ":class:`collections.abc.ByteString` now supports subscripting (``[]``). " -#~ "See :pep:`585` and :ref:`types-genericalias`." -#~ msgstr "" -#~ ":class:`collections.abc.ByteString` ahora soporta la sintaxis de " -#~ "subíndice (``[]``). Véase :pep:`585` y :ref:`types-genericalias`." - -#~ msgid "A generic version of :class:`collections.abc.Collection`" -#~ msgstr "Una versión genérica de :class:`collections.abc.Collection`" - -#~ msgid "A generic version of :class:`collections.abc.Container`." -#~ msgstr "Una versión genérica de :class:`collections.abc.Container`." - -#~ msgid "A generic version of :class:`collections.abc.ItemsView`." -#~ msgstr "Una versión genérica de :class:`collections.abc.ItemsView`." - -#~ msgid "A generic version of :class:`collections.abc.KeysView`." -#~ msgstr "Una versión genérica de :class:`collections.abc.KeysView`." - -#~ msgid "" -#~ "A generic version of :class:`collections.abc.Mapping`. This type can be " -#~ "used as follows::" -#~ msgstr "" -#~ "Una versión genérica de :class:`collections.abc.Mapping`. Este tipo se " -#~ "puede usar de la siguiente manera::" - -#~ msgid "A generic version of :class:`collections.abc.MappingView`." -#~ msgstr "Una versión genérica de :class:`collections.abc.MappingView`." - -#~ msgid "A generic version of :class:`collections.abc.MutableMapping`." -#~ msgstr "Una versión genérica de :class:`collections.abc.MutableMapping`." - -#~ msgid "A generic version of :class:`collections.abc.MutableSequence`." -#~ msgstr "Una versión genérica de :class:`collections.abc.MutableSequence`." - -#~ msgid "A generic version of :class:`collections.abc.MutableSet`." -#~ msgstr "Una versión genérica de :class:`collections.abc.MutableSet`." - -#~ msgid "A generic version of :class:`collections.abc.Sequence`." -#~ msgstr "Una versión genérica de :class:`collections.abc.Sequence`." - -#~ msgid "A generic version of :class:`collections.abc.ValuesView`." -#~ msgstr "Una versión genérica de :class:`collections.abc.ValuesView`." - -#~ msgid "A generic version of :class:`collections.abc.Iterable`." -#~ msgstr "Una versión genérica de :class:`collections.abc.Iterable`." - -#~ msgid "A generic version of :class:`collections.abc.Iterator`." -#~ msgstr "Una versión genérica de :class:`collections.abc.Iterator`." - -#~ msgid "A generic version of :class:`collections.abc.Reversible`." -#~ msgstr "Una versión genérica de :class:`collections.abc.Reversible`." - -#~ msgid "Asynchronous programming" -#~ msgstr "Programación asíncrona" - -#~ msgid "A generic version of :class:`collections.abc.AsyncIterable`." -#~ msgstr "Una versión genérica de :class:`collections.abc.AsyncIterable`." - -#~ msgid "A generic version of :class:`collections.abc.AsyncIterator`." -#~ msgstr "Una versión genérica de :class:`collections.abc.AsyncIterator`." - -#~ msgid "A generic version of :class:`collections.abc.Awaitable`." -#~ msgstr "Una versión genérica de :class:`collections.abc.Awaitable`." - -#~ msgid "Context manager types" -#~ msgstr "Tipos del administrador de contextos" - -#~ msgid "" -#~ "``order_default`` indicates whether the ``order`` parameter is assumed to " -#~ "be True or False if it is omitted by the caller." -#~ msgstr "" -#~ "``order_default`` indica si, cuando el invocador haya omitido el " -#~ "parámetro ``order``, el valor de éste debe tomarse por ``True`` o " -#~ "``False``." - -#~ msgid "" -#~ "``kw_only_default`` indicates whether the ``kw_only`` parameter is " -#~ "assumed to be True or False if it is omitted by the caller." -#~ msgstr "" -#~ "``kw_only_default`` indica si, cuando el invocador haya omitido el " -#~ "parámetro ``kw_only``, el valor de éste debe tomarse por ``True`` o " -#~ "``False``." - -#~ msgid "``factory`` is an alias for ``default_factory``." -#~ msgstr "``factory`` es un alias para ``default_factory``." - -#~ msgid "" -#~ "The ``@overload`` decorator allows describing functions and methods that " -#~ "support multiple different combinations of argument types. A series of " -#~ "``@overload``-decorated definitions must be followed by exactly one non-" -#~ "``@overload``-decorated definition (for the same function/method). The " -#~ "``@overload``-decorated definitions are for the benefit of the type " -#~ "checker only, since they will be overwritten by the non-``@overload``-" -#~ "decorated definition, while the latter is used at runtime but should be " -#~ "ignored by a type checker. At runtime, calling a ``@overload``-decorated " -#~ "function directly will raise :exc:`NotImplementedError`. An example of " -#~ "overload that gives a more precise type than can be expressed using a " -#~ "union or a type variable::" -#~ msgstr "" -#~ "El decorador ``@overload`` permite describir funciones y métodos que " -#~ "soportan diferentes combinaciones de tipos de argumento. A una serie de " -#~ "definiciones decoradas con ``@overload`` debe seguir exactamente una " -#~ "definición no decorada con ``@overload`` (para la misma función o " -#~ "método). Las definiciones decoradas con ``@overload`` son solo para " -#~ "beneficio del validador de tipos, ya que serán sobrescritas por la " -#~ "definición no decorada con ``@overload``. Esta última se usa en tiempo de " -#~ "ejecución y debería ser ignorada por el validador de tipos. En tiempo de " -#~ "ejecución, llamar a una función decorada con ``@overload`` lanzará " -#~ "directamente :exc:`NotImplementedError`. Un ejemplo de sobrecarga que " -#~ "proporciona un tipo más preciso se puede expresar con una unión o una " -#~ "variable de tipo::" - -# ver en contexto -#~ msgid "This mutates the function(s) in place." -#~ msgstr "Esto modifica la función o funciones *in situ*." - -# special forms se refiere a tipado exclusivo de typing (no el nativo como str -# o int): Union, Optional ... -#~ msgid "" -#~ "Provide basic introspection for generic types and special typing forms." -#~ msgstr "" -#~ "Provee introspección básica para tipos genéricos y construcciones " -#~ "especiales de tipado." +msgstr ":pep:`695`" diff --git a/library/unicodedata.po b/library/unicodedata.po index 7194878c9c..5581fe5d45 100644 --- a/library/unicodedata.po +++ b/library/unicodedata.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: 2021-08-04 22:02+0200\n" +"PO-Revision-Date: 2024-10-31 02:32-0600\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.5\n" #: ../Doc/library/unicodedata.rst:2 msgid ":mod:`unicodedata` --- Unicode Database" msgstr ":mod:`unicodedata` --- Base de datos Unicode" #: ../Doc/library/unicodedata.rst:18 -#, fuzzy msgid "" "This module provides access to the Unicode Character Database (UCD) which " "defines character properties for all Unicode characters. The data contained " @@ -36,7 +36,7 @@ msgstr "" "Este módulo proporciona acceso a la base de datos de caracteres Unicode " "(UCD), que define las propiedades de todos los caracteres Unicode. Los datos " "contenidos en esta base de datos se compilan a partir de la `UCD versión " -"13.0.0 `_." +"15.0.0 `_." #: ../Doc/library/unicodedata.rst:23 msgid "" @@ -264,23 +264,21 @@ msgid "Footnotes" msgstr "Notas al pie" #: ../Doc/library/unicodedata.rst:178 -#, fuzzy msgid "https://www.unicode.org/Public/15.0.0/ucd/NameAliases.txt" -msgstr "https://www.unicode.org/Public/13.0.0/ucd/NameAliases.txt" +msgstr "https://www.unicode.org/Public/15.0.0/ucd/NameAliases.txt" #: ../Doc/library/unicodedata.rst:180 -#, fuzzy msgid "https://www.unicode.org/Public/15.0.0/ucd/NamedSequences.txt" -msgstr "https://www.unicode.org/Public/13.0.0/ucd/NamedSequences.txt" +msgstr "https://www.unicode.org/Public/15.0.0/ucd/NamedSequences.txt" #: ../Doc/library/unicodedata.rst:11 msgid "Unicode" -msgstr "" +msgstr "Unicode" #: ../Doc/library/unicodedata.rst:11 msgid "character" -msgstr "" +msgstr "character" #: ../Doc/library/unicodedata.rst:11 msgid "database" -msgstr "" +msgstr "database" diff --git a/library/urllib.parse.po b/library/urllib.parse.po index a1aeb64ff1..931ce881a0 100644 --- a/library/urllib.parse.po +++ b/library/urllib.parse.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-12-13 22:07-0300\n" -"Last-Translator: Rodrigo Tobar \n" -"Language: es\n" +"PO-Revision-Date: 2024-05-11 18:18+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.13.0\n" +"X-Generator: Poedit 3.4.2\n" #: ../Doc/library/urllib.parse.rst:2 msgid ":mod:`urllib.parse` --- Parse URLs into components" @@ -44,7 +45,6 @@ msgstr "" "relativa\" a una URL absoluta a partir de una \"URL base\"." #: ../Doc/library/urllib.parse.rst:23 -#, fuzzy msgid "" "The module has been designed to match the internet RFC on Relative Uniform " "Resource Locators. It supports the following URL schemes: ``file``, ``ftp``, " @@ -54,11 +54,12 @@ msgid "" "``telnet``, ``wais``, ``ws``, ``wss``." msgstr "" "Este módulo ha sido diseñado para coincidir con el RFC de internet sobre " -"localizadores de recursos uniformes relativos. Admite los siguientes " -"esquemas URL: ``file``, ``ftp``, ``gopher``, ``hdl``, ``http``, ``https``, " -"``imap``, ``mailto``, ``mms``, ``news``, ``nntp``, ``prospero``, ``rsync``, " -"``rtsp``, ``rtspu``, ``sftp``, ``shttp``, ``sip``, ``sips``, ``snews``, " -"``svn``, ``svn+ssh``, ``telnet``, ``wais``, ``ws``, ``wss``." +"Localizadores de Recursos Uniformes Relativos (URLs relativas). Admite los " +"siguientes esquemas URL: ``file``, ``ftp``, ``gopher``, ``hdl``, ``http``, " +"``https``, ``imap``, ``mailto``, ``mms``, ``news``, ``nntp``, ``prospero``, " +"``rsync``, ``rtsp``, ``rtsps``, ``rtspu``, ``sftp``, ``shttp``, ``sip``, " +"``sips``, ``snews``, ``svn``, ``svn+ssh``, ``telnet``, ``wais``, ``ws``, " +"``wss``." #: ../Doc/library/urllib.parse.rst:30 msgid "" @@ -345,6 +346,8 @@ msgid "" ":func:`urlparse` does not perform validation. See :ref:`URL parsing " "security ` for details." msgstr "" +":func:`urlparse` no realiza validaciones. Mire :ref:`URL parsing security " +"` para más información." #: ../Doc/library/urllib.parse.rst:167 msgid "Added IPv6 URL parsing capabilities." @@ -531,31 +534,32 @@ msgstr "" "elementos por índice o como atributos con nombre:" #: ../Doc/library/urllib.parse.rst:331 -#, fuzzy msgid "" "Following some of the `WHATWG spec`_ that updates RFC 3986, leading C0 " "control and space characters are stripped from the URL. ``\\n``, ``\\r`` and " "tab ``\\t`` characters are removed from the URL at any position." msgstr "" -"Siguiendo la especificación `WHATWG spec`_ que actualiza RFC 3986, los " -"caracteres ASCII nueva línea ``\\n``, ``\\r`` y tab ``\\t`` se eliminan de " -"la URL." +"Siguiendo algunas de las `WHATWG spec`_ que actualizan el RFC 3986, los " +"caracteres de control C0 y de espacio se eliminan de la URL. Los caracteres " +"``\\n``, ``\\r`` y tab ``\\t`` se eliminan de la URL en cualquier posición." #: ../Doc/library/urllib.parse.rst:337 msgid "" ":func:`urlsplit` does not perform validation. See :ref:`URL parsing " "security ` for details." msgstr "" +":func:`urlsplit` no realiza validaciones. Mire :ref:`URL parsing security " +"` para más información." #: ../Doc/library/urllib.parse.rst:348 msgid "ASCII newline and tab characters are stripped from the URL." msgstr "Los caracteres ASCII de nueva línea y tab se eliminan de la URL." #: ../Doc/library/urllib.parse.rst:351 -#, fuzzy msgid "" "Leading WHATWG C0 control and space characters are stripped from the URL." -msgstr "Los caracteres ASCII de nueva línea y tab se eliminan de la URL." +msgstr "" +"Los caracteres de control WHATWG C0 y de espacio se eliminan de la URL." #: ../Doc/library/urllib.parse.rst:358 msgid "" @@ -665,9 +669,8 @@ msgstr "" "URL envuelta, se retorna sin cambios." #: ../Doc/library/urllib.parse.rst:433 -#, fuzzy msgid "URL parsing security" -msgstr "Análisis de URL" +msgstr "Análisis de seguridad de URL" #: ../Doc/library/urllib.parse.rst:435 msgid "" @@ -677,6 +680,11 @@ msgid "" "considered URLs elsewhere. Their purpose is for practical functionality " "rather than purity." msgstr "" +"Las APIs :func:`urlsplit` y :func:`urlparse` no realizan **validación** de " +"las entradas. Es posible que no produzcan errores en entradas que otras " +"aplicaciones consideren inválidas. También pueden tener éxito en algunas " +"entradas que podrían no ser consideradas URLs en otros lugares. Su " +"propósito es más la funcionalidad práctica que la pureza." #: ../Doc/library/urllib.parse.rst:441 msgid "" @@ -684,6 +692,9 @@ msgid "" "some component parts as empty strings. Or components may contain more than " "perhaps they should." msgstr "" +"En vez de generar una excepción en una entrada inusual, pueden devolver " +"algunas partes componentes como una cadenas vacías. O los componentes pueden " +"contener más de lo que deberían." #: ../Doc/library/urllib.parse.rst:445 msgid "" @@ -693,6 +704,11 @@ msgid "" "make sense? Is that a sensible ``path``? Is there anything strange about " "that ``hostname``? etc." msgstr "" +"Se recomienda que los usuarios de estas APIs, en las que los valores se " +"pueden usar en cualquier lugar con implicaciones de seguridad, codifiquen de " +"forma defensiva. Realicen algunas comprobaciones en su código antes de " +"confiar en un componente devuelto. ¿Tiene sentido ese ``scheme``? ¿Es ese " +"``path`` sensible? ¿Hay algo extraño en ese ``hostname``? etc." #: ../Doc/library/urllib.parse.rst:451 msgid "" @@ -705,6 +721,15 @@ msgid "" "behaviors predate both standards leading us to be very cautious about making " "API behavior changes." msgstr "" +"Lo que constituye una URL no está universalmente bien definido. Aplicaciones " +"diferentes tienen diferentes necesidades y restricciones deseadas. Por " +"ejemplo, la `WHATWG spec`_ describe lo que requieren los clientes web " +"orientados al usuario, como un navegador web. Mientras :rfc:`3986` es más " +"general. Estas funciones incorporan algunos aspectos de ambos, pero no se " +"puede afirmar que cumpla con ninguno de los dos. Las API y el código de " +"usuario existente con expectativas sobre comportamientos específicos son " +"anteriores a ambos estándares, lo que nos lleva a ser muy cautelosos " +"realizando cambios en el comportamiento de la API." #: ../Doc/library/urllib.parse.rst:462 msgid "Parsing ASCII Encoded Bytes" @@ -939,7 +964,7 @@ msgstr "" "está cubierta por las funciones de análisis de URL anteriores." #: ../Doc/library/urllib.parse.rst:601 -#, fuzzy, python-format +#, python-format msgid "" "Replace special characters in *string* using the :samp:`%{xx}` escape. " "Letters, digits, and the characters ``'_.-~'`` are never quoted. By default, " @@ -947,8 +972,8 @@ msgid "" "optional *safe* parameter specifies additional ASCII characters that should " "not be quoted --- its default value is ``'/'``." msgstr "" -"Reemplaza caracteres especiales en *string* con la secuencia de escape " -"``%xx``. Las letras, los dígitos y los caracteres ``'_.-~'`` nunca se citan. " +"Reemplaza caracteres especiales en *string* con la secuencia de escape :samp:" +"`%{xx}`. Las letras, los dígitos y los caracteres ``'_.-~'`` nunca se citan. " "De forma predeterminada, esta función está pensada para citar la sección de " "ruta de acceso de la dirección URL. El parámetro opcional *safe* especifica " "caracteres ASCII adicionales que no se deben citar --- su valor " @@ -1028,14 +1053,14 @@ msgid "Example: ``quote_from_bytes(b'a&\\xef')`` yields ``'a%26%EF'``." msgstr "Ejemplo: ``quote_from_bytes(b'a&\\xef')`` produce ``'a%26%EF'``." #: ../Doc/library/urllib.parse.rst:648 -#, fuzzy, python-format +#, python-format msgid "" "Replace :samp:`%{xx}` escapes with their single-character equivalent. The " "optional *encoding* and *errors* parameters specify how to decode percent-" "encoded sequences into Unicode characters, as accepted by the :meth:`bytes." "decode` method." msgstr "" -"Reemplaza secuencias de escape ``%xx`` con los caracteres individuales " +"Reemplaza secuencias de escape :samp:`%{xx}` con los caracteres individuales " "correspondientes. Los parámetros opcionales *encoding* y *errors* " "especifican cómo descodificar secuencias codificadas porcentualmente a " "caracteres Unicode, tal como lo acepta el método :meth:`bytes.decode`." @@ -1077,12 +1102,12 @@ msgid "Example: ``unquote_plus('/El+Ni%C3%B1o/')`` yields ``'/El Niño/'``." msgstr "Ejemplo: ``unquote_plus('/El+Ni%C3%B1o/')`` produce ``'/El Niño/'``." #: ../Doc/library/urllib.parse.rst:679 -#, fuzzy, python-format +#, python-format msgid "" "Replace :samp:`%{xx}` escapes with their single-octet equivalent, and return " "a :class:`bytes` object." msgstr "" -"Reemplaza los escapes ``%xx`` por sus equivalentes de un solo octeto y " +"Reemplaza los escapes :samp:`%{xx}` por sus equivalentes de un solo octeto y " "retorna un objeto :class:`bytes`." #: ../Doc/library/urllib.parse.rst:684 @@ -1278,21 +1303,20 @@ msgstr "" #: ../Doc/library/urllib.parse.rst:9 msgid "WWW" -msgstr "" +msgstr "WWW" #: ../Doc/library/urllib.parse.rst:9 msgid "World Wide Web" -msgstr "" +msgstr "World Wide Web" #: ../Doc/library/urllib.parse.rst:9 msgid "URL" -msgstr "" +msgstr "URL" #: ../Doc/library/urllib.parse.rst:9 -#, fuzzy msgid "parsing" -msgstr "Análisis de URL" +msgstr "parsing" #: ../Doc/library/urllib.parse.rst:9 msgid "relative" -msgstr "" +msgstr "relative" diff --git a/library/uu.po b/library/uu.po index 2bfd19cbe9..3148062230 100644 --- a/library/uu.po +++ b/library/uu.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: 2022-10-31 09:39+0100\n" +"PO-Revision-Date: 2024-10-31 00:56-0400\n" "Last-Translator: Federico Zuccolo \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.5\n" # La codificación 'uuencode' figura como 'UUEncode' en la Wikipedia en # español. @@ -144,8 +145,8 @@ msgstr "" #: ../Doc/library/uu.rst:28 msgid "Jansen, Jack" -msgstr "" +msgstr "Jansen, Jack" #: ../Doc/library/uu.rst:28 msgid "Ellinghouse, Lance" -msgstr "" +msgstr "Ellinghouse, Lance" diff --git a/library/xdrlib.po b/library/xdrlib.po index c3c0026c54..7b10db303d 100644 --- a/library/xdrlib.po +++ b/library/xdrlib.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: 2023-03-20 16:18-0300\n" +"PO-Revision-Date: 2024-10-31 20:52-0400\n" "Last-Translator: \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.5\n" #: ../Doc/library/xdrlib.rst:2 msgid ":mod:`xdrlib` --- Encode and decode XDR data" @@ -424,9 +425,8 @@ msgstr "" #: ../Doc/library/xdrlib.rst:10 msgid "XDR" -msgstr "" +msgstr "XDR" #: ../Doc/library/xdrlib.rst:10 -#, fuzzy msgid "External Data Representation" -msgstr ":rfc:`1832` - XDR: estándar de representación externa de datos" +msgstr "Representación Externa de Datos" diff --git a/reference/compound_stmts.po b/reference/compound_stmts.po index 66556c1775..ad415c185e 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: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2022-01-06 10:25-0300\n" +"PO-Revision-Date: 2024-11-18 15:17-0300\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.13.0\n" +"X-Generator: Poedit 3.0.1\n" #: ../Doc/reference/compound_stmts.rst:5 msgid "Compound statements" @@ -236,7 +237,6 @@ msgstr "" "las realizadas en la suite del bucle ``for``::" #: ../Doc/reference/compound_stmts.rst:193 -#, fuzzy msgid "" "Names in the target list are not deleted when the loop is finished, but if " "the sequence is empty, they will not have been assigned to at all by the " @@ -245,10 +245,10 @@ msgid "" "yields 0, 1, and then 2." msgstr "" "Los nombres en la lista no se eliminan cuando finaliza el bucle, pero si la " -"secuencia está vacía, el bucle no les habrá asignado nada. Sugerencia: la " -"función incorporada :func:`range` retorna un iterador de enteros adecuado " -"para emular el efecto de Pascal ``for i := a to b do``; por ejemplo, " -"``list(range(3))`` retorna la lista ``[0, 1, 2]``." +"secuencia está vacía, el bucle no les habrá asignado nada. Sugerencia: el " +"tipo incorporado :func:`range` representa secuencias aritméticas inmutables " +"de números enteros; por ejemplo, iterar sobre ``range(3)`` genera " +"sucesivamente 0, 1, y luego 2." #: ../Doc/reference/compound_stmts.rst:198 msgid "Starred elements are now allowed in the expression list." @@ -395,6 +395,12 @@ msgid "" "leaving an exception handler, the exception stored in the :mod:`sys` module " "is reset to its previous value::" msgstr "" +"Antes de que se ejecute el conjunto de una cláusula :keyword:`!except` , la " +"excepción se almacena en el módulo :mod:`sys`, donde puede ser accesible " +"desde dentro del cuerpo de la cláusula :keyword:`!except` llamando a la :" +"func:`sys.excepcion`. Cuando se sale de un *handler* de excepciones, la " +"excepción almacenada en el módulo :mod:`sys` se restablece a su valor " +"anterior::" #: ../Doc/reference/compound_stmts.rst:334 msgid ":keyword:`!except*` clause" @@ -424,7 +430,6 @@ msgstr "" "máximo, la primera que coincida. ::" #: ../Doc/reference/compound_stmts.rst:364 -#, fuzzy msgid "" "Any remaining exceptions that were not handled by any :keyword:`!except*` " "clause are re-raised at the end, along with all exceptions that were raised " @@ -432,9 +437,10 @@ msgid "" "one exception to reraise, they are combined into an exception group." msgstr "" "Cualquier excepción restante que no haya sido manejada por ninguna cláusula :" -"keyword:`!except*` se vuelve a generar al final, se combina en un grupo de " -"excepciones junto con todas las excepciones que se generaron desde dentro de " -"las cláusulas :keyword:`!except*`." +"keyword:`!except*` se vuelve a lanzar al final, junto con todas las " +"excepciones que se lanzaron desde dentro de las cláusulas :keyword:`!" +"except*`. Si esta lista contiene más de una excepción a relanzar, se " +"combinan en un grupo de excepciones." #: ../Doc/reference/compound_stmts.rst:370 msgid "" @@ -603,7 +609,6 @@ msgstr "" "valor de retorno de :meth:`__enter__`." #: ../Doc/reference/compound_stmts.rst:503 -#, fuzzy msgid "" "The :keyword:`with` statement guarantees that if the :meth:`__enter__` " "method returns without an error, then :meth:`__exit__` will always be " @@ -614,8 +619,8 @@ 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 se produciría un error dentro de la " -"suite. Vea el paso 6 a continuación." +"se tratará de la misma manera que si el error ocurriera dentro del bloque de " +"instrucciones. Vea el paso 7 a continuación." #: ../Doc/reference/compound_stmts.rst:509 msgid "The suite is executed." @@ -965,7 +970,7 @@ msgid "" msgstr "" "Un bloque de casos se considera irrefutable si no tiene protección y su " "patrón es irrefutable. Un patrón se considera irrefutable si podemos " -"demostrar, sólo por su sintaxis, que siempre tendrá éxito. Sólo los " +"demostrar, solo por su sintaxis, que siempre tendrá éxito. Solo los " "siguientes patrones son irrefutables:" #: ../Doc/reference/compound_stmts.rst:740 @@ -1082,7 +1087,6 @@ msgstr "" "keyword:`as` con un sujeto. Sintaxis:" #: ../Doc/reference/compound_stmts.rst:819 -#, fuzzy msgid "" "If the OR pattern fails, the AS pattern fails. Otherwise, the AS pattern " "binds the subject to the name on the right of the as keyword and succeeds. " @@ -1914,11 +1918,17 @@ msgid "" "function's ``__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." #: ../Doc/reference/compound_stmts.rst:1265 #: ../Doc/reference/compound_stmts.rst:1452 msgid "Type parameter lists are new in Python 3.12." -msgstr "" +msgstr "Los parámetros de tipo lista son nuevos en Python 3.12." #: ../Doc/reference/compound_stmts.rst:1273 msgid "" @@ -2210,6 +2220,11 @@ msgid "" "retrieved from the class's ``__type_params__`` attribute. See :ref:`generic-" "classes` for more." msgstr "" +"Una lista de :ref:`type parameters ` 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` ." #: ../Doc/reference/compound_stmts.rst:1455 msgid "" @@ -2389,7 +2404,7 @@ msgstr "" #: ../Doc/reference/compound_stmts.rst:1613 msgid "Type parameter lists" -msgstr "" +msgstr "Listas de tipo parámetro" #: ../Doc/reference/compound_stmts.rst:1627 msgid "" @@ -2397,6 +2412,9 @@ msgid "" "`classes ` and :ref:`type aliases ` may contain a type " "parameter list::" msgstr "" +":ref:`Functions ` (incluyendo :ref:`coroutines `), :ref:" +"`classes ` y :ref:`type aliases ` debe contener un parámetro " +"de tipo lista::" #: ../Doc/reference/compound_stmts.rst:1646 msgid "" @@ -2405,6 +2423,10 @@ msgid "" "type checkers, and at runtime, generic objects behave much like their non-" "generic counterparts." msgstr "" +"Semánticamente, esto indica que la función, clase, o alias de tipo es " +"genérico sobre una variable. Esta información en principalmente usada por " +"verificadores de tipo estático, y en ejecución, los objetos genéricos se " +"comportan de forma muy similar a sus homólogos no genéricos." #: ../Doc/reference/compound_stmts.rst:1651 msgid "" @@ -2417,22 +2439,35 @@ msgid "" "function (technically, an :ref:`annotation scope `) that " "wraps the creation of the generic object." msgstr "" +"Los tipos de parámetros son declarados entre corchetes (``[]``) " +"inmediatamente después del nombre de la función, clase o alias. El tipo de " +"parámetro es accesible en el ámbito del objeto genérico, pero no en otro " +"lugar. Así, después de una declaración ``def func[T](): pass``, el nombre " +"``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 " +"del objeto genérico." #: ../Doc/reference/compound_stmts.rst:1660 msgid "" "Generic functions, classes, and type aliases have a :attr:`!__type_params__` " "attribute listing their type parameters." msgstr "" +"Las funciones genéricas, clases y alias de tipo tienen un atributo :attr:`!" +"__type_params__` que lista sus parámetros de tipo." #: ../Doc/reference/compound_stmts.rst:1663 msgid "Type parameters come in three kinds:" -msgstr "" +msgstr "Los tipos de parámetros son de tres tipos:" #: ../Doc/reference/compound_stmts.rst:1665 msgid "" ":data:`typing.TypeVar`, introduced by a plain name (e.g., ``T``). " "Semantically, this represents a single type to a type checker." msgstr "" +":data:`typing.TypeVar`, introducido por un nombre plano (p.j., ``T``). " +"Sistemáticamente, esto representa un único tipo para un verificador de tipos." #: ../Doc/reference/compound_stmts.rst:1667 msgid "" @@ -2440,12 +2475,18 @@ msgid "" "asterisk (e.g., ``*Ts``). Semantically, this stands for a tuple of any " "number of types." msgstr "" +":data:`typing.TypeVarTuple`, introducido por un nombre precedido de un " +"asterisco (p.j, ``*Ts``). Semánticamente, representa una tupla de cualquier " +"número de tipos." #: ../Doc/reference/compound_stmts.rst:1670 msgid "" ":data:`typing.ParamSpec`, introduced by a name prefixed with two asterisks " "(e.g., ``**P``). Semantically, this stands for the parameters of a callable." msgstr "" +":data:`typing.ParamSpec`, introducido por un nombre precedido de dos " +"asterisco (p.j, ``*P``). Semánticamente, representa los parámetros de una " +"llamada." #: ../Doc/reference/compound_stmts.rst:1673 msgid "" @@ -2458,6 +2499,16 @@ msgid "" "should be a type (again, this is not enforced at runtime). Constrained type " "variables can only take on one of the types in the list of constraints." msgstr "" +"Las declaraciones :data:`typing.TypeVar` pueden definir *bounds* y " +"*constraints* con dos puntos (``:``) seguidos de una expresión. Una sola " +"expresión después de los dos puntos indica un límite (por ejemplo, ``T: " +"int``). Semánticamente, esto significa que :data:`!typing.TypeVar` solo " +"puede representar tipos que sean un subtipo de este límite. Una tupla de " +"expresiones entre paréntesis después de los dos puntos indica un conjunto de " +"restricciones (por ejemplo, ``T: (str, bytes)``). Cada miembro de la tupla " +"debe ser un tipo (de nuevo, esto no se aplica en tiempo de ejecución). Las " +"variables de tipo restringido solo pueden tomar uno de los tipos de la lista " +"de restricciones." #: ../Doc/reference/compound_stmts.rst:1682 msgid "" @@ -2468,32 +2519,41 @@ msgid "" "bounds or constraints are evaluated in a separate :ref:`annotation scope " "`." msgstr "" +"Para :data:`!typing.TypeVar`\\ s declarados utilizando la sintaxis de lista " +"de parámetros de tipo, los límites y restricciones no se evalúan cuando se " +"crea el objeto genérico, sino solo cuando se accede explícitamente al valor " +"a través de los atributos ``__bound__`` y ``__constraints__``. Para ello, " +"los límites o restricciones se evalúan en un :ref:`ámbito de anotación " +"` separado." #: ../Doc/reference/compound_stmts.rst:1688 msgid "" ":data:`typing.TypeVarTuple`\\ s and :data:`typing.ParamSpec`\\ s cannot have " "bounds or constraints." msgstr "" +":data:`typing.TypeVarTuple` s y :data:`typing.ParamSpec` s no pueden tener " +"límites ni restricciones." #: ../Doc/reference/compound_stmts.rst:1691 msgid "" "The following example indicates the full set of allowed type parameter " "declarations::" msgstr "" +"El siguiente ejemplo indica el conjunto completo de declaraciones de " +"parámetros de tipo permitidas::" #: ../Doc/reference/compound_stmts.rst:1709 msgid "Generic functions" -msgstr "" +msgstr "Funciones genéricas" #: ../Doc/reference/compound_stmts.rst:1711 msgid "Generic functions are declared as follows::" -msgstr "" +msgstr "Las funciones genéricas son declaradas de la siguiente forma::" #: ../Doc/reference/compound_stmts.rst:1715 #: ../Doc/reference/compound_stmts.rst:1775 -#, fuzzy msgid "This syntax is equivalent to::" -msgstr "Es semánticamente equivalente a::" +msgstr "Esta sintaxis es equivalente a::" #: ../Doc/reference/compound_stmts.rst:1724 msgid "" @@ -2503,6 +2563,11 @@ 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 " +"instancia de :data:`typing.TypeVar` directamente)." #: ../Doc/reference/compound_stmts.rst:1730 msgid "" @@ -2510,32 +2575,41 @@ msgid "" "scope used for declaring the type parameters, but the function's defaults " "and decorators are not." msgstr "" +"Las anotaciones de las funciones genéricas se evalúan dentro del ámbito de " +"anotación utilizado para declarar los parámetros de tipo, pero no así los " +"valores por defecto y los decoradores de la función." #: ../Doc/reference/compound_stmts.rst:1734 msgid "" "The following example illustrates the scoping rules for these cases, as well " "as for additional flavors of type parameters::" msgstr "" +"El siguiente ejemplo ilustra las reglas de alcance para estos casos, así " +"como para otros tipos de parámetros de tipo::" #: ../Doc/reference/compound_stmts.rst:1741 msgid "" "Except for the :ref:`lazy evaluation ` of the :class:" "`~typing.TypeVar` bound, this is equivalent to::" msgstr "" +"Excepto para la :ref:`lazy-evaluation ` del :class:`~typing." +"TypeVar` vinculada, esto es equivalente a::" #: ../Doc/reference/compound_stmts.rst:1763 msgid "" "The capitalized names like ``DEFAULT_OF_arg`` are not actually bound at " "runtime." msgstr "" +"Los nombres en mayúsculas como ``DEFAULT_OF_arg`` no se vinculan en tiempo " +"de ejecución." #: ../Doc/reference/compound_stmts.rst:1769 msgid "Generic classes" -msgstr "" +msgstr "Clases genéricas" #: ../Doc/reference/compound_stmts.rst:1771 msgid "Generic classes are declared as follows::" -msgstr "" +msgstr "Las clases genéricas son declaradas de la siguiente forma::" #: ../Doc/reference/compound_stmts.rst:1785 msgid "" @@ -2543,6 +2617,9 @@ msgid "" "`annotation scope `, and the name ``TYPE_PARAMS_OF_Bag`` " "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 " +"``TYPE_PARAMS_OF_Bag`` no está vinculado en tiempo de ejecución." #: ../Doc/reference/compound_stmts.rst:1789 msgid "" @@ -2551,28 +2628,35 @@ msgid "" "type scope for the type parameters, and decorators are evaluated outside " "that scope. This is illustrated by this example::" msgstr "" +"Las clases genéricas heredan implícitamente de :data:`typing.Generic`. Las " +"clases base y los argumentos de palabra clave de las clases genéricas se " +"evalúan dentro del ámbito del tipo para los parámetros de tipo, y los " +"decoradores se evalúan fuera de ese ámbito. Esto se ilustra con este " +"ejemplo::" #: ../Doc/reference/compound_stmts.rst:1798 -#, fuzzy msgid "This is equivalent to::" -msgstr "es equivalente a ::" +msgstr "Esto es equivalente a::" #: ../Doc/reference/compound_stmts.rst:1811 msgid "Generic type aliases" -msgstr "" +msgstr "Alias de tipo genérico" #: ../Doc/reference/compound_stmts.rst:1813 -#, fuzzy msgid "" "The :keyword:`type` statement can also be used to create a generic type " "alias::" -msgstr "La sentencia :keyword:`if` se usa para la ejecución condicional:" +msgstr "" +"La declaración :keyword:`type` también se puede usar para crear un alias de " +"tipo genérico::" #: ../Doc/reference/compound_stmts.rst:1817 msgid "" "Except for the :ref:`lazy evaluation ` of the value, this " "is equivalent to::" msgstr "" +"Excepto para la :ref:`evaluación perezosa ` del valor, esto " +"es equivalente a::" #: ../Doc/reference/compound_stmts.rst:1829 msgid "" @@ -2580,6 +2664,9 @@ msgid "" "scope `. The capitalized names like " "``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 " +"``TYPE_PARAMS_OF_ListOrSet`` no están vinculados en tiempo de ejecución." #: ../Doc/reference/compound_stmts.rst:1834 msgid "Footnotes" @@ -2613,7 +2700,6 @@ msgstr "" "Sequence`" #: ../Doc/reference/compound_stmts.rst:1843 -#, fuzzy msgid "" "a builtin class that has its (CPython) :c:macro:`Py_TPFLAGS_SEQUENCE` bit set" msgstr "" @@ -2671,7 +2757,6 @@ msgstr "" "Mapping`" #: ../Doc/reference/compound_stmts.rst:1862 -#, fuzzy msgid "" "a builtin class that has its (CPython) :c:macro:`Py_TPFLAGS_MAPPING` bit set" msgstr "" @@ -2708,7 +2793,7 @@ msgstr "" #: ../Doc/reference/compound_stmts.rst:7 msgid "compound" -msgstr "" +msgstr "compound" #: ../Doc/reference/compound_stmts.rst:7 ../Doc/reference/compound_stmts.rst:86 #: ../Doc/reference/compound_stmts.rst:111 @@ -2725,33 +2810,32 @@ msgstr "" #: ../Doc/reference/compound_stmts.rst:1484 #: ../Doc/reference/compound_stmts.rst:1518 #: ../Doc/reference/compound_stmts.rst:1563 -#, fuzzy msgid "statement" -msgstr "Sentencias compuestas" +msgstr "statement" #: ../Doc/reference/compound_stmts.rst:21 msgid "clause" -msgstr "" +msgstr "clause" #: ../Doc/reference/compound_stmts.rst:21 msgid "suite" -msgstr "" +msgstr "suite" #: ../Doc/reference/compound_stmts.rst:21 msgid "; (semicolon)" -msgstr "" +msgstr "; (semicolon)" #: ../Doc/reference/compound_stmts.rst:64 msgid "NEWLINE token" -msgstr "" +msgstr "NEWLINE token" #: ../Doc/reference/compound_stmts.rst:64 msgid "DEDENT token" -msgstr "" +msgstr "DEDENT token" #: ../Doc/reference/compound_stmts.rst:64 msgid "dangling" -msgstr "" +msgstr "dangling" #: ../Doc/reference/compound_stmts.rst:64 #: ../Doc/reference/compound_stmts.rst:86 @@ -2760,12 +2844,12 @@ msgstr "" #: ../Doc/reference/compound_stmts.rst:207 #: ../Doc/reference/compound_stmts.rst:389 msgid "else" -msgstr "" +msgstr "else" #: ../Doc/reference/compound_stmts.rst:86 #: ../Doc/reference/compound_stmts.rst:587 msgid "if" -msgstr "" +msgstr "if" #: ../Doc/reference/compound_stmts.rst:86 #: ../Doc/reference/compound_stmts.rst:111 @@ -2778,11 +2862,11 @@ msgstr "" #: ../Doc/reference/compound_stmts.rst:587 #: ../Doc/reference/compound_stmts.rst:1494 msgid "keyword" -msgstr "" +msgstr "keyword" #: ../Doc/reference/compound_stmts.rst:86 msgid "elif" -msgstr "" +msgstr "elif" #: ../Doc/reference/compound_stmts.rst:86 #: ../Doc/reference/compound_stmts.rst:111 @@ -2794,7 +2878,7 @@ msgstr "" #: ../Doc/reference/compound_stmts.rst:1318 #: ../Doc/reference/compound_stmts.rst:1374 msgid ": (colon)" -msgstr "" +msgstr ": (colon)" #: ../Doc/reference/compound_stmts.rst:86 #: ../Doc/reference/compound_stmts.rst:111 @@ -2804,349 +2888,314 @@ msgstr "" #: ../Doc/reference/compound_stmts.rst:587 #: ../Doc/reference/compound_stmts.rst:1192 #: ../Doc/reference/compound_stmts.rst:1374 -#, fuzzy msgid "compound statement" -msgstr "Sentencias compuestas" +msgstr "compound statement" #: ../Doc/reference/compound_stmts.rst:111 msgid "while" -msgstr "" +msgstr "while" #: ../Doc/reference/compound_stmts.rst:111 #: ../Doc/reference/compound_stmts.rst:144 msgid "loop" -msgstr "" +msgstr "loop" #: ../Doc/reference/compound_stmts.rst:129 #: ../Doc/reference/compound_stmts.rst:169 #: ../Doc/reference/compound_stmts.rst:389 #: ../Doc/reference/compound_stmts.rst:436 msgid "break" -msgstr "" +msgstr "break" #: ../Doc/reference/compound_stmts.rst:129 #: ../Doc/reference/compound_stmts.rst:169 #: ../Doc/reference/compound_stmts.rst:389 #: ../Doc/reference/compound_stmts.rst:436 -#, fuzzy msgid "continue" -msgstr "Corrutinas" +msgstr "continue" #: ../Doc/reference/compound_stmts.rst:144 msgid "for" -msgstr "" +msgstr "for" #: ../Doc/reference/compound_stmts.rst:144 msgid "in" -msgstr "" +msgstr "in" #: ../Doc/reference/compound_stmts.rst:144 msgid "target" -msgstr "" +msgstr "target" #: ../Doc/reference/compound_stmts.rst:144 msgid "list" -msgstr "" +msgstr "list" #: ../Doc/reference/compound_stmts.rst:144 #: ../Doc/reference/compound_stmts.rst:299 #: ../Doc/reference/compound_stmts.rst:1192 #: ../Doc/reference/compound_stmts.rst:1374 msgid "object" -msgstr "" +msgstr "object" #: ../Doc/reference/compound_stmts.rst:144 -#, fuzzy msgid "sequence" -msgstr "Patrones de secuencia" +msgstr "sequence" #: ../Doc/reference/compound_stmts.rst:190 msgid "built-in function" -msgstr "" +msgstr "built-in function" #: ../Doc/reference/compound_stmts.rst:190 msgid "range" -msgstr "" +msgstr "range" #: ../Doc/reference/compound_stmts.rst:207 msgid "try" -msgstr "" +msgstr "try" #: ../Doc/reference/compound_stmts.rst:207 msgid "except" -msgstr "" +msgstr "except" #: ../Doc/reference/compound_stmts.rst:207 #: ../Doc/reference/compound_stmts.rst:407 msgid "finally" -msgstr "" +msgstr "finally" #: ../Doc/reference/compound_stmts.rst:207 #: ../Doc/reference/compound_stmts.rst:266 #: ../Doc/reference/compound_stmts.rst:470 #: ../Doc/reference/compound_stmts.rst:587 msgid "as" -msgstr "" +msgstr "as" #: ../Doc/reference/compound_stmts.rst:266 -#, fuzzy msgid "except clause" -msgstr "Cláusula :keyword:`!except`" +msgstr "except clause" #: ../Doc/reference/compound_stmts.rst:299 msgid "module" -msgstr "" +msgstr "module" #: ../Doc/reference/compound_stmts.rst:299 msgid "sys" -msgstr "" +msgstr "sys" #: ../Doc/reference/compound_stmts.rst:299 msgid "traceback" -msgstr "" +msgstr "traceback" #: ../Doc/reference/compound_stmts.rst:328 msgid "except_star" -msgstr "" +msgstr "except_star" #: ../Doc/reference/compound_stmts.rst:389 #: ../Doc/reference/compound_stmts.rst:436 msgid "return" -msgstr "" +msgstr "return" #: ../Doc/reference/compound_stmts.rst:470 msgid "with" -msgstr "" +msgstr "with" #: ../Doc/reference/compound_stmts.rst:470 -#, fuzzy msgid "with statement" -msgstr "La sentencia :keyword:`!with`" +msgstr "with statement" #: ../Doc/reference/compound_stmts.rst:470 #: ../Doc/reference/compound_stmts.rst:1192 #: ../Doc/reference/compound_stmts.rst:1374 msgid ", (comma)" -msgstr "" +msgstr ", (comma)" #: ../Doc/reference/compound_stmts.rst:587 msgid "match" -msgstr "" +msgstr "match" #: ../Doc/reference/compound_stmts.rst:587 msgid "case" -msgstr "" +msgstr "case" #: ../Doc/reference/compound_stmts.rst:587 -#, fuzzy msgid "pattern matching" -msgstr ":ref:`class-pattern-matching`" +msgstr "pattern matching" #: ../Doc/reference/compound_stmts.rst:587 -#, fuzzy msgid "match statement" -msgstr "Un ejemplo de declaración de coincidencia::" +msgstr "match statement" #: ../Doc/reference/compound_stmts.rst:691 -#, fuzzy msgid "guard" -msgstr "Protecciones" +msgstr "guard" #: ../Doc/reference/compound_stmts.rst:730 -#, fuzzy msgid "irrefutable case block" -msgstr "Bloques de Casos Irrefutables" +msgstr "irrefutable case block" #: ../Doc/reference/compound_stmts.rst:730 -#, fuzzy msgid "case block" -msgstr "Bloques de Casos Irrefutables" +msgstr "case block" #: ../Doc/reference/compound_stmts.rst:754 -#, fuzzy msgid "! patterns" -msgstr "Patrones" +msgstr "! patterns" #: ../Doc/reference/compound_stmts.rst:754 msgid "AS pattern, OR pattern, capture pattern, wildcard pattern" -msgstr "" +msgstr "AS pattern, OR pattern, capture pattern, wildcard pattern" #: ../Doc/reference/compound_stmts.rst:1183 #: ../Doc/reference/compound_stmts.rst:1268 msgid "parameter" -msgstr "" +msgstr "parameter" #: ../Doc/reference/compound_stmts.rst:1183 #: ../Doc/reference/compound_stmts.rst:1192 #: ../Doc/reference/compound_stmts.rst:1233 #: ../Doc/reference/compound_stmts.rst:1268 #: ../Doc/reference/compound_stmts.rst:1297 -#, fuzzy msgid "function definition" -msgstr "Definiciones de funciones" +msgstr "function definition" #: ../Doc/reference/compound_stmts.rst:1192 msgid "def" -msgstr "" +msgstr "def" #: ../Doc/reference/compound_stmts.rst:1192 #: ../Doc/reference/compound_stmts.rst:1318 msgid "function" -msgstr "" +msgstr "function" #: ../Doc/reference/compound_stmts.rst:1192 #: ../Doc/reference/compound_stmts.rst:1374 -#, fuzzy msgid "definition" -msgstr "Definiciones de clase" +msgstr "definition" #: ../Doc/reference/compound_stmts.rst:1192 #: ../Doc/reference/compound_stmts.rst:1374 msgid "name" -msgstr "" +msgstr "name" #: ../Doc/reference/compound_stmts.rst:1192 #: ../Doc/reference/compound_stmts.rst:1374 msgid "binding" -msgstr "" +msgstr "binding" #: ../Doc/reference/compound_stmts.rst:1192 msgid "user-defined function" -msgstr "" +msgstr "user-defined function" #: ../Doc/reference/compound_stmts.rst:1192 #: ../Doc/reference/compound_stmts.rst:1374 msgid "() (parentheses)" -msgstr "" +msgstr "() (parentheses)" #: ../Doc/reference/compound_stmts.rst:1192 msgid "parameter list" -msgstr "" +msgstr "parameter list" #: ../Doc/reference/compound_stmts.rst:1233 #: ../Doc/reference/compound_stmts.rst:1424 msgid "@ (at)" -msgstr "" +msgstr "@ (at)" #: ../Doc/reference/compound_stmts.rst:1268 msgid "default" -msgstr "" +msgstr "default" #: ../Doc/reference/compound_stmts.rst:1268 msgid "value" -msgstr "" +msgstr "value" #: ../Doc/reference/compound_stmts.rst:1268 msgid "argument" -msgstr "" +msgstr "argument" #: ../Doc/reference/compound_stmts.rst:1268 msgid "= (equals)" -msgstr "" +msgstr "= (equals)" #: ../Doc/reference/compound_stmts.rst:1297 msgid "/ (slash)" -msgstr "" +msgstr "/ (slash)" #: ../Doc/reference/compound_stmts.rst:1297 msgid "* (asterisk)" -msgstr "" +msgstr "* (asterisk)" #: ../Doc/reference/compound_stmts.rst:1297 msgid "**" -msgstr "" +msgstr "**" #: ../Doc/reference/compound_stmts.rst:1318 msgid "annotations" -msgstr "" +msgstr "annotations" #: ../Doc/reference/compound_stmts.rst:1318 msgid "->" -msgstr "" +msgstr "->" #: ../Doc/reference/compound_stmts.rst:1318 -#, fuzzy msgid "function annotations" -msgstr "Definiciones de funciones" +msgstr "function annotations" #: ../Doc/reference/compound_stmts.rst:1336 msgid "lambda" -msgstr "" +msgstr "lambda" #: ../Doc/reference/compound_stmts.rst:1336 msgid "expression" -msgstr "" +msgstr "expression" #: ../Doc/reference/compound_stmts.rst:1374 msgid "class" -msgstr "" +msgstr "class" #: ../Doc/reference/compound_stmts.rst:1374 msgid "execution" -msgstr "" +msgstr "execution" #: ../Doc/reference/compound_stmts.rst:1374 msgid "frame" -msgstr "" +msgstr "frame" #: ../Doc/reference/compound_stmts.rst:1374 msgid "inheritance" -msgstr "" +msgstr "inheritance" #: ../Doc/reference/compound_stmts.rst:1374 msgid "docstring" -msgstr "" +msgstr "docstring" #: ../Doc/reference/compound_stmts.rst:1374 #: ../Doc/reference/compound_stmts.rst:1424 -#, fuzzy msgid "class definition" -msgstr "Definiciones de clase" +msgstr "class definition" #: ../Doc/reference/compound_stmts.rst:1374 msgid "expression list" -msgstr "" +msgstr "expression list" #: ../Doc/reference/compound_stmts.rst:1484 msgid "async def" -msgstr "" +msgstr "async def" #: ../Doc/reference/compound_stmts.rst:1494 msgid "async" -msgstr "" +msgstr "async" #: ../Doc/reference/compound_stmts.rst:1494 msgid "await" -msgstr "" +msgstr "await" #: ../Doc/reference/compound_stmts.rst:1518 msgid "async for" -msgstr "" +msgstr "async for" #: ../Doc/reference/compound_stmts.rst:1563 msgid "async with" -msgstr "" +msgstr "async with" #: ../Doc/reference/compound_stmts.rst:1617 msgid "type parameters" -msgstr "" - -#~ msgid "" -#~ "Before an :keyword:`!except` clause's suite is executed, details about " -#~ "the exception are stored in the :mod:`sys` module and can be accessed " -#~ "via :func:`sys.exc_info`. :func:`sys.exc_info` returns a 3-tuple " -#~ "consisting of the exception class, the exception instance and a traceback " -#~ "object (see section :ref:`types`) identifying the point in the program " -#~ "where the exception occurred. The details about the exception accessed " -#~ "via :func:`sys.exc_info` are restored to their previous values when " -#~ "leaving an exception handler::" -#~ msgstr "" -#~ "Antes de que se ejecute un conjunto de cláusulas :keyword:`!except`, los " -#~ "detalles sobre la excepción se almacenan en el módulo :mod:`sys` y se " -#~ "puede acceder a ellos a través de :func:`sys.exc_info`. :func:`sys." -#~ "exc_info` devuelve una tupla de 3 que consta de la clase de excepción, la " -#~ "instancia de excepción y un objeto de rastreo (consulte la sección :ref:" -#~ "`types`) que identifica el punto del programa donde se produjo la " -#~ "excepción. Los detalles sobre la excepción a la que se accede a través " -#~ "de :func:`sys.exc_info` se restauran a sus valores anteriores cuando se " -#~ "deja un controlador de excepciones:" +msgstr "type parameters" diff --git a/reference/datamodel.po b/reference/datamodel.po index ea7c19e14d..2d183989e1 100644 --- a/reference/datamodel.po +++ b/reference/datamodel.po @@ -13,9 +13,8 @@ msgstr "" "POT-Creation-Date: 2023-10-12 19:43+0200\n" "PO-Revision-Date: 2021-12-09 23:44-0300\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" @@ -279,7 +278,7 @@ msgid "" msgstr "" "Este tipo tiene un solo valor. Hay un solo objeto con este valor. Se accede " "a este objeto a través del nombre integrado ``NotImplemented``. Los métodos " -"numéricos y los métodos de comparación enriquecidos deben devolver este " +"numéricos y los métodos de comparación enriquecidos deben retornar este " "valor si no implementan la operación para los operandos proporcionados. (El " "intérprete intentará entonces la operación reflejada, o alguna otra " "alternativa, dependiendo del operador). No debe evaluarse en un contexto " @@ -334,14 +333,14 @@ msgstr "" "numérica en las computadoras." #: ../Doc/reference/datamodel.rst:200 -#, fuzzy msgid "" "The string representations of the numeric classes, computed by :meth:" "`~object.__repr__` and :meth:`~object.__str__`, have the following " "properties:" msgstr "" -"Las representaciones de cadena de las clases numéricas, calculadas por :meth:" -"`__repr__` y :meth:`__str__`, tienen las siguientes propiedades:" +"Las representaciones de cadena de caracteres de las clases numéricas, " +"calculadas por :meth:`~object.__repr__` y :meth:`~object.__str__`, tienen " +"las siguientes propiedades:" #: ../Doc/reference/datamodel.rst:204 msgid "" @@ -571,6 +570,17 @@ msgid "" "`bytes` using the given text encoding, and :meth:`bytes.decode` can be used " "to achieve the opposite." msgstr "" +"Una cadena es una secuencia de valores que representan puntos de código " +"Unicode. Todos los puntos de código en el rango ``U+0000 - U+10FFFF`` se " +"pueden representar en una cadena. Python no tiene un tipo :c:expr:`char`; en " +"su lugar, cada punto de código de la cadena se representa como un objeto de " +"cadena con una longitud ``1``. La función integrada :func:`ord` convierte un " +"punto de código de su forma de cadena a un entero en el rango ``0 - " +"10FFFF``; :func:`chr` convierte un entero en el rango ``0 - 10FFFF`` al " +"objeto de cadena ``1`` de longitud correspondiente. :meth:`str.encode` se " +"puede usar para convertir un :class:`str` a :class:`bytes` usando la " +"codificación de texto dada, y :meth:`bytes.decode` se puede usar para lograr " +"lo contrario." #: ../Doc/reference/datamodel.rst:366 msgid "Tuples" @@ -630,6 +640,8 @@ msgid "" "The :mod:`collections` and :mod:`array` module provide additional examples " "of mutable sequence types." msgstr "" +"Los módulos :mod:`collections` y :mod:`array` proporcionan ejemplos " +"adicionales de tipos de secuencias mutables." #: ../Doc/reference/datamodel.rst:399 msgid "There are currently two intrinsic mutable sequence types:" @@ -997,15 +1009,16 @@ msgstr "" "palabras clave." #: ../Doc/reference/datamodel.rst:613 ../Doc/reference/datamodel.rst:954 -#, fuzzy msgid ":attr:`__type_params__`" -msgstr ":attr:`__name__`" +msgstr ":attr:`__type_params__`" #: ../Doc/reference/datamodel.rst:613 msgid "" "A tuple containing the :ref:`type parameters ` of a :ref:" "`generic function `." msgstr "" +"Una tupla que contiene el :ref:`type parameters ` de un :ref:" +"`generic function `." #: ../Doc/reference/datamodel.rst:620 msgid "" @@ -1178,7 +1191,6 @@ msgid "Generator functions" msgstr "Funciones generadoras" #: ../Doc/reference/datamodel.rst:710 -#, fuzzy msgid "" "A function or method which uses the :keyword:`yield` statement (see section :" "ref:`yield`) is called a :dfn:`generator function`. Such a function, when " @@ -1190,15 +1202,15 @@ msgid "" "exception is raised and the iterator will have reached the end of the set of " "values to be returned." msgstr "" -"Una función o método que utiliza la declaración :keyword:`yield` (ver " -"sección :ref:`yield`) se llama :dfn:`generator function`. Dicha función, " -"cuando es invocada, siempre retorna un objeto iterador que puede ser " -"utilizado para ejecutar el cuerpo de la función: invocando el método " -"iterador :meth:`iterator.__next__` hará que la función se ejecute hasta " -"proporcionar un valor utilizando la declaración :keyword:`!yield`. Cuando " -"la función ejecuta una declaración :keyword:`return` o llega hasta el final, " -"una excepción :exc:`StopIteration` es lanzada y el iterador habrá llegado al " -"final del conjunto de valores a ser retornados." +"Una función o método que utiliza la instrucción :keyword:`yield` (consulte " +"la sección :ref:`yield`) se denomina :dfn:`función generadora`. Una función " +"de este tipo, cuando se llama, siempre retorna un objeto :term:`iterator` " +"que se puede usar para ejecutar el cuerpo de la función: llamar al método :" +"meth:`iterator.__next__` del iterador hará que la función se ejecute hasta " +"que proporcione un valor usando la instrucción :keyword:`!yield`. Cuando la " +"función ejecuta una instrucción :keyword:`return` o se sale del final, se " +"genera una excepción :exc:`StopIteration` y el iterador habrá llegado al " +"final del conjunto de valores que se retornarán." #: ../Doc/reference/datamodel.rst:722 msgid "Coroutine functions" @@ -1223,7 +1235,6 @@ msgid "Asynchronous generator functions" msgstr "Funciones generadoras asincrónicas" #: ../Doc/reference/datamodel.rst:741 -#, fuzzy msgid "" "A function or method which is defined using :keyword:`async def` and which " "uses the :keyword:`yield` statement is called a :dfn:`asynchronous generator " @@ -1231,14 +1242,13 @@ msgid "" "iterator` object which can be used in an :keyword:`async for` statement to " "execute the body of the function." msgstr "" -"Una función o método que es definido usando :keyword:`async def` y que " -"utiliza la declaración :keyword:`yield` se llama :dfn:`asynchronous " -"generator function`. Dicha función, al ser invocada, retorna un objeto " -"iterador asincrónico que puede ser utilizado en una declaración :keyword:" +"Una función o método que se define usando :keyword:`async def` y que usa la " +"declaración :keyword:`yield` se llama :dfn:`función generadora asíncrona`. " +"Una función de este tipo, cuando se llama, retorna un objeto :term:" +"`asynchronous iterator` que se puede utilizar en una instrucción :keyword:" "`async for` para ejecutar el cuerpo de la función." #: ../Doc/reference/datamodel.rst:747 -#, fuzzy msgid "" "Calling the asynchronous iterator's :meth:`aiterator.__anext__ ` method will return an :term:`awaitable` which when awaited will " @@ -1248,12 +1258,12 @@ msgid "" "asynchronous iterator will have reached the end of the set of values to be " "yielded." msgstr "" -"Invocando el método del iterador asincrónico :meth:`aiterator.__anext__` " -"retornará un :term:`awaitable` que al ser esperado se ejecutará hasta " -"proporcionar un valor utilizando la expresión :keyword:`yield`. Cuando la " -"función ejecuta una declaración :keyword:`return` vacía o llega a su final, " -"una excepción :exc:`StopAsyncIteration` es lanzada y el iterador asincrónico " -"habrá llegado al final del conjunto de valores a ser producidos." +"Llamar al método :meth:`aiterator.__anext__ ` del iterador " +"asíncrono retornará un :term:`awaitable` que, cuando se espere, se ejecutará " +"hasta que proporcione un valor utilizando la expresión :keyword:`yield`. " +"Cuando la función ejecuta una instrucción :keyword:`return` vacía o se sale " +"del final, se genera una excepción :exc:`StopAsyncIteration` y el iterador " +"asincrónico habrá llegado al final del conjunto de valores que se generarán." #: ../Doc/reference/datamodel.rst:758 msgid "Built-in functions" @@ -1305,7 +1315,6 @@ msgid "Classes" msgstr "Clases" #: ../Doc/reference/datamodel.rst:793 -#, fuzzy msgid "" "Classes are callable. These objects normally act as factories for new " "instances of themselves, but variations are possible for class types that " @@ -1313,24 +1322,23 @@ msgid "" "meth:`__new__` and, in the typical case, to :meth:`~object.__init__` to " "initialize the new instance." msgstr "" -"Las clases son invocables. Estos objetos normalmente actúan como fábricas " -"de nuevas instancias de ellos mismos, pero las variaciones son posibles para " -"los tipos de clases que anulan :meth:`__new__`. Los argumentos de la " -"invocación son pasados a :meth:`__new__` y, en el caso típico, a :meth:" -"`__init__` para iniciar la nueva instancia." +"Las clases son invocables. Estos objetos normalmente actúan como fábricas " +"para nuevas instancias de sí mismos, pero son posibles variaciones para los " +"tipos de clases que anulan :meth:`~object.__new__`. Los argumentos de la " +"llamada se pasan a :meth:`__new__` y, en el caso típico, a :meth:`~object." +"__init__` para inicializar la nueva instancia." #: ../Doc/reference/datamodel.rst:801 msgid "Class Instances" msgstr "Instancias de clases" #: ../Doc/reference/datamodel.rst:803 -#, fuzzy msgid "" "Instances of arbitrary classes can be made callable by defining a :meth:" "`~object.__call__` method in their class." msgstr "" "Las instancias de clases arbitrarias se pueden hacer invocables definiendo " -"el método :meth:`__call__` en su clase." +"un método :meth:`~object.__call__` en su clase." #: ../Doc/reference/datamodel.rst:808 msgid "Modules" @@ -1554,13 +1562,14 @@ msgid "" "A tuple containing the :ref:`type parameters ` of a :ref:" "`generic class `." msgstr "" +"Una tupla que contiene el :ref:`type parameters ` de un :ref:" +"`generic class `." #: ../Doc/reference/datamodel.rst:957 msgid "Class instances" msgstr "Instancias de clase" #: ../Doc/reference/datamodel.rst:965 -#, fuzzy msgid "" "A class instance is created by calling a class object (see above). A class " "instance has a namespace implemented as a dictionary which is the first " @@ -1576,34 +1585,33 @@ msgid "" "class attribute is found, and the object's class has a :meth:`~object." "__getattr__` method, that is called to satisfy the lookup." msgstr "" -"Una instancia de clase es creado al invocar un objeto de clase (ver " -"arriba). Una instancia de clase tiene implementado un espacio de nombres " -"como diccionario que es el primer lugar en el que se buscan referencias de " -"atributos. Cuando un atributo no es encontrado ahí, y la clase de instancia " -"tiene un atributo con ese nombre, la búsqueda continúa con los atributos de " -"clase. Si se encuentra que un atributo de clase es un objeto de función " -"definido por el usuario, es transformado en un objeto de método de instancia " -"cuyo atributo :attr:`__self__` es la instancia. Los objetos de método y " -"método de clase estáticos también son transformados; ver más adelante debajo " -"de “Clases”. Ver sección :ref:`descriptors` para otra forma en la que los " -"atributos de una clase obtenida a través de sus instancias puede diferir de " -"los objetos realmente almacenados en el :attr:`~object.__dict__` de la " -"clase. Si no se encuentra ningún atributo de clase, y la clase del objeto " -"tiene un método :meth:`__getattr__`, éste es llamado para satisfacer la " -"búsqueda." +"Una instancia de clase se crea llamando a un objeto de clase (ver arriba). " +"Una instancia de clase tiene un espacio de nombres implementado como un " +"diccionario, que es el primer lugar en el que se buscan las referencias de " +"atributos. Cuando no se encuentra un atributo allí y la clase de la " +"instancia tiene un atributo con ese nombre, la búsqueda continúa con los " +"atributos de la clase. Si se encuentra un atributo de clase que es un objeto " +"de función definido por el usuario, se transforma en un objeto de método de " +"instancia cuyo atributo :attr:`__self__` es la instancia. Los objetos de " +"métodos estáticos y de clases también se transforman; consulte más arriba en " +"\"Clases\". Consulte la sección :ref:`descriptors` para conocer otra forma " +"en la que los atributos de una clase recuperados a través de sus instancias " +"pueden diferir de los objetos realmente almacenados en el :attr:`~object." +"__dict__` de la clase. Si no se encuentra ningún atributo de clase y la " +"clase del objeto tiene un método :meth:`~object.__getattr__`, se llama para " +"satisfacer la búsqueda." #: ../Doc/reference/datamodel.rst:981 -#, fuzzy msgid "" "Attribute assignments and deletions update the instance's dictionary, never " "a class's dictionary. If the class has a :meth:`~object.__setattr__` or :" "meth:`~object.__delattr__` method, this is called instead of updating the " "instance dictionary directly." msgstr "" -"Asignación y eliminación de atributos actualizan el diccionario de la " -"instancia, nunca el diccionario de la clase. Si la clase tiene un método :" -"meth:`__setattr__` o :meth:`__delattr__`, éste es invocado en lugar de " -"actualizar el diccionario de la instancia directamente." +"Las asignaciones y eliminaciones de atributos actualizan el diccionario de " +"la instancia, nunca el diccionario de una clase. Si la clase tiene un " +"método :meth:`~object.__setattr__` o :meth:`~object.__delattr__`, se llama a " +"este en lugar de actualizar el diccionario de instancia directamente." #: ../Doc/reference/datamodel.rst:991 msgid "" @@ -1694,7 +1702,6 @@ msgstr "" "objetos mutables." #: ../Doc/reference/datamodel.rst:1078 -#, fuzzy msgid "" "Special read-only attributes: :attr:`co_name` gives the function name; :attr:" "`co_qualname` gives the fully qualified function name; :attr:`co_argcount` " @@ -1719,28 +1726,31 @@ msgid "" "the required stack size; :attr:`co_flags` is an integer encoding a number of " "flags for the interpreter." msgstr "" -"Atributos especiales de solo lectura: :attr:`co_name` da el nombre de la " +"Atributos especiales de solo lectura: :attr:`co_name` proporciona el nombre " +"de la función; :attr:`co_qualname` proporciona el nombre completo de la " "función; :attr:`co_argcount` es el número total de argumentos posicionales " -"(incluyendo argumentos únicamente posicionales y argumentos con valores por " -"default); :attr:`co_posonlyargcount` es el número de argumentos únicamente " -"posicionales (incluyendo argumentos con valores por default); :attr:" -"`co_kwonlyargcountp` es el número de argumentos solo de palabra clave " -"(incluyendo argumentos con valores por default); :attr:`co_nlocals` es el " -"número de variables usadas por la función (incluyendo argumentos); :attr:" -"`co_varnames` es una tupla que contiene los nombres con las variables " -"locales (empezando con los nombres de argumento); :attr:`co_cellvars` es una " -"tupla que contiene los nombres de variables locales que son referenciadas " -"por funciones anidadas; :attr:`co_freevars` es una tupla que contiene los " -"nombres de variables libres; :attr:`co_code` es una cadena que representa la " -"secuencia de instrucciones de bytecode; :attr:`co_consts` es una tupla que " -"contiene las literales usadas por el bytecode; :attr:`co_names` es una tupla " -"que contiene los nombres usados por el bytecode; :attr:`co_filename` es el " -"nombre de archivo de donde el código fue compilado; :attr:`co_firstlineno` " -"es el primer número de línea de la función; :attr:`co_lnotab` es una cadena " -"codificando el mapeo desde el desplazamiento de bytecode al número de líneas " -"(ver el código fuente del intérprete para más detalles); :attr:" -"`co_stacksize` es el tamaño de pila requerido; :attr:`co_flags` es un entero " -"codificando el número de banderas para el intérprete." +"(incluidos los argumentos solo posicionales y los argumentos con valores " +"predeterminados); :attr:`co_posonlyargcount` es el número de argumentos solo " +"posicionales (incluidos los argumentos con valores predeterminados); :attr:" +"`co_kwonlyargcount` es el número de argumentos de solo palabras clave " +"(incluidos los argumentos con valores predeterminados); :attr:`co_nlocals` " +"es el número de variables locales utilizadas por la función (incluidos los " +"argumentos); :attr:`co_varnames` es una tupla que contiene los nombres de " +"las variables locales (comenzando con los nombres de los argumentos); :attr:" +"`co_cellvars` es una tupla que contiene los nombres de las variables locales " +"a las que hacen referencia las funciones anidadas; :attr:`co_freevars` es " +"una tupla que contiene los nombres de las variables libres; :attr:`co_code` " +"es una cadena que representa la secuencia de instrucciones de código de " +"bytes; :attr:`co_consts` es una tupla que contiene los literales utilizados " +"por el código de bytes; :attr:`co_names` es una tupla que contiene los " +"nombres utilizados por el código de bytes; :attr:`co_filename` es el nombre " +"del archivo a partir del cual se compiló el código; :attr:`co_firstlineno` " +"es el número de primera línea de la función; :attr:`co_lnotab` es una cadena " +"que codifica la asignación de desplazamientos de código de bytes a números " +"de línea (para obtener más detalles, consulte el código fuente del " +"intérprete, está en desuso desde 3.12 y puede eliminarse en 3.14); :attr:" +"`co_stacksize` es el tamaño de pila requerido; :attr:`co_flags` es un número " +"entero que codifica una serie de indicadores para el intérprete." #: ../Doc/reference/datamodel.rst:1104 msgid "" @@ -1790,6 +1800,8 @@ msgid "" "Returns an iterable over the source code positions of each bytecode " "instruction in the code object." msgstr "" +"Retorna un iterable sobre las posiciones del código fuente de cada " +"instrucción de código de bytes en el objeto de código." #: ../Doc/reference/datamodel.rst:1128 msgid "" @@ -1798,36 +1810,48 @@ msgid "" "the source code that compiled to the *i-th* instruction. Column information " "is 0-indexed utf-8 byte offsets on the given source line." msgstr "" +"El iterador retorna tuplas que contienen ``(start_line, end_line, " +"start_column, end_column)``. La tupla *i-th* corresponde a la posición del " +"código fuente que se compiló en la instrucción *i-th*. La información de la " +"columna son compensaciones de utf-8 bytes indexadas en 0 en la línea de " +"origen dada." #: ../Doc/reference/datamodel.rst:1134 msgid "" "This positional information can be missing. A non-exhaustive lists of cases " "where this may happen:" msgstr "" +"Esta información posicional puede faltar. Una lista no exhaustiva de casos " +"en los que esto puede suceder:" #: ../Doc/reference/datamodel.rst:1137 msgid "Running the interpreter with :option:`-X` ``no_debug_ranges``." -msgstr "" +msgstr "Ejecutando el intérprete con :option:`-X` ``no_debug_ranges``." #: ../Doc/reference/datamodel.rst:1138 msgid "" "Loading a pyc file compiled while using :option:`-X` ``no_debug_ranges``." msgstr "" +"Cargando un archivo pyc compilado usando :option:`-X` ``no_debug_ranges``." #: ../Doc/reference/datamodel.rst:1139 msgid "Position tuples corresponding to artificial instructions." -msgstr "" +msgstr "Tuplas de posición correspondientes a instrucciones artificiales." #: ../Doc/reference/datamodel.rst:1140 msgid "" "Line and column numbers that can't be represented due to implementation " "specific limitations." msgstr "" +"Números de línea y columna que no se pueden representar debido a " +"limitaciones específicas de la implementación." #: ../Doc/reference/datamodel.rst:1143 msgid "" "When this occurs, some or all of the tuple elements can be :const:`None`." msgstr "" +"Cuando esto ocurre, algunos o todos los elementos de la tupla pueden ser :" +"const:`None`." #: ../Doc/reference/datamodel.rst:1149 msgid "" @@ -1838,6 +1862,13 @@ msgid "" "``no_debug_ranges`` command line flag or the :envvar:`PYTHONNODEBUGRANGES` " "environment variable can be used." msgstr "" +"Esta función requiere el almacenamiento de posiciones de columna en objetos " +"de código, lo que puede resultar en un pequeño aumento del uso del disco de " +"archivos de Python compilados o del uso de la memoria del intérprete. Para " +"evitar almacenar la información extra y/o desactivar la impresión de la " +"información extra de seguimiento, se puede usar el indicador de línea de " +"comando :option:`-X` ``no_debug_ranges`` o la variable de entorno :envvar:" +"`PYTHONNODEBUGRANGES`." #: ../Doc/reference/datamodel.rst:1160 msgid "Frame objects" @@ -2041,13 +2072,12 @@ msgid "Slice objects" msgstr "Objetos de segmento (Slice objects)" #: ../Doc/reference/datamodel.rst:1294 -#, fuzzy msgid "" "Slice objects are used to represent slices for :meth:`~object.__getitem__` " "methods. They are also created by the built-in :func:`slice` function." msgstr "" -"Los objetos de segmento son utilizados para representar segmentos para " -"métodos :meth:`__getitem__`. También son creados por la función incorporada :" +"Los objetos de sector se utilizan para representar sectores para métodos :" +"meth:`~object.__getitem__`. También son creados por la función integrada :" "func:`slice`." #: ../Doc/reference/datamodel.rst:1303 @@ -2130,7 +2160,6 @@ msgid "Special method names" msgstr "Nombres especiales de método" #: ../Doc/reference/datamodel.rst:1350 -#, fuzzy msgid "" "A class can implement certain operations that are invoked by special syntax " "(such as arithmetic operations or subscripting and slicing) by defining " @@ -2143,20 +2172,19 @@ msgid "" "appropriate method is defined (typically :exc:`AttributeError` or :exc:" "`TypeError`)." msgstr "" -"Una clase puede implementar ciertas operaciones que son invocadas por " -"sintaxis especiales (como operaciones aritméticas o de sub-índice y " -"segmentación) definiendo métodos con nombres especiales. Este es el enfoque " -"de Python hacia :dfn:`operator overloading`, permitiendo a las clases " -"definir su propio comportamiento con respecto a los operadores del lenguaje. " -"Por ejemplo, si una clase define un método llamado :meth:`__getitem__`, y " -"``x`` es una instancia de esta clase, entonces ``x[i]`` es aproximadamente " -"equivalente a ``type(x).__getitem__(x, i)``. A excepción de donde se " -"menciona, los intentos por ejecutar una operación lanzan una excepción " -"cuando no es definido un método apropiado (normalmente :exc:`AttributeError` " -"o :exc:`TypeError`)." +"Una clase puede implementar ciertas operaciones que se invocan mediante una " +"sintaxis especial (como operaciones aritméticas o subíndices y divisiones) " +"definiendo métodos con nombres especiales. Este es el enfoque de Python " +"para :dfn:`sobrecarga de operadores`, permitiendo a las clases definir su " +"propio comportamiento con respecto a los operadores del lenguaje. Por " +"ejemplo, si una clase define un método denominado :meth:`~object." +"__getitem__` y ``x`` es una instancia de esta clase, entonces ``x[i]`` es " +"aproximadamente equivalente a ``type(x).__getitem__(x, i)``. Excepto donde " +"se mencione, los intentos de ejecutar una operación generan una excepción " +"cuando no se define ningún método apropiado (normalmente :exc:" +"`AttributeError` o :exc:`TypeError`)." #: ../Doc/reference/datamodel.rst:1361 -#, fuzzy msgid "" "Setting a special method to ``None`` indicates that the corresponding " "operation is not available. For example, if a class sets :meth:`~object." @@ -2164,11 +2192,11 @@ msgid "" "its instances will raise a :exc:`TypeError` (without falling back to :meth:" "`~object.__getitem__`). [#]_" msgstr "" -"Estableciendo un método especial a ``None`` indica que la operación " -"correspondiente no se encuentra disponible. Por ejemplo, si una clase " -"establece :meth:`__iter__` a ``None``, la clase no es iterable, así que " -"llamando :func:`iter` en sus instancias lanzará un :exc:`TypeError` (sin " -"volver a :meth:`__getitem__`). [#]_" +"Establecer un método especial en ``None`` indica que la operación " +"correspondiente no está disponible. Por ejemplo, si una clase establece :" +"meth:`~object.__iter__` en ``None``, la clase no es iterable, por lo que " +"llamar a :func:`iter` en sus instancias generará un :exc:`TypeError` (sin " +"recurrir a :meth:`~object.__getitem__`). [#]_" #: ../Doc/reference/datamodel.rst:1367 msgid "" @@ -2209,17 +2237,16 @@ msgstr "" "(normalmente una instancia de *cls*)." #: ../Doc/reference/datamodel.rst:1391 -#, fuzzy msgid "" "Typical implementations create a new instance of the class by invoking the " "superclass's :meth:`__new__` method using ``super().__new__(cls[, ...])`` " "with appropriate arguments and then modifying the newly created instance as " "necessary before returning it." msgstr "" -"Implementaciones típicas crean una nueva instancia de la clase invocando el " -"método :meth:`__new__` de la súper clase utilizando ``super().__new__(cls[, " -"…])`` con argumentos apropiados y después modificando la recién creada " -"instancia como necesaria antes de retornarla." +"Las implementaciones típicas crean una nueva instancia de la clase invocando " +"el método :meth:`__new__` de la superclase usando ``super()." +"__new__(cls[, ...])`` con los argumentos apropiados y luego modificando la " +"instancia recién creada según sea necesario antes de retornarla." #: ../Doc/reference/datamodel.rst:1396 msgid "" @@ -2343,6 +2370,14 @@ msgid "" "references its own traceback, which references the locals of all frames " "caught in the traceback." msgstr "" +"Es posible que un ciclo de referencia evite que el recuento de referencia de " +"un objeto llegue a cero. En este caso, el ciclo será posteriormente " +"detectado y eliminado por el :term:`cyclic garbage collector `. Una causa común de los ciclos de referencia es cuando se " +"detecta una excepción en una variable local. Luego, los locales del marco " +"hacen referencia a la excepción, que hace referencia a su propio rastreo, " +"que hace referencia a los locales de todos los marcos capturados en el " +"rastreo." #: ../Doc/reference/datamodel.rst:1466 msgid "Documentation for the :mod:`gc` module." @@ -2595,7 +2630,6 @@ msgstr "" "consideradas." #: ../Doc/reference/datamodel.rst:1622 -#, fuzzy msgid "" "Called by built-in function :func:`hash` and for operations on members of " "hashed collections including :class:`set`, :class:`frozenset`, and :class:" @@ -2605,13 +2639,13 @@ msgid "" "the object that also play a part in comparison of objects by packing them " "into a tuple and hashing the tuple. Example::" msgstr "" -"Llamado por la función incorporada :func:`hash` y por operaciones en " -"miembros de colecciones *hash* incluyendo :class:`set`, :class:`frozenset`, " -"and :class:`dict`. :meth:`__hash__` debe retornar un entero. La única " -"propiedad requerida es que los objetos que se comparen igual tienen el mismo " -"valor *hash*; se recomienda mezclar los valores *hash* de los componentes de " -"los objetos que juegan un papel en la comparación de objetos al colocarlos " -"en una tupla y calcular el *hash* de la tupla. Por ejemplo::" +"Lo llama la función integrada :func:`hash` y para operaciones en miembros de " +"colecciones hash, incluidas :class:`set`, :class:`frozenset` y :class:" +"`dict`. El método ``__hash__()`` debería retornar un número entero. La única " +"propiedad requerida es que los objetos que se comparan iguales tengan el " +"mismo valor hash; Se recomienda mezclar los valores hash de los componentes " +"del objeto que también desempeñan un papel en la comparación de objetos " +"empaquetándolos en una tupla y aplicando hash a la tupla. Ejemplo::" #: ../Doc/reference/datamodel.rst:1635 msgid "" @@ -2631,7 +2665,6 @@ msgstr "" "“import sys; print(sys.hash_info.width)”``." #: ../Doc/reference/datamodel.rst:1643 -#, fuzzy msgid "" "If a class does not define an :meth:`__eq__` method it should not define a :" "meth:`__hash__` operation either; if it defines :meth:`__eq__` but not :meth:" @@ -2642,14 +2675,14 @@ msgid "" "value is immutable (if the object's hash value changes, it will be in the " "wrong hash bucket)." msgstr "" -"Si una clase no define un método :meth:`__eq__`, tampoco debe definir una " -"operación :meth:`__hash__`; si define a :meth:`__eq__` pero no a :meth:" -"`__hash__`, sus instancias no serán utilizables como elementos en " -"colecciones *hash*. Si la clase define objetos mutables e implementa un " -"método :meth:`__eq__`, éste no deberá implementar :meth:`__hash__`, ya que " -"la implementación de colecciones *hash* requiere que la llave de un valor " -"*hash* no sea mutable (si el valor del objeto *hash* cambia, estará en el " -"cubo de *hash* equivocado)." +"Si una clase no define un método :meth:`__eq__` tampoco debería definir una " +"operación :meth:`__hash__`; si define :meth:`__eq__` pero no :meth:" +"`__hash__`, sus instancias no se podrán utilizar como elementos en " +"colecciones hash. Si una clase define objetos mutables e implementa un " +"método :meth:`__eq__`, no debería implementar :meth:`__hash__`, ya que la " +"implementación de colecciones :term:`hashable` requiere que el valor hash de " +"una clave sea inmutable (si el valor hash del objeto cambia, estará en el " +"depósito hash incorrecto)." #: ../Doc/reference/datamodel.rst:1652 msgid "" @@ -2717,18 +2750,16 @@ msgstr "" "invocaciones repetidas de Python." #: ../Doc/reference/datamodel.rst:1682 -#, fuzzy msgid "" "This is intended to provide protection against a denial-of-service caused by " "carefully chosen inputs that exploit the worst case performance of a dict " "insertion, O(n\\ :sup:`2`) complexity. See http://ocert.org/advisories/" "ocert-2011-003.html for details." msgstr "" -"Esto tiene la intención de proveer protección contra una negación de " -"servicio causada por entradas cautelosamente elegidas y que explotan el peor " -"caso de rendimiento en la inserción de un diccionario, complejidad O(n\\ :" -"sup:`2`). Ver http://www.ocert.org/advisories/ocert-2011-003.html para más " -"detalles." +"Esto tiene como objetivo brindar protección contra una denegación de " +"servicio causada por entradas cuidadosamente elegidas que explotan el peor " +"rendimiento de una inserción de dict, complejidad O(n\\ :sup:`2`). Consulte " +"http://ocert.org/advisories/ocert-2011-003.html para obtener más detalles." #: ../Doc/reference/datamodel.rst:1687 msgid "" @@ -2749,7 +2780,6 @@ msgid "Hash randomization is enabled by default." msgstr "La aleatorización de hash es habilitada por defecto." #: ../Doc/reference/datamodel.rst:1701 -#, fuzzy msgid "" "Called to implement truth value testing and the built-in operation " "``bool()``; should return ``False`` or ``True``. When this method is not " @@ -2757,12 +2787,12 @@ msgid "" "is considered true if its result is nonzero. If a class defines neither :" "meth:`!__len__` nor :meth:`!__bool__`, all its instances are considered true." msgstr "" -"Es llamado para implementar pruebas de valores de verdad y la operación " -"incorporada ``bool()``; debe retornar ``False`` o ``True``. Cuando este " -"método no es definido, :meth:`__len__` es llamado, si es definido, y el " -"objeto es considerado verdadero (*true*) si el resultado es diferente de " -"zero. Si la clase no define :meth:`__len__` ni :meth:`__bool__`, todas sus " -"instancias son consideradas verdaderas (*true*)." +"Llamado a implementar pruebas de valor de verdad y la operación incorporada " +"``bool()``; debería retornar ``False`` o ``True``. Cuando este método no " +"está definido, se llama a :meth:`~object.__len__`, si está definido, y el " +"objeto se considera verdadero si su resultado es distinto de cero. Si una " +"clase no define ni :meth:`!__len__` ni :meth:`!__bool__`, todas sus " +"instancias se consideran verdaderas." #: ../Doc/reference/datamodel.rst:1712 msgid "Customizing attribute access" @@ -3122,7 +3152,6 @@ msgid "Invoking Descriptors" msgstr "Invocando descriptores" #: ../Doc/reference/datamodel.rst:1913 -#, fuzzy msgid "" "In general, a descriptor is an object attribute with \"binding behavior\", " "one whose attribute access has been overridden by methods in the descriptor " @@ -3130,11 +3159,11 @@ msgid "" "`~object.__delete__`. If any of those methods are defined for an object, it " "is said to be a descriptor." msgstr "" -"De manera general, un descriptor es un atributo de objeto con " -"“comportamiento enlazado”, cuyo atributo de acceso ha sido anulado por " -"métodos en el protocolo del descriptor: :meth:`__get__`, :meth:`__set__`, y :" -"meth:`__delete__`. Si cualquiera de esos métodos son definidos por un " -"objeto, se dice que es un descriptor." +"En general, un descriptor es un atributo de objeto con \"comportamiento " +"vinculante\", uno cuyo acceso al atributo ha sido anulado por métodos en el " +"protocolo del descriptor: :meth:`~object.__get__`, :meth:`~object.__set__` " +"y :meth:`~object.__delete__`. Si alguno de esos métodos está definido para " +"un objeto, se dice que es un descriptor." #: ../Doc/reference/datamodel.rst:1919 msgid "" @@ -3216,9 +3245,12 @@ msgid "" "for a base class ``B`` following ``A`` and then returns ``B.__dict__['x']." "__get__(a, A)``. If not a descriptor, ``x`` is returned unchanged." msgstr "" +"Una búsqueda punteada como ``super(A, a).x`` busca en ``a.__class__." +"__mro__`` una clase base ``B`` después de ``A`` y luego retorna ``B." +"__dict__['x'].__get__(a, A)``. Si no es un descriptor, ``x`` se retorna sin " +"cambios." #: ../Doc/reference/datamodel.rst:1982 -#, fuzzy msgid "" "For instance bindings, the precedence of descriptor invocation depends on " "which descriptor methods are defined. A descriptor can define any " @@ -3234,23 +3266,22 @@ msgid "" "redefinition in an instance dictionary. In contrast, non-data descriptors " "can be overridden by instances." msgstr "" -"Para enlace de instancias, la precedencia de la invocación de descriptor " -"depende de qué métodos de descriptor son definidos. Un descriptor puede " -"definir cualquier combinación de :meth:`__get__`, :meth:`__set__` y :meth:" -"`__delete__`. Si no define :meth:`__get__`, entonces el acceso al atributo " -"retornará el objeto de descriptor a menos que exista un valor en el " -"diccionario de instancias del objeto. Si el descriptor define :meth:" +"Por ejemplo, enlaces, la precedencia de la invocación de descriptores " +"depende de qué métodos de descriptores están definidos. Un descriptor puede " +"definir cualquier combinación de :meth:`~object.__get__`, :meth:`~object." +"__set__` y :meth:`~object.__delete__`. Si no define :meth:`__get__`, acceder " +"al atributo retornará el objeto descriptor en sí, a menos que haya un valor " +"en el diccionario de instancia del objeto. Si el descriptor define :meth:" "`__set__` y/o :meth:`__delete__`, es un descriptor de datos; si no define " -"ninguno, es un descriptor sin datos. Normalmente los descriptores de datos " -"definen ambos :meth:`__get__` y :meth:`__set__`, mientras que los " -"descriptores sin datos solo tienen el método :meth:`__get__`. Descriptores " -"de datos con :meth:`__set__` y :meth:`__get__` (y/o :meth:`__delete__`) " -"definidos siempre anulan una re-definición en el diccionario de instancias. " -"Por el contrario, los descriptores sin datos pueden ser anulados por " -"instancias." +"ninguno de los dos, es un descriptor que no es de datos. Normalmente, los " +"descriptores de datos definen tanto :meth:`__get__` como :meth:`__set__`, " +"mientras que los descriptores que no son de datos tienen solo el método :" +"meth:`__get__`. Los descriptores de datos con :meth:`__get__` y :meth:" +"`__set__` (y/o :meth:`__delete__`) definidos siempre anulan una redefinición " +"en un diccionario de instancia. Por el contrario, las instancias pueden " +"anular los descriptores que no son datos." #: ../Doc/reference/datamodel.rst:1996 -#, fuzzy msgid "" "Python methods (including those decorated with :func:`@staticmethod " "` and :func:`@classmethod `) are implemented as " @@ -3258,11 +3289,11 @@ msgid "" "methods. This allows individual instances to acquire behaviors that differ " "from other instances of the same class." msgstr "" -"Métodos de Python (que incluyen :func:`staticmethod` y :func:`classmethod`) " -"son implementados como descriptores sin datos. Por consiguiente, las " -"instancias pueden redefinir y anular métodos. Esto permite que instancias " -"individuales adquieran comportamientos que pueden diferir de otras " -"instancias de la misma clase." +"Los métodos de Python (incluidos los decorados con :func:`@staticmethod " +"` y :func:`@classmethod `) se implementan como " +"descriptores sin datos. En consecuencia, las instancias pueden redefinir y " +"anular métodos. Esto permite que las instancias individuales adquieran " +"comportamientos que difieren de otras instancias de la misma clase." #: ../Doc/reference/datamodel.rst:2002 msgid "" @@ -3277,57 +3308,52 @@ msgid "__slots__" msgstr "__slots__" #: ../Doc/reference/datamodel.rst:2011 -#, fuzzy msgid "" "*__slots__* allow us to explicitly declare data members (like properties) " "and deny the creation of :attr:`~object.__dict__` and *__weakref__* (unless " "explicitly declared in *__slots__* or available in a parent.)" msgstr "" -"*__slots__* nos permiten declarar de manera explícita miembros de datos " -"(como propiedades) y negar la creación de *__dict__* y *__weakref__* (a " -"menos que se declare explícitamente en *__slots__* o se encuentre disponible " -"en un elemento padre.)" +"*__slots__* nos permite declarar explícitamente miembros de datos (como " +"propiedades) y denegar la creación de :attr:`~object.__dict__` y " +"*__weakref__* (a menos que se declare explícitamente en *__slots__* o esté " +"disponible en un padre)." #: ../Doc/reference/datamodel.rst:2015 -#, fuzzy msgid "" "The space saved over using :attr:`~object.__dict__` can be significant. " "Attribute lookup speed can be significantly improved as well." msgstr "" -"El espacio ganado al usar *__dict__* puede ser importante. La velocidad de " -"búsqueda de atributos también puede mejorar significativamente." +"El espacio ahorrado al usar :attr:`~object.__dict__` puede ser " +"significativo. La velocidad de búsqueda de atributos también se puede " +"mejorar significativamente." #: ../Doc/reference/datamodel.rst:2020 -#, fuzzy msgid "" "This class variable can be assigned a string, iterable, or sequence of " "strings with variable names used by instances. *__slots__* reserves space " "for the declared variables and prevents the automatic creation of :attr:" "`~object.__dict__` and *__weakref__* for each instance." msgstr "" -"Esta variable de clase se le puede asignar una cadena de caracteres, un " -"elemento iterable o una secuencia de cadena de caracteres con nombres de " -"variables utilizados por instancias. *__slots__* reserva espacio para las " -"variables declaradas y previene la creación automática de *__dict__* y " -"*__weakref__* para cada instancia." +"A esta variable de clase se le puede asignar una cadena, un iterable o una " +"secuencia de cadenas con nombres de variables utilizados por las instancias. " +"*__slots__* reserva espacio para las variables declaradas y evita la " +"creación automática de :attr:`~object.__dict__` y *__weakref__* para cada " +"instancia." #: ../Doc/reference/datamodel.rst:2029 -#, fuzzy msgid "Notes on using *__slots__*:" msgstr "Notas sobre el uso de *__slots__*" #: ../Doc/reference/datamodel.rst:2031 -#, fuzzy msgid "" "When inheriting from a class without *__slots__*, the :attr:`~object." "__dict__` and *__weakref__* attribute of the instances will always be " "accessible." msgstr "" -"Cuando se hereda de una clase sin *__slots__*, los atributos *__dict__* y " -"*__weakref__* de las instancias siempre serán accesibles." +"Al heredar de una clase sin *__slots__*, los atributos :attr:`~object." +"__dict__` y *__weakref__* de las instancias siempre estarán accesibles." #: ../Doc/reference/datamodel.rst:2035 -#, fuzzy msgid "" "Without a :attr:`~object.__dict__` variable, instances cannot be assigned " "new variables not listed in the *__slots__* definition. Attempts to assign " @@ -3335,43 +3361,39 @@ msgid "" "assignment of new variables is desired, then add ``'__dict__'`` to the " "sequence of strings in the *__slots__* declaration." msgstr "" -"Sin una variable *__dict__*, no se puede asignar a instancias nuevas " -"variables que no se encuentren listadas en la definición de *__slots__*. " -"Intentos de asignación a una variable no listada lanza una excepción :exc:" -"`AttributeError`. Si se desea hacer una asignación dinámica a variables " -"nuevas, se debe agregar ``’__dict__’`` a la secuencia de cadena de " -"caracteres en la declaración de *__slots__*." +"Sin una variable :attr:`~object.__dict__`, a las instancias no se les pueden " +"asignar nuevas variables que no figuran en la definición *__slots__*. Los " +"intentos de asignar un nombre de variable no listado generan :exc:" +"`AttributeError`. Si desea una asignación dinámica de nuevas variables, " +"agregue ``'__dict__'`` a la secuencia de cadenas en la declaración " +"*__slots__*." #: ../Doc/reference/datamodel.rst:2042 -#, fuzzy msgid "" "Without a *__weakref__* variable for each instance, classes defining " "*__slots__* do not support :mod:`weak references ` to its " "instances. If weak reference support is needed, then add ``'__weakref__'`` " "to the sequence of strings in the *__slots__* declaration." msgstr "" -"Sin una variable *__weakref__* por cada instancia, las clases que definen " -"*__slots__* no soportan “referencias débiles” (*weak references*) a sus " -"instancias. Si se desea el soporte de dichas referencias, se debe agregar " -"``’__weakref__’`` a la secuencia de cadena de caracteres en la declaración " -"de *__slots__*." +"Sin una variable *__weakref__* para cada instancia, las clases que definen " +"*__slots__* no admiten :mod:`weak references ` en sus instancias. " +"Si se necesita soporte de referencia débil, agregue ``'__weakref__'`` a la " +"secuencia de cadenas en la declaración *__slots__*." #: ../Doc/reference/datamodel.rst:2048 -#, fuzzy msgid "" "*__slots__* are implemented at the class level by creating :ref:`descriptors " "` for each variable name. As a result, class attributes cannot " "be used to set default values for instance variables defined by *__slots__*; " "otherwise, the class attribute would overwrite the descriptor assignment." msgstr "" -"*__slots__* son implementados a nivel de clase al crear descriptores (:ref:" -"`descriptors`) para cada nombre de variable. Como resultado, los atributos " -"de clase no pueden ser utilizados para establecer valores por defecto a " -"variables de instancia definidos por *__slots__*; de lo contrario, el " -"atributo de clase sobrescribirá la asignación del descriptor." +"*__slots__* se implementa a nivel de clase creando :ref:`descriptors " +"` para cada nombre de variable. Como resultado, los atributos " +"de clase no se pueden utilizar para establecer valores predeterminados, por " +"ejemplo, variables definidas por *__slots__*; de lo contrario, el atributo " +"de clase sobrescribiría la asignación del descriptor." #: ../Doc/reference/datamodel.rst:2054 -#, fuzzy msgid "" "The action of a *__slots__* declaration is not limited to the class where it " "is defined. *__slots__* declared in parents are available in child classes. " @@ -3379,11 +3401,11 @@ msgid "" "*__weakref__* unless they also define *__slots__* (which should only contain " "names of any *additional* slots)." msgstr "" -"La acción de una declaración *__slots__* no está limitada a la clase donde " -"fue definida. *__slots__* declarado en padres, se vuelven disponibles en " -"clases hijas. Sin embargo, subclases hijas tendrán un *__dict__* y " -"*__weakref__* a menos que también se defina *__slots__* (el cual solo debe " -"contener nombres de espacios o *slots* *adicionales*)." +"La acción de una declaración *__slots__* no se limita a la clase donde se " +"define. *__slots__* declarado en padres está disponible en clases " +"secundarias. Sin embargo, las subclases secundarias obtendrán :attr:`~object." +"__dict__` y *__weakref__* a menos que también definan *__slots__* (que solo " +"debe contener nombres de cualquier ranura *additional*)." #: ../Doc/reference/datamodel.rst:2060 msgid "" @@ -3400,20 +3422,22 @@ msgstr "" "futuro se podría agregar una verificación para prevenir esto." #: ../Doc/reference/datamodel.rst:2065 -#, fuzzy msgid "" ":exc:`TypeError` will be raised if nonempty *__slots__* are defined for a " "class derived from a :c:member:`\"variable-length\" built-in type " "` such as :class:`int`, :class:`bytes`, and :class:" "`tuple`." msgstr "" -"*__slots__* no vacíos no funcionan para clases derivadas de tipos " -"incorporados de “longitud variable” como :class:`int`, :class:`bytes` y :" -"class:`tuple`." +":exc:`TypeError` se generará si se definen *__slots__* no vacíos para una " +"clase derivada de un :c:member:`\"variable-length\" built-in type " +"` como :class:`int`, :class:`bytes` y :class:" +"`tuple`." #: ../Doc/reference/datamodel.rst:2070 msgid "Any non-string :term:`iterable` may be assigned to *__slots__*." msgstr "" +"Cualquier :term:`iterable` que no sea una cadena se puede asignar a " +"*__slots__*." #: ../Doc/reference/datamodel.rst:2072 msgid "" @@ -3422,46 +3446,47 @@ msgid "" "can be used to provide per-attribute docstrings that will be recognised by :" "func:`inspect.getdoc` and displayed in the output of :func:`help`." msgstr "" +"Si se utiliza un :class:`dictionary ` para asignar *__slots__*, las " +"claves del diccionario se utilizarán como nombres de ranura. Los valores del " +"diccionario se pueden usar para proporcionar cadenas de documentos por " +"atributo que :func:`inspect.getdoc` reconocerá y mostrará en la salida de :" +"func:`help`." #: ../Doc/reference/datamodel.rst:2077 -#, fuzzy msgid "" ":attr:`~instance.__class__` assignment works only if both classes have the " "same *__slots__*." msgstr "" -"La asignación *__class__* funciona solo si ambas clases tienen el mismo " -"*__slots__*." +"La asignación de :attr:`~instance.__class__` solo funciona si ambas clases " +"tienen el mismo *__slots__*." #: ../Doc/reference/datamodel.rst:2080 -#, fuzzy msgid "" ":ref:`Multiple inheritance ` with multiple slotted parent " "classes can be used, but only one parent is allowed to have attributes " "created by slots (the other bases must have empty slot layouts) - violations " "raise :exc:`TypeError`." msgstr "" -"Herencia múltiple con múltiples clases de padres con espacios (*slots*) " -"puede ser utilizada, pero solo un padre es permitido que tenga atributos " -"creados por espacios (las otras bases deben tener diseños de espacios " -"vacíos) - violaciones lanzan una excepción :exc:`TypeError`." +"Se puede usar :ref:`Multiple inheritance ` con varias clases " +"principales con ranuras, pero solo a una de las clases principales se le " +"permite tener atributos creados por ranuras (las otras bases deben tener " +"diseños de ranuras vacías); las infracciones generan :exc:`TypeError`." #: ../Doc/reference/datamodel.rst:2086 -#, fuzzy msgid "" "If an :term:`iterator` is used for *__slots__* then a :term:`descriptor` is " "created for each of the iterator's values. However, the *__slots__* " "attribute will be an empty iterator." msgstr "" -"Si un iterados es utilizado por *__slots__*, entonces un descriptor es " -"creado para cada uno de los valores del iterador. Sin embargo, el atributo " -"*__slots__* será un iterador vacío." +"Si se utiliza un :term:`iterator` para *__slots__*, entonces se crea un :" +"term:`descriptor` para cada uno de los valores del iterador. Sin embargo, el " +"atributo *__slots__* será un iterador vacío." #: ../Doc/reference/datamodel.rst:2094 msgid "Customizing class creation" msgstr "Personalización de creación de clases" #: ../Doc/reference/datamodel.rst:2096 -#, fuzzy msgid "" "Whenever a class inherits from another class, :meth:`~object." "__init_subclass__` is called on the parent class. This way, it is possible " @@ -3470,12 +3495,13 @@ msgid "" "specific class they're applied to, ``__init_subclass__`` solely applies to " "future subclasses of the class defining the method." msgstr "" -"Siempre que una clase hereda de otra clase, *__init_subclass__* es llamado " -"en esa clase. De esta manera, es posible escribir clases que cambian el " -"comportamiento de las subclases. Esto está estrechamente relacionado con los " -"decoradores de clase, pero solo donde los decoradores de clase afectan a la " -"clase específica a la que son aplicados, ``__init_subclass__`` solo aplica a " -"futuras subclases de la clase que define el método." +"Siempre que una clase hereda de otra clase, se llama a :meth:`~object." +"__init_subclass__` en la clase principal. De esta forma, es posible escribir " +"clases que cambien el comportamiento de las subclases. Esto está " +"estrechamente relacionado con los decoradores de clases, pero mientras los " +"decoradores de clases solo afectan la clase específica a la que se aplican, " +"``__init_subclass__`` solo se aplica a futuras subclases de la clase que " +"define el método." #: ../Doc/reference/datamodel.rst:2105 msgid "" @@ -3522,14 +3548,13 @@ msgstr "" "explícita) puede ser accedida como ``type(cls)``." #: ../Doc/reference/datamodel.rst:2136 -#, fuzzy msgid "" "When a class is created, :meth:`type.__new__` scans the class variables and " "makes callbacks to those with a :meth:`~object.__set_name__` hook." msgstr "" "Cuando se crea una clase, :meth:`type.__new__` escanea las variables de " -"clase y realiza retornos de llamada a aquellas con un gancho :meth:" -"`__set_name__`." +"clase y realiza la retrollamada a aquellas con un enlace :meth:`~object." +"__set_name__`." #: ../Doc/reference/datamodel.rst:2141 msgid "" @@ -3618,7 +3643,6 @@ msgid "Resolving MRO entries" msgstr "Resolviendo entradas de la Orden de Resolución de Métodos (MRU)" #: ../Doc/reference/datamodel.rst:2208 -#, fuzzy msgid "" "If a base that appears in a class definition is not an instance of :class:" "`type`, then an :meth:`!__mro_entries__` method is searched on the base. If " @@ -3629,39 +3653,42 @@ msgid "" "the base. The returned tuple may be empty: in these cases, the original base " "is ignored." msgstr "" -"Si una base que aparece en la definición de una clase no es una instancia " -"de :class:`type`, entonces el método ``__mro_entries__`` se busca en ella. " -"Si es encontrado, se llama con la tupla de bases originales. Este método " -"debe retornar una tupla de clases que será utilizado en lugar de esta base. " -"La tupla puede estar vacía, en cuyo caso la base original es ignorada." +"Si una base que aparece en una definición de clase no es una instancia de :" +"class:`type`, entonces se busca un método :meth:`!__mro_entries__` en la " +"base. Si se encuentra un método :meth:`!__mro_entries__`, la base se " +"sustituye por el resultado de una llamada a :meth:`!__mro_entries__` al " +"crear la clase. El método se llama con la tupla de bases original pasada al " +"parámetro *bases* y debe retornar una tupla de clases que se utilizará en " +"lugar de la base. La tupla retornada puede estar vacía: en estos casos, se " +"ignora la base original." #: ../Doc/reference/datamodel.rst:2220 msgid ":func:`types.resolve_bases`" -msgstr "" +msgstr ":func:`types.resolve_bases`" #: ../Doc/reference/datamodel.rst:2220 msgid "Dynamically resolve bases that are not instances of :class:`type`." -msgstr "" +msgstr "Resuelva dinámicamente bases que no sean instancias de :class:`type`." #: ../Doc/reference/datamodel.rst:2224 msgid ":func:`types.get_original_bases`" -msgstr "" +msgstr ":func:`types.get_original_bases`" #: ../Doc/reference/datamodel.rst:2223 msgid "" "Retrieve a class's \"original bases\" prior to modifications by :meth:" "`~object.__mro_entries__`." msgstr "" +"Recupera las \"bases originales\" de una clase antes de las modificaciones " +"realizadas por :meth:`~object.__mro_entries__`." #: ../Doc/reference/datamodel.rst:2226 msgid ":pep:`560`" -msgstr "" +msgstr ":pep:`560`" #: ../Doc/reference/datamodel.rst:2227 -#, fuzzy msgid "Core support for typing module and generic types." -msgstr "" -":pep:`560` - Soporte central para módulos de clasificación y tipos genéricos" +msgstr "Soporte principal para módulos de escritura y tipos genéricos." #: ../Doc/reference/datamodel.rst:2231 msgid "Determining the appropriate metaclass" @@ -3714,7 +3741,6 @@ msgid "Preparing the class namespace" msgstr "Preparando el espacio de nombres de la clase" #: ../Doc/reference/datamodel.rst:2258 -#, fuzzy msgid "" "Once the appropriate metaclass has been identified, then the class namespace " "is prepared. If the metaclass has a ``__prepare__`` attribute, it is called " @@ -3725,14 +3751,14 @@ msgid "" "``__new__``, but when the final class object is created the namespace is " "copied into a new ``dict``." msgstr "" -"Una vez que se ha identificado la metaclase apropiada, entonces se prepara " -"el espacio de nombres de la clase. Si la metaclase tiene un atributo " -"``__prepare__``, es llamado como ``namespace = metaclass.__prepare__(name, " -"bases, **kwds)`` (donde los argumentos de palabra clave adicionales, de " -"existir, provienen de la definición de la clase). El método ``__prepare__`` " -"debe ser implementado como :func:`classmethod`. El espacio de nombres " -"retornado por ``__prepare__`` es pasado a ``__new__``, pero cuando el objeto " -"de clase final es creado, el espacio de nombres es copiado en un ``dict``." +"Una vez que se ha identificado la metaclase adecuada, se prepara el espacio " +"de nombres de la clase. Si la metaclase tiene un atributo ``__prepare__``, " +"se llama ``namespace = metaclass.__prepare__(name, bases, **kwds)`` (donde " +"los argumentos de palabras clave adicionales, si los hay, provienen de la " +"definición de clase). El método ``__prepare__`` debe implementarse como :" +"func:`classmethod `. El espacio de nombres retornado por " +"``__prepare__`` se pasa a ``__new__``, pero cuando se crea el objeto de " +"clase final, el espacio de nombres se copia en un nuevo ``dict``." #: ../Doc/reference/datamodel.rst:2267 msgid "" @@ -4000,40 +4026,52 @@ msgid "" "notation. For example, the annotation ``list[int]`` might be used to signify " "a :class:`list` in which all the elements are of type :class:`int`." msgstr "" +"Cuando se usa :term:`type annotations`, a menudo es útil " +"*parameterize* a :term:`generic type` usando la notación de corchetes de " +"Python. Por ejemplo, la anotación ``list[int]`` podría usarse para indicar " +"un :class:`list` en el que todos los elementos son del tipo :class:`int`." #: ../Doc/reference/datamodel.rst:2411 msgid ":pep:`484` - Type Hints" -msgstr "" +msgstr ":pep:`484` - Sugerencias de tipo" #: ../Doc/reference/datamodel.rst:2411 msgid "Introducing Python's framework for type annotations" -msgstr "" +msgstr "Presentamos el marco de trabajo de Python para las anotaciones de tipo" #: ../Doc/reference/datamodel.rst:2414 msgid ":ref:`Generic Alias Types`" -msgstr "" +msgstr ":ref:`Generic Alias Types`" #: ../Doc/reference/datamodel.rst:2414 msgid "Documentation for objects representing parameterized generic classes" msgstr "" +"Documentación para objetos que representan clases genéricas parametrizadas" #: ../Doc/reference/datamodel.rst:2417 msgid "" ":ref:`Generics`, :ref:`user-defined generics` and :" "class:`typing.Generic`" msgstr "" +":ref:`Generics`, :ref:`user-defined generics` y :" +"class:`typing.Generic`" #: ../Doc/reference/datamodel.rst:2417 msgid "" "Documentation on how to implement generic classes that can be parameterized " "at runtime and understood by static type-checkers." msgstr "" +"Documentación sobre cómo implementar clases genéricas que se pueden " +"parametrizar en tiempo de ejecución y que los verificadores de tipos " +"estáticos pueden entender." #: ../Doc/reference/datamodel.rst:2420 msgid "" "A class can *generally* only be parameterized if it defines the special " "class method ``__class_getitem__()``." msgstr "" +"Una clase *generally* solo se puede parametrizar si define el método de " +"clase especial ``__class_getitem__()``." #: ../Doc/reference/datamodel.rst:2425 msgid "" @@ -4049,10 +4087,13 @@ msgid "" "method. As such, there is no need for it to be decorated with :func:" "`@classmethod` when it is defined." msgstr "" +"Cuando se define en una clase, ``__class_getitem__()`` es automáticamente un " +"método de clase. Como tal, no es necesario decorarlo con :func:" +"`@classmethod` cuando se define." #: ../Doc/reference/datamodel.rst:2434 msgid "The purpose of *__class_getitem__*" -msgstr "" +msgstr "El propósito de *__class_getitem__*" #: ../Doc/reference/datamodel.rst:2436 msgid "" @@ -4060,6 +4101,10 @@ msgid "" "parameterization of standard-library generic classes in order to more easily " "apply :term:`type hints` to these classes." msgstr "" +"El propósito de :meth:`~object.__class_getitem__` es permitir la " +"parametrización en tiempo de ejecución de clases genéricas de biblioteca " +"estándar para aplicar :term:`type hints` a estas clases con mayor " +"facilidad." #: ../Doc/reference/datamodel.rst:2440 msgid "" @@ -4069,6 +4114,12 @@ msgid "" "__class_getitem__`, or inherit from :class:`typing.Generic`, which has its " "own implementation of ``__class_getitem__()``." msgstr "" +"Para implementar clases genéricas personalizadas que se puedan parametrizar " +"en tiempo de ejecución y que los verificadores de tipos estáticos las " +"entiendan, los usuarios deben heredar de una clase de biblioteca estándar " +"que ya implementa :meth:`~object.__class_getitem__`, o heredar de :class:" +"`typing.Generic`, que tiene su propia implementación de " +"``__class_getitem__()``." #: ../Doc/reference/datamodel.rst:2446 msgid "" @@ -4077,10 +4128,15 @@ msgid "" "type-checkers such as mypy. Using ``__class_getitem__()`` on any class for " "purposes other than type hinting is discouraged." msgstr "" +"Es posible que los verificadores de tipos de terceros, como mypy, no " +"entiendan las implementaciones personalizadas de :meth:`~object." +"__class_getitem__` en clases definidas fuera de la biblioteca estándar. Se " +"desaconseja el uso de ``__class_getitem__()`` en cualquier clase para fines " +"distintos a la sugerencia de tipo." #: ../Doc/reference/datamodel.rst:2456 msgid "*__class_getitem__* versus *__getitem__*" -msgstr "" +msgstr "*__class_getitem__* frente a *__getitem__*" #: ../Doc/reference/datamodel.rst:2458 msgid "" @@ -4091,6 +4147,13 @@ msgid "" "instead. ``__class_getitem__()`` should return a :ref:`GenericAlias` object if it is properly defined." msgstr "" +"Por lo general, el :ref:`subscription` de un objeto que usa " +"corchetes llamará al método de instancia :meth:`~object.__getitem__` " +"definido en la clase del objeto. Sin embargo, si el objeto que se suscribe " +"es en sí mismo una clase, se puede llamar al método de clase :meth:`~object." +"__class_getitem__` en su lugar. ``__class_getitem__()`` debería retornar un " +"objeto :ref:`GenericAlias` si está definido " +"correctamente." #: ../Doc/reference/datamodel.rst:2465 msgid "" @@ -4098,6 +4161,9 @@ msgid "" "follows something like the following process to decide whether :meth:" "`~object.__getitem__` or :meth:`~object.__class_getitem__` should be called::" msgstr "" +"Presentado con el :term:`expression` ``obj[x]``, el intérprete de Python " +"sigue un proceso similar al siguiente para decidir si se debe llamar a :meth:" +"`~object.__getitem__` o :meth:`~object.__class_getitem__`:" #: ../Doc/reference/datamodel.rst:2493 msgid "" @@ -4108,6 +4174,12 @@ msgid "" "``dict[str, float]`` and ``tuple[str, bytes]`` all result in :meth:`~object." "__class_getitem__` being called::" msgstr "" +"En Python, todas las clases son en sí mismas instancias de otras clases. La " +"clase de una clase se conoce como :term:`metaclass` de esa clase, y la " +"mayoría de las clases tienen la clase :class:`type` como su metaclase. :" +"class:`type` no define :meth:`~object.__getitem__`, lo que significa que " +"expresiones como ``list[int]``, ``dict[str, float]`` y ``tuple[str, bytes]`` " +"dan como resultado que se llame a :meth:`~object.__class_getitem__`:" #: ../Doc/reference/datamodel.rst:2512 msgid "" @@ -4115,12 +4187,15 @@ msgid "" "__getitem__`, subscribing the class may result in different behaviour. An " "example of this can be found in the :mod:`enum` module::" msgstr "" +"Sin embargo, si una clase tiene una metaclase personalizada que define :meth:" +"`~object.__getitem__`, la suscripción de la clase puede generar un " +"comportamiento diferente. Un ejemplo de esto se puede encontrar en el " +"módulo :mod:`enum`:" #: ../Doc/reference/datamodel.rst:2537 -#, fuzzy msgid ":pep:`560` - Core Support for typing module and generic types" msgstr "" -":pep:`560` - Soporte central para módulos de clasificación y tipos genéricos" +":pep:`560`: soporte principal para módulo de escritura y tipos genéricos" #: ../Doc/reference/datamodel.rst:2536 msgid "" @@ -4128,6 +4203,9 @@ msgid "" "`subscription` results in ``__class_getitem__()`` being " "called instead of :meth:`~object.__getitem__`" msgstr "" +"Presentamos :meth:`~object.__class_getitem__` y describimos cuándo un :ref:" +"`subscription` da como resultado que se llame a " +"``__class_getitem__()`` en lugar de :meth:`~object.__getitem__`" #: ../Doc/reference/datamodel.rst:2544 msgid "Emulating callable objects" @@ -4148,7 +4226,6 @@ msgid "Emulating container types" msgstr "Emulando tipos de contenedores" #: ../Doc/reference/datamodel.rst:2560 -#, fuzzy msgid "" "The following methods can be defined to implement container objects. " "Containers usually are :term:`sequences ` (such as :class:`lists " @@ -4183,52 +4260,54 @@ msgid "" "iterate through the object's keys; for sequences, it should iterate through " "the values." msgstr "" -"Los siguientes métodos pueden ser definidos para implementar objetos " -"contenedores. Los contenedores son generalmente secuencias (como listas o " -"tuplas) o mapeos (como diccionarios), pero también pueden representar otros " -"contenedores. La primera colección de métodos es utilizada ya sea para " -"emular una secuencia o para emular un mapeo; la diferencia es que para una " -"secuencia, las llaves permitidas deben ser los enteros *k* por lo que ``0 <= " -"k < N`` donde *N* es la longitud de la secuencia, o secciones de objetos, " -"los cuales definen un rango de elementos. También es recomendado que los " -"mapeos proporcionen los métodos :meth:`keys`, :meth:`values`, :meth:" -"`items`, :meth:`get`, :meth:`clear`, :meth:`setdefault`, :meth:`pop`, :meth:" -"`popitem`, :meth:`!copy`, y :meth:`update` comportándose de manera similar a " -"aquellos para los objetos de diccionario estándar de Python. El módulo :mod:" -"`collections.abc` proporciona una clase base abstracta :class:`~collections." -"abc.MutableMapping` que ayuda a crear aquellos métodos desde un conjunto " -"base de :meth:`__getitem__`, :meth:`__setitem__`, :meth:`__delitem__`, y :" -"meth:`keys`. Secuencias mutables deben proporcionar métodos :meth:`append`, :" -"meth:`count`, :meth:`index`, :meth:`extend`, :meth:`insert`, :meth:`pop`, :" -"meth:`remove`, :meth:`reverse` y :meth:`sort`, como objetos de lista " -"estándar de Python. Por último, tipos de secuencia deben implementar adición " -"(concatenación) y multiplicación (repetición) al definir los métodos :meth:" -"`__add__`, :meth:`__radd__`, :meth:`__iadd__`, :meth:`__mul__`, :meth:" -"`__rmul__` y :meth:`__imul__` descritos a continuación; no deben definir " -"otros operadores numéricos. Es recomendado que ambos mapeos y secuencias " -"implementen el método :meth:`__contains__` para permitir el uso eficiente " -"del operador ``in``; para mapeos, ``in`` debe buscar las llaves de los " -"mapeos; para secuencias, debe buscar a través de los valores. Además es " -"recomendado que tanto mapeos como secuencias implementen el método :meth:" -"`__iter__` para permitir una iteración eficiente por el contenedor; para " -"mapeos, :meth:`__iter__` debe iterar a través de las llaves del objeto; para " -"secuencias, debe iterar a través de los valores." +"Se pueden definir los siguientes métodos para implementar objetos " +"contenedores. Los contenedores suelen ser :term:`sequences ` " +"(como :class:`lists ` o :class:`tuples `) o :term:`mappings " +"` (como :class:`dictionaries `), pero también pueden " +"representar otros contenedores. El primer conjunto de métodos se utiliza " +"para emular una secuencia o un mapeo; la diferencia es que para una " +"secuencia, las claves permitidas deben ser los números enteros *k* para los " +"cuales ``0 <= k < N`` donde *N* es la longitud de la secuencia, u objetos :" +"class:`slice`, que definen un rango de elementos. También se recomienda que " +"las asignaciones proporcionen los métodos :meth:`keys`, :meth:`values`, :" +"meth:`items`, :meth:`get`, :meth:`clear`, :meth:`setdefault`, :meth:`pop`, :" +"meth:`popitem`, :meth:`!copy` y :meth:`update` que se comportan de manera " +"similar a los de los objetos :class:`dictionary ` estándar de Python. " +"El módulo :mod:`collections.abc` proporciona un :class:`~collections.abc." +"MutableMapping` :term:`abstract base class` para ayudar a crear esos métodos " +"a partir de un conjunto básico de :meth:`~object.__getitem__`, :meth:" +"`~object.__setitem__`, :meth:`~object.__delitem__` y :meth:`keys`. Las " +"secuencias mutables deben proporcionar los métodos :meth:`append`, :meth:" +"`count`, :meth:`index`, :meth:`extend`, :meth:`insert`, :meth:`pop`, :meth:" +"`remove`, :meth:`reverse` y :meth:`sort`, como los objetos :class:`list` " +"estándar de Python. Finalmente, los tipos de secuencia deben implementar la " +"suma (es decir, concatenación) y la multiplicación (es decir, repetición) " +"definiendo los métodos :meth:`~object.__add__`, :meth:`~object.__radd__`, :" +"meth:`~object.__iadd__`, :meth:`~object.__mul__`, :meth:`~object.__rmul__` " +"y :meth:`~object.__imul__` que se describen a continuación; no deben definir " +"otros operadores numéricos. Se recomienda que tanto las asignaciones como " +"las secuencias implementen el método :meth:`~object.__contains__` para " +"permitir el uso eficiente del operador ``in``; para asignaciones, ``in`` " +"debería buscar las claves de la asignación; para secuencias, debe buscar " +"entre los valores. Se recomienda además que tanto las asignaciones como las " +"secuencias implementen el método :meth:`~object.__iter__` para permitir una " +"iteración eficiente a través del contenedor; para asignaciones, :meth:" +"`__iter__` debe iterar a través de las claves del objeto; para secuencias, " +"debe iterar a través de los valores." #: ../Doc/reference/datamodel.rst:2600 -#, fuzzy msgid "" "Called to implement the built-in function :func:`len`. Should return the " "length of the object, an integer ``>=`` 0. Also, an object that doesn't " "define a :meth:`~object.__bool__` method and whose :meth:`!__len__` method " "returns zero is considered to be false in a Boolean context." msgstr "" -"Es llamado para implementar la función incorporada :func:`len`. Debe " -"retornar la longitud del objeto, un entero ``>=`` 0. También, un objeto que " -"no define un método :meth:`__bool__` y cuyo método :meth:`__len__` retorna " -"cero, es considerado como falso en un contexto booleano." +"Llamado para implementar la función incorporada :func:`len`. Debería " +"retornar la longitud del objeto, un número entero ``>=`` 0. Además, un " +"objeto que no define un método :meth:`~object.__bool__` y cuyo método :meth:" +"`!__len__` retorna cero se considera falso en un contexto booleano." #: ../Doc/reference/datamodel.rst:2607 -#, fuzzy msgid "" "In CPython, the length is required to be at most :data:`sys.maxsize`. If the " "length is larger than :data:`!sys.maxsize` some features (such as :func:" @@ -4236,12 +4315,11 @@ msgid "" "OverflowError` by truth value testing, an object must define a :meth:" "`~object.__bool__` method." msgstr "" -"En CPython, se requiere que la longitud sea como mucho :attr:`sys.maxsize`. " -"Si la longitud es más grande que :attr:`!sys.maxsize` algunas " -"características (como :func:`len`) pueden lanzar una excepción :exc:" -"`OverflowError`. Para prevenir lanzar una excepción :exc:`!OverflowError` al " -"validar la verdad de un valor, un objeto debe definir un método :meth:" -"`__bool__`." +"En CPython, se requiere que la longitud sea como máximo :data:`sys.maxsize`. " +"Si la longitud es mayor que :data:`!sys.maxsize`, algunas funciones (como :" +"func:`len`) pueden generar :exc:`OverflowError`. Para evitar que se genere :" +"exc:`!OverflowError` mediante pruebas de valor de verdad, un objeto debe " +"definir un método :meth:`~object.__bool__`." #: ../Doc/reference/datamodel.rst:2616 msgid "" @@ -4276,7 +4354,6 @@ msgstr "" "etcétera. Elementos faltantes de segmentos siempre son llenados con ``None``." #: ../Doc/reference/datamodel.rst:2643 -#, fuzzy msgid "" "Called to implement evaluation of ``self[key]``. For :term:`sequence` types, " "the accepted keys should be integers and slice objects. Note that the " @@ -4288,16 +4365,16 @@ msgid "" "term:`mapping` types, if *key* is missing (not in the container), :exc:" "`KeyError` should be raised." msgstr "" -"Es llamado para implementar la evaluación de ``self[key]``. Para tipos de " -"secuencia, las llaves aceptadas deben ser enteros y objetos de segmento. Se " -"debe tomar en cuenta que la interpretación especial de índices negativos (si " -"la clase desea emular un tipo de secuencia) depende del método :meth:" -"`__getitem__`. Si *key* es de un tipo apropiado, se puede lanzar una " -"excepción :exc:`TypeError`; si es de un valor afuera de la colección de " -"índices para la secuencia (después de alguna interpretación especial de " -"valores negativos), se debe lanzar una excepción :exc:`IndexError`. Para " -"tipos de mapeos, si falta *key* (no en el contenedor), la excepción :exc:" -"`KeyError` debe ser lanzada." +"Llamado a implementar evaluación de ``self[key]``. Para los tipos :term:" +"`sequence`, las claves aceptadas deben ser números enteros y objetos de " +"segmento. Tenga en cuenta que la interpretación especial de los índices " +"negativos (si la clase desea emular un tipo :term:`sequence`) depende del " +"método :meth:`__getitem__`. Si *key* es de un tipo inadecuado, es posible " +"que se genere :exc:`TypeError`; si se trata de un valor fuera del conjunto " +"de índices de la secuencia (después de cualquier interpretación especial de " +"valores negativos), se debe generar :exc:`IndexError`. Para los tipos :term:" +"`mapping`, si falta *key* (no en el contenedor), se debe generar :exc:" +"`KeyError`." #: ../Doc/reference/datamodel.rst:2655 msgid "" @@ -4314,6 +4391,9 @@ msgid "" "meth:`~object.__class_getitem__` may be called instead of ``__getitem__()``. " "See :ref:`classgetitem-versus-getitem` for more details." msgstr "" +"Cuando :ref:`subscripting` a *class*, se puede llamar al " +"método de clase especial :meth:`~object.__class_getitem__` en lugar de " +"``__getitem__()``. Ver :ref:`classgetitem-versus-getitem` para más detalles." #: ../Doc/reference/datamodel.rst:2668 msgid "" @@ -4355,17 +4435,16 @@ msgstr "" "en el diccionario." #: ../Doc/reference/datamodel.rst:2692 -#, fuzzy msgid "" "This method is called when an :term:`iterator` is required for a container. " "This method should return a new iterator object that can iterate over all " "the objects in the container. For mappings, it should iterate over the keys " "of the container." msgstr "" -"Este método es llamado cuando se requiere un iterador para un contenedor. " -"Este método debe retornar un nuevo objeto iterador que pueda iterar todos " -"los objetos del contenedor. Para mapeos, debe iterar sobre las llaves del " -"contenedor." +"Se llama a este método cuando se requiere un :term:`iterator` para un " +"contenedor. Este método debería retornar un nuevo objeto iterador que pueda " +"iterar sobre todos los objetos del contenedor. Para las asignaciones, debe " +"iterar sobre las claves del contenedor." #: ../Doc/reference/datamodel.rst:2700 msgid "" @@ -4446,7 +4525,6 @@ msgstr "" "enteros) se deben dejar sin definir." #: ../Doc/reference/datamodel.rst:2759 -#, fuzzy msgid "" "These methods are called to implement the binary arithmetic operations " "(``+``, ``-``, ``*``, ``@``, ``/``, ``//``, ``%``, :func:`divmod`, :func:" @@ -4459,16 +4537,16 @@ msgid "" "optional third argument if the ternary version of the built-in :func:`pow` " "function is to be supported." msgstr "" -"Estos métodos son llamados para implementar las operaciones aritméticas " +"Estos métodos se llaman para implementar las operaciones aritméticas " "binarias (``+``, ``-``, ``*``, ``@``, ``/``, ``//``, ``%``, :func:`divmod`, :" "func:`pow`, ``**``, ``<<``, ``>>``, ``&``, ``^``, ``|``). Por ejemplo, para " -"evaluar la expresión ``x + y``, donde *x* es instancia de una clase que " -"tiene un método :meth:`__add__`, ``x.__add__(y)`` es llamado. El método :" -"meth:`__divmod__` debe ser el equivalente a usar :meth:`__floordiv__` y :" -"meth:`__mod__`; no debe ser relacionado a :meth:`__truediv__`. Se debe tomar " -"en cuenta que :meth:`__pow__` debe ser definido para aceptar un tercer " -"argumento opcional si la versión ternaria de la función incorporada :func:" -"`pow` es soportada." +"evaluar la expresión ``x + y``, donde *x* es una instancia de una clase que " +"tiene un método :meth:`__add__`, se llama a ``type(x).__add__(x, y)``. El " +"método :meth:`__divmod__` debería ser equivalente al uso de :meth:" +"`__floordiv__` y :meth:`__mod__`; no debería estar relacionado con :meth:" +"`__truediv__`. Tenga en cuenta que :meth:`__pow__` debe definirse para " +"aceptar un tercer argumento opcional si se va a admitir la versión ternaria " +"de la función incorporada :func:`pow`." #: ../Doc/reference/datamodel.rst:2770 msgid "" @@ -4479,7 +4557,6 @@ msgstr "" "suministrados, debe retornar ``NotImplemented``." #: ../Doc/reference/datamodel.rst:2793 -#, fuzzy msgid "" "These methods are called to implement the binary arithmetic operations " "(``+``, ``-``, ``*``, ``@``, ``/``, ``//``, ``%``, :func:`divmod`, :func:" @@ -4491,15 +4568,15 @@ msgid "" "__rsub__(y, x)`` is called if ``type(x).__sub__(x, y)`` returns " "*NotImplemented*." msgstr "" -"Estos métodos son llamados para implementar las operaciones aritméticas " +"Estos métodos se llaman para implementar las operaciones aritméticas " "binarias (``+``, ``-``, ``*``, ``@``, ``/``, ``//``, ``%``, :func:`divmod`, :" "func:`pow`, ``**``, ``<<``, ``>>``, ``&``, ``^``, ``|``) con operandos " -"reflejados (intercambiados). Estas funciones son llamadas únicamente si el " -"operando izquierdo no soporta la operación correspondiente [#]_ y los " -"operandos son de tipos diferentes. [#]_ Por ejemplo, para evaluar la " -"expresión ``x - y``, donde *y* es instancia de una clase que tiene un " -"método :meth:`__rsub__`, ``y.__rsub__(x)`` es llamado si ``x.__sub__(y)`` " -"retorna *NotImplemented*." +"reflejados (intercambiados). Estas funciones solo se llaman si el operando " +"izquierdo no admite la operación correspondiente [#]_ y los operandos son de " +"diferentes tipos. [#]_ Por ejemplo, para evaluar la expresión ``x - y``, " +"donde *y* es una instancia de una clase que tiene un método :meth:" +"`__rsub__`, se llama a ``type(y).__rsub__(y, x)`` si ``type(x).__sub__(x, " +"y)`` retorna *NotImplemented*." #: ../Doc/reference/datamodel.rst:2805 msgid "" @@ -4612,10 +4689,12 @@ msgid "" "The built-in function :func:`int` falls back to :meth:`__trunc__` if " "neither :meth:`__int__` nor :meth:`__index__` is defined." msgstr "" +"La función integrada :func:`int` recurre a :meth:`__trunc__` si no se " +"definen ni :meth:`__int__` ni :meth:`__index__`." #: ../Doc/reference/datamodel.rst:2899 msgid "The delegation of :func:`int` to :meth:`__trunc__` is deprecated." -msgstr "" +msgstr "La delegación de :func:`int` a :meth:`__trunc__` está obsoleta." #: ../Doc/reference/datamodel.rst:2906 msgid "With Statement Context Managers" @@ -4715,18 +4794,17 @@ msgstr "" "clase" #: ../Doc/reference/datamodel.rst:2958 -#, fuzzy msgid "" "When using a class name in a pattern, positional arguments in the pattern " "are not allowed by default, i.e. ``case MyClass(x, y)`` is typically invalid " "without special support in ``MyClass``. To be able to use that kind of " "pattern, the class needs to define a *__match_args__* attribute." msgstr "" -"Cuando se usa un nombre de clase en un patrón, los argumentos posicionales " -"en el patrón no están permitidos de forma predeterminada, es decir, ``case " -"MyClass(x, y)`` generalmente no es válido sin soporte especial en " -"``MyClass``. Para poder usar ese tipo de patrones, la clase necesita definir " -"un atributo *__match_args__*." +"Cuando se utiliza un nombre de clase en un patrón, los argumentos " +"posicionales en el patrón no están permitidos de forma predeterminada, es " +"decir, ``case MyClass(x, y)`` normalmente no es válido sin un soporte " +"especial en ``MyClass``. Para poder utilizar ese tipo de patrón, la clase " +"necesita definir un atributo *__match_args__*." #: ../Doc/reference/datamodel.rst:2965 msgid "" @@ -4767,9 +4845,8 @@ msgid "The specification for the Python ``match`` statement." msgstr "La especificación para la declaración ``match`` de Python." #: ../Doc/reference/datamodel.rst:2988 -#, fuzzy msgid "Emulating buffer types" -msgstr "Emulando tipos numéricos" +msgstr "Emulando tipos de búfer" #: ../Doc/reference/datamodel.rst:2990 msgid "" @@ -4778,12 +4855,19 @@ msgid "" "implemented by builtin types such as :class:`bytes` and :class:`memoryview`, " "and third-party libraries may define additional buffer types." msgstr "" +":ref:`buffer protocol ` proporciona una forma para que los " +"objetos Python expongan un acceso eficiente a una matriz de memoria de bajo " +"nivel. Este protocolo se implementa mediante tipos integrados como :class:" +"`bytes` y :class:`memoryview`, y bibliotecas de terceros pueden definir " +"tipos de búfer adicionales." #: ../Doc/reference/datamodel.rst:2995 msgid "" "While buffer types are usually implemented in C, it is also possible to " "implement the protocol in Python." msgstr "" +"Si bien los tipos de búfer generalmente se implementan en C, también es " +"posible implementar el protocolo en Python." #: ../Doc/reference/datamodel.rst:3000 msgid "" @@ -4794,6 +4878,12 @@ msgid "" "convenient way to interpret the flags. The method must return a :class:" "`memoryview` object." msgstr "" +"Se llama cuando se solicita un búfer desde *self* (por ejemplo, por el " +"constructor :class:`memoryview`). El argumento *flags* es un número entero " +"que representa el tipo de búfer solicitado y afecta, por ejemplo, si el " +"búfer retornado es de solo lectura o de escritura. :class:`inspect." +"BufferFlags` proporciona una manera conveniente de interpretar las banderas. " +"El método debe retornar un objeto :class:`memoryview`." #: ../Doc/reference/datamodel.rst:3009 msgid "" @@ -4803,23 +4893,29 @@ msgid "" "buffer. This method should return ``None``. Buffer objects that do not need " "to perform any cleanup are not required to implement this method." msgstr "" +"Se llama cuando ya no se necesita un búfer. El argumento *buffer* es un " +"objeto :class:`memoryview` que :meth:`~object.__buffer__` retornó " +"anteriormente. El método debe liberar todos los recursos asociados con el " +"búfer. Este método debería retornar ``None``. Los objetos de búfer que no " +"necesitan realizar ninguna limpieza no son necesarios para implementar este " +"método." #: ../Doc/reference/datamodel.rst:3021 msgid ":pep:`688` - Making the buffer protocol accessible in Python" -msgstr "" +msgstr ":pep:`688`: hacer accesible el protocolo de búfer en Python" #: ../Doc/reference/datamodel.rst:3021 msgid "" "Introduces the Python ``__buffer__`` and ``__release_buffer__`` methods." -msgstr "" +msgstr "Presenta los métodos Python ``__buffer__`` y ``__release_buffer__``." #: ../Doc/reference/datamodel.rst:3023 msgid ":class:`collections.abc.Buffer`" -msgstr "" +msgstr ":class:`collections.abc.Buffer`" #: ../Doc/reference/datamodel.rst:3024 msgid "ABC for buffer types." -msgstr "" +msgstr "ABC para tipos de buffer." #: ../Doc/reference/datamodel.rst:3029 msgid "Special method lookup" @@ -4839,7 +4935,6 @@ msgstr "" "excepción::" #: ../Doc/reference/datamodel.rst:3046 -#, fuzzy msgid "" "The rationale behind this behaviour lies with a number of special methods " "such as :meth:`~object.__hash__` and :meth:`~object.__repr__` that are " @@ -4847,11 +4942,11 @@ msgid "" "of these methods used the conventional lookup process, they would fail when " "invoked on the type object itself::" msgstr "" -"La razón fundamental detrás de este comportamiento yace en una serie de " -"métodos especiales como :meth:`__hash__` y :meth:`__repr__` que son " -"implementados por todos los objetos, incluyendo objetos de tipo. Si la " -"búsqueda implícita de estos métodos usaran el proceso de búsqueda " -"convencional, fallarían al ser invocados en el objeto de tipo mismo::" +"La razón detrás de este comportamiento radica en una serie de métodos " +"especiales, como :meth:`~object.__hash__` y :meth:`~object.__repr__`, que " +"implementan todos los objetos, incluidos los objetos de tipo. Si la búsqueda " +"implícita de estos métodos utilizara el proceso de búsqueda convencional, " +"fallarían cuando se invocaran en el objeto de tipo mismo:" #: ../Doc/reference/datamodel.rst:3060 msgid "" @@ -4864,19 +4959,16 @@ msgstr "" "sobrepasando la instancia al buscar métodos especiales::" #: ../Doc/reference/datamodel.rst:3069 -#, fuzzy msgid "" "In addition to bypassing any instance attributes in the interest of " "correctness, implicit special method lookup generally also bypasses the :" "meth:`~object.__getattribute__` method even of the object's metaclass::" msgstr "" -"Además de sobrepasar cualquier atributo de instancia en aras de lo " -"apropiado, la búsqueda implícita del método especial generalmente también " -"sobrepasa al método :meth:`__getattribute__` incluso de la metaclase del " -"objeto::" +"Además de omitir cualquier atributo de instancia en aras de la corrección, " +"la búsqueda implícita de métodos especiales generalmente también omite el " +"método :meth:`~object.__getattribute__` incluso de la metaclase del objeto::" #: ../Doc/reference/datamodel.rst:3095 -#, fuzzy msgid "" "Bypassing the :meth:`~object.__getattribute__` machinery in this fashion " "provides significant scope for speed optimisations within the interpreter, " @@ -4884,11 +4976,11 @@ msgid "" "special method *must* be set on the class object itself in order to be " "consistently invoked by the interpreter)." msgstr "" -"Sobrepasar el mecanismo de :meth:`__getattribute__` de esta forma " -"proporciona un alcance importante para optimizaciones de velocidad dentro " -"del intérprete, a costa de cierta flexibilidad en el manejo de métodos " -"especiales (el método especial *debe* ser establecido en el objeto de clase " -"mismo para ser invocado consistentemente por el intérprete)." +"Omitir la maquinaria :meth:`~object.__getattribute__` de esta manera " +"proporciona un margen significativo para optimizar la velocidad dentro del " +"intérprete, a costa de cierta flexibilidad en el manejo de métodos " +"especiales (el método especial *must* debe configurarse en el propio objeto " +"de clase para que el intérprete lo invoque consistentemente). )." #: ../Doc/reference/datamodel.rst:3106 msgid "Coroutines" @@ -4899,26 +4991,24 @@ msgid "Awaitable Objects" msgstr "Objetos esperables" #: ../Doc/reference/datamodel.rst:3112 -#, fuzzy msgid "" "An :term:`awaitable` object generally implements an :meth:`~object." "__await__` method. :term:`Coroutine objects ` returned from :" "keyword:`async def` functions are awaitable." msgstr "" -"Un objeto :term:`awaitable` generalmente implementa a un método :meth:" -"`__await__`. :term:`Objetos Coroutine ` retornados a partir de " -"funciones :keyword:`async def` son esperables." +"Un objeto :term:`awaitable` generalmente implementa un método :meth:`~object." +"__await__`. :term:`Coroutine objects ` retornado por las " +"funciones :keyword:`async def` están a la espera." #: ../Doc/reference/datamodel.rst:3118 -#, fuzzy msgid "" "The :term:`generator iterator` objects returned from generators decorated " "with :func:`types.coroutine` are also awaitable, but they do not implement :" "meth:`~object.__await__`." msgstr "" -"Los objetos :term:`generator iterator` retornados a partir de generadores " -"decorados con :func:`types.coroutine` o :func:`asyncio.coroutine` también " -"son esperables, pero no implementan :meth:`__await__`." +"Los objetos :term:`generator iterator` retornados por generadores decorados " +"con :func:`types.coroutine` también están a la espera, pero no implementan :" +"meth:`~object.__await__`." #: ../Doc/reference/datamodel.rst:3124 msgid "" @@ -4937,6 +5027,10 @@ msgid "" "specific to the implementation of the asynchronous execution framework (e." "g. :mod:`asyncio`) that will be managing the :term:`awaitable` object." msgstr "" +"El lenguaje no impone ninguna restricción sobre el tipo o valor de los " +"objetos generados por el iterador retornado por ``__await__``, ya que esto " +"es específico de la implementación del marco de ejecución asincrónica (por " +"ejemplo, :mod:`asyncio`) que administrará el objeto :term:`awaitable`." #: ../Doc/reference/datamodel.rst:3138 msgid ":pep:`492` for additional information about awaitable objects." @@ -4947,7 +5041,6 @@ msgid "Coroutine Objects" msgstr "Objetos de corrutina" #: ../Doc/reference/datamodel.rst:3146 -#, fuzzy msgid "" ":term:`Coroutine objects ` are :term:`awaitable` objects. A " "coroutine's execution can be controlled by calling :meth:`~object.__await__` " @@ -4957,14 +5050,14 @@ msgid "" "coroutine raises an exception, it is propagated by the iterator. Coroutines " "should not directly raise unhandled :exc:`StopIteration` exceptions." msgstr "" -":term:`Objetos Coroutine ` son objetos :term:`awaitable`. La " -"ejecución de una corrutina puede ser controlada llamando :meth:`__await__` e " -"iterando sobre el resultado. Cuando la corrutina ha terminado de ejecutar y " -"retorna, el iterados lanza una excepción :exc:`StopIteration`, y el " -"atributo :attr:`~StopIteration.value` de dicha excepción mantiene el valor " -"de retorno. Si la corrutina lanza una excepción, ésta es propagada por el " -"iterador. Las corrutinas no deben lanzar directamente excepciones :exc:" -"`StopIteration` no manejadas." +":term:`Coroutine objects ` son objetos :term:`awaitable`. La " +"ejecución de una corrutina se puede controlar llamando a :meth:`~object." +"__await__` e iterando sobre el resultado. Cuando la rutina termina de " +"ejecutarse y regresa, el iterador genera :exc:`StopIteration` y el atributo :" +"attr:`~StopIteration.value` de la excepción contiene el valor de retorno. Si " +"la rutina genera una excepción, el iterador la propaga. Las corrutinas no " +"deberían generar directamente excepciones :exc:`StopIteration` no " +"controladas." #: ../Doc/reference/datamodel.rst:3154 msgid "" @@ -4983,7 +5076,6 @@ msgstr "" "Es un error :exc:`RuntimeError` esperar a una corrutina más de una vez." #: ../Doc/reference/datamodel.rst:3164 -#, fuzzy msgid "" "Starts or resumes execution of the coroutine. If *value* is ``None``, this " "is equivalent to advancing the iterator returned by :meth:`~object." @@ -4993,16 +5085,15 @@ msgid "" "exception) is the same as when iterating over the :meth:`__await__` return " "value, described above." msgstr "" -"Inicia o continua la ejecución de una corrutina. Si *value* es ``None``, " -"esto es equivalente a avanzar al iterador retornado por :meth:`__await__`. " -"Si *value* no es ``None``, este método delega al método :meth:`~generator." -"send` del iterador que causó la suspensión de la corrutina. El resultado (el " -"valor de retorno, :exc:`StopIteration`, u otra excepción) es el mismo que " -"cuando se itera sobre el valor de retorno de :meth:`__await__`, descrito " +"Inicia o reanuda la ejecución de la corrutina. Si *value* es ``None``, esto " +"equivale a avanzar el iterador retornado por :meth:`~object.__await__`. Si " +"*value* no es ``None``, este método delega en el método :meth:`~generator." +"send` del iterador que provocó la suspensión de la rutina. El resultado " +"(valor de retorno, :exc:`StopIteration` u otra excepción) es el mismo que " +"cuando se itera sobre el valor de retorno :meth:`__await__`, descrito " "anteriormente." #: ../Doc/reference/datamodel.rst:3175 -#, fuzzy msgid "" "Raises the specified exception in the coroutine. This method delegates to " "the :meth:`~generator.throw` method of the iterator that caused the " @@ -5012,19 +5103,21 @@ msgid "" "meth:`~object.__await__` return value, described above. If the exception is " "not caught in the coroutine, it propagates back to the caller." msgstr "" -"Lanza la excepción especificada en la corrutina. Este método delega a :meth:" -"`~generator.throw` del iterador que causó la suspensión de la corrutina, si " -"dicho método existe. De lo contrario, la excepción es lanzada al punto de la " -"suspensión. El resultado (valor de retorno, :exc:`StopIteration`, u otra " -"excepción) es el mismo que cuando se itera sobre el valor de retorno de :" -"meth:`__await__` descrito anteriormente. Si la excepción no es obtenida en " -"la corrutina, ésta se propaga de regreso a quien realizó el llamado." +"Genera la excepción especificada en la corrutina. Este método delega al " +"método :meth:`~generator.throw` del iterador que provocó la suspensión de la " +"rutina, si tiene dicho método. En caso contrario, la excepción se plantea en " +"el punto de suspensión. El resultado (valor de retorno, :exc:`StopIteration` " +"u otra excepción) es el mismo que cuando se itera sobre el valor de retorno :" +"meth:`~object.__await__`, descrito anteriormente. Si la excepción no queda " +"atrapada en la rutina, se propaga de nuevo a la persona que llama." #: ../Doc/reference/datamodel.rst:3186 msgid "" "The second signature \\(type\\[, value\\[, traceback\\]\\]\\) is deprecated " "and may be removed in a future version of Python." msgstr "" +"La segunda firma \\(type\\[, value\\[, traceback\\]\\]\\) está obsoleta y " +"puede eliminarse en una versión futura de Python." #: ../Doc/reference/datamodel.rst:3191 msgid "" @@ -5087,25 +5180,24 @@ msgid "An example of an asynchronous iterable object::" msgstr "Un ejemplo de objeto iterable asíncrono::" #: ../Doc/reference/datamodel.rst:3238 -#, fuzzy msgid "" "Prior to Python 3.7, :meth:`~object.__aiter__` could return an *awaitable* " "that would resolve to an :term:`asynchronous iterator `." msgstr "" -"Antes de Python 3.7, ``__aiter__`` podía retornar un *esperable* que se " -"resolvería en un :term:`asynchronous iterator `." +"Antes de Python 3.7, :meth:`~object.__aiter__` podía retornar un *awaitable* " +"que se resolvería en un :term:`asynchronous iterator `." #: ../Doc/reference/datamodel.rst:3243 -#, fuzzy msgid "" "Starting with Python 3.7, :meth:`~object.__aiter__` must return an " "asynchronous iterator object. Returning anything else will result in a :exc:" "`TypeError` error." msgstr "" -"A partir de Python 3.7, ``__aiter__`` debe retornar un objeto iterador " -"asíncrono. Retornar cualquier otra cosa resultará en un error :exc:" -"`TypeError`." +"A partir de Python 3.7, :meth:`~object.__aiter__` debe retornar un objeto " +"iterador asincrónico. Retornar cualquier otra cosa resultará en un error :" +"exc:`TypeError`." #: ../Doc/reference/datamodel.rst:3251 msgid "Asynchronous Context Managers" @@ -5162,17 +5254,17 @@ msgstr "" "llevar a un comportamiento bastante extraño de no ser tratado correctamente." #: ../Doc/reference/datamodel.rst:3286 -#, fuzzy msgid "" "The :meth:`~object.__hash__`, :meth:`~object.__iter__`, :meth:`~object." "__reversed__`, and :meth:`~object.__contains__` methods have special " "handling for this; others will still raise a :exc:`TypeError`, but may do so " "by relying on the behavior that ``None`` is not callable." msgstr "" -"Los métodos :meth:`__hash__`, :meth:`__iter__`, :meth:`__reversed__`, y :" -"meth:`__contains__` tienen manejo especial para esto; otros lanzarán un " -"error :exc:`TypeError`, pero lo harán dependiendo del comportamiento de que " -"``None`` no se puede llamar." +"Los métodos :meth:`~object.__hash__`, :meth:`~object.__iter__`, :meth:" +"`~object.__reversed__` y :meth:`~object.__contains__` tienen un manejo " +"especial para esto; otros seguirán generando un :exc:`TypeError`, pero " +"pueden hacerlo confiando en el comportamiento de que ``None`` no es " +"invocable." #: ../Doc/reference/datamodel.rst:3292 msgid "" @@ -5188,15 +5280,14 @@ msgstr "" "retroceso." #: ../Doc/reference/datamodel.rst:3298 -#, fuzzy msgid "" "For operands of the same type, it is assumed that if the non-reflected " "method -- such as :meth:`~object.__add__` -- fails then the overall " "operation is not supported, which is why the reflected method is not called." msgstr "" -"Para operandos del mismo tipo, se asume que si el método no reflejado (como :" -"meth:`__add__`) falla, la operación no es soportada, por lo cual el método " -"reflejado no es llamado." +"Para operandos del mismo tipo, se supone que si el método no reflejado " +"(como :meth:`~object.__add__`) falla, entonces la operación general no es " +"compatible, razón por la cual no se llama al método reflejado." #: ../Doc/reference/datamodel.rst:14 ../Doc/reference/datamodel.rst:148 #: ../Doc/reference/datamodel.rst:159 ../Doc/reference/datamodel.rst:180 @@ -5215,13 +5306,12 @@ msgstr "" #: ../Doc/reference/datamodel.rst:1048 ../Doc/reference/datamodel.rst:1102 #: ../Doc/reference/datamodel.rst:1162 ../Doc/reference/datamodel.rst:1227 #: ../Doc/reference/datamodel.rst:1618 ../Doc/reference/datamodel.rst:2626 -#, fuzzy msgid "object" -msgstr "Objetos de código" +msgstr "Objetos" #: ../Doc/reference/datamodel.rst:14 ../Doc/reference/datamodel.rst:122 msgid "data" -msgstr "" +msgstr "datos" #: ../Doc/reference/datamodel.rst:23 ../Doc/reference/datamodel.rst:292 #: ../Doc/reference/datamodel.rst:336 ../Doc/reference/datamodel.rst:420 @@ -5233,1001 +5323,921 @@ msgstr "" #: ../Doc/reference/datamodel.rst:2789 ../Doc/reference/datamodel.rst:2803 #: ../Doc/reference/datamodel.rst:2850 ../Doc/reference/datamodel.rst:2860 #: ../Doc/reference/datamodel.rst:2888 -#, fuzzy msgid "built-in function" msgstr "Funciones incorporadas" #: ../Doc/reference/datamodel.rst:23 msgid "id" -msgstr "" +msgstr "identificación" #: ../Doc/reference/datamodel.rst:23 ../Doc/reference/datamodel.rst:122 #: ../Doc/reference/datamodel.rst:2168 -#, fuzzy msgid "type" -msgstr "Tipos de conjuntos" +msgstr "Tipos" #: ../Doc/reference/datamodel.rst:23 msgid "identity of an object" -msgstr "" +msgstr "identidad de un objeto" #: ../Doc/reference/datamodel.rst:23 msgid "value of an object" -msgstr "" +msgstr "valor de un objeto" #: ../Doc/reference/datamodel.rst:23 -#, fuzzy msgid "type of an object" -msgstr "Objetos de marco" +msgstr "Tipos de objeto" #: ../Doc/reference/datamodel.rst:23 -#, fuzzy msgid "mutable object" -msgstr "Objetos esperables" +msgstr "Objetos mutables" #: ../Doc/reference/datamodel.rst:23 -#, fuzzy msgid "immutable object" -msgstr "Objetos esperables" +msgstr "Objetos inmutables" #: ../Doc/reference/datamodel.rst:60 msgid "garbage collection" -msgstr "" +msgstr "recolección de basura" #: ../Doc/reference/datamodel.rst:60 msgid "reference counting" -msgstr "" +msgstr "conteo de referencias" #: ../Doc/reference/datamodel.rst:60 -#, fuzzy msgid "unreachable object" -msgstr "Objetos esperables" +msgstr "objetos que no se pueden acceder" #: ../Doc/reference/datamodel.rst:95 ../Doc/reference/datamodel.rst:891 -#, fuzzy msgid "container" -msgstr "Corrutinas" +msgstr "contenedores" #: ../Doc/reference/datamodel.rst:122 msgid "hierarchy" -msgstr "" +msgstr "jerarquía" #: ../Doc/reference/datamodel.rst:122 msgid "extension" -msgstr "" +msgstr "extensión" #: ../Doc/reference/datamodel.rst:122 ../Doc/reference/datamodel.rst:393 #: ../Doc/reference/datamodel.rst:394 ../Doc/reference/datamodel.rst:495 #: ../Doc/reference/datamodel.rst:810 ../Doc/reference/datamodel.rst:829 #: ../Doc/reference/datamodel.rst:1005 -#, fuzzy msgid "module" -msgstr "Módulos" +msgstr "Módulo" #: ../Doc/reference/datamodel.rst:122 ../Doc/reference/datamodel.rst:261 #: ../Doc/reference/datamodel.rst:760 msgid "C" -msgstr "" +msgstr "C" #: ../Doc/reference/datamodel.rst:122 ../Doc/reference/datamodel.rst:261 #: ../Doc/reference/datamodel.rst:760 msgid "language" -msgstr "" +msgstr "lenguaje" #: ../Doc/reference/datamodel.rst:135 ../Doc/reference/datamodel.rst:891 #: ../Doc/reference/datamodel.rst:908 ../Doc/reference/datamodel.rst:959 #: ../Doc/reference/datamodel.rst:979 -#, fuzzy msgid "attribute" -msgstr "Atributo" +msgstr "atributo" #: ../Doc/reference/datamodel.rst:135 msgid "special" -msgstr "" +msgstr "especial" #: ../Doc/reference/datamodel.rst:135 msgid "generic" -msgstr "" +msgstr "genérico" #: ../Doc/reference/datamodel.rst:180 msgid "..." -msgstr "" +msgstr "..." #: ../Doc/reference/datamodel.rst:180 -#, fuzzy msgid "ellipsis literal" -msgstr "Elipsis" +msgstr "elipsis literal" #: ../Doc/reference/datamodel.rst:192 ../Doc/reference/datamodel.rst:986 msgid "numeric" -msgstr "" +msgstr "numérico" #: ../Doc/reference/datamodel.rst:225 ../Doc/reference/datamodel.rst:231 #: ../Doc/reference/datamodel.rst:336 msgid "integer" -msgstr "" +msgstr "entero" #: ../Doc/reference/datamodel.rst:231 msgid "representation" -msgstr "" +msgstr "representación" #: ../Doc/reference/datamodel.rst:246 msgid "Boolean" -msgstr "" +msgstr "booleano" #: ../Doc/reference/datamodel.rst:246 msgid "False" -msgstr "" +msgstr "Falso" #: ../Doc/reference/datamodel.rst:246 -#, fuzzy msgid "True" -msgstr "Atributo" +msgstr "Verdad" #: ../Doc/reference/datamodel.rst:261 msgid "floating point" -msgstr "" +msgstr "punto flotante" #: ../Doc/reference/datamodel.rst:261 ../Doc/reference/datamodel.rst:279 msgid "number" -msgstr "" +msgstr "número" #: ../Doc/reference/datamodel.rst:261 msgid "Java" -msgstr "" +msgstr "Java" #: ../Doc/reference/datamodel.rst:279 ../Doc/reference/datamodel.rst:2860 msgid "complex" -msgstr "" +msgstr "complejo" #: ../Doc/reference/datamodel.rst:292 ../Doc/reference/datamodel.rst:420 #: ../Doc/reference/datamodel.rst:459 ../Doc/reference/datamodel.rst:2596 msgid "len" -msgstr "" +msgstr "len" #: ../Doc/reference/datamodel.rst:292 ../Doc/reference/datamodel.rst:986 -#, fuzzy msgid "sequence" msgstr "Secuencias" #: ../Doc/reference/datamodel.rst:292 msgid "index operation" -msgstr "" +msgstr "operación de índice" #: ../Doc/reference/datamodel.rst:292 msgid "item selection" -msgstr "" +msgstr "selección de artículos" #: ../Doc/reference/datamodel.rst:292 ../Doc/reference/datamodel.rst:381 #: ../Doc/reference/datamodel.rst:459 msgid "subscription" -msgstr "" +msgstr "suscripción" #: ../Doc/reference/datamodel.rst:304 ../Doc/reference/datamodel.rst:381 msgid "slicing" -msgstr "" +msgstr "rebanar" #: ../Doc/reference/datamodel.rst:321 -#, fuzzy msgid "immutable sequence" -msgstr "Secuencias inmutables" +msgstr "Secuencia inmutable" #: ../Doc/reference/datamodel.rst:321 -#, fuzzy msgid "immutable" -msgstr "Escribible" +msgstr "inmutable" #: ../Doc/reference/datamodel.rst:332 ../Doc/reference/datamodel.rst:1507 #: ../Doc/reference/datamodel.rst:1537 -#, fuzzy msgid "string" -msgstr "Cadenas de caracteres" +msgstr "cadenas de caracteres" #: ../Doc/reference/datamodel.rst:332 -#, fuzzy msgid "immutable sequences" -msgstr "Secuencias inmutables" +msgstr "secuencias inmutables" #: ../Doc/reference/datamodel.rst:336 msgid "chr" -msgstr "" +msgstr "chr" #: ../Doc/reference/datamodel.rst:336 msgid "ord" -msgstr "" +msgstr "ord" #: ../Doc/reference/datamodel.rst:336 msgid "character" -msgstr "" +msgstr "caracter" #: ../Doc/reference/datamodel.rst:336 msgid "Unicode" -msgstr "" +msgstr "Unicode" #: ../Doc/reference/datamodel.rst:356 -#, fuzzy msgid "tuple" -msgstr "Tuplas" +msgstr "tupla" #: ../Doc/reference/datamodel.rst:356 msgid "singleton" -msgstr "" +msgstr "único" #: ../Doc/reference/datamodel.rst:356 msgid "empty" -msgstr "" +msgstr "vacío" #: ../Doc/reference/datamodel.rst:369 ../Doc/reference/datamodel.rst:1532 -#, fuzzy msgid "bytes" -msgstr "Bytes" +msgstr "bytes" #: ../Doc/reference/datamodel.rst:369 -#, fuzzy msgid "byte" -msgstr "Bytes" +msgstr "byte" #: ../Doc/reference/datamodel.rst:381 -#, fuzzy msgid "mutable sequence" -msgstr "Secuencias mutables" +msgstr "secuencia mutable" #: ../Doc/reference/datamodel.rst:381 -#, fuzzy msgid "mutable" -msgstr "Escribible" +msgstr "mutable" #: ../Doc/reference/datamodel.rst:381 ../Doc/reference/datamodel.rst:908 #: ../Doc/reference/datamodel.rst:979 msgid "assignment" -msgstr "" +msgstr "asignación" #: ../Doc/reference/datamodel.rst:381 ../Doc/reference/datamodel.rst:810 #: ../Doc/reference/datamodel.rst:1259 ../Doc/reference/datamodel.rst:1428 #: ../Doc/reference/datamodel.rst:2915 msgid "statement" -msgstr "" +msgstr "declaración" #: ../Doc/reference/datamodel.rst:393 -#, fuzzy msgid "array" -msgstr "Colecciones de bytes" +msgstr "arreglo" #: ../Doc/reference/datamodel.rst:394 -#, fuzzy msgid "collections" -msgstr "Funciones de corrutina" +msgstr "colecciones" #: ../Doc/reference/datamodel.rst:402 -#, fuzzy msgid "list" -msgstr "Listas" +msgstr "lista" #: ../Doc/reference/datamodel.rst:409 -#, fuzzy msgid "bytearray" -msgstr "Colecciones de bytes" +msgstr "arreglo de bytes" #: ../Doc/reference/datamodel.rst:420 -#, fuzzy msgid "set type" -msgstr "Tipos de conjuntos" +msgstr "tipo conjunto" #: ../Doc/reference/datamodel.rst:440 -#, fuzzy msgid "set" -msgstr "Conjuntos" +msgstr "conjunto" #: ../Doc/reference/datamodel.rst:448 -#, fuzzy msgid "frozenset" -msgstr "Conjuntos congelados" +msgstr "conjunto congelado" #: ../Doc/reference/datamodel.rst:459 ../Doc/reference/datamodel.rst:986 -#, fuzzy msgid "mapping" -msgstr "Mapeos" +msgstr "mapeos" #: ../Doc/reference/datamodel.rst:476 ../Doc/reference/datamodel.rst:891 #: ../Doc/reference/datamodel.rst:1618 -#, fuzzy msgid "dictionary" -msgstr "Diccionarios" +msgstr "diccionario" #: ../Doc/reference/datamodel.rst:495 msgid "dbm.ndbm" -msgstr "" +msgstr "dbm.ndbm" #: ../Doc/reference/datamodel.rst:495 msgid "dbm.gnu" -msgstr "" +msgstr "dbm.gnu" #: ../Doc/reference/datamodel.rst:512 -#, fuzzy msgid "callable" -msgstr "Tipos invocables" +msgstr "invocable" #: ../Doc/reference/datamodel.rst:512 ../Doc/reference/datamodel.rst:525 #: ../Doc/reference/datamodel.rst:706 ../Doc/reference/datamodel.rst:724 #: ../Doc/reference/datamodel.rst:737 ../Doc/reference/datamodel.rst:760 -#, fuzzy msgid "function" -msgstr "Funciones incorporadas" +msgstr "función" #: ../Doc/reference/datamodel.rst:512 ../Doc/reference/datamodel.rst:891 #: ../Doc/reference/datamodel.rst:913 ../Doc/reference/datamodel.rst:2549 msgid "call" -msgstr "" +msgstr "llamada" #: ../Doc/reference/datamodel.rst:512 msgid "invocation" -msgstr "" +msgstr "invocación" #: ../Doc/reference/datamodel.rst:512 msgid "argument" -msgstr "" +msgstr "argumento" #: ../Doc/reference/datamodel.rst:525 ../Doc/reference/datamodel.rst:640 -#, fuzzy msgid "user-defined" -msgstr "Funciones definidas por el usuario" +msgstr "definida por el usuario" #: ../Doc/reference/datamodel.rst:525 -#, fuzzy msgid "user-defined function" -msgstr "Funciones definidas por el usuario" +msgstr "función definida por el usuario" #: ../Doc/reference/datamodel.rst:539 msgid "__doc__ (function attribute)" -msgstr "" +msgstr "__doc__ (atributo función)" #: ../Doc/reference/datamodel.rst:539 msgid "__name__ (function attribute)" -msgstr "" +msgstr "__name__ (atributo función)" #: ../Doc/reference/datamodel.rst:539 msgid "__module__ (function attribute)" -msgstr "" +msgstr "__module__ (atributo función)" #: ../Doc/reference/datamodel.rst:539 msgid "__dict__ (function attribute)" -msgstr "" +msgstr "__dict__ (atributo función)" #: ../Doc/reference/datamodel.rst:539 msgid "__defaults__ (function attribute)" -msgstr "" +msgstr "__defaults__ (atributo función)" #: ../Doc/reference/datamodel.rst:539 msgid "__closure__ (function attribute)" -msgstr "" +msgstr "__closure__ (atributo función)" #: ../Doc/reference/datamodel.rst:539 msgid "__code__ (function attribute)" -msgstr "" +msgstr "__code__ (atributo función)" #: ../Doc/reference/datamodel.rst:539 msgid "__globals__ (function attribute)" -msgstr "" +msgstr "__globals__ (atributo función)" #: ../Doc/reference/datamodel.rst:539 msgid "__annotations__ (function attribute)" -msgstr "" +msgstr "__annotations__ (atributo función)" #: ../Doc/reference/datamodel.rst:539 msgid "__kwdefaults__ (function attribute)" -msgstr "" +msgstr "__kwdefaults__ (atributo función)" #: ../Doc/reference/datamodel.rst:539 msgid "__type_params__ (function attribute)" -msgstr "" +msgstr "__type_params__ (atributo función)" #: ../Doc/reference/datamodel.rst:539 msgid "global" -msgstr "" +msgstr "global" #: ../Doc/reference/datamodel.rst:539 ../Doc/reference/datamodel.rst:829 msgid "namespace" -msgstr "" +msgstr "espacio de nombre" #: ../Doc/reference/datamodel.rst:640 ../Doc/reference/datamodel.rst:778 msgid "method" -msgstr "" +msgstr "método" #: ../Doc/reference/datamodel.rst:640 -#, fuzzy msgid "user-defined method" -msgstr "Funciones definidas por el usuario" +msgstr "método definido por el usuario" #: ../Doc/reference/datamodel.rst:648 msgid "__func__ (method attribute)" -msgstr "" +msgstr "__func__ (atributo método)" #: ../Doc/reference/datamodel.rst:648 msgid "__self__ (method attribute)" -msgstr "" +msgstr "__self__ (atributo método)" #: ../Doc/reference/datamodel.rst:648 msgid "__doc__ (method attribute)" -msgstr "" +msgstr "__doc__ (atributo método)" #: ../Doc/reference/datamodel.rst:648 msgid "__name__ (method attribute)" -msgstr "" +msgstr "__name__ (atributo método)" #: ../Doc/reference/datamodel.rst:648 msgid "__module__ (method attribute)" -msgstr "" +msgstr "__module__ (atributo método)" #: ../Doc/reference/datamodel.rst:706 ../Doc/reference/datamodel.rst:1102 -#, fuzzy msgid "generator" -msgstr "Funciones generadoras" +msgstr "generador" #: ../Doc/reference/datamodel.rst:706 msgid "iterator" -msgstr "" +msgstr "iterador" #: ../Doc/reference/datamodel.rst:724 ../Doc/reference/datamodel.rst:3102 -#, fuzzy msgid "coroutine" -msgstr "Corrutinas" +msgstr "corrutina" #: ../Doc/reference/datamodel.rst:737 -#, fuzzy msgid "asynchronous generator" -msgstr "Iteradores asíncronos" +msgstr "generador asíncrono" #: ../Doc/reference/datamodel.rst:737 -#, fuzzy msgid "asynchronous iterator" -msgstr "Iteradores asíncronos" +msgstr "iterador asíncrono" #: ../Doc/reference/datamodel.rst:778 -#, fuzzy msgid "built-in method" -msgstr "Métodos incorporados" +msgstr "método incorporado" #: ../Doc/reference/datamodel.rst:778 -#, fuzzy msgid "built-in" -msgstr "Métodos incorporados" +msgstr "incorporado" #: ../Doc/reference/datamodel.rst:810 msgid "import" -msgstr "" +msgstr "importar" #: ../Doc/reference/datamodel.rst:829 msgid "__name__ (module attribute)" -msgstr "" +msgstr "__name__ (atributo módulo)" #: ../Doc/reference/datamodel.rst:829 -#, fuzzy msgid "__doc__ (module attribute)" -msgstr "El atributo de módulo ``__class__`` es ahora escribible." +msgstr "__doc__ (atributo módulo)" #: ../Doc/reference/datamodel.rst:829 msgid "__file__ (module attribute)" -msgstr "" +msgstr "__file__ (atributo módulo)" #: ../Doc/reference/datamodel.rst:829 msgid "__annotations__ (module attribute)" -msgstr "" +msgstr "__annotations__ (atributo módulo)" #: ../Doc/reference/datamodel.rst:860 -#, fuzzy msgid "__dict__ (module attribute)" -msgstr "Personalizando acceso a atributos de módulo" +msgstr "__dict__ (atributo módulo)" #: ../Doc/reference/datamodel.rst:891 ../Doc/reference/datamodel.rst:908 #: ../Doc/reference/datamodel.rst:959 ../Doc/reference/datamodel.rst:1411 #: ../Doc/reference/datamodel.rst:2279 -#, fuzzy msgid "class" -msgstr "Clases" +msgstr "clase" #: ../Doc/reference/datamodel.rst:891 ../Doc/reference/datamodel.rst:959 #: ../Doc/reference/datamodel.rst:979 -#, fuzzy msgid "class instance" -msgstr "Instancias de clase" +msgstr "instancia de clase" #: ../Doc/reference/datamodel.rst:891 ../Doc/reference/datamodel.rst:959 #: ../Doc/reference/datamodel.rst:2549 -#, fuzzy msgid "instance" -msgstr "Instancias de clase" +msgstr "instancia" #: ../Doc/reference/datamodel.rst:891 ../Doc/reference/datamodel.rst:913 -#, fuzzy msgid "class object" -msgstr "Objetos de método de clase" +msgstr "objeto de clase" #: ../Doc/reference/datamodel.rst:917 msgid "__name__ (class attribute)" -msgstr "" +msgstr "__name__ (atributo de clase)" #: ../Doc/reference/datamodel.rst:917 msgid "__module__ (class attribute)" -msgstr "" +msgstr "__module__ (atributo de clase)" #: ../Doc/reference/datamodel.rst:917 msgid "__dict__ (class attribute)" -msgstr "" +msgstr "__dict__ (atributo de clase)" #: ../Doc/reference/datamodel.rst:917 -#, fuzzy msgid "__bases__ (class attribute)" -msgstr "Atributos especiales:" +msgstr "__bases__ (atributo de clase)" #: ../Doc/reference/datamodel.rst:917 msgid "__doc__ (class attribute)" -msgstr "" +msgstr "__doc__ (atributo de clase)" #: ../Doc/reference/datamodel.rst:917 msgid "__annotations__ (class attribute)" -msgstr "" +msgstr "__annotations__ (atributo de clase)" #: ../Doc/reference/datamodel.rst:917 msgid "__type_params__ (class attribute)" -msgstr "" +msgstr "__type_params__ (atributo de clase)" #: ../Doc/reference/datamodel.rst:994 msgid "__dict__ (instance attribute)" -msgstr "" +msgstr "__dict__ (atributo de instancia)" #: ../Doc/reference/datamodel.rst:994 -#, fuzzy msgid "__class__ (instance attribute)" -msgstr "Instancias de clase" +msgstr "__class__ (atributo de instancia)" #: ../Doc/reference/datamodel.rst:1005 msgid "open" -msgstr "" +msgstr "abrir" #: ../Doc/reference/datamodel.rst:1005 msgid "io" -msgstr "" +msgstr "io" #: ../Doc/reference/datamodel.rst:1005 msgid "popen() (in module os)" -msgstr "" +msgstr "popen() (en el módulo os)" #: ../Doc/reference/datamodel.rst:1005 msgid "makefile() (socket method)" -msgstr "" +msgstr "makefile() (método de socket)" #: ../Doc/reference/datamodel.rst:1005 msgid "sys.stdin" -msgstr "" +msgstr "sys.stdin" #: ../Doc/reference/datamodel.rst:1005 msgid "sys.stdout" -msgstr "" +msgstr "sys.stdout" #: ../Doc/reference/datamodel.rst:1005 msgid "sys.stderr" -msgstr "" +msgstr "sys.stderr" #: ../Doc/reference/datamodel.rst:1005 msgid "stdio" -msgstr "" +msgstr "stdio" #: ../Doc/reference/datamodel.rst:1005 msgid "stdin (in module sys)" -msgstr "" +msgstr "stdin (en el módulo sys)" #: ../Doc/reference/datamodel.rst:1005 msgid "stdout (in module sys)" -msgstr "" +msgstr "stdout (en el módulo sys)" #: ../Doc/reference/datamodel.rst:1005 msgid "stderr (in module sys)" -msgstr "" +msgstr "stderr (en el módulo sys)" #: ../Doc/reference/datamodel.rst:1034 -#, fuzzy msgid "internal type" -msgstr "Tipos internos" +msgstr "tipo interno" #: ../Doc/reference/datamodel.rst:1034 msgid "types, internal" -msgstr "" +msgstr "tipos, interno" #: ../Doc/reference/datamodel.rst:1048 -#, fuzzy msgid "bytecode" -msgstr "Bytes" +msgstr "bytecode" #: ../Doc/reference/datamodel.rst:1048 msgid "code" -msgstr "" +msgstr "code" #: ../Doc/reference/datamodel.rst:1048 -#, fuzzy msgid "code object" -msgstr "Objetos de código" +msgstr "objeto de código" #: ../Doc/reference/datamodel.rst:1059 msgid "co_argcount (code object attribute)" -msgstr "" +msgstr "co_argcount (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1059 msgid "co_posonlyargcount (code object attribute)" -msgstr "" +msgstr "co_posonlyargcount (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1059 msgid "co_kwonlyargcount (code object attribute)" -msgstr "" +msgstr "co_kwonlyargcount (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1059 msgid "co_code (code object attribute)" -msgstr "" +msgstr "co_code (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1059 msgid "co_consts (code object attribute)" -msgstr "" +msgstr "co_consts (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1059 msgid "co_filename (code object attribute)" -msgstr "" +msgstr "co_filename (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1059 msgid "co_firstlineno (code object attribute)" -msgstr "" +msgstr "co_firstlineno (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1059 msgid "co_flags (code object attribute)" -msgstr "" +msgstr "co_flags (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1059 msgid "co_lnotab (code object attribute)" -msgstr "" +msgstr "co_lnotab (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1059 msgid "co_name (code object attribute)" -msgstr "" +msgstr "co_name (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1059 msgid "co_names (code object attribute)" -msgstr "" +msgstr "co_names (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1059 msgid "co_nlocals (code object attribute)" -msgstr "" +msgstr "co_nlocals (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1059 msgid "co_stacksize (code object attribute)" -msgstr "" +msgstr "co_stacksize (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1059 msgid "co_varnames (code object attribute)" -msgstr "" +msgstr "co_varnames (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1059 msgid "co_cellvars (code object attribute)" -msgstr "" +msgstr "co_cellvars (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1059 msgid "co_freevars (code object attribute)" -msgstr "" +msgstr "co_freevars (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1059 msgid "co_qualname (code object attribute)" -msgstr "" +msgstr "co_qualname (atributo de objeto de código)" #: ../Doc/reference/datamodel.rst:1118 msgid "documentation string" -msgstr "" +msgstr "cadena de caracteres de documentación" #: ../Doc/reference/datamodel.rst:1162 msgid "frame" -msgstr "" +msgstr "frame" #: ../Doc/reference/datamodel.rst:1167 msgid "f_back (frame attribute)" -msgstr "" +msgstr "f_back (atributo de frame)" #: ../Doc/reference/datamodel.rst:1167 msgid "f_code (frame attribute)" -msgstr "" +msgstr "f_code (atributo de frame)" #: ../Doc/reference/datamodel.rst:1167 msgid "f_globals (frame attribute)" -msgstr "" +msgstr "f_globals (atributo de frame)" #: ../Doc/reference/datamodel.rst:1167 msgid "f_locals (frame attribute)" -msgstr "" +msgstr "f_locals (atributo de frame)" #: ../Doc/reference/datamodel.rst:1167 msgid "f_lasti (frame attribute)" -msgstr "" +msgstr "f_lasti (atributo de frame)" #: ../Doc/reference/datamodel.rst:1167 msgid "f_builtins (frame attribute)" -msgstr "" +msgstr "f_builtins (atributo de frame)" #: ../Doc/reference/datamodel.rst:1186 msgid "f_trace (frame attribute)" -msgstr "" +msgstr "f_trace (atributo de frame)" #: ../Doc/reference/datamodel.rst:1186 -#, fuzzy msgid "f_trace_lines (frame attribute)" -msgstr "Atributos predefinidos (escribibles):" +msgstr "f_trace_lines (atributo de frame)" #: ../Doc/reference/datamodel.rst:1186 msgid "f_trace_opcodes (frame attribute)" -msgstr "" +msgstr "f_trace_opcodes (atributo de frame)" #: ../Doc/reference/datamodel.rst:1186 -#, fuzzy msgid "f_lineno (frame attribute)" -msgstr "Atributos predefinidos (escribibles):" +msgstr "f_lineno (atributo de frame)" #: ../Doc/reference/datamodel.rst:1227 -#, fuzzy msgid "traceback" -msgstr "Objetos de seguimiento de pila (traceback)" +msgstr "traceback" #: ../Doc/reference/datamodel.rst:1227 msgid "stack" -msgstr "" +msgstr "stack" #: ../Doc/reference/datamodel.rst:1227 msgid "trace" -msgstr "" +msgstr "trace" #: ../Doc/reference/datamodel.rst:1227 msgid "exception" -msgstr "" +msgstr "excepción" #: ../Doc/reference/datamodel.rst:1227 msgid "handler" -msgstr "" +msgstr "manejador" #: ../Doc/reference/datamodel.rst:1227 msgid "execution" -msgstr "" +msgstr "execution" #: ../Doc/reference/datamodel.rst:1227 msgid "exc_info (in module sys)" -msgstr "" +msgstr "exc_info (en el módulo sys)" #: ../Doc/reference/datamodel.rst:1227 msgid "last_traceback (in module sys)" -msgstr "" +msgstr "last_traceback (en el módulo sys)" #: ../Doc/reference/datamodel.rst:1227 msgid "sys.exc_info" -msgstr "" +msgstr "sys.exc_info" #: ../Doc/reference/datamodel.rst:1227 msgid "sys.exception" -msgstr "" +msgstr "sys.exception" #: ../Doc/reference/datamodel.rst:1227 msgid "sys.last_traceback" -msgstr "" +msgstr "sys.last_traceback" #: ../Doc/reference/datamodel.rst:1259 msgid "tb_frame (traceback attribute)" -msgstr "" +msgstr "tb_frame (atributo de traceback)" #: ../Doc/reference/datamodel.rst:1259 msgid "tb_lineno (traceback attribute)" -msgstr "" +msgstr "tb_lineno (atributo de traceback)" #: ../Doc/reference/datamodel.rst:1259 msgid "tb_lasti (traceback attribute)" -msgstr "" +msgstr "tb_lasti (atributo de traceback)" #: ../Doc/reference/datamodel.rst:1259 msgid "try" -msgstr "" +msgstr "try" #: ../Doc/reference/datamodel.rst:1277 msgid "tb_next (traceback attribute)" -msgstr "" +msgstr "tb_next (atributo de traceback)" #: ../Doc/reference/datamodel.rst:1292 ../Doc/reference/datamodel.rst:2626 msgid "slice" -msgstr "" +msgstr "slice" #: ../Doc/reference/datamodel.rst:1298 msgid "start (slice object attribute)" -msgstr "" +msgstr "comienzo (atributo de objeto slice)" #: ../Doc/reference/datamodel.rst:1298 msgid "stop (slice object attribute)" -msgstr "" +msgstr "stop (atributo de objeto slice)" #: ../Doc/reference/datamodel.rst:1298 msgid "step (slice object attribute)" -msgstr "" +msgstr "step (atributo de objeto slice)" #: ../Doc/reference/datamodel.rst:1346 msgid "operator" -msgstr "" +msgstr "operador" #: ../Doc/reference/datamodel.rst:1346 msgid "overloading" -msgstr "" +msgstr "sobrecarga" #: ../Doc/reference/datamodel.rst:1346 msgid "__getitem__() (mapping object method)" -msgstr "" +msgstr "__getitem__() (método de objeto mapping)" #: ../Doc/reference/datamodel.rst:1382 -#, fuzzy msgid "subclassing" -msgstr "Enlace de clase" +msgstr "subclase" #: ../Doc/reference/datamodel.rst:1382 -#, fuzzy msgid "immutable types" -msgstr "Secuencias inmutables" +msgstr "tipos inmutables" #: ../Doc/reference/datamodel.rst:1411 msgid "constructor" -msgstr "" +msgstr "constructor" #: ../Doc/reference/datamodel.rst:1428 msgid "destructor" -msgstr "" +msgstr "destructor" #: ../Doc/reference/datamodel.rst:1428 msgid "finalizer" -msgstr "" +msgstr "finalizador" #: ../Doc/reference/datamodel.rst:1428 msgid "del" -msgstr "" +msgstr "del" #: ../Doc/reference/datamodel.rst:1490 -#, fuzzy msgid "repr() (built-in function)" -msgstr "Funciones incorporadas" +msgstr "repr() (función incorporada)" #: ../Doc/reference/datamodel.rst:1490 msgid "__repr__() (object method)" -msgstr "" +msgstr "__repr__() (método objeto)" #: ../Doc/reference/datamodel.rst:1507 msgid "__str__() (object method)" -msgstr "" +msgstr "__str__() (método objeto)" #: ../Doc/reference/datamodel.rst:1507 -#, fuzzy msgid "format() (built-in function)" -msgstr "Funciones incorporadas" +msgstr "format() (función incorporada)" #: ../Doc/reference/datamodel.rst:1507 -#, fuzzy msgid "print() (built-in function)" -msgstr "Funciones incorporadas" +msgstr "print() (función incorporada)" #: ../Doc/reference/datamodel.rst:1537 msgid "__format__() (object method)" -msgstr "" +msgstr "__format__() (método objeto)" #: ../Doc/reference/datamodel.rst:1537 msgid "conversion" -msgstr "" +msgstr "conversión" #: ../Doc/reference/datamodel.rst:1537 msgid "print" -msgstr "" +msgstr "print" #: ../Doc/reference/datamodel.rst:1576 msgid "comparisons" -msgstr "" +msgstr "comparaciones" #: ../Doc/reference/datamodel.rst:1618 msgid "hash" -msgstr "" +msgstr "hash" #: ../Doc/reference/datamodel.rst:1699 msgid "__len__() (mapping object method)" -msgstr "" +msgstr "__len__() (método objeto mapping)" #: ../Doc/reference/datamodel.rst:1802 -#, fuzzy msgid "__getattr__ (module attribute)" -msgstr "Atributos de módulo ``__getattr__`` y ``__dir__``." +msgstr "__getattr__ (atributo de módulo)" #: ../Doc/reference/datamodel.rst:1802 -#, fuzzy msgid "__dir__ (module attribute)" -msgstr "Atributos de módulo ``__getattr__`` y ``__dir__``." +msgstr "__dir__ (atributo de módulo)" #: ../Doc/reference/datamodel.rst:1802 -#, fuzzy msgid "__class__ (module attribute)" -msgstr "El atributo de módulo ``__class__`` es ahora escribible." +msgstr "__class__ (atributo de módulo)" #: ../Doc/reference/datamodel.rst:2168 -#, fuzzy msgid "metaclass" -msgstr "Metaclases" +msgstr "metaclases" #: ../Doc/reference/datamodel.rst:2168 msgid "= (equals)" -msgstr "" +msgstr "= (es igual a)" #: ../Doc/reference/datamodel.rst:2168 -#, fuzzy msgid "class definition" -msgstr "Enlace de clase" +msgstr "definición de clase" #: ../Doc/reference/datamodel.rst:2232 -#, fuzzy msgid "metaclass hint" -msgstr "Metaclases" +msgstr "pista de metaclase" #: ../Doc/reference/datamodel.rst:2255 msgid "__prepare__ (metaclass method)" -msgstr "" +msgstr "__prepare__ (método de metaclase)" #: ../Doc/reference/datamodel.rst:2279 msgid "body" -msgstr "" +msgstr "cuerpo" #: ../Doc/reference/datamodel.rst:2299 -#, fuzzy msgid "__class__ (method cell)" -msgstr "Objetos de método de clase" +msgstr "__class__ (celda de método)" #: ../Doc/reference/datamodel.rst:2299 msgid "__classcell__ (class namespace entry)" -msgstr "" +msgstr "__classcell;__ (entrada de espacio de nombre de clase)" #: ../Doc/reference/datamodel.rst:2596 msgid "__bool__() (object method)" -msgstr "" +msgstr "__bool__() (método objeto)" #: ../Doc/reference/datamodel.rst:2754 ../Doc/reference/datamodel.rst:2789 msgid "divmod" -msgstr "" +msgstr "divmod" #: ../Doc/reference/datamodel.rst:2754 ../Doc/reference/datamodel.rst:2789 #: ../Doc/reference/datamodel.rst:2803 msgid "pow" -msgstr "" +msgstr "pow" #: ../Doc/reference/datamodel.rst:2850 msgid "abs" -msgstr "" +msgstr "abs" #: ../Doc/reference/datamodel.rst:2860 msgid "int" -msgstr "" +msgstr "int" #: ../Doc/reference/datamodel.rst:2860 msgid "float" -msgstr "" +msgstr "float" #: ../Doc/reference/datamodel.rst:2888 msgid "round" -msgstr "" +msgstr "round" #: ../Doc/reference/datamodel.rst:2915 msgid "with" -msgstr "" +msgstr "with" #: ../Doc/reference/datamodel.rst:2915 -#, fuzzy msgid "context manager" -msgstr "Gestores de contexto asíncronos" - -#~ msgid "" -#~ "The extension module :mod:`array` provides an additional example of a " -#~ "mutable sequence type, as does the :mod:`collections` module." -#~ msgstr "" -#~ "El módulo de extensión :mod:`array` proporciona un ejemplo adicional de " -#~ "un tipo de secuencia mutable, al igual que el módulo :mod:`collections`." - -#~ msgid ":pep:`560` - Core support for typing module and generic types" -#~ msgstr "" -#~ ":pep:`560` - Soporte central para módulos de clasificación y tipos " -#~ "genéricos" +msgstr "gestor de contexto" diff --git a/reference/expressions.po b/reference/expressions.po index 640c1c9c0a..cc6d392442 100644 --- a/reference/expressions.po +++ b/reference/expressions.po @@ -19,8 +19,7 @@ msgstr "" "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.0.1\n" +"Generated-By: Babel 2.10.3\n" #: ../Doc/reference/expressions.rst:6 msgid "Expressions" @@ -130,7 +129,7 @@ msgid "" "object. When a name is not bound, an attempt to evaluate it raises a :exc:" "`NameError` exception." msgstr "" -"Cuando el nombre es vinculado a un objeto, la evaluación del átomo produce " +"Cuando el nombre es vinculado a un objeto, la evaluación del átomo yields " "ese objeto. Cuando un nombre no es vinculado, un intento de evaluarlo genera " "una excepción :exc:`NameError`." @@ -217,9 +216,9 @@ msgid "" "if the list contains at least one comma, it yields a tuple; otherwise, it " "yields the single expression that makes up the expression list." msgstr "" -"Una expresión entre paréntesis produce lo que la lista de expresión produce: " +"Una expresión entre paréntesis yields lo que la lista de expresión yields: " "si la lista contiene al menos una coma, produce una tupla; en caso " -"contrario, produce la única expresión que que forma la lista de expresiones." +"contrario, yields la única expresión que que forma la lista de expresiones." #: ../Doc/reference/expressions.rst:148 msgid "" @@ -227,24 +226,23 @@ msgid "" "immutable, the same rules as for literals apply (i.e., two occurrences of " "the empty tuple may or may not yield the same object)." msgstr "" -"Un par de paréntesis vacío producen un objeto de tupla vacío. Debido a que " -"las tuplas son inmutables, se aplican las mismas reglas que aplican para " -"literales (ej., dos ocurrencias de una tupla vacía puede o no producir el " +"Un par de paréntesis vacío yields un objeto de tupla vacío. Debido a que las " +"tuplas son inmutables, se aplican las mismas reglas que aplican para " +"literales (ej., dos ocurrencias de una tupla vacía puede o no yields el " "mismo objeto)." #: ../Doc/reference/expressions.rst:156 -#, fuzzy msgid "" "Note that tuples are not formed by the parentheses, but rather by use of the " "comma. The exception is the empty tuple, for which parentheses *are* " "required --- allowing unparenthesized \"nothing\" in expressions would cause " "ambiguities and allow common typos to pass uncaught." msgstr "" -"Note que las tuplas no son formadas por los paréntesis, sino más bien " -"mediante el uso del operador de coma. La excepción es la tupla vacía, para " -"la cual los paréntesis *son* requeridos -- permitir \"nada\" sin paréntesis " -"en expresiones causaría ambigüedades y permitiría que errores tipográficos " -"comunes pasaran sin ser detectados." +"Tenga en cuenta que las tuplas no se forman con paréntesis, sino mediante el " +"uso de coma. La excepción es la tupla vacía, para la cual *se* requieren " +"paréntesis. Permitir \"nada\" sin paréntesis en las expresiones causaría " +"ambigüedades y permitiría que errores tipográficos comunes pasaran sin " +"detectarse." #: ../Doc/reference/expressions.rst:165 msgid "Displays for lists, sets and dictionaries" @@ -332,7 +330,6 @@ msgstr "" "alcance implícitamente anidado." #: ../Doc/reference/expressions.rst:215 -#, fuzzy msgid "" "Since Python 3.6, in an :keyword:`async def` function, an :keyword:`!async " "for` clause may be used to iterate over a :term:`asynchronous iterator`. A " @@ -345,16 +342,17 @@ msgid "" "`asynchronous comprehension`. An asynchronous comprehension may suspend the " "execution of the coroutine function in which it appears. See also :pep:`530`." msgstr "" -"A partir de Python 3.6, en una función :keyword:`async def`, una cláusula :" -"keyword:`!async for` puede ser usada para iterar sobre un :term:" -"`asynchronous iterator`. Una comprensión en una función :keyword:`!async " -"def` puede consistir en una cláusula :keyword:`!for` o :keyword:`!async for` " -"siguiendo la expresión inicial, puede contener cláusulas adicionales :" -"keyword:`!for` o :keyword:`!async for` y también pueden usar expresiones :" -"keyword:`await`. Si una comprensión contiene cláusulas :keyword:`!async for` " -"o expresiones :keyword:`!await` es denominada una :dfn:`asynchronous " -"comprehension`. Una comprensión asincrónica puede suspender la ejecución de " -"la función de corrutina en la cual aparece. Vea también :pep:`530`." +"Desde Python 3.6, en una función :keyword:`async def`, se puede usar una " +"cláusula :keyword:`!async for` para iterar sobre un :term:`asynchronous " +"iterator`. Una comprensión en una función :keyword:`!async def` puede " +"consistir en una cláusula :keyword:`!for` o :keyword:`!async for` después de " +"la expresión inicial, puede contener cláusulas :keyword:`!for` o :keyword:`!" +"async for` adicionales y también puede usar expresiones :keyword:`await`. Si " +"una comprensión contiene cláusulas :keyword:`!async for` o expresiones :" +"keyword:`!await` u otras comprensiones asíncronas, se denomina :dfn:" +"`comprensión asíncrona`. Una comprensión asíncrona puede suspender la " +"ejecución de la función de rutina en la que aparece. Véase también :pep:" +"`530`." #: ../Doc/reference/expressions.rst:227 msgid "Asynchronous comprehensions were introduced." @@ -370,6 +368,9 @@ msgid "" "Asynchronous comprehensions are now allowed inside comprehensions in " "asynchronous functions. Outer comprehensions implicitly become asynchronous." msgstr "" +"Las comprensiones asincrónicas ahora están permitidas dentro de las " +"comprensiones en funciones asincrónicas. Las comprensiones externas " +"implícitamente se vuelven asincrónicas." #: ../Doc/reference/expressions.rst:242 msgid "List displays" @@ -441,20 +442,18 @@ msgid "Dictionary displays" msgstr "Despliegues de diccionario" #: ../Doc/reference/expressions.rst:307 -#, fuzzy msgid "" "A dictionary display is a possibly empty series of dict items (key/value " "pairs) enclosed in curly braces:" msgstr "" -"Un despliegue de diccionario es una serie posiblemente vacía de pares clave/" -"datos encerrados entre llaves:" +"La visualización de un diccionario es una serie posiblemente vacía de " +"elementos de dictado (pares clave/valor) encerrados entre llaves:" #: ../Doc/reference/expressions.rst:316 msgid "A dictionary display yields a new dictionary object." msgstr "Un despliegue de diccionario produce un nuevo objeto diccionario." #: ../Doc/reference/expressions.rst:318 -#, fuzzy msgid "" "If a comma-separated sequence of dict items is given, they are evaluated " "from left to right to define the entries of the dictionary: each key object " @@ -463,25 +462,25 @@ msgid "" "list, and the final dictionary's value for that key will be the last one " "given." msgstr "" -"Si es dada una secuencia separada por comas de pares clave/datos, son " -"evaluadas desde la izquierda a la derecha para definir las entradas del " -"diccionario: cada objeto clave es usado como una clave dentro del " -"diccionario para almacenar el dato correspondiente. Esto significa que " -"puedes especificar la misma clave múltiples veces en la lista clave/datos y " -"el valor final del diccionario para esa clave será la última dada." +"Si se proporciona una secuencia de elementos dict separados por comas, se " +"evalúan de izquierda a derecha para definir las entradas del diccionario: " +"cada objeto clave se utiliza como clave en el diccionario para almacenar el " +"valor correspondiente. Esto significa que puede especificar la misma clave " +"varias veces en la lista de elementos de dictado, y el valor final del " +"diccionario para esa clave será el último que se proporcione." #: ../Doc/reference/expressions.rst:328 -#, fuzzy msgid "" "A double asterisk ``**`` denotes :dfn:`dictionary unpacking`. Its operand " "must be a :term:`mapping`. Each mapping item is added to the new " "dictionary. Later values replace values already set by earlier dict items " "and earlier dictionary unpackings." msgstr "" -"Un doble asterisco ``**`` denota :dfn:`dictionary unpacking`. Su operando " -"debe ser un :term:`mapping`. Cada elemento de mapeo es añadido al nuevo " -"diccionario. Valores más tardíos remplazan los valores ya establecidos para " -"los pares clave/dato y para los desempaquetados de diccionario anteriores." +"Un asterisco doble ``**`` indica :dfn:`descomprimiendo el diccionario`. Su " +"operando debe ser un :term:`mapping`. Cada elemento de mapeo se agrega al " +"nuevo diccionario. Los valores posteriores reemplazan los valores ya " +"establecidos por elementos de dictado anteriores y desempaquetados de " +"diccionarios anteriores." #: ../Doc/reference/expressions.rst:333 msgid "Unpacking into dictionary displays, originally proposed by :pep:`448`." @@ -503,7 +502,6 @@ msgstr "" "diccionario en el orden que son producidos." #: ../Doc/reference/expressions.rst:344 -#, fuzzy msgid "" "Restrictions on the types of the key values are listed earlier in section :" "ref:`types`. (To summarize, the key type should be :term:`hashable`, which " @@ -511,11 +509,11 @@ msgid "" "detected; the last value (textually rightmost in the display) stored for a " "given key value prevails." msgstr "" -"Las restricciones de los tipos de los valores de clave son listados " -"anteriormente en la sección :ref:`types`. (Para resumir, el tipo de la clave " -"debe ser :term:`hashable`, el cual excluye todos los objetos mutables.) No " -"se detectan choques entre claves duplicadas; el último dato (textualmente el " -"más a la derecha en el despliegue) almacenado para una clave dada prevalece." +"Las restricciones sobre los tipos de valores clave se enumeran anteriormente " +"en la sección :ref:`types`. (En resumen, el tipo de clave debe ser :term:" +"`hashable`, que excluye todos los objetos mutables). No se detectan " +"conflictos entre claves duplicadas; prevalece el último valor (textualmente " +"más a la derecha en la pantalla) almacenado para un valor clave determinado." #: ../Doc/reference/expressions.rst:350 msgid "" @@ -625,7 +623,6 @@ msgid "Yield expressions" msgstr "Expresiones yield" #: ../Doc/reference/expressions.rst:427 -#, fuzzy msgid "" "The yield expression is used when defining a :term:`generator` function or " "an :term:`asynchronous generator` function and thus can only be used in the " @@ -636,10 +633,10 @@ msgid "" msgstr "" "La expresión yield se usa al definir una función :term:`generator` o una " "función :term:`asynchronous generator` y, por lo tanto, solo se puede usar " -"en el cuerpo de una definición de función. Usar una expresión yield en el " -"cuerpo de una función hace que esa función sea un generador y usarla en el " -"cuerpo de una función :keyword:`async def` hace que la función de corrutina " -"sea un generador asincrónico. Por ejemplo::" +"en el cuerpo de una definición de función. El uso de una expresión yield en " +"el cuerpo de una función hace que esa función sea una función generadora, y " +"su uso en el cuerpo de una función :keyword:`async def` hace que la función " +"corrutina sea una función generadora asíncrona. Por ejemplo::" #: ../Doc/reference/expressions.rst:440 msgid "" @@ -671,7 +668,6 @@ msgstr "" "sección :ref:`asynchronous-generator-functions`." #: ../Doc/reference/expressions.rst:452 -#, fuzzy msgid "" "When a generator function is called, it returns an iterator known as a " "generator. That generator then controls the execution of the generator " @@ -691,22 +687,24 @@ msgid "" "`None`. Otherwise, if :meth:`~generator.send` is used, then the result will " "be the value passed in to that method." msgstr "" -"Cuando una función generadora es invocada, retorna un iterador conocido como " -"un generador. Este generador controla la ejecución de la función generadora. " -"La ejecución empieza cuando uno de los métodos del generador es invocado. En " -"ese momento, la ejecución procede a la primera expresión yield, donde es " -"suspendida de nuevo, retornando el valor de :token:`expression_list` al " -"invocador del generador. Por suspendido, nos referimos a que se retiene todo " -"el estado local, incluyendo los enlaces actuales de variables locales, el " -"puntero de instrucción, la pila de evaluación interna y el estado de " -"cualquier manejo de excepción. Cuando la ejecución se reanuda al invocar uno " -"de los métodos del generador, la función puede proceder como si la expresión " -"yield fuera sólo otra invocación externa. El valor de la expresión yield " -"después de la reanudación depende del método que ha reanudado la ejecución. " -"Si se usa :meth:`~generator.__next__` (típicamente mediante un :keyword:" -"`for` o la función incorporada :func:`next`) entonces el resultado es :const:" -"`None`. De otra forma, si se usa :meth:`~generator.send`, entonces el " -"resultado será el valor pasado a ese método." +"Cuando se llama a una función generadora, devuelve un iterador conocido como " +"generador. Ese generador luego controla la ejecución de la función del " +"generador. La ejecución comienza cuando se llama a uno de los métodos del " +"generador. En ese momento, la ejecución continúa con la primera expresión de " +"rendimiento, donde se suspende nuevamente, devolviendo el valor de :token:" +"`~python-grammar:expression_list` al llamador del generador, o ``None`` si :" +"token:`~python-grammar:expression_list` se omite. Por suspendido queremos " +"decir que se retiene todo el estado local, incluidos los enlaces actuales de " +"las variables locales, el puntero de instrucción, la pila de evaluación " +"interna y el estado de cualquier manejo de excepciones. Cuando se reanuda la " +"ejecución llamando a uno de los métodos del generador, la función puede " +"continuar exactamente como si la expresión de rendimiento fuera simplemente " +"otra llamada externa. El valor de la expresión de rendimiento después de la " +"reanudación depende del método que reanudó la ejecución. Si se utiliza :meth:" +"`~generator.__next__` (normalmente a través de un :keyword:`for` o el " +"integrado :func:`next`), el resultado es :const:`None`. De lo contrario, si " +"se utiliza :meth:`~generator.send`, el resultado será el valor pasado a ese " +"método." #: ../Doc/reference/expressions.rst:472 msgid "" @@ -716,11 +714,11 @@ msgid "" "function cannot control where the execution should continue after it yields; " "the control is always transferred to the generator's caller." msgstr "" -"Todo este hace a las funciones generadores similar a las corrutinas; " -"producen múltiples veces, tienen más de un punto de entrada y su ejecución " -"puede ser suspendida. La única diferencia es que una función generadora no " -"puede controlar si la ejecución debe continuar después de producir; el " -"control siempre es transferido al invocador del generador." +"Todo este hace a las funciones generadores similar a las corrutinas; yield " +"múltiples veces, tienen más de un punto de entrada y su ejecución puede ser " +"suspendida. La única diferencia es que una función generadora no puede " +"controlar si la ejecución debe continuar después de yield; el control " +"siempre es transferido al invocador del generador." #: ../Doc/reference/expressions.rst:478 msgid "" @@ -812,14 +810,13 @@ msgstr "" msgid ":pep:`380` - Syntax for Delegating to a Subgenerator" msgstr ":pep:`380` - Sintaxis para Delegar a un Subgenerador" -#: ../Doc/reference/expressions.rst:518 -#, fuzzy +#: ../Doc/reference/expressions.rst:516 ../Doc/reference/expressions.rst:518 msgid "" "The proposal to introduce the :token:`~python-grammar:yield_from` syntax, " "making delegation to subgenerators easy." msgstr "" -"La propuesta para introducir la sintaxis :token:`yield_from`, facilitando la " -"delegación a subgeneradores." +"La propuesta para introducir la sintaxis :token:`~python-grammar:" +"yield_from`, facilitando la delegación a subgeneradores." #: ../Doc/reference/expressions.rst:522 msgid ":pep:`525` - Asynchronous Generators" @@ -855,7 +852,6 @@ msgstr "" "excepción :exc:`ValueError`." #: ../Doc/reference/expressions.rst:542 -#, fuzzy msgid "" "Starts the execution of a generator function or resumes it at the last " "executed yield expression. When a generator function is resumed with a :" @@ -866,14 +862,14 @@ msgid "" "caller. If the generator exits without yielding another value, a :exc:" "`StopIteration` exception is raised." msgstr "" -"Comienza la ejecución de una función generadora o la reanuda en la última " -"expresión yield ejecutada. Cuando una función generadora es reanudada con un " -"método :meth:`~generator.__next__`, la expresión yield actual siempre evalúa " -"a :const:`None`. La ejecución entonces continúa a la siguiente expresión " -"yield, donde el generador se suspende de nuevo y el valor de :token:" -"`expression_list` se retorna al invocador de :meth:`__next__`. Si el " -"generador termina sin producir otro valor, se genera una excepción :exc:" -"`StopIteration`." +"Inicia la ejecución de una función generadora o la reanuda en la última " +"expresión de rendimiento ejecutada. Cuando se reanuda una función de " +"generador con un método :meth:`~generator.__next__`, la expresión de " +"rendimiento actual siempre se evalúa como :const:`None`. Luego, la ejecución " +"continúa con la siguiente expresión de rendimiento, donde el generador se " +"suspende nuevamente y el valor de :token:`~python-grammar:expression_list` " +"se devuelve a la persona que llama de :meth:`__next__`. Si el generador sale " +"sin generar otro valor, se genera una excepción :exc:`StopIteration`." #: ../Doc/reference/expressions.rst:551 msgid "" @@ -902,7 +898,6 @@ msgstr "" "expresión yield que pueda recibir el valor." #: ../Doc/reference/expressions.rst:569 -#, fuzzy msgid "" "Raises an exception at the point where the generator was paused, and returns " "the next value yielded by the generator function. If the generator exits " @@ -910,18 +905,19 @@ msgid "" "If the generator function does not catch the passed-in exception, or raises " "a different exception, then that exception propagates to the caller." msgstr "" -"Genera una excepción de tipo ``type`` en el punto donde el generador fue " -"pausado y retorna el siguiente valor producido por la función generadora. Si " -"el generador termina sin producir otro valor se genera una excepción :exc:" -"`StopIteration`. Si la función generadora no caza la excepción pasada o " -"genera una excepción diferente, entonces se propaga esa excepción al " -"invocador." +"Genera una excepción en el punto donde se pausó el generador y devuelve el " +"siguiente valor generado por la función del generador. Si el generador sale " +"sin generar otro valor, se genera una excepción :exc:`StopIteration`. Si la " +"función generadora no detecta la excepción pasada o genera una excepción " +"diferente, esa excepción se propaga a la persona que llama." #: ../Doc/reference/expressions.rst:575 msgid "" "In typical use, this is called with a single exception instance similar to " "the way the :keyword:`raise` keyword is used." msgstr "" +"En el uso típico, esto se llama con una sola instancia de excepción similar " +"a la forma en que se usa la palabra clave :keyword:`raise`." #: ../Doc/reference/expressions.rst:578 msgid "" @@ -933,12 +929,22 @@ msgid "" "any existing :attr:`~BaseException.__traceback__` attribute stored in " "*value* may be cleared." msgstr "" +"Sin embargo, para la compatibilidad con versiones anteriores, se admite la " +"segunda firma, siguiendo una convención de versiones anteriores de Python. " +"El argumento *type* debe ser una clase de excepción y *value* debe ser una " +"instancia de excepción. Si no se proporciona *value*, se llama al " +"constructor *type* para obtener una instancia. Si se proporciona " +"*traceback*, se establece en la excepción; de lo contrario, se puede borrar " +"cualquier atributo :attr:`~BaseException.__traceback__` existente almacenado " +"en *value*." #: ../Doc/reference/expressions.rst:589 ../Doc/reference/expressions.rst:763 msgid "" "The second signature \\(type\\[, value\\[, traceback\\]\\]\\) is deprecated " "and may be removed in a future version of Python." msgstr "" +"La segunda firma \\(type\\[, value\\[, traceback\\]\\]\\) está obsoleta y " +"puede eliminarse en una versión futura de Python." #: ../Doc/reference/expressions.rst:597 msgid "" @@ -1026,6 +1032,21 @@ msgid "" "`~agen.asend` is used, then the result will be the value passed in to that " "method." msgstr "" +"Llamar a uno de los métodos del generador asíncrono devuelve un objeto :term:" +"`awaitable` y la ejecución comienza cuando se espera este objeto. En ese " +"momento, la ejecución procede a la primera expresión yield, donde se " +"suspende nuevamente, devolviendo el valor de :token:`~python-grammar:" +"expression_list` a la rutina en espera. Al igual que con un generador, la " +"suspensión significa que se retiene todo el estado local, incluidos los " +"enlaces actuales de las variables locales, el puntero de instrucción, la " +"pila de evaluación interna y el estado de cualquier manejo de excepción. " +"Cuando se reanuda la ejecución esperando el siguiente objeto devuelto por " +"los métodos del generador asíncrono, la función puede proceder exactamente " +"como si la expresión yield fuera simplemente otra llamada externa. El valor " +"de la expresión yield después de reanudar depende del método que reanudó la " +"ejecución. Si se utiliza :meth:`~agen.__anext__`, el resultado es :const:" +"`None`. De lo contrario, si se usa :meth:`~agen.asend`, el resultado será el " +"valor pasado a ese método." #: ../Doc/reference/expressions.rst:671 msgid "" @@ -1116,7 +1137,6 @@ msgstr "" "los cuales son usados para controlar la ejecución de una función generadora." #: ../Doc/reference/expressions.rst:718 -#, fuzzy msgid "" "Returns an awaitable which when run starts to execute the asynchronous " "generator or resumes it at the last executed yield expression. When an " @@ -1130,16 +1150,17 @@ msgid "" "`StopAsyncIteration` exception, signalling that the asynchronous iteration " "has completed." msgstr "" -"Retorna un esperable el cual, cuando corre, comienza a ejecutar el generador " -"asincrónico o lo reanuda en la última expresión yield ejecutada. Cuando se " -"reanuda una función generadora asincrónica con un método :meth:`~agen." -"__anext__`, la expresión yield actual siempre evalúa a :const:`None` en el " -"esperable retornado, el cual cuando corre continuará a la siguiente " -"expresión yield. El valor de :token:`expression_list` de la expresión yield " -"es el valor de la excepción :exc:`StopIteration` generada por la corrutina " -"completa. Si el generador asincrónico termina sin producir otro valor, el " -"esperable en su lugar genera una excepción :exc:`StopAsyncIteration`, " -"señalando que la iteración asincrónica se ha completado." +"Devuelve un valor en espera que, cuando se ejecuta, comienza a ejecutar el " +"generador asíncrono o lo reanuda en la última expresión de rendimiento " +"ejecutada. Cuando se reanuda una función de generador asíncrono con un " +"método :meth:`~agen.__anext__`, la expresión de rendimiento actual siempre " +"se evalúa como :const:`None` en el valor awaitable devuelto, que cuando se " +"ejecute continuará con la siguiente expresión de rendimiento. El valor de :" +"token:`~python-grammar:expression_list` de la expresión de rendimiento es el " +"valor de la excepción :exc:`StopIteration` generada por la rutina de " +"finalización. Si el generador asincrónico sale sin generar otro valor, " +"awaitable genera una excepción :exc:`StopAsyncIteration`, lo que indica que " +"la iteración asincrónica se ha completado." #: ../Doc/reference/expressions.rst:730 msgid "" @@ -1169,9 +1190,9 @@ msgstr "" "esperable retornado por el método :meth:`asend` retornará el siguiente valor " "producido por el generador como el valor de la :exc:`StopIteration` generada " "o genera :exc:`StopAsyncIteration` si el generador asincrónico termina sin " -"producir otro valor. Cuando se invoca :meth:`asend` para empezar el " -"generador asincrónico, debe ser invocado con :const:`None` como argumento, " -"porque no hay expresión yield que pueda recibir el valor." +"yield otro valor. Cuando se invoca :meth:`asend` para empezar el generador " +"asincrónico, debe ser invocado con :const:`None` como argumento, porque no " +"hay expresión yield que pueda recibir el valor." #: ../Doc/reference/expressions.rst:751 msgid "" @@ -1186,10 +1207,10 @@ msgid "" msgstr "" "Retorna un esperable que genera una excepción de tipo ``type`` en el punto " "donde el generador asincrónico fue pausado y retorna el siguiente valor " -"producido por la función generadora como el valor de la excepción :exc:" -"`StopIteration` generada. Si el generador asincrónico termina sin producir " -"otro valor, el esperable genera una excepción :exc:`StopAsyncIteration`. Si " -"la función generadora no caza la excepción pasada o genera una excepción " +"yield por la función generadora como el valor de la excepción :exc:" +"`StopIteration` generada. Si el generador asincrónico termina sin yield otro " +"valor, el esperable genera una excepción :exc:`StopAsyncIteration`. Si la " +"función generadora no caza la excepción pasada o genera una excepción " "diferente, entonces cuando se ejecuta el esperable esa excepción se propaga " "al invocador del esperable." @@ -1214,7 +1235,7 @@ msgstr "" "`GeneratorExit` (sin cazar la excepción), el esperable retornado lanzará una " "excepción :exc:`StopIteration`. Otros esperables retornados por subsecuentes " "invocaciones al generador asincrónico lanzarán una excepción :exc:" -"`StopAsyncIteration`. Si el generador asincrónico produce un valor, el " +"`StopAsyncIteration`. Si el generador asincrónico yield un valor, el " "esperable genera un :exc:`RuntimeError`. Si el generador asincrónico genera " "cualquier otra excepción, esta es propagada al invocador del esperable. Si " "el generador asincrónico ha terminado debido a una excepción o una " @@ -1259,7 +1280,7 @@ msgstr "" "`__getattr__`. Si este atributo no es esperable, se genera la excepción :exc:" "`AtributeError`. De otra forma, el tipo y el valor del objeto producido es " "determinado por el objeto. Múltiples evaluaciones la misma referencia de " -"atributo pueden producir diferentes objetos." +"atributo pueden yield diferentes objetos." #: ../Doc/reference/expressions.rst:829 msgid "Subscriptions" @@ -1272,12 +1293,18 @@ msgid "" "term:`generic class ` will generally return a :ref:" "`GenericAlias ` object." msgstr "" +"La suscripción de una instancia de un :ref:`container class ` generalmente seleccionará un elemento del contenedor. La suscripción " +"de un :term:`generic class ` generalmente devolverá un objeto :" +"ref:`GenericAlias `." #: ../Doc/reference/expressions.rst:852 msgid "" "When an object is subscripted, the interpreter will evaluate the primary and " "the expression list." msgstr "" +"Cuando se subíndice un objeto, el intérprete evaluará el primario y la lista " +"de expresiones." #: ../Doc/reference/expressions.rst:855 msgid "" @@ -1288,6 +1315,13 @@ msgid "" "one of these methods. For more details on when ``__class_getitem__`` is " "called instead of ``__getitem__``, see :ref:`classgetitem-versus-getitem`." msgstr "" +"El primario debe evaluarse como un objeto que admita la suscripción. Un " +"objeto puede admitir la suscripción mediante la definición de uno o ambos :" +"meth:`~object.__getitem__` y :meth:`~object.__class_getitem__`. Cuando se " +"subíndice el principal, el resultado evaluado de la lista de expresiones se " +"pasará a uno de estos métodos. Para obtener más detalles sobre cuándo se " +"llama a ``__class_getitem__`` en lugar de ``__getitem__``, consulte :ref:" +"`classgetitem-versus-getitem`." #: ../Doc/reference/expressions.rst:862 msgid "" @@ -1295,28 +1329,31 @@ msgid "" "class:`tuple` containing the items of the expression list. Otherwise, the " "expression list will evaluate to the value of the list's sole member." msgstr "" +"Si la lista de expresiones contiene al menos una coma, se evaluará como un :" +"class:`tuple` que contiene los elementos de la lista de expresiones. De lo " +"contrario, la lista de expresiones evaluará el valor del único miembro de la " +"lista." #: ../Doc/reference/expressions.rst:866 -#, fuzzy msgid "" "For built-in objects, there are two types of objects that support " "subscription via :meth:`~object.__getitem__`:" msgstr "" -"Para objetos incorporados, hay dos tipos de objetos que soportan " -"subscripción:" +"Para los objetos integrados, existen dos tipos de objetos que admiten la " +"suscripción a través de :meth:`~object.__getitem__`:" #: ../Doc/reference/expressions.rst:869 -#, fuzzy msgid "" "Mappings. If the primary is a :term:`mapping`, the expression list must " "evaluate to an object whose value is one of the keys of the mapping, and the " "subscription selects the value in the mapping that corresponds to that key. " "An example of a builtin mapping class is the :class:`dict` class." msgstr "" -"Si el primario es un mapeo, la expresión de lista debe evaluar a un objeto " -"cuyo valor es una de las claves del mapeo y la subscripción selecciona el " -"valor en el mapeo que corresponda a esa clave. (La expresión de lista es una " -"tupla excepto si tiene exactamente un elemento.)" +"Mapeos. Si el primario es :term:`mapping`, la lista de expresiones debe " +"evaluarse como un objeto cuyo valor sea una de las claves de la asignación, " +"y la suscripción selecciona el valor en la asignación que corresponde a esa " +"clave. Un ejemplo de una clase de mapeo incorporada es la clase :class:" +"`dict`." #: ../Doc/reference/expressions.rst:873 msgid "" @@ -1325,6 +1362,10 @@ msgid "" "following section). Examples of builtin sequence classes include the :class:" "`str`, :class:`list` and :class:`tuple` classes." msgstr "" +"Secuencias. Si el primario es un :term:`sequence`, la lista de expresiones " +"debe evaluarse como un :class:`int` o un :class:`slice` (como se explica en " +"la siguiente sección). Los ejemplos de clases de secuencia integradas " +"incluyen las clases :class:`str`, :class:`list` y :class:`tuple`." #: ../Doc/reference/expressions.rst:878 msgid "" @@ -1339,16 +1380,27 @@ msgid "" "method, subclasses overriding this method will need to explicitly add that " "support." msgstr "" +"La sintaxis formal no hace ninguna provisión especial para índices negativos " +"en :term:`sequences `. Sin embargo, todas las secuencias " +"integradas proporcionan un método :meth:`~object.__getitem__` que interpreta " +"los índices negativos añadiendo la longitud de la secuencia al índice para " +"que, por ejemplo, ``x[-1]`` seleccione el último elemento de ``x``. El valor " +"resultante debe ser un número entero no negativo menor que el número de " +"elementos de la secuencia, y la suscripción selecciona el elemento cuyo " +"índice es ese valor (contando desde cero). Dado que la compatibilidad con " +"los índices negativos y el corte se produce en el método :meth:`__getitem__` " +"del objeto, las subclases que sobrescriban este método deberán agregar " +"explícitamente esa compatibilidad." #: ../Doc/reference/expressions.rst:892 -#, fuzzy msgid "" "A :class:`string ` is a special kind of sequence whose items are " "*characters*. A character is not a separate data type but a string of " "exactly one character." msgstr "" -"Los elementos de una cadena de caracteres son caracteres. Un caracter no es " -"un tipo de datos separado sino una cadena de exactamente un caracter." +"Un :class:`string ` es un tipo especial de secuencia cuyos elementos " +"son *characters*. Un carácter no es un tipo de datos independiente sino una " +"cadena de exactamente un carácter." #: ../Doc/reference/expressions.rst:900 msgid "Slicings" @@ -1447,7 +1499,6 @@ msgstr "" "`parameter`." #: ../Doc/reference/expressions.rst:996 -#, fuzzy msgid "" "If keyword arguments are present, they are first converted to positional " "arguments, as follows. First, a list of unfilled slots is created for the " @@ -1467,26 +1518,26 @@ msgid "" "specified, a :exc:`TypeError` exception is raised. Otherwise, the list of " "filled slots is used as the argument list for the call." msgstr "" -"Si hay argumentos de palabra clave, primero se convierten en argumentos " -"posicionales, como se indica a continuación. En primer lugar, se crea una " -"lista de ranuras sin rellenar para los parámetros formales. Si hay N " -"argumentos posicionales, se colocan en las primeras N ranuras. A " -"continuación, para cada argumento de palabra clave, el identificador se " -"utiliza para determinar la ranura correspondiente (si el identificador es el " -"mismo que el primer nombre de parámetro formal, se utiliza la primera " -"ranura, etc.). Si la ranura ya está llena, se genera una excepción :exc:" -"`TypeError`. De lo contrario, el valor del argumento se coloca en la ranura, " -"llenándolo (incluso si la expresión es ``None``, esta llena la ranura). " -"Cuando se han procesado todos los argumentos, las ranuras que aún no han " -"sido rellenadas se rellenan con el valor predeterminado correspondiente de " -"la definición de función. (Los valores predeterminados son calculados una " -"vez, cuando se define la función; por lo tanto, un objeto mutable como una " -"lista o diccionario utilizado como valor predeterminado será compartido por " -"todas las llamadas que no especifican un valor de argumento para la ranura " -"correspondiente; esto normalmente debe ser evitado.) Si hay ranuras sin " -"rellenar para las que no se especifica ningún valor predeterminado, se " -"genera una excepción :exc:`TypeError`. De lo contrario, la lista de ranuras " -"rellenas se utiliza como la lista de argumentos para la llamada." +"Si hay argumentos de palabras clave, primero se convierten en argumentos " +"posicionales, de la siguiente manera. Primero, se crea una lista de espacios " +"vacantes para los parámetros formales. Si hay N argumentos posicionales, se " +"colocan en los primeros N espacios. A continuación, para cada argumento de " +"palabra clave, se utiliza el identificador para determinar la ranura " +"correspondiente (si el identificador es el mismo que el nombre del primer " +"parámetro formal, se utiliza la primera ranura, y así sucesivamente). Si el " +"espacio ya está ocupado, se genera una excepción :exc:`TypeError`. De lo " +"contrario, el argumento se coloca en el espacio, llenándolo (incluso si la " +"expresión es ``None``, llena el espacio). Cuando se han procesado todos los " +"argumentos, los espacios que aún están vacíos se llenan con el valor " +"predeterminado correspondiente de la definición de función. (Los valores " +"predeterminados se calculan, una vez, cuando se define la función; por lo " +"tanto, un objeto mutable como una lista o diccionario usado como valor " +"predeterminado será compartido por todas las llamadas que no especifican un " +"valor de argumento para la ranura correspondiente; esto debería normalmente " +"se evita.) Si hay espacios vacíos para los cuales no se especifica ningún " +"valor predeterminado, se genera una excepción :exc:`TypeError`. De lo " +"contrario, la lista de espacios ocupados se utiliza como lista de argumentos " +"para la llamada." #: ../Doc/reference/expressions.rst:1016 msgid "" @@ -1561,17 +1612,15 @@ msgstr "" "``*expression`` -- ver abajo). Así que::" #: ../Doc/reference/expressions.rst:1062 -#, fuzzy msgid "" "It is unusual for both keyword arguments and the ``*expression`` syntax to " "be used in the same call, so in practice this confusion does not often arise." msgstr "" -"Es inusual usar en la misma invocación tanto argumentos de palabra clave " -"como la sintaxis ``*expression``, así que en la práctica no surge esta " -"confusión." +"Es inusual que se utilicen argumentos de palabras clave y la sintaxis " +"``*expression`` en la misma llamada, por lo que en la práctica esta " +"confusión no suele surgir." #: ../Doc/reference/expressions.rst:1068 -#, fuzzy msgid "" "If the syntax ``**expression`` appears in the function call, ``expression`` " "must evaluate to a :term:`mapping`, the contents of which are treated as " @@ -1579,11 +1628,12 @@ msgid "" "given a value (by an explicit keyword argument, or from another unpacking), " "a :exc:`TypeError` exception is raised." msgstr "" -"Si la sintaxis ``*expression`` aparece en la invocación de función, " -"``expression`` debe evaluar a un :term:`mapping`, los contenidos del mismo " -"son tratados como argumentos de palabra clave adicionales. Si una palabra " -"clave está ya presente (como un argumento de palabra clave explícito o desde " -"otro desempaquetado), se genera una excepción :exc:`TypeError`." +"Si la sintaxis ``**expression`` aparece en la llamada de función, " +"``expression`` debe evaluarse como :term:`mapping`, cuyo contenido se trata " +"como argumentos de palabras clave adicionales. Si a un parámetro que " +"coincide con una clave ya se le ha asignado un valor (mediante un argumento " +"de palabra clave explícito o de otro desempaquetado), se genera una " +"excepción :exc:`TypeError`." #: ../Doc/reference/expressions.rst:1074 msgid "" @@ -1596,6 +1646,14 @@ msgid "" "parameter, if there is one, or if there is not, a :exc:`TypeError` exception " "is raised." msgstr "" +"Cuando se usa ``**expression``, cada clave en esta asignación debe ser una " +"cadena. Cada valor del mapeo se asigna al primer parámetro formal elegible " +"para la asignación de palabras clave cuyo nombre es igual a la clave. No es " +"necesario que una clave sea un identificador de Python (por ejemplo, ``\"max-" +"temp °F\"`` es aceptable, aunque no coincidirá con ningún parámetro formal " +"que pueda declararse). Si no hay ninguna coincidencia con un parámetro " +"formal, el par clave-valor se recopila mediante el parámetro ``**``; si lo " +"hay, o si no lo hay, se genera una excepción :exc:`TypeError`." #: ../Doc/reference/expressions.rst:1084 msgid "" @@ -1740,7 +1798,7 @@ msgid "" "converted to a common type, and the result is of that type." msgstr "" "El operador de potencia tiene las mismas semánticas que la función " -"incorporada :func:`pow` cuando se invoca con dos argumentos: este produce su " +"incorporada :func:`pow` cuando se invoca con dos argumentos: este yield su " "argumento de la izquierda elevado a la potencia de su argumento de la " "derecha. Los argumentos numéricos se convierten primero en un tipo común y " "el resultado es de ese tipo." @@ -1791,16 +1849,15 @@ msgid "" "argument; the operation can be overridden with the :meth:`__neg__` special " "method." msgstr "" -"El operador unario ``-`` (menos) produce la negación de su argumento " -"numérico; la operación se puede anular con el método especial :meth:" -"`__neg__`." +"El operador unario ``-`` (menos) yield la negación de su argumento numérico; " +"la operación se puede anular con el método especial :meth:`__neg__`." #: ../Doc/reference/expressions.rst:1230 msgid "" "The unary ``+`` (plus) operator yields its numeric argument unchanged; the " "operation can be overridden with the :meth:`__pos__` special method." msgstr "" -"El operador unario ``+`` (más) produce su argumento numérico sin cambios; la " +"El operador unario ``+`` (más) yield su argumento numérico sin cambios; la " "operación se puede anular con el método especial :meth:`__pos__`." #: ../Doc/reference/expressions.rst:1237 @@ -1810,7 +1867,7 @@ msgid "" "It only applies to integral numbers or to custom objects that override the :" "meth:`__invert__` special method." msgstr "" -"El operador unario ``~`` (invertir) produce la inversión bit a bit de su " +"El operador unario ``~`` (invertir) yield la inversión bit a bit de su " "argumento entero. La inversión bit a bit de ``x`` se define como ``-(x+1)``. " "Solo se aplica a números enteros o a objetos personalizados que anulan el " "método especial :meth:`__invert__`." @@ -1848,11 +1905,11 @@ msgid "" "case, sequence repetition is performed; a negative repetition factor yields " "an empty sequence." msgstr "" -"El operador ``*`` (multiplicación) produce el producto de sus argumentos. " -"Los argumentos pueden ser ambos números, o un argumento debe ser un entero y " -"el otro debe ser una secuencia. En el primer caso, los números se convierten " -"a un tipo común y luego son multiplicados. En el segundo caso, se realiza " -"una repetición de secuencia; un factor de repetición negativo produce una " +"El operador ``*`` (multiplicación) yield el producto de sus argumentos. Los " +"argumentos pueden ser ambos números, o un argumento debe ser un entero y el " +"otro debe ser una secuencia. En el primer caso, los números se convierten a " +"un tipo común y luego son multiplicados. En el segundo caso, se realiza una " +"repetición de secuencia; un factor de repetición negativo yield una " "secuencia vacía." #: ../Doc/reference/expressions.rst:1278 @@ -1907,12 +1964,12 @@ msgid "" "zero); the absolute value of the result is strictly smaller than the " "absolute value of the second operand [#]_." msgstr "" -"El operador ``%`` (módulo) produce el resto de la división del primer " +"El operador ``%`` (módulo) yield el resto de la división del primer " "argumento entre el segundo. Los argumentos numéricos son primero convertidos " "a un tipo común. Un argumento a la derecha cero genera la excepción :exc:" "`ZeroDivisionError`. Los argumentos pueden ser números de punto flotante, " "ej., ``3.14%0.7`` es igual a ``0.34`` (ya que ``3.14`` es igual a ``4*0.7 + " -"0.34``.) El operador módulo siempre produce un resultado con el mismo signo " +"0.34``.) El operador módulo siempre yield un resultado con el mismo signo " "que su segundo operando (o cero); el valor absoluto del resultado es " "estrictamente más pequeño que el valor absoluto del segundo operando [#]_." @@ -1968,10 +2025,10 @@ msgid "" "type. In the former case, the numbers are converted to a common type and " "then added together. In the latter case, the sequences are concatenated." msgstr "" -"El operador ``+`` (adición) produce la suma de sus argumentos. Los " -"argumentos deben ser ambos números o ambos secuencias del mismo tipo. En el " -"primer caso, los números son convertidos a un tipo común y luego sumados. En " -"el segundo caso, las secuencias son concatenadas." +"El operador ``+`` (adición) yield la suma de sus argumentos. Los argumentos " +"deben ser ambos números o ambos secuencias del mismo tipo. En el primer " +"caso, los números son convertidos a un tipo común y luego sumados. En el " +"segundo caso, las secuencias son concatenadas." #: ../Doc/reference/expressions.rst:1345 msgid "" @@ -1986,7 +2043,7 @@ msgid "" "The ``-`` (subtraction) operator yields the difference of its arguments. " "The numeric arguments are first converted to a common type." msgstr "" -"El operador ``-`` (resta) produce la diferencia de sus argumentos. Los " +"El operador ``-`` (resta) yield la diferencia de sus argumentos. Los " "argumentos numéricos son primero convertidos a un tipo común." #: ../Doc/reference/expressions.rst:1356 @@ -2049,7 +2106,7 @@ msgid "" "integers or one of them must be a custom object overriding :meth:`__and__` " "or :meth:`__rand__` special methods." msgstr "" -"El operador ``&`` produce el AND bit a bit de sus argumentos, que deben ser " +"El operador ``&`` yield el AND bit a bit de sus argumentos, que deben ser " "números enteros o uno de ellos debe ser un objeto personalizado que anule " "los métodos especiales :meth:`__and__` o :meth:`__rand__`." @@ -2059,7 +2116,7 @@ msgid "" "which must be integers or one of them must be a custom object overriding :" "meth:`__xor__` or :meth:`__rxor__` special methods." msgstr "" -"El operador ``^`` produce el XOR bit a bit (OR exclusivo) de sus argumentos, " +"El operador ``^`` yield el XOR bit a bit (OR exclusivo) de sus argumentos, " "que deben ser números enteros o uno de ellos debe ser un objeto " "personalizado que anule los métodos especiales :meth:`__xor__` o :meth:" "`__rxor__`." @@ -2070,7 +2127,7 @@ msgid "" "must be integers or one of them must be a custom object overriding :meth:" "`__or__` or :meth:`__ror__` special methods." msgstr "" -"El operador ``|`` produce el OR bit a bit (inclusive) de sus argumentos, que " +"El operador ``|`` yield el OR bit a bit (inclusive) de sus argumentos, que " "deben ser números enteros o uno de ellos debe ser un objeto personalizado " "que anule los métodos especiales :meth:`__or__` o :meth:`__ror__`." @@ -2096,7 +2153,7 @@ msgid "" "comparison methods` may return non-boolean values. In this case Python will " "call :func:`bool` on such value in boolean contexts." msgstr "" -"Las comparaciones producen valores booleanos: ``True`` o ``False``. " +"Las comparaciones yield valores booleanos: ``True`` o ``False``. " "Personalizado: dfn: los `métodos de comparación enriquecidos` pueden " "retornar valores no booleanos. En este caso, Python llamará a :func:`bool` " "en dicho valor en contextos booleanos." @@ -2359,15 +2416,14 @@ msgstr "" "verdadero)." #: ../Doc/reference/expressions.rst:1566 -#, fuzzy msgid "" "Mappings (instances of :class:`dict`) compare equal if and only if they have " "equal ``(key, value)`` pairs. Equality comparison of the keys and values " "enforces reflexivity." msgstr "" -"Los mapeos (instancias de :class:`dict`) comparan igual si y sólo si tienen " -"pares `(clave, valor)` iguales. La comparación de igualdad de claves y " -"valores refuerza la reflexibilidad." +"Las asignaciones (instancias de :class:`dict`) se comparan iguales si y solo " +"si tienen pares ``(key, value)`` iguales. La comparación equitativa de las " +"claves y los valores impone la reflexividad." #: ../Doc/reference/expressions.rst:1570 msgid "" @@ -2621,14 +2677,13 @@ msgstr "" "Los operadores :keyword:`is` y :keyword:`is not` comprueban la identidad de " "un objeto. ``x is y`` es verdadero si y sólo si *x* e *y* son el mismo " "objeto. La identidad de un Objeto se determina usando la función :meth:`id`. " -"``x is not y`` produce el valor de veracidad inverso. [#]_" +"``x is not y`` yield el valor de veracidad inverso. [#]_" #: ../Doc/reference/expressions.rst:1704 msgid "Boolean operations" msgstr "Operaciones booleanas" #: ../Doc/reference/expressions.rst:1715 -#, fuzzy msgid "" "In the context of Boolean operations, and also when expressions are used by " "control flow statements, the following values are interpreted as false: " @@ -2638,21 +2693,21 @@ msgid "" "objects can customize their truth value by providing a :meth:`~object." "__bool__` method." msgstr "" -"En el contexto de las operaciones booleanas y también cuando sentencias de " -"control de flujo usan expresiones, los siguientes valores se interpretan " -"como falsos: ``False``, ``None``, ceros numéricos de todos los tipos y " -"cadenas de caracteres y contenedores vacíos (incluyendo cadenas de " -"caracteres, tuplas, diccionarios, conjuntos y conjuntos congelados). Todos " -"los otros valores son interpretados como verdaderos. Los objetos definidos " -"por el usuario pueden personalizar su valor de veracidad proveyendo un " -"método :meth:`__bool__`." +"En el contexto de operaciones booleanas, y también cuando las declaraciones " +"de flujo de control utilizan expresiones, los siguientes valores se " +"interpretan como falsos: ``False``, ``None``, cero numérico de todos los " +"tipos y cadenas y contenedores vacíos (incluidas cadenas, tuplas, listas, " +"diccionarios). , conjuntos y conjuntos congelados). Todos los demás valores " +"se interpretan como verdaderos. Los objetos definidos por el usuario pueden " +"personalizar su valor de verdad proporcionando un método :meth:`~object." +"__bool__`." #: ../Doc/reference/expressions.rst:1724 msgid "" "The operator :keyword:`not` yields ``True`` if its argument is false, " "``False`` otherwise." msgstr "" -"El operador :keyword:`not` produce ``True`` si su argumento es falso, " +"El operador :keyword:`not` yield ``True`` si su argumento es falso, " "``False`` si no." #: ../Doc/reference/expressions.rst:1729 @@ -2685,7 +2740,7 @@ msgstr "" "el tipo que retornan a ``False`` y ``True``, sino retornan el último " "argumento evaluado. Esto es útil a veces, ej., si ``s`` es una cadena de " "caracteres que debe ser remplazada por un valor predeterminado si está " -"vacía, la expresión ``s or 'foo'`` produce el valor deseado. Debido a que :" +"vacía, la expresión ``s or 'foo'`` yield el valor deseado. Debido a que :" "keyword:`not` tiene que crear un nuevo valor, retorna un valor booleano " "indiferentemente del tipo de su argumento (por ejemplo, ``not 'foo'`` " "produce ``False`` en lugar de ``''``.)" @@ -2695,7 +2750,6 @@ msgid "Assignment expressions" msgstr "Expresiones de asignación" #: ../Doc/reference/expressions.rst:1758 -#, fuzzy msgid "" "An assignment expression (sometimes also called a \"named expression\" or " "\"walrus\") assigns an :token:`~python-grammar:expression` to an :token:" @@ -2703,8 +2757,9 @@ msgid "" "`~python-grammar:expression`." msgstr "" "Una expresión de asignación (a veces también llamada \"expresión con " -"nombre\" o \"walrus\") asigna un :token:`expression` a un :token:" -"`identifier`, mientras que también retorna el valor de :token:`expression`." +"nombre\" o \"morsa\") asigna un :token:`~python-grammar:expression` a un :" +"token:`~python-grammar:identifier`, al mismo tiempo que devuelve el valor de " +"el :token:`~python-grammar:expresión`." #: ../Doc/reference/expressions.rst:1763 msgid "One common use case is when handling matched regular expressions:" @@ -2723,6 +2778,11 @@ msgid "" "all other places where they can be used, parentheses are not required, " "including in ``if`` and ``while`` statements." msgstr "" +"Las expresiones de asignación deben estar entre paréntesis cuando se usan " +"como subexpresiones en expresiones de división, condicional, lambda, " +"argumento de palabra clave y comprensión si y en declaraciones ``assert`` y " +"``with``. En todos los demás lugares donde se pueden usar, no se requieren " +"paréntesis, incluidas las declaraciones ``if`` y ``while``." #: ../Doc/reference/expressions.rst:1784 msgid "See :pep:`572` for more details about assignment expressions." @@ -2767,8 +2827,8 @@ msgid "" msgstr "" "Las expresiones lambda (a veces denominadas formas lambda) son usadas para " "crear funciones anónimas. La expresión ``lambda parameters: expression`` " -"produce un objeto de función. El objeto sin nombre se comporta como un " -"objeto función con:" +"yield un objeto de función. El objeto sin nombre se comporta como un objeto " +"función con:" #: ../Doc/reference/expressions.rst:1837 msgid "" @@ -2791,7 +2851,7 @@ msgid "" "expressions in the list. The expressions are evaluated from left to right." msgstr "" "Excepto cuando son parte de un despliegue de lista o conjunto, una lista de " -"expresión conteniendo al menos una coma produce una tupla. El largo de la " +"expresión conteniendo al menos una coma yield una tupla. El largo de la " "tupla es el número de expresiones en la lista. Las expresiones son evaluadas " "de izquierda a derecha." @@ -2824,8 +2884,8 @@ msgid "" msgstr "" "La coma final sólo es requerida para crear una tupla única (también " "denominada un *singleton*); es opcional en todos los otros casos. Una única " -"expresión sin una coma final no crea una tupla, si no produce el valor de " -"esa expresión. (Para crear una tupla vacía, usa un par de paréntesis vacío: " +"expresión sin una coma final no crea una tupla, si no yield el valor de esa " +"expresión. (Para crear una tupla vacía, usa un par de paréntesis vacío: " "``()``.)" #: ../Doc/reference/expressions.rst:1888 @@ -2855,7 +2915,6 @@ msgid "Operator precedence" msgstr "Prioridad de operador" #: ../Doc/reference/expressions.rst:1914 -#, fuzzy msgid "" "The following table summarizes the operator precedence in Python, from " "highest precedence (most binding) to lowest precedence (least binding). " @@ -2864,13 +2923,13 @@ msgid "" "left to right (except for exponentiation and conditional expressions, which " "group from right to left)." msgstr "" -"La siguiente tabla resume la precedencia del operador en Python, desde la " +"La siguiente tabla resume la precedencia de operadores en Python, desde la " "precedencia más alta (más vinculante) hasta la precedencia más baja (menos " -"vinculante). Los operadores en el mismo cuadro tienen la misma precedencia. " -"A menos que la sintaxis se proporcione explícitamente, los operadores son " +"vinculante). Los operadores en el mismo cuadro tienen la misma prioridad. A " +"menos que la sintaxis se proporcione explícitamente, los operadores son " "binarios. Los operadores en el mismo cuadro se agrupan de izquierda a " -"derecha (excepto para la exponenciación, que se agrupa de derecha a " -"izquierda)." +"derecha (excepto la exponenciación y las expresiones condicionales, que se " +"agrupan de derecha a izquierda)." #: ../Doc/reference/expressions.rst:1920 msgid "" @@ -2916,9 +2975,8 @@ msgid "Subscription, slicing, call, attribute reference" msgstr "Subscripción, segmentación, invocación, referencia de atributo" #: ../Doc/reference/expressions.rst:1937 -#, fuzzy msgid ":keyword:`await x `" -msgstr ":keyword:`await` ``x``" +msgstr ":keyword:`await x `" #: ../Doc/reference/expressions.rst:1939 msgid "``**``" @@ -3001,9 +3059,8 @@ msgid "Comparisons, including membership tests and identity tests" msgstr "Comparaciones, incluyendo comprobaciones de membresía y de identidad" #: ../Doc/reference/expressions.rst:1961 -#, fuzzy msgid ":keyword:`not x `" -msgstr ":keyword:`or`" +msgstr ":keyword:`not x `" #: ../Doc/reference/expressions.rst:1961 msgid "Boolean NOT" @@ -3167,82 +3224,73 @@ msgstr "" #: ../Doc/reference/expressions.rst:417 ../Doc/reference/expressions.rst:1706 #: ../Doc/reference/expressions.rst:1793 ../Doc/reference/expressions.rst:1819 #: ../Doc/reference/expressions.rst:1847 -#, fuzzy msgid "expression" -msgstr "Expresiones" +msgstr "expresiones" #: ../Doc/reference/expressions.rst:8 msgid "BNF" -msgstr "" +msgstr "BNF" #: ../Doc/reference/expressions.rst:28 ../Doc/reference/expressions.rst:1207 #: ../Doc/reference/expressions.rst:1255 -#, fuzzy msgid "arithmetic" -msgstr "Conversiones aritméticas" +msgstr "aritméticas" #: ../Doc/reference/expressions.rst:28 -#, fuzzy msgid "conversion" -msgstr "Conversiones aritméticas" +msgstr "conversión" #: ../Doc/reference/expressions.rst:51 -#, fuzzy msgid "atom" -msgstr "Átomos" +msgstr "atom" #: ../Doc/reference/expressions.rst:68 ../Doc/reference/expressions.rst:82 msgid "name" -msgstr "" +msgstr "name" #: ../Doc/reference/expressions.rst:68 -#, fuzzy msgid "identifier" -msgstr "Identificadores (Nombres)" +msgstr "identificador" #: ../Doc/reference/expressions.rst:74 ../Doc/reference/expressions.rst:537 #: ../Doc/reference/expressions.rst:592 ../Doc/reference/expressions.rst:714 #: ../Doc/reference/expressions.rst:766 ../Doc/reference/expressions.rst:812 #: ../Doc/reference/expressions.rst:1244 ../Doc/reference/expressions.rst:1290 #: ../Doc/reference/expressions.rst:1380 -#, fuzzy msgid "exception" -msgstr "Descripción" +msgstr "excepción" #: ../Doc/reference/expressions.rst:74 msgid "NameError" -msgstr "" +msgstr "NameError" #: ../Doc/reference/expressions.rst:82 msgid "mangling" -msgstr "" +msgstr "destrozando" #: ../Doc/reference/expressions.rst:82 -#, fuzzy msgid "private" -msgstr "Primarios" +msgstr "privado" #: ../Doc/reference/expressions.rst:82 -#, fuzzy msgid "names" -msgstr "Ejemplos" +msgstr "nombres" #: ../Doc/reference/expressions.rst:104 -#, fuzzy msgid "literal" -msgstr "Literales" +msgstr "literal" #: ../Doc/reference/expressions.rst:117 ../Doc/reference/expressions.rst:341 msgid "immutable" -msgstr "" +msgstr "inmutable" #: ../Doc/reference/expressions.rst:117 msgid "data" -msgstr "" +msgstr "data" #: ../Doc/reference/expressions.rst:117 msgid "type" -msgstr "" +msgstr "type" #: ../Doc/reference/expressions.rst:117 ../Doc/reference/expressions.rst:244 #: ../Doc/reference/expressions.rst:270 ../Doc/reference/expressions.rst:298 @@ -3254,407 +3302,367 @@ msgstr "" #: ../Doc/reference/expressions.rst:1127 ../Doc/reference/expressions.rst:1134 #: ../Doc/reference/expressions.rst:1671 ../Doc/reference/expressions.rst:1857 msgid "object" -msgstr "" +msgstr "object" #: ../Doc/reference/expressions.rst:133 -#, fuzzy msgid "parenthesized form" msgstr "Formas entre paréntesis" #: ../Doc/reference/expressions.rst:133 ../Doc/reference/expressions.rst:362 #: ../Doc/reference/expressions.rst:952 -#, fuzzy msgid "() (parentheses)" -msgstr "Formas entre paréntesis" +msgstr "() (paréntesis)" #: ../Doc/reference/expressions.rst:133 -#, fuzzy msgid "tuple display" -msgstr "Despliegues de conjuntos" +msgstr "display tupla" #: ../Doc/reference/expressions.rst:146 ../Doc/reference/expressions.rst:244 msgid "empty" -msgstr "" +msgstr "vacío" #: ../Doc/reference/expressions.rst:146 ../Doc/reference/expressions.rst:835 #: ../Doc/reference/expressions.rst:908 ../Doc/reference/expressions.rst:1857 msgid "tuple" -msgstr "" +msgstr "tuple" #: ../Doc/reference/expressions.rst:152 ../Doc/reference/expressions.rst:1876 msgid "comma" -msgstr "" +msgstr "coma" #: ../Doc/reference/expressions.rst:152 ../Doc/reference/expressions.rst:244 #: ../Doc/reference/expressions.rst:270 ../Doc/reference/expressions.rst:298 #: ../Doc/reference/expressions.rst:902 ../Doc/reference/expressions.rst:952 #: ../Doc/reference/expressions.rst:1847 msgid ", (comma)" -msgstr "" +msgstr ", (coma)" #: ../Doc/reference/expressions.rst:167 ../Doc/reference/expressions.rst:244 #: ../Doc/reference/expressions.rst:270 ../Doc/reference/expressions.rst:298 -#, fuzzy msgid "comprehensions" -msgstr "Comparaciones" +msgstr "comprensiones" #: ../Doc/reference/expressions.rst:177 msgid "for" -msgstr "" +msgstr "for" #: ../Doc/reference/expressions.rst:177 ../Doc/reference/expressions.rst:212 -#, fuzzy msgid "in comprehensions" -msgstr "Comparaciones de identidad" +msgstr "comprensiones in" #: ../Doc/reference/expressions.rst:177 ../Doc/reference/expressions.rst:1793 msgid "if" -msgstr "" +msgstr "if" #: ../Doc/reference/expressions.rst:177 msgid "async for" -msgstr "" +msgstr "async for" #: ../Doc/reference/expressions.rst:212 ../Doc/reference/expressions.rst:1152 msgid "await" -msgstr "" +msgstr "await" #: ../Doc/reference/expressions.rst:244 ../Doc/reference/expressions.rst:812 #: ../Doc/reference/expressions.rst:835 ../Doc/reference/expressions.rst:908 #: ../Doc/reference/expressions.rst:1847 msgid "list" -msgstr "" +msgstr "list" #: ../Doc/reference/expressions.rst:244 ../Doc/reference/expressions.rst:270 #: ../Doc/reference/expressions.rst:298 -#, fuzzy msgid "display" -msgstr "Despliegues de conjuntos" +msgstr "display" #: ../Doc/reference/expressions.rst:244 ../Doc/reference/expressions.rst:831 msgid "[] (square brackets)" -msgstr "" +msgstr "[] (paréntesis de corchete)" #: ../Doc/reference/expressions.rst:244 -#, fuzzy msgid "list expression" -msgstr "Expresión await" +msgstr "expresión lista" #: ../Doc/reference/expressions.rst:244 ../Doc/reference/expressions.rst:270 #: ../Doc/reference/expressions.rst:1847 -#, fuzzy msgid "expression list" -msgstr "Listas de expresiones" +msgstr "expresión lista" #: ../Doc/reference/expressions.rst:270 msgid "set" -msgstr "" +msgstr "set" #: ../Doc/reference/expressions.rst:270 ../Doc/reference/expressions.rst:298 msgid "{} (curly brackets)" -msgstr "" +msgstr "{} (paréntesis de llave)" #: ../Doc/reference/expressions.rst:270 -#, fuzzy msgid "set expression" -msgstr "Expresiones" +msgstr "expresión conjunto" #: ../Doc/reference/expressions.rst:298 ../Doc/reference/expressions.rst:324 #: ../Doc/reference/expressions.rst:835 -#, fuzzy msgid "dictionary" -msgstr "Despliegues de diccionario" +msgstr "diccionario" #: ../Doc/reference/expressions.rst:298 msgid "key" -msgstr "" +msgstr "llave" #: ../Doc/reference/expressions.rst:298 msgid "value" -msgstr "" +msgstr "valor" #: ../Doc/reference/expressions.rst:298 msgid "key/value pair" -msgstr "" +msgstr "par llave/valor" #: ../Doc/reference/expressions.rst:298 -#, fuzzy msgid "dictionary expression" -msgstr "Expresión condicional" +msgstr "expresión diccionario" #: ../Doc/reference/expressions.rst:298 ../Doc/reference/expressions.rst:902 #: ../Doc/reference/expressions.rst:1819 msgid ": (colon)" -msgstr "" +msgstr ": (dos puntos)" #: ../Doc/reference/expressions.rst:298 -#, fuzzy msgid "in dictionary expressions" -msgstr "Expresiones condicionales" +msgstr "en expresiones diccionario" #: ../Doc/reference/expressions.rst:298 ../Doc/reference/expressions.rst:324 -#, fuzzy msgid "in dictionary displays" -msgstr "Despliegues de diccionario" +msgstr "en displays de diccionario" #: ../Doc/reference/expressions.rst:324 ../Doc/reference/expressions.rst:1035 #: ../Doc/reference/expressions.rst:1864 msgid "unpacking" -msgstr "" +msgstr "unpacking" #: ../Doc/reference/expressions.rst:324 ../Doc/reference/expressions.rst:1065 #: ../Doc/reference/expressions.rst:1172 msgid "**" -msgstr "" +msgstr "**" #: ../Doc/reference/expressions.rst:341 msgid "hashable" -msgstr "" +msgstr "hashable" #: ../Doc/reference/expressions.rst:362 ../Doc/reference/expressions.rst:417 #: ../Doc/reference/expressions.rst:525 -#, fuzzy msgid "generator" -msgstr "Operador" +msgstr "operador" #: ../Doc/reference/expressions.rst:362 -#, fuzzy msgid "generator expression" -msgstr "Expresiones de generador" +msgstr "expresión generador" #: ../Doc/reference/expressions.rst:417 ../Doc/reference/expressions.rst:1152 -#, fuzzy msgid "keyword" -msgstr ":keyword:`or`" +msgstr "keyword" #: ../Doc/reference/expressions.rst:417 ../Doc/reference/expressions.rst:605 msgid "yield" -msgstr "" +msgstr "yield" #: ../Doc/reference/expressions.rst:417 ../Doc/reference/expressions.rst:484 msgid "from" -msgstr "" +msgstr "from" #: ../Doc/reference/expressions.rst:417 ../Doc/reference/expressions.rst:1100 #: ../Doc/reference/expressions.rst:1113 ../Doc/reference/expressions.rst:1819 msgid "function" -msgstr "" +msgstr "función" #: ../Doc/reference/expressions.rst:470 msgid "coroutine" -msgstr "" +msgstr "corutina" #: ../Doc/reference/expressions.rst:484 -#, fuzzy msgid "yield from expression" -msgstr "Expresiones yield" +msgstr "yield de expresión" #: ../Doc/reference/expressions.rst:537 -#, fuzzy msgid "StopIteration" -msgstr "Operaciones de desplazamiento" +msgstr "StopIteration" #: ../Doc/reference/expressions.rst:592 ../Doc/reference/expressions.rst:766 -#, fuzzy msgid "GeneratorExit" -msgstr "Expresiones de generador" +msgstr "GeneratorExit" #: ../Doc/reference/expressions.rst:605 -#, fuzzy msgid "examples" -msgstr "Ejemplos" +msgstr "ejemplos" #: ../Doc/reference/expressions.rst:704 -#, fuzzy msgid "asynchronous-generator" -msgstr "Funciones generadoras asincrónicas" +msgstr "generador asíncrono" #: ../Doc/reference/expressions.rst:714 msgid "StopAsyncIteration" -msgstr "" +msgstr "StopAsyncIteration" #: ../Doc/reference/expressions.rst:789 -#, fuzzy msgid "primary" -msgstr "Primarios" +msgstr "primario" #: ../Doc/reference/expressions.rst:803 -#, fuzzy msgid "attribute" -msgstr "Referencias de atributos" +msgstr "atributo" #: ../Doc/reference/expressions.rst:803 -#, fuzzy msgid "reference" -msgstr "Referencias de atributos" +msgstr "referencia" #: ../Doc/reference/expressions.rst:803 msgid ". (dot)" -msgstr "" +msgstr ". (punto)" #: ../Doc/reference/expressions.rst:803 -#, fuzzy msgid "attribute reference" -msgstr "Referencias de atributos" +msgstr "referencia de atributo" #: ../Doc/reference/expressions.rst:812 -#, fuzzy msgid "AttributeError" -msgstr "Referencias de atributos" +msgstr "AttributeError" #: ../Doc/reference/expressions.rst:812 msgid "module" -msgstr "" +msgstr "módulo" #: ../Doc/reference/expressions.rst:831 -#, fuzzy msgid "subscription" -msgstr "Suscripciones" +msgstr "suscripciones" #: ../Doc/reference/expressions.rst:835 ../Doc/reference/expressions.rst:908 #: ../Doc/reference/expressions.rst:1671 msgid "sequence" -msgstr "" +msgstr "secuencia" #: ../Doc/reference/expressions.rst:835 msgid "mapping" -msgstr "" +msgstr "mapeo" #: ../Doc/reference/expressions.rst:835 ../Doc/reference/expressions.rst:888 #: ../Doc/reference/expressions.rst:908 msgid "string" -msgstr "" +msgstr "cadena de caracteres" #: ../Doc/reference/expressions.rst:835 ../Doc/reference/expressions.rst:888 msgid "item" -msgstr "" +msgstr "item" #: ../Doc/reference/expressions.rst:888 msgid "character" -msgstr "" +msgstr "caracter" #: ../Doc/reference/expressions.rst:902 -#, fuzzy msgid "slicing" -msgstr "Segmentos" +msgstr "rebanado" #: ../Doc/reference/expressions.rst:902 -#, fuzzy msgid "slice" -msgstr "Segmentos" +msgstr "rebanada" #: ../Doc/reference/expressions.rst:934 msgid "start (slice object attribute)" -msgstr "" +msgstr "start (atributo objeto rebanada)" #: ../Doc/reference/expressions.rst:934 msgid "stop (slice object attribute)" -msgstr "" +msgstr "stop (atributo objeto rebanada)" #: ../Doc/reference/expressions.rst:934 msgid "step (slice object attribute)" -msgstr "" +msgstr "step (atributo objeto rebanada)" #: ../Doc/reference/expressions.rst:952 -#, fuzzy msgid "callable" -msgstr "Invocaciones" +msgstr "llamable" #: ../Doc/reference/expressions.rst:952 ../Doc/reference/expressions.rst:1100 #: ../Doc/reference/expressions.rst:1113 ../Doc/reference/expressions.rst:1127 #: ../Doc/reference/expressions.rst:1134 ../Doc/reference/expressions.rst:1144 -#, fuzzy msgid "call" -msgstr "Invocaciones" +msgstr "llamada" #: ../Doc/reference/expressions.rst:952 msgid "argument" -msgstr "" +msgstr "argumento" #: ../Doc/reference/expressions.rst:952 ../Doc/reference/expressions.rst:985 msgid "call semantics" -msgstr "" +msgstr "semántica de llamada" #: ../Doc/reference/expressions.rst:952 msgid "argument list" -msgstr "" +msgstr "lista de argumento" #: ../Doc/reference/expressions.rst:952 msgid "= (equals)" -msgstr "" +msgstr "= (igual)" #: ../Doc/reference/expressions.rst:952 ../Doc/reference/expressions.rst:1035 #: ../Doc/reference/expressions.rst:1065 msgid "in function calls" -msgstr "" +msgstr "en llamadas de función" #: ../Doc/reference/expressions.rst:985 msgid "parameter" -msgstr "" +msgstr "parámetro" #: ../Doc/reference/expressions.rst:1035 ../Doc/reference/expressions.rst:1268 #: ../Doc/reference/expressions.rst:1864 msgid "* (asterisk)" -msgstr "" +msgstr "* (asterisco)" #: ../Doc/reference/expressions.rst:1100 -#, fuzzy msgid "user-defined" -msgstr "una función definida por el usuario:" +msgstr "definida por el usuario" #: ../Doc/reference/expressions.rst:1100 -#, fuzzy msgid "user-defined function" -msgstr "una función definida por el usuario:" +msgstr "función definida por el usuario" #: ../Doc/reference/expressions.rst:1113 -#, fuzzy msgid "built-in function" -msgstr "una función o método incorporado:" +msgstr "función incorporado" #: ../Doc/reference/expressions.rst:1113 msgid "method" -msgstr "" +msgstr "método" #: ../Doc/reference/expressions.rst:1113 -#, fuzzy msgid "built-in method" -msgstr "una función o método incorporado:" +msgstr "método incorporado" #: ../Doc/reference/expressions.rst:1127 -#, fuzzy msgid "class" -msgstr "Invocaciones" +msgstr "class" #: ../Doc/reference/expressions.rst:1127 -#, fuzzy msgid "class object" -msgstr "un objeto de clase:" +msgstr "objeto de clase" #: ../Doc/reference/expressions.rst:1134 -#, fuzzy msgid "class instance" -msgstr "una instancia de clase:" +msgstr "instancia de clase" #: ../Doc/reference/expressions.rst:1134 ../Doc/reference/expressions.rst:1144 -#, fuzzy msgid "instance" -msgstr "una instancia de clase:" +msgstr "instancia" #: ../Doc/reference/expressions.rst:1144 msgid "__call__() (object method)" -msgstr "" +msgstr "__call__() (método objeto)" #: ../Doc/reference/expressions.rst:1172 msgid "power" -msgstr "" +msgstr "potencia" #: ../Doc/reference/expressions.rst:1172 ../Doc/reference/expressions.rst:1207 #: ../Doc/reference/expressions.rst:1255 ../Doc/reference/expressions.rst:1364 #: ../Doc/reference/expressions.rst:1391 ../Doc/reference/expressions.rst:1706 -#, fuzzy msgid "operation" -msgstr "Operador" +msgstr "operación" #: ../Doc/reference/expressions.rst:1172 ../Doc/reference/expressions.rst:1216 #: ../Doc/reference/expressions.rst:1225 ../Doc/reference/expressions.rst:1233 @@ -3667,331 +3675,308 @@ msgstr "Operador" #: ../Doc/reference/expressions.rst:1680 ../Doc/reference/expressions.rst:1722 #: ../Doc/reference/expressions.rst:1727 ../Doc/reference/expressions.rst:1732 #: ../Doc/reference/expressions.rst:1793 ../Doc/reference/expressions.rst:1911 -#, fuzzy msgid "operator" -msgstr "Operador" +msgstr "operador" #: ../Doc/reference/expressions.rst:1207 msgid "unary" -msgstr "" +msgstr "unario" #: ../Doc/reference/expressions.rst:1207 ../Doc/reference/expressions.rst:1391 #: ../Doc/reference/expressions.rst:1400 ../Doc/reference/expressions.rst:1408 #: ../Doc/reference/expressions.rst:1417 -#, fuzzy msgid "bitwise" -msgstr "OR bit a bit" +msgstr "bit a bit" #: ../Doc/reference/expressions.rst:1216 msgid "negation" -msgstr "" +msgstr "negación" #: ../Doc/reference/expressions.rst:1216 msgid "minus" -msgstr "" +msgstr "menos" #: ../Doc/reference/expressions.rst:1216 ../Doc/reference/expressions.rst:1348 msgid "- (minus)" -msgstr "" +msgstr "- (menos)" #: ../Doc/reference/expressions.rst:1216 ../Doc/reference/expressions.rst:1225 -#, fuzzy msgid "unary operator" -msgstr "Operador" +msgstr "operador unario" #: ../Doc/reference/expressions.rst:1225 msgid "plus" -msgstr "" +msgstr "más" #: ../Doc/reference/expressions.rst:1225 ../Doc/reference/expressions.rst:1335 msgid "+ (plus)" -msgstr "" +msgstr "+ (más)" #: ../Doc/reference/expressions.rst:1233 -#, fuzzy msgid "inversion" -msgstr "Expresiones" +msgstr "inversión" #: ../Doc/reference/expressions.rst:1233 msgid "~ (tilde)" -msgstr "" +msgstr "~ (virgulilla)" #: ../Doc/reference/expressions.rst:1244 msgid "TypeError" -msgstr "" +msgstr "TypeError" #: ../Doc/reference/expressions.rst:1255 ../Doc/reference/expressions.rst:1391 msgid "binary" -msgstr "" +msgstr "binario" #: ../Doc/reference/expressions.rst:1268 msgid "multiplication" -msgstr "" +msgstr "multiplicación" #: ../Doc/reference/expressions.rst:1281 msgid "matrix multiplication" -msgstr "" +msgstr "multiplicación de matriz" #: ../Doc/reference/expressions.rst:1281 msgid "@ (at)" -msgstr "" +msgstr "@ (arroba)" #: ../Doc/reference/expressions.rst:1290 msgid "ZeroDivisionError" -msgstr "" +msgstr "ZeroDivisionError" #: ../Doc/reference/expressions.rst:1290 msgid "division" -msgstr "" +msgstr "división" #: ../Doc/reference/expressions.rst:1290 msgid "/ (slash)" -msgstr "" +msgstr "/ (barra diagonal)" #: ../Doc/reference/expressions.rst:1290 msgid "//" -msgstr "" +msgstr "//" #: ../Doc/reference/expressions.rst:1306 msgid "modulo" -msgstr "" +msgstr "módulo" #: ../Doc/reference/expressions.rst:1306 msgid "% (percent)" -msgstr "" +msgstr "% (porcentaje)" #: ../Doc/reference/expressions.rst:1335 -#, fuzzy msgid "addition" -msgstr "Descripción" +msgstr "adición" #: ../Doc/reference/expressions.rst:1335 ../Doc/reference/expressions.rst:1348 -#, fuzzy msgid "binary operator" -msgstr "Operaciones bit a bit binarias" +msgstr "operador binario" #: ../Doc/reference/expressions.rst:1348 -#, fuzzy msgid "subtraction" msgstr "Suscripciones" #: ../Doc/reference/expressions.rst:1364 -#, fuzzy msgid "shifting" -msgstr "Desplazamientos" +msgstr "desplazamientos" #: ../Doc/reference/expressions.rst:1364 msgid "<<" -msgstr "" +msgstr "<<" #: ../Doc/reference/expressions.rst:1364 msgid ">>" -msgstr "" +msgstr ">>" #: ../Doc/reference/expressions.rst:1380 msgid "ValueError" -msgstr "" +msgstr "ValueError" #: ../Doc/reference/expressions.rst:1400 ../Doc/reference/expressions.rst:1727 msgid "and" -msgstr "" +msgstr "and" #: ../Doc/reference/expressions.rst:1400 msgid "& (ampersand)" -msgstr "" +msgstr "& (ampersand)" #: ../Doc/reference/expressions.rst:1408 msgid "xor" -msgstr "" +msgstr "xor" #: ../Doc/reference/expressions.rst:1408 msgid "exclusive" -msgstr "" +msgstr "exclusivo" #: ../Doc/reference/expressions.rst:1408 ../Doc/reference/expressions.rst:1417 #: ../Doc/reference/expressions.rst:1732 msgid "or" -msgstr "" +msgstr "or" #: ../Doc/reference/expressions.rst:1408 msgid "^ (caret)" -msgstr "" +msgstr "^ (caret)" #: ../Doc/reference/expressions.rst:1417 msgid "inclusive" -msgstr "" +msgstr "inclusive" #: ../Doc/reference/expressions.rst:1417 msgid "| (vertical bar)" -msgstr "" +msgstr "| (barra vertical)" #: ../Doc/reference/expressions.rst:1432 -#, fuzzy msgid "comparison" -msgstr "Comparaciones" +msgstr "comparaciones" #: ../Doc/reference/expressions.rst:1432 msgid "C" -msgstr "" +msgstr "C" #: ../Doc/reference/expressions.rst:1432 msgid "language" -msgstr "" +msgstr "lenguaje" #: ../Doc/reference/expressions.rst:1432 msgid "< (less)" -msgstr "" +msgstr "< (menor)" #: ../Doc/reference/expressions.rst:1432 msgid "> (greater)" -msgstr "" +msgstr "> (mayor)" #: ../Doc/reference/expressions.rst:1432 msgid "<=" -msgstr "" +msgstr "<=" #: ../Doc/reference/expressions.rst:1432 msgid ">=" -msgstr "" +msgstr ">=" #: ../Doc/reference/expressions.rst:1432 msgid "==" -msgstr "" +msgstr "==" #: ../Doc/reference/expressions.rst:1432 msgid "!=" -msgstr "" +msgstr "!=" #: ../Doc/reference/expressions.rst:1456 msgid "chaining" -msgstr "" +msgstr "encadenamiento" #: ../Doc/reference/expressions.rst:1456 -#, fuzzy msgid "comparisons" -msgstr "Comparaciones" +msgstr "comparaciones" #: ../Doc/reference/expressions.rst:1671 msgid "in" -msgstr "" +msgstr "in" #: ../Doc/reference/expressions.rst:1671 msgid "not in" -msgstr "" +msgstr "not in" #: ../Doc/reference/expressions.rst:1671 msgid "membership" -msgstr "" +msgstr "membresía" #: ../Doc/reference/expressions.rst:1671 ../Doc/reference/expressions.rst:1680 msgid "test" -msgstr "" +msgstr "prueba" #: ../Doc/reference/expressions.rst:1680 msgid "is" -msgstr "" +msgstr "is" #: ../Doc/reference/expressions.rst:1680 msgid "is not" -msgstr "" +msgstr "is not" #: ../Doc/reference/expressions.rst:1680 msgid "identity" -msgstr "" +msgstr "identidad" #: ../Doc/reference/expressions.rst:1706 -#, fuzzy msgid "Conditional" -msgstr "Expresión condicional" +msgstr "Condicional" #: ../Doc/reference/expressions.rst:1706 -#, fuzzy msgid "Boolean" -msgstr "Booleano OR" +msgstr "Booleano" #: ../Doc/reference/expressions.rst:1722 msgid "not" -msgstr "" +msgstr "not" #: ../Doc/reference/expressions.rst:1746 msgid ":= (colon equals)" -msgstr "" +msgstr ":= (dos puntos igual)" #: ../Doc/reference/expressions.rst:1746 -#, fuzzy msgid "assignment expression" -msgstr "Expresión de asignación" +msgstr "expresión de asignación" #: ../Doc/reference/expressions.rst:1746 -#, fuzzy msgid "walrus operator" -msgstr "Operador" +msgstr "operador morsa" #: ../Doc/reference/expressions.rst:1746 -#, fuzzy msgid "named expression" -msgstr "Expresión lambda" +msgstr "expresión con nombre" #: ../Doc/reference/expressions.rst:1793 -#, fuzzy msgid "conditional" -msgstr "Expresión condicional" +msgstr "condicional" #: ../Doc/reference/expressions.rst:1793 msgid "ternary" -msgstr "" +msgstr "ternario" #: ../Doc/reference/expressions.rst:1793 -#, fuzzy msgid "conditional expression" -msgstr "Expresión condicional" +msgstr "expresión condicional" #: ../Doc/reference/expressions.rst:1793 msgid "else" -msgstr "" +msgstr "else" #: ../Doc/reference/expressions.rst:1819 -#, fuzzy msgid "lambda" -msgstr "Lambdas" +msgstr "lambda" #: ../Doc/reference/expressions.rst:1819 msgid "form" -msgstr "" +msgstr "forma" #: ../Doc/reference/expressions.rst:1819 msgid "anonymous" -msgstr "" +msgstr "anónimo" #: ../Doc/reference/expressions.rst:1819 -#, fuzzy msgid "lambda expression" -msgstr "Expresión lambda" +msgstr "expresión lambda" #: ../Doc/reference/expressions.rst:1864 -#, fuzzy msgid "iterable" -msgstr "Literales" +msgstr "iterable" #: ../Doc/reference/expressions.rst:1864 -#, fuzzy msgid "in expression lists" -msgstr "Listas de expresiones" +msgstr "en listas de expresión" #: ../Doc/reference/expressions.rst:1876 msgid "trailing" -msgstr "" +msgstr "final" #: ../Doc/reference/expressions.rst:1890 -#, fuzzy msgid "evaluation" -msgstr "Orden de evaluación" +msgstr "evaluación" #: ../Doc/reference/expressions.rst:1890 msgid "order" -msgstr "" +msgstr "orden" #: ../Doc/reference/expressions.rst:1911 -#, fuzzy msgid "precedence" -msgstr "Prioridad de operador" +msgstr "precedencia" diff --git a/requirements.txt b/requirements.txt index 2fcc7884a6..1f5f71937b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,10 +7,10 @@ PyICU polib pospell>=1.1 potodo -powrap +powrap>=1.0.2 python-docs-theme>=2022.1 setuptools -sphinx-intl +sphinx-intl>=2.3.0 pre-commit sphinx-autorun sphinxemoji diff --git a/scripts/create_issue.py b/scripts/create_issue.py index 9bf6a7dd5d..e0e3161080 100644 --- a/scripts/create_issue.py +++ b/scripts/create_issue.py @@ -1,63 +1,159 @@ -# Use together with `pageviews.py` -# python scripts/pageviews.py | head -n 150 | grep -v whats | cut -d ' ' -f 2 | sed 's/\.html/\.po/g' | xargs -I '{}' python scripts/create_issue.py '{}' +""" +Run this script with one variable: + - PO filename to create an issue for that file + - or '--all' to create the issues for all untranslated files that doesn't have an open issue already + - or '--one' to create the next one issue +""" import os import sys +from glob import glob from pathlib import Path from github import Github from potodo.potodo import PoFileStats -if len(sys.argv) != 2: - print('Specify PO filename') - sys.exit(1) +PYTHON_VERSION = "3.13" +PENDING_ENTRIES_FOR_GOOD_FIRST_ISSUE = 5 +GOOD_FIRST_ISSUE_LABEL = "good first issue" +ISSUE_LABELS = [PYTHON_VERSION] +ISSUE_TITLE = 'Translate `{pofilename}`' +ISSUE_BODY = '''This file is {translated_percent}% translated and needs to reach 100%. -pofilename = sys.argv[1] -pofile = PoFileStats(Path(pofilename)) +The rendered version of this file will be available at https://docs.python.org/es/{python_version}/{urlfile} once translated. +Meanwhile, the English version is shown. -g = Github(os.environ.get('GITHUB_TOKEN')) +Current stats for `{pofilename}`: -repo = g.get_repo('python/python-docs-es') +- Total entries: {pofile_entries} +- Entries that need work: {pending_entries} - ({pending_percent}%) + - Fuzzy: {pofile_fuzzy} + - Untranslated: {pofile_untranslated} -issues = repo.get_issues(state='all') -for issue in issues: - if pofilename in issue.title: +Please, comment here if you want this file to be assigned to you and a member will assign it to you as soon as possible, so you can start working on it. - print(f'Skipping {pofilename}. There is a similar issue already created at {issue.html_url}') - sys.exit(1) +Remember to follow the steps in our [Contributing Guide](https://python-docs-es.readthedocs.io/page/CONTRIBUTING.html).''' - msg = f'There is a similar issue already created at {issue.html_url}.\nDo you want to create it anyways? [y/N] ' - answer = input(msg) - if answer != 'y': - sys.exit(1) -if pofile.fuzzy == 0 and any([ - pofile.translated_nb == pofile.po_file_size, - pofile.untranslated_nb == 0, -]): - print(f'Skipping {pofilename}. The file is 100% translated already.') - sys.exit(1) +class IssueAlreadyExistingError(Exception): + """Issue already existing in GitHub""" -# https://pygithub.readthedocs.io/en/latest/github_objects/Repository.html#github.Repository.Repository.create_issue -title = f'Translate `{pofilename}`' -urlfile = pofilename.replace('.po', '.html') -issue = repo.create_issue( - title=title, - body=f'''This needs to reach 100% translated. -The rendered version of this file will be available at https://docs.python.org/es/3.8/{urlfile} once translated. -Meanwhile, the English version is shown. +class PoFileAlreadyTranslated(Exception): + """Given PO file is already 100% translated""" -Current stats for `{pofilename}`: -- Fuzzy: {pofile.fuzzy_nb} -- Percent translated: {pofile.percent_translated}% -- Entries: {pofile.translated_nb} / {pofile.po_file_size} -- Untranslated: {pofile.untranslated_nb} +class GitHubIssueGenerator: + def __init__(self): + g = Github(os.environ.get('GITHUB_TOKEN')) + self.repo = g.get_repo('python/python-docs-es') + self._issues = None -Please, comment here if you want this file to be assigned to you and a member will assign it to you as soon as possible, so you can start working on it. + @property + def issues(self): + if self._issues is None: + self._issues = self.repo.get_issues(state='open') + + return self._issues + + def check_issue_not_already_existing(self, pofilename): + for issue in self.issues: + if pofilename in issue.title: + + print(f'Skipping {pofilename}. There is a similar issue already created at {issue.html_url}') + raise IssueAlreadyExistingError + + + @staticmethod + def check_translation_is_pending(pofile): + no_fuzzy_translations = pofile.fuzzy == 0 + translated_match_all_entries = pofile.translated == pofile.entries + no_untranslated_entries_left = pofile.untranslated == 0 + + if no_fuzzy_translations and (translated_match_all_entries or no_untranslated_entries_left): + print(f'Skipping {pofile.filename}. The file is 100% translated already.') + raise PoFileAlreadyTranslated + + + + def issue_generator(self, pofilename): + pofile = PoFileStats(Path(pofilename)) + + self.check_issue_not_already_existing(pofilename) + self.check_translation_is_pending(pofile) + + pending_entries = pofile.fuzzy + pofile.untranslated + + if pending_entries <= PENDING_ENTRIES_FOR_GOOD_FIRST_ISSUE: + labels = ISSUE_LABELS + [GOOD_FIRST_ISSUE_LABEL] + else: + labels = ISSUE_LABELS + + urlfile = pofilename.replace('.po', '.html') + title = ISSUE_TITLE.format(pofilename=pofilename) + body = ISSUE_BODY.format( + translated_percent=pofile.percent_translated, + python_version=PYTHON_VERSION, + urlfile=urlfile, + pofilename=pofilename, + pofile_fuzzy=pofile.fuzzy, + pending_percent=100 - pofile.percent_translated, + pofile_entries=pofile.entries, + pofile_untranslated=pofile.untranslated, + pending_entries=pending_entries, + ) + # https://pygithub.readthedocs.io/en/latest/github_objects/Repository.html#github.Repository.Repository.create_issue + issue = self.repo.create_issue(title=title, body=body, labels=labels) + + return issue + + def create_issues(self, only_one=False): + po_files = glob("**/*.po") + existing_issue_counter = 0 + already_translated_counter = 0 + created_issues_counter = 0 + + print(f"TOTAL PO FILES: {len(po_files)}") + + for pofilename in po_files: + try: + issue = self.issue_generator(pofilename) + created_issues_counter += 1 + print(f'Issue "{issue.title}" created at {issue.html_url}') + if only_one: + break + except IssueAlreadyExistingError: + existing_issue_counter += 1 + except PoFileAlreadyTranslated: + already_translated_counter += 1 + + print("Stats:") + print(f"- Existing issues: {existing_issue_counter}") + print(f"- Already translated files: {already_translated_counter}") + print(f"- Created issues: {created_issues_counter}") + + +def main(): + error_msg = "Specify PO filename or '--all' to create all the issues, or '--one' to create the next one issue" + if len(sys.argv) != 2: + raise Exception(error_msg) + + arg = sys.argv[1] + + gh = GitHubIssueGenerator() + + if arg == "--all": + gh.create_issues() + + elif arg == "--one": + gh.create_issues(only_one=True) + + else: + try: + gh.issue_generator(arg) + except FileNotFoundError: + raise Exception(error_msg) -Remember to follow the steps in our [Contributing Guide](https://python-docs-es.readthedocs.io/page/CONTRIBUTING.html).''', -) -print(f'Issue "{title}" created at {issue.html_url}') +if __name__ == "__main__": + main()