diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1c519fb344..7f375d29ff 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -52,7 +52,7 @@ jobs: - name: Obtiene la lista de archivos .po con cambios (sólo en PRs) if: github.event_name == 'pull_request' id: changed-po-files - uses: tj-actions/changed-files@v45 + uses: tj-actions/changed-files@v46 with: files: | **/*.po diff --git a/.github/workflows/pr-comment.yml b/.github/workflows/pr-comment.yml index f66cf799c9..41165bef7e 100644 --- a/.github/workflows/pr-comment.yml +++ b/.github/workflows/pr-comment.yml @@ -37,7 +37,7 @@ jobs: python -m pip install -r base-branch/requirements-own.txt - name: Obtiene lista de archivos con cambios id: changed-files - uses: tj-actions/changed-files@v45 + uses: tj-actions/changed-files@v46 with: files: | **/*.po diff --git a/.overrides/CONTRIBUTING.rst b/.overrides/CONTRIBUTING.rst index 903fd6aa46..c5081c8639 100644 --- a/.overrides/CONTRIBUTING.rst +++ b/.overrides/CONTRIBUTING.rst @@ -54,13 +54,13 @@ podrás realizar todas las contribuciones que quieras. #. (Opcional) Crea un entorno virtual y actívalo:: - python -m venv env - source env/bin/activate # macOS y Linux - env\Scripts\activate.bat # Windows + python -m venv venv + source venv/bin/activate # macOS y Linux + venv\Scripts\activate.bat # Windows #. (Opcional) Instala los requerimientos del proyecto:: - pip install -r requirements.txt + pip install -r requirements-own.txt .. note:: diff --git a/Makefile b/Makefile index f6e011c7b4..75f0f9dd50 100644 --- a/Makefile +++ b/Makefile @@ -56,6 +56,9 @@ do_build: setup: venv git submodule sync git submodule update --init --force --depth 1 $(CPYTHON_PATH) + # Now that we've initialized the submodules, install all requirements necessary for the build + $(VENV)/bin/python -m pip install -q -r requirements.txt + # venv: create a virtual environment which will be used by almost every @@ -66,7 +69,7 @@ venv: $(PYTHON) -m venv --prompt $(LANGUAGE_TEAM) $(VENV); \ fi - $(VENV)/bin/python -m pip install -q -r requirements.txt + $(VENV)/bin/python -m pip install -q -r requirements-own.txt # serve: serve the documentation in a simple local web server, using cpython diff --git a/TRANSLATORS b/TRANSLATORS index 107807d0bb..e46c181565 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -60,8 +60,10 @@ Daniela Zuluaga Ocampo (@Nany262) Darwing Medina Lacayo (@darwing1210) David Jaimes (@henrzven) David Lorenzo (@David-Lor) +David Pizarro (@davidppizarro) David Revillas (@r3v1) David Silva (@dvidsilva) +David Spindola (@davidspindola) David Trigo Chávez (@dtrinf) Diego Cristóbal Herreros (@dcristobalh) Diego Mascialino (@dmascialino) @@ -184,6 +186,7 @@ Martín Gaitán (@mgaitan) Martín Ramírez (@tinchoram) Mateo Cámara (@MateoCamara) Matias Bordese (@matiasb) +Matthew Ellis Kane Jiménez (@M-E-K-J-2102) Melissa Escobar Gutiérrez (@MelissaEscobar) Miguel Ángel Nahuel Ambrosini (@ambro17) @@ -228,6 +231,7 @@ Sergio Infante (@neosergio) Silvina Tamburini (@silvinabt87) Sofia Carballo (@sofiacarballo) Sofía Denner +Srmorita (@srmorita) Stephanie Orellana Bello Sumit Kashyap Summerok @@ -246,4 +250,4 @@ Xavi Rambla Centellas (@xavirambla) Yennifer Paola Herrera Ariza (@Yenniferh) Yohanna Padrino (@Yo-hanaPR) zejiran -Zodac (@zodacdev) +Zodac (@zodacdev) \ No newline at end of file diff --git a/c-api/allocation.po b/c-api/allocation.po index f0908ad22b..dab388e66e 100644 --- a/c-api/allocation.po +++ b/c-api/allocation.po @@ -11,22 +11,22 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2020-05-08 01:33+0200\n" -"Last-Translator: \n" -"Language: es\n" +"PO-Revision-Date: 2025-04-09 21:56+0200\n" +"Last-Translator: David Spindola\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.13.0\n" +"X-Generator: Poedit 3.6\n" #: ../Doc/c-api/allocation.rst:6 msgid "Allocating Objects on the Heap" msgstr "Asignación de objetos en el montículo" #: ../Doc/c-api/allocation.rst:17 -#, fuzzy msgid "" "Initialize a newly allocated object *op* with its type and initial " "reference. Returns the initialized object. If *type* indicates that the " @@ -34,10 +34,10 @@ msgid "" "detector's set of observed objects. Other fields of the object are not " "affected." msgstr "" -"Inicializa un objeto *op* recientemente asignado con su tipo y referencia " -"inicial. Retorna el objeto inicializado. Si *type* indica que el objeto " -"participa en el detector de basura cíclico, se agrega al conjunto de objetos " -"observados del detector. Otros campos del objeto no se ven afectados." +"Inicializa un objeto recién asignado *op* con su tipo y referencia inicial. " +"Retorna el objeto inicializado. Si *type* indica que el objeto participa en " +"el detector de basura cíclico, se agrega al conjunto de objetos observados " +"por el detector. Otros campos del objeto no se ven afectados." #: ../Doc/c-api/allocation.rst:26 msgid "" @@ -48,23 +48,22 @@ msgstr "" "información de longitud para un objeto de tamaño variable." #: ../Doc/c-api/allocation.rst:32 -#, fuzzy msgid "" "Allocate a new Python object using the C structure type *TYPE* and the " "Python type object *typeobj* (``PyTypeObject*``). Fields not defined by the " "Python object header are not initialized. The caller will own the only " "reference to the object (i.e. its reference count will be one). The size of " -"the memory allocation is determined from the :c:member:`~PyTypeObject." -"tp_basicsize` field of the type object." +"the memory allocation is determined from " +"the :c:member:`~PyTypeObject.tp_basicsize` field of the type object." msgstr "" -"Asigna un nuevo objeto Python usando el tipo de estructura de C *TYPE* y el " -"objeto tipo Python *type*. Los campos no definidos por el encabezado del " -"objeto Python no se inicializan;el conteo de referencias del objeto será " -"uno. El tamaño de la asignación de memoria se determina a partir del campo :" -"c:member:`~PyTypeObject.tp_basicsize` del tipo de objeto." +"Asigna un nuevo objeto de Python usando el tipo de estructura de C *TYPE* y " +"el objeto de tipo Python *typeobj* (``PyTypeObject*``). Los campos no " +"definidos por el encabezado del objeto Python no se inicializan. El llamador " +"será el propietario de la única referencia al objeto (es decir, su contador " +"de referencias será uno). El tamaño de la asignación de memoria se determina " +"a partir del campo :c:member:`~PyTypeObject.tp_basicsize` del objeto de tipo." #: ../Doc/c-api/allocation.rst:43 -#, fuzzy msgid "" "Allocate a new Python object using the C structure type *TYPE* and the " "Python type object *typeobj* (``PyTypeObject*``). Fields not defined by the " @@ -76,30 +75,29 @@ msgid "" "same allocation decreases the number of allocations, improving the memory " "management efficiency." msgstr "" -"Asigna un nuevo objeto Python usando el tipo de estructura de C *TYPE* y el " -"objeto tipo Python *type*. Los campos no definidos por el encabezado del " -"objeto Python no se inicializan. La memoria asignada permite los campos de " -"la estructura *TYPE* más los campos *size* del tamaño dado por el campo :c:" -"member:`~PyTypeObject.tp_itemsize` de *type*. Esto es útil para implementar " -"objetos como tuplas, que pueden determinar su tamaño en el momento de la " -"construcción. Incrustar el arreglo de campos en la misma asignación " -"disminuye el número de asignaciones, mejorando la eficiencia de la gestión " -"de memoria." +"Asigna un nuevo objeto de Python utilizando el tipo de estructura de C " +"*TYPE* y el objeto de tipo Python *typeobj* (``PyTypeObject*``). Los campos " +"no definidos por el encabezado del objeto Python no se inicializan. La " +"memoria asignada permite la estructura *TYPE* más *size* (``Py_ssize_t``) " +"campos del tamaño dado por el campo :c:member:`~PyTypeObject.tp_itemsize` de " +"*typeobj*. Esto es útil para implementar objetos como las tuplas, que pueden " +"determinar su tamaño en el momento de la construcción. Integrar el arreglo " +"de campos en la misma asignación disminuye el número de asignaciones, " +"mejorando la eficiencia de la gestión de memoria." #: ../Doc/c-api/allocation.rst:57 -#, fuzzy msgid "" -"Releases memory allocated to an object using :c:macro:`PyObject_New` or :c:" -"macro:`PyObject_NewVar`. This is normally called from the :c:member:" -"`~PyTypeObject.tp_dealloc` handler specified in the object's type. The " -"fields of the object should not be accessed after this call as the memory is " -"no longer a valid Python object." +"Releases memory allocated to an object using :c:macro:`PyObject_New` " +"or :c:macro:`PyObject_NewVar`. This is normally called from " +"the :c:member:`~PyTypeObject.tp_dealloc` handler specified in the object's " +"type. The fields of the object should not be accessed after this call as " +"the memory is no longer a valid Python object." msgstr "" -"Libera memoria asignada a un objeto usando :c:func:`PyObject_New` o :c:func:" -"`PyObject_NewVar`. Esto normalmente se llama desde el manejador :c:member:" -"`~PyTypeObject.tp_dealloc` especificado en el tipo de objeto. No se debe " -"acceder a los campos del objeto después de esta llamada, ya que la memoria " -"ya no es un objeto Python válido." +"Libera la memoria asignada a un objeto usando :c:macro:`PyObject_New` " +"o :c:macro:`PyObject_NewVar`. Esto normalmente se llama desde el " +"manejador :c:member:`~PyTypeObject.tp_dealloc` especificado en el tipo de " +"objeto. Los campos del objeto no deben ser accedidos después de esta " +"llamada, ya que la memoria ya no es un objeto de Python válido." #: ../Doc/c-api/allocation.rst:66 msgid "" diff --git a/c-api/bool.po b/c-api/bool.po index 3938dc07ae..ea41eda60a 100644 --- a/c-api/bool.po +++ b/c-api/bool.po @@ -10,23 +10,23 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-21 16:38-0300\n" -"PO-Revision-Date: 2021-08-16 13:03+0200\n" +"POT-Creation-Date: 2023-10-12 19:43+0200\n" +"PO-Revision-Date: 2025-05-07 20:14-0500\n" "Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Generated-By: Babel 2.13.0\n" +"X-Generator: Poedit 3.6\n" #: ../Doc/c-api/bool.rst:6 msgid "Boolean Objects" msgstr "Objetos booleanos" #: ../Doc/c-api/bool.rst:8 -#, fuzzy msgid "" "Booleans in Python are implemented as a subclass of integers. There are " "only two booleans, :c:data:`Py_False` and :c:data:`Py_True`. As such, the " @@ -43,6 +43,8 @@ msgid "" "This instance of :c:type:`PyTypeObject` represents the Python boolean type; " "it is the same object as :class:`bool` in the Python layer." msgstr "" +"Esta instancia de :c:type:`PyTypeObject` representa el tipo booleano de " +"Python; es el mismo objeto que :class:`bool` en la capa de Python." #: ../Doc/c-api/bool.rst:22 msgid "" @@ -54,40 +56,62 @@ msgstr "" #: ../Doc/c-api/bool.rst:28 msgid "" -"The Python ``False`` object. This object has no methods and is :term:" -"`immortal`." +"The Python ``False`` object. This object has no methods and is `immortal " +"`_." msgstr "" +"El objeto ``False`` de Python. Este objeto no tiene métodos y es `inmortal " +"`_." #: ../Doc/c-api/bool.rst:31 -msgid ":c:data:`Py_False` is :term:`immortal`." -msgstr "" +msgid ":c:data:`Py_False` is immortal." +msgstr ":c:data:`Py_False` es inmortal." #: ../Doc/c-api/bool.rst:37 msgid "" -"The Python ``True`` object. This object has no methods and is :term:" -"`immortal`." +"The Python ``True`` object. This object has no methods and is `immortal " +"`_." msgstr "" +"El objeto ``True`` de Python. Este objeto no tiene métodos y es `inmortal " +"`_." #: ../Doc/c-api/bool.rst:40 -msgid ":c:data:`Py_True` is :term:`immortal`." -msgstr "" +msgid ":c:data:`Py_True` is immortal." +msgstr ":c:data:`Py_True` es inmortal." #: ../Doc/c-api/bool.rst:46 -#, fuzzy msgid "Return :c:data:`Py_False` from a function." -msgstr "" -"Retorna :const:`Py_False` de una función, incrementando adecuadamente su " -"recuento de referencia." +msgstr "Retorna :c:data:`Py_False` desde una función." #: ../Doc/c-api/bool.rst:51 msgid "Return :c:data:`Py_True` from a function." -msgstr "" +msgstr "Retorna :c:data:`Py_True` desde una función.." #: ../Doc/c-api/bool.rst:56 -#, fuzzy msgid "" "Return :c:data:`Py_True` or :c:data:`Py_False`, depending on the truth value " "of *v*." msgstr "" -"Retorna una nueva referencia a :const:`Py_True` o :const:`Py_False` " -"dependiendo del valor de verdad de *v*." +"Retorna :c:data:`Py_True` o :c:data:`Py_False`, dependiendo del valor " +"verdadero de *v*." + +#~ msgid "" +#~ "The Python ``False`` object. This object has no methods. It needs to be " +#~ "treated just like any other object with respect to reference counts." +#~ msgstr "" +#~ "El objeto ``False`` de Python. Este objeto no tiene métodos. Debe " +#~ "tratarse como cualquier otro objeto con respecto a los recuentos de " +#~ "referencia." + +#~ msgid "" +#~ "The Python ``True`` object. This object has no methods. It needs to be " +#~ "treated just like any other object with respect to reference counts." +#~ msgstr "" +#~ "El objeto ``True`` de Python. Este objeto no tiene métodos. Debe tratarse " +#~ "como cualquier otro objeto con respecto a los recuentos de referencia." + +#~ msgid "" +#~ "Return :const:`Py_True` from a function, properly incrementing its " +#~ "reference count." +#~ msgstr "" +#~ "Retorna :const:`Py_True` desde una función, incrementando adecuadamente " +#~ "su recuento de referencia." diff --git a/c-api/bytearray.po b/c-api/bytearray.po index 20ed044e7f..a04bbe978a 100644 --- a/c-api/bytearray.po +++ b/c-api/bytearray.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-11-21 16:38-0300\n" -"PO-Revision-Date: 2024-10-29 21:11-0400\n" -"Last-Translator: Sofía Denner \n" -"Language: es\n" +"PO-Revision-Date: 2025-04-09 09:25+0200\n" +"Last-Translator: David Spindola\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.16.0\n" +"X-Generator: Poedit 3.6\n" #: ../Doc/c-api/bytearray.rst:6 msgid "Byte Array Objects" @@ -68,8 +69,8 @@ msgstr "Funciones API directas" #: ../Doc/c-api/bytearray.rst:42 msgid "" -"Return a new bytearray object from any object, *o*, that implements the :ref:" -"`buffer protocol `." +"Return a new bytearray object from any object, *o*, that implements " +"the :ref:`buffer protocol `." msgstr "" "Retorna un nuevo objeto de arreglo de bytes de cualquier objeto, *o*, que " "implementa el :ref:`buffer protocol `." @@ -77,14 +78,13 @@ msgstr "" #: ../Doc/c-api/bytearray.rst:45 ../Doc/c-api/bytearray.rst:52 #: ../Doc/c-api/bytearray.rst:59 msgid "On failure, return ``NULL`` with an exception set." -msgstr "" +msgstr "Al fallar, retorna ``NULL`` con una excepción asignada." #: ../Doc/c-api/bytearray.rst:50 -#, fuzzy msgid "Create a new bytearray object from *string* and its length, *len*." msgstr "" "Crea un nuevo objeto de arreglo de bytes a partir de *string* y su longitud, " -"*len*. En caso de fallo, se retorna ``NULL``." +"*len*." #: ../Doc/c-api/bytearray.rst:57 msgid "" @@ -104,7 +104,7 @@ msgid "" "``NULL`` pointer. The returned array always has an extra null byte appended." msgstr "" "Retorna el contenido de *bytearray* como un arreglo de caracteres después de " -"verificar un puntero ``NULL``. La arreglo retornado siempre tiene un byte " +"verificar un puntero ``NULL``. El arreglo retornado siempre tiene un byte " "nulo adicional agregado." #: ../Doc/c-api/bytearray.rst:76 diff --git a/c-api/capsule.po b/c-api/capsule.po index ac8a29ca40..97a0afb310 100644 --- a/c-api/capsule.po +++ b/c-api/capsule.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-11-21 16:38-0300\n" -"PO-Revision-Date: 2022-10-30 16:51-0300\n" -"Last-Translator: Sofía Denner \n" -"Language: es\n" +"PO-Revision-Date: 2025-04-11 20:18+0100\n" +"Last-Translator: David Spindola\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.16.0\n" +"X-Generator: Poedit 3.6\n" #: ../Doc/c-api/capsule.rst:6 msgid "Capsules" @@ -42,11 +43,12 @@ msgid "" "loaded modules." msgstr "" "Este subtipo de :c:type:`PyObject` representa un valor opaco, útil para los " -"módulos de extensión C que necesitan pasar un valor opaco (como un puntero :" -"c:expr:`void*`) a través del código Python a otro código C . A menudo se usa " -"para hacer que un puntero de función C definido en un módulo esté disponible " -"para otros módulos, por lo que el mecanismo de importación regular se puede " -"usar para acceder a las API C definidas en módulos cargados dinámicamente." +"módulos de extensión C que necesitan pasar un valor opaco (como un " +"puntero :c:expr:`void*`) a través del código Python a otro código C . A " +"menudo se usa para hacer que un puntero de función C definido en un módulo " +"esté disponible para otros módulos, por lo que el mecanismo de importación " +"regular se puede usar para acceder a las API C definidas en módulos cargados " +"dinámicamente." #: ../Doc/c-api/capsule.rst:27 msgid "The type of a destructor callback for a capsule. Defined as::" @@ -56,7 +58,7 @@ msgstr "" #: ../Doc/c-api/capsule.rst:29 msgid "typedef void (*PyCapsule_Destructor)(PyObject *);" -msgstr "" +msgstr "typedef void (*PyCapsule_Destructor)(PyObject *);" #: ../Doc/c-api/capsule.rst:31 msgid "" @@ -123,17 +125,16 @@ msgstr "" "una excepción y retorna ``NULL``." #: ../Doc/c-api/capsule.rst:65 -#, fuzzy msgid "" "The *name* parameter must compare exactly to the name stored in the capsule. " "If the name stored in the capsule is ``NULL``, the *name* passed in must " "also be ``NULL``. Python uses the C function :c:func:`!strcmp` to compare " "capsule names." msgstr "" -"El parámetro *name* debe compararse exactamente con el nombre almacenado en " +"El parámetro *name* debe coincidir exactamente con el nombre almacenado en " "la cápsula. Si el nombre almacenado en la cápsula es ``NULL``, el *name* " -"pasado también debe ser ``NULL``. Python usa la función C :c:func:`strcmp` " -"para comparar nombres de cápsulas." +"también debe ser ``NULL``. Python utiliza la función C :c:func:`!strcmp` " +"para comparar los nombres de las cápsulas." #: ../Doc/c-api/capsule.rst:73 msgid "" @@ -146,8 +147,8 @@ msgstr "" #: ../Doc/c-api/capsule.rst:76 msgid "" "It is legal for a capsule to have a ``NULL`` destructor. This makes a " -"``NULL`` return code somewhat ambiguous; use :c:func:`PyCapsule_IsValid` or :" -"c:func:`PyErr_Occurred` to disambiguate." +"``NULL`` return code somewhat ambiguous; use :c:func:`PyCapsule_IsValid` " +"or :c:func:`PyErr_Occurred` to disambiguate." msgstr "" "Es legal que una cápsula tenga un destructor ``NULL``. Esto hace que un " "código de retorno ``NULL`` sea algo ambiguo; use :c:func:`PyCapsule_IsValid` " @@ -164,12 +165,12 @@ msgstr "" #: ../Doc/c-api/capsule.rst:86 msgid "" "It is legal for a capsule to have a ``NULL`` context. This makes a ``NULL`` " -"return code somewhat ambiguous; use :c:func:`PyCapsule_IsValid` or :c:func:" -"`PyErr_Occurred` to disambiguate." +"return code somewhat ambiguous; use :c:func:`PyCapsule_IsValid` " +"or :c:func:`PyErr_Occurred` to disambiguate." msgstr "" "Es legal que una cápsula tenga un contexto ``NULL``. Esto hace que un código " -"de retorno ``NULL`` sea algo ambiguo; use :c:func:`PyCapsule_IsValid` o :c:" -"func:`PyErr_Occurred` para desambiguar." +"de retorno ``NULL`` sea algo ambiguo; use :c:func:`PyCapsule_IsValid` " +"o :c:func:`PyErr_Occurred` para desambiguar." #: ../Doc/c-api/capsule.rst:93 msgid "" @@ -182,12 +183,12 @@ msgstr "" #: ../Doc/c-api/capsule.rst:96 msgid "" "It is legal for a capsule to have a ``NULL`` name. This makes a ``NULL`` " -"return code somewhat ambiguous; use :c:func:`PyCapsule_IsValid` or :c:func:" -"`PyErr_Occurred` to disambiguate." +"return code somewhat ambiguous; use :c:func:`PyCapsule_IsValid` " +"or :c:func:`PyErr_Occurred` to disambiguate." msgstr "" "Es legal que una cápsula tenga un nombre ``NULL``. Esto hace que un código " -"de retorno ``NULL`` sea algo ambiguo; use :c:func:`PyCapsule_IsValid` o :c:" -"func:`PyErr_Occurred` para desambiguar." +"de retorno ``NULL`` sea algo ambiguo; use :c:func:`PyCapsule_IsValid` " +"o :c:func:`PyErr_Occurred` para desambiguar." #: ../Doc/c-api/capsule.rst:103 msgid "" @@ -223,20 +224,19 @@ msgid "" msgstr "" "Determina si *capsule* es o no una cápsula válida. Una cápsula válida no es " "``NULL``, pasa :c:func:`PyCapsule_CheckExact`, tiene un puntero no ``NULL`` " -"almacenado y su nombre interno coincide con el parámetro *name*. (Consulte :" -"c:func:`PyCapsule_GetPointer` para obtener información sobre cómo se " -"comparan los nombres de las cápsulas)." +"almacenado y su nombre interno coincide con el parámetro *name*. " +"(Consulte :c:func:`PyCapsule_GetPointer` para obtener información sobre cómo " +"se comparan los nombres de las cápsulas)." #: ../Doc/c-api/capsule.rst:123 -#, fuzzy msgid "" "In other words, if :c:func:`PyCapsule_IsValid` returns a true value, calls " "to any of the accessors (any function starting with ``PyCapsule_Get``) are " "guaranteed to succeed." msgstr "" "En otras palabras, si :c:func:`PyCapsule_IsValid` retorna un valor " -"verdadero, las llamadas a cualquiera de las funciones de acceso (cualquier " -"función que comience con :c:func:`PyCapsule_Get`) tienen éxito." +"verdadero, se garantiza que las llamadas a cualquiera de las funciones de " +"acceso (cualquier función que comience con ``PyCapsule_Get``) tendrán éxito." #: ../Doc/c-api/capsule.rst:127 msgid "" @@ -282,9 +282,8 @@ msgstr "" #: ../Doc/c-api/capsule.rst:8 msgid "object" -msgstr "" +msgstr "objeto" #: ../Doc/c-api/capsule.rst:8 -#, fuzzy msgid "Capsule" -msgstr "Cápsulas" +msgstr "Cápsula" diff --git a/c-api/codec.po b/c-api/codec.po index d1bfd9d8b4..45396dbae5 100644 --- a/c-api/codec.po +++ b/c-api/codec.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2021-10-18 22:40-0300\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" +"PO-Revision-Date: 2025-04-12 00:04+0100\n" +"Last-Translator: David Spindola\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.13.0\n" +"X-Generator: Poedit 3.6\n" #: ../Doc/c-api/codec.rst:4 msgid "Codec registry and support functions" @@ -30,13 +31,12 @@ msgid "Register a new codec search function." msgstr "Registra una nueva función de búsqueda de códec." #: ../Doc/c-api/codec.rst:10 -#, fuzzy msgid "" "As side effect, this tries to load the :mod:`!encodings` package, if not yet " "done, to make sure that it is always first in the list of search functions." msgstr "" -"Como efecto secundario, intenta cargar el paquete :mod:`encodings`, si aún " -"no lo ha hecho, para asegurarse de que siempre esté primero en la lista de " +"Como efecto secundario, intenta cargar el paquete :mod:`!encodings`, si aún " +"no se ha hecho, para asegurarse de que siempre esté primero en la lista de " "funciones de búsqueda." #: ../Doc/c-api/codec.rst:15 @@ -66,8 +66,8 @@ msgstr "API de codificación genérica basada en códec." msgid "" "*object* is passed through the encoder function found for the given " "*encoding* using the error handling method defined by *errors*. *errors* " -"may be ``NULL`` to use the default method defined for the codec. Raises a :" -"exc:`LookupError` if no encoder can be found." +"may be ``NULL`` to use the default method defined for the codec. Raises " +"a :exc:`LookupError` if no encoder can be found." msgstr "" "*object* se pasa a través de la función de codificador encontrada por el " "*encoding* dado usando el método de manejo de errores definido por *errors*. " @@ -83,8 +83,8 @@ msgstr "API de decodificación basada en códec genérico." msgid "" "*object* is passed through the decoder function found for the given " "*encoding* using the error handling method defined by *errors*. *errors* " -"may be ``NULL`` to use the default method defined for the codec. Raises a :" -"exc:`LookupError` if no encoder can be found." +"may be ``NULL`` to use the default method defined for the codec. Raises " +"a :exc:`LookupError` if no encoder can be found." msgstr "" "*object* se pasa a través de la función de decodificador encontrada por el " "*encoding* dado usando el método de manejo de errores definido por *errors*. " @@ -100,14 +100,14 @@ msgstr "API de búsqueda de códec" msgid "" "In the following functions, the *encoding* string is looked up converted to " "all lower-case characters, which makes encodings looked up through this " -"mechanism effectively case-insensitive. If no codec is found, a :exc:" -"`KeyError` is set and ``NULL`` returned." +"mechanism effectively case-insensitive. If no codec is found, " +"a :exc:`KeyError` is set and ``NULL`` returned." msgstr "" "En las siguientes funciones, la cadena de caracteres *encoding* se busca " "convertida a todos los caracteres en minúscula, lo que hace que las " "codificaciones se busquen a través de este mecanismo sin distinción entre " -"mayúsculas y minúsculas. Si no se encuentra ningún códec, se establece un :" -"exc:`KeyError` y se retorna ``NULL``." +"mayúsculas y minúsculas. Si no se encuentra ningún códec, se establece " +"un :exc:`KeyError` y se retorna ``NULL``." #: ../Doc/c-api/codec.rst:55 msgid "Get an encoder function for the given *encoding*." @@ -166,9 +166,9 @@ msgstr "" #: ../Doc/c-api/codec.rst:88 msgid "" -"The callback gets a single argument, an instance of :exc:" -"`UnicodeEncodeError`, :exc:`UnicodeDecodeError` or :exc:" -"`UnicodeTranslateError` that holds information about the problematic " +"The callback gets a single argument, an instance " +"of :exc:`UnicodeEncodeError`, :exc:`UnicodeDecodeError` " +"or :exc:`UnicodeTranslateError` that holds information about the problematic " "sequence of characters or bytes and their offset in the original string " "(see :ref:`unicodeexceptions` for functions to extract this information). " "The callback must either raise the given exception, or return a two-item " @@ -176,9 +176,9 @@ msgid "" "integer giving the offset in the original string at which encoding/decoding " "should be resumed." msgstr "" -"La devolución de llamada obtiene un único argumento, una instancia de :exc:" -"`UnicodeEncodeError`, :exc:`UnicodeDecodeError` o :exc:" -"`UnicodeTranslateError` que contiene información sobre la secuencia " +"La devolución de llamada obtiene un único argumento, una instancia " +"de :exc:`UnicodeEncodeError`, :exc:`UnicodeDecodeError` " +"o :exc:`UnicodeTranslateError` que contiene información sobre la secuencia " "problemática de caracteres o bytes y su desplazamiento en la cadena original " "(consulte :ref:`unicodeexceptions` para funciones para extraer esta " "información). La devolución de llamada debe lanzar la excepción dada o " diff --git a/c-api/concrete.po b/c-api/concrete.po index fe90ed851a..a787976028 100644 --- a/c-api/concrete.po +++ b/c-api/concrete.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2020-05-09 18:24+0200\n" -"Last-Translator: \n" -"Language: es\n" +"PO-Revision-Date: 2025-01-27 08:51-0300\n" +"Last-Translator: srmorita \n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.13.0\n" +"X-Generator: Poedit 3.5\n" #: ../Doc/c-api/concrete.rst:8 msgid "Concrete Objects Layer" @@ -99,20 +100,17 @@ msgstr "Otros objetos" #: ../Doc/c-api/concrete.rst:43 ../Doc/c-api/concrete.rst:58 #: ../Doc/c-api/concrete.rst:80 -#, fuzzy msgid "object" -msgstr "Otros objetos" +msgstr "object" #: ../Doc/c-api/concrete.rst:43 -#, fuzzy msgid "numeric" -msgstr "Objetos numéricos" +msgstr "numeric" #: ../Doc/c-api/concrete.rst:58 -#, fuzzy msgid "sequence" -msgstr "Objetos de secuencia" +msgstr "sequence" #: ../Doc/c-api/concrete.rst:80 msgid "mapping" -msgstr "" +msgstr "mapping" diff --git a/c-api/conversion.po b/c-api/conversion.po index c7d3a5a401..76376b95c2 100644 --- a/c-api/conversion.po +++ b/c-api/conversion.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-11-21 16:38-0300\n" -"PO-Revision-Date: 2021-12-09 10:24+0800\n" -"Last-Translator: Rodrigo Tobar \n" -"Language: es\n" +"PO-Revision-Date: 2025-05-09 19:20+0200\n" +"Last-Translator: Carlos Mena Pérez <@carlosm00>\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.16.0\n" +"X-Generator: Poedit 3.5\n" #: ../Doc/c-api/conversion.rst:6 msgid "String conversion and formatting" @@ -64,7 +65,6 @@ msgstr "" "(*corner cases*), que las funciones del Estándar C no hacen." #: ../Doc/c-api/conversion.rst:28 -#, fuzzy msgid "" "The wrappers ensure that ``str[size-1]`` is always ``'\\0'`` upon return. " "They never write more than *size* bytes (including the trailing ``'\\0'``) " @@ -76,7 +76,9 @@ msgstr "" "Las envolturas aseguran que ``str[size-1]`` sea siempre ``'\\0'`` al " "retornar. Nunca se escriben más de *size* bytes (incluido el ``'\\0'`` del " "final) en *str*. Ambas funciones requieren que ``str != NULL``, ``size > " -"0``, ``format != NULL`` y ``size < INT_MAX``." +"0``, ``format != NULL`` y ``size < INT_MAX``. Tenga en cuenta que esto " +"significa que no hay equivalente a la expresión ``n = snprintf(NULL, " +"0, ...)`` de C99, la cual determinaría el tamaño del búfer necesario." #: ../Doc/c-api/conversion.rst:34 msgid "" @@ -129,6 +131,9 @@ msgid "" "long` value according to the given ``base``, which must be between ``2`` and " "``36`` inclusive, or be the special value ``0``." msgstr "" +"Convierte la parte inicial de la cadena de caracteres en ``str`` a un valor :" +"c:expr:`unsigned long` según la ``base`` dada, que debe estar entre ``2`` y " +"``36`` inclusive, o ser el valor especial ``0``." #: ../Doc/c-api/conversion.rst:57 msgid "" @@ -138,6 +143,11 @@ msgid "" "(inclusive). If ``ptr`` is non-``NULL`` it will contain a pointer to the " "end of the scan." msgstr "" +"Se ignoran los espacios en blanco y las mayúsculas y minúsculas. Si " +"``base`` es cero se busca un prefijo ``0b``, ``0o`` o ``0x`` para indicar la " +"base. Si no están, por defecto es ``10``. La base debe ser 0 o entre 2 y " +"36 (ambos inclusive). Si ``ptr`` no es ``NULL``, contendrá un puntero al " +"final del escaneo." #: ../Doc/c-api/conversion.rst:63 msgid "" @@ -146,10 +156,14 @@ msgid "" "macro:`!ULONG_MAX` is returned. If no conversion can be performed, ``0`` is " "returned." msgstr "" +"Si el valor convertido queda fuera del rango del tipo de retorno " +"correspondiente, se produce un error de rango (:c:data:`errno` se establece " +"en :c:macro:`!ERANGE`) y se devuelve :c:macro:`!ULONG_MAX`. Si no se puede " +"realizar la conversión, se devuelve ``0``." #: ../Doc/c-api/conversion.rst:68 msgid "See also the Unix man page :manpage:`strtoul(3)`." -msgstr "" +msgstr "Vea también el manual Unix de :manpage:`strtoul(3)`." #: ../Doc/c-api/conversion.rst:75 msgid "" @@ -157,19 +171,23 @@ msgid "" "according to the given ``base``, which must be between ``2`` and ``36`` " "inclusive, or be the special value ``0``." msgstr "" +"Convierte la parte inicial de la cadena de caracteres en ``str`` a un valor :" +"c:expr:`long` según la ``base`` dada, que debe estar entre ``2`` y ``36`` " +"inclusive, o ser el valor especial ``0``." #: ../Doc/c-api/conversion.rst:79 msgid "" "Same as :c:func:`PyOS_strtoul`, but return a :c:expr:`long` value instead " "and :c:macro:`LONG_MAX` on overflows." msgstr "" +"Igual que :c:func:`PyOS_strtoul`, pero devuelve un valor :c:expr:`long` en " +"su lugar y :c:macro:`LONG_MAX` en desbordamientos." #: ../Doc/c-api/conversion.rst:82 msgid "See also the Unix man page :manpage:`strtol(3)`." -msgstr "" +msgstr "Vea también el manual Unix de :manpage:`strtol(3)`." #: ../Doc/c-api/conversion.rst:89 -#, fuzzy msgid "" "Convert a string ``s`` to a :c:expr:`double`, raising a Python exception on " "failure. The set of accepted strings corresponds to the set of strings " @@ -177,9 +195,9 @@ msgid "" "have leading or trailing whitespace. The conversion is independent of the " "current locale." msgstr "" -"Convierte una cadena de caracteres ``s`` en un :c:type:`double`, generando " -"una excepción de Python en caso de falla. El conjunto de cadenas de " -"caracteres aceptadas corresponde al conjunto de cadenas aceptadas por el " +"Convierte una cadena de caracteres ``s`` a un valor :c:expr:`double`, " +"generando una excepción de Python en caso de fallo. El conjunto de cadenas " +"de caracteres aceptadas corresponde al conjunto de cadenas aceptadas por el " "constructor de Python :func:`float`, excepto que ``s`` no debe tener " "espacios en blanco iniciales o finales. La conversión es independiente de la " "configuración regional actual." @@ -239,12 +257,11 @@ msgstr "" "``-1.0``." #: ../Doc/c-api/conversion.rst:123 -#, fuzzy msgid "" "Convert a :c:expr:`double` *val* to a string using supplied *format_code*, " "*precision*, and *flags*." msgstr "" -"Convierte un :c:type:`double` *val* en una cadena de caracteres usando " +"Convierte un :c:expr:`double` *val* a una cadena de caracteres usando " "*format_code*, *precision* y *flags* suministrados." #: ../Doc/c-api/conversion.rst:126 @@ -315,21 +332,19 @@ msgstr "" "`PyMem_Free`." #: ../Doc/c-api/conversion.rst:157 -#, fuzzy msgid "" "Case insensitive comparison of strings. The function works almost " "identically to :c:func:`!strcmp` except that it ignores the case." msgstr "" "Comparación no sensible a mayúsculas y minúsculas en cadenas de caracteres. " -"La función se comporta casi de manera idéntica a :c:func:`strcmp`, excepto " -"que ignora el caso." +"La función se comporta casi de manera idéntica a :c:func:`!strcmp`, excepto " +"que ignora mayúsculas y minúsculas." #: ../Doc/c-api/conversion.rst:163 -#, fuzzy msgid "" "Case insensitive comparison of strings. The function works almost " "identically to :c:func:`!strncmp` except that it ignores the case." msgstr "" "Comparación no sensible a mayúsculas y minúsculas en cadenas de caracteres. " -"La función se comporta casi de manera idéntica a :c:func:`strncmp`, excepto " -"que ignora el caso." +"La función se comporta casi de manera idéntica a :c:func:`!strncmp`, excepto " +"que ignora mayúsculas y minúsculas." diff --git a/c-api/datetime.po b/c-api/datetime.po index 704a87a82d..100d1f7118 100644 --- a/c-api/datetime.po +++ b/c-api/datetime.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-11-21 16:38-0300\n" -"PO-Revision-Date: 2024-11-10 19:13-0500\n" +"PO-Revision-Date: 2025-01-26 21:27-0500\n" "Last-Translator: Meta Louis-Kosmas \n" -"Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.16.0\n" +"X-Generator: Poedit 3.5\n" #: ../Doc/c-api/datetime.rst:6 msgid "DateTime Objects" @@ -73,8 +74,7 @@ msgid "" "is the same object as :class:`datetime.date` in the Python layer." msgstr "" "Esta instancia de :c:type:`PyTypeObject` representa el *date type* de " -"Python; es el mismo objecto que que :class:`datetime.date` en la capa de " -"Python." +"Python; es el mismo objeto que :class:`datetime.date` en la capa de Python." #: ../Doc/c-api/datetime.rst:39 msgid "" @@ -82,7 +82,7 @@ msgid "" "it is the same object as :class:`datetime.datetime` in the Python layer." msgstr "" "Esta instancia de :c:type:`PyTypeObject` representa el *datetime type* de " -"Python; es el mismo objecto que que :class:`datetime.datetime` en la capa de " +"Python; es el mismo objeto que :class:`datetime.datetime` en la capa de " "Python." #: ../Doc/c-api/datetime.rst:44 @@ -91,7 +91,7 @@ msgid "" "is the same object as :class:`datetime.time` in the Python layer." msgstr "" "Esta instancia de :c:type:`PyObject` representa el *time type* de Python; es " -"el mismo objecto que que :class:`datetime.time` en la capa de Python." +"el mismo objeto que :class:`datetime.time` en la capa de Python." #: ../Doc/c-api/datetime.rst:49 msgid "" @@ -384,19 +384,17 @@ msgid "Macros for the convenience of modules implementing the DB API:" msgstr "Macros para la conveniencia de módulos que implementan la API DB:" #: ../Doc/c-api/datetime.rst:320 -#, fuzzy msgid "" "Create and return a new :class:`datetime.datetime` object given an argument " "tuple suitable for passing to :meth:`datetime.datetime.fromtimestamp`." msgstr "" "Crea y retorna un nuevo objeto :class:`datetime.datetime` dado una tupla de " -"argumentos adecuada para pasar a :meth:`datetime.datetime.fromtimestamp()`." +"argumentos adecuada para pasar a :meth:`datetime.datetime.fromtimestamp`." #: ../Doc/c-api/datetime.rst:326 -#, fuzzy msgid "" "Create and return a new :class:`datetime.date` object given an argument " "tuple suitable for passing to :meth:`datetime.date.fromtimestamp`." msgstr "" "Crea y retorna un nuevo objeto :class:`datetime.date` dado una tupla de " -"argumentos adecuada para pasar a :meth:`datetime.date.fromtimestamp()`." +"argumentos adecuada para pasar a :meth:`datetime.date.fromtimestamp`." diff --git a/c-api/iter.po b/c-api/iter.po index e00cbf2466..5ebc364693 100644 --- a/c-api/iter.po +++ b/c-api/iter.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-11-21 16:38-0300\n" -"PO-Revision-Date: 2021-08-16 13:04+0200\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" +"PO-Revision-Date: 2025-04-10 23:48+0200\n" +"Last-Translator: David Spindola\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.16.0\n" +"X-Generator: Poedit 3.6\n" #: ../Doc/c-api/iter.rst:6 msgid "Iterator Protocol" @@ -30,26 +31,25 @@ msgid "There are two functions specifically for working with iterators." msgstr "Hay dos funciones específicas para trabajar con iteradores." #: ../Doc/c-api/iter.rst:12 -#, fuzzy msgid "" -"Return non-zero if the object *o* can be safely passed to :c:func:" -"`PyIter_Next`, and ``0`` otherwise. This function always succeeds." +"Return non-zero if the object *o* can be safely passed " +"to :c:func:`PyIter_Next`, and ``0`` otherwise. This function always " +"succeeds." msgstr "" -"Retorna un valor distinto de cero si el objeto *o* admite el protocolo de " -"iterador y ``0`` en caso contrario. Esta función siempre tiene éxito." +"Retorna un valor distinto de cero si el objeto *o* puede pasarse de manera " +"segura a :c:func:`PyIter_Next`, y ``0`` en caso contrario. Esta función " +"siempre tiene éxito." #: ../Doc/c-api/iter.rst:17 -#, fuzzy msgid "" "Return non-zero if the object *o* provides the :class:`AsyncIterator` " "protocol, and ``0`` otherwise. This function always succeeds." msgstr "" -"Retorna un valor distinto de cero si el objeto 'obj' proporciona protocolos :" -"class:`AsyncIterator` y ``0`` en caso contrario. Esta función siempre tiene " -"éxito." +"Retorna un valor distinto de cero si el objeto *o* proporciona el " +"protocolo :class:`AsyncIterator`, y ``0`` en caso contrario. Esta función " +"siempre tiene éxito." #: ../Doc/c-api/iter.rst:24 -#, fuzzy msgid "" "Return the next value from the iterator *o*. The object must be an iterator " "according to :c:func:`PyIter_Check` (it is up to the caller to check this). " @@ -57,10 +57,11 @@ msgid "" "an error occurs while retrieving the item, returns ``NULL`` and passes along " "the exception." msgstr "" -"Retorna el siguiente valor de la iteración *o*. El objeto debe ser un " -"iterador (depende de quién llama comprobar esto). Si no quedan valores " -"restantes, retorna ``NULL`` sin establecer ninguna excepción. Si se produce " -"un error al recuperar el elemento, retorna ``NULL`` y pasa la excepción." +"Retorna el siguiente valor del iterador *o*. El objeto debe ser un iterador " +"según :c:func:`PyIter_Check` (depende del llamador verificar esto). Si no " +"hay valores restantes, retorna ``NULL`` sin establecer una excepción. Si " +"ocurre un error al recuperar el elemento, devuelve ``NULL`` y envía la " +"excepción." #: ../Doc/c-api/iter.rst:30 msgid "" @@ -95,13 +96,35 @@ msgid "" " /* continue doing useful work */\n" "}" msgstr "" +"PyObject *iterator = PyObject_GetIter(obj);\n" +"PyObject *item;\n" +"\n" +"if (iterator == NULL) {\n" +" /* propagate error */\n" +"}\n" +"\n" +"while ((item = PyIter_Next(iterator))) {\n" +" /* do something with item */\n" +" ...\n" +" /* release reference when done */\n" +" Py_DECREF(item);\n" +"}\n" +"\n" +"Py_DECREF(iterator);\n" +"\n" +"if (PyErr_Occurred()) {\n" +" /* propagate error */\n" +"}\n" +"else {\n" +" /* continue doing useful work */\n" +"}" #: ../Doc/c-api/iter.rst:59 msgid "" "The enum value used to represent different results of :c:func:`PyIter_Send`." msgstr "" -"El valor de enumeración utilizado para representar diferentes resultados de :" -"c:func:`PyIter_Send`." +"El valor de enumeración utilizado para representar diferentes resultados " +"de :c:func:`PyIter_Send`." #: ../Doc/c-api/iter.rst:66 msgid "Sends the *arg* value into the iterator *iter*. Returns:" diff --git a/c-api/iterator.po b/c-api/iterator.po index 0a504a7614..2338fd2848 100644 --- a/c-api/iterator.po +++ b/c-api/iterator.po @@ -11,34 +11,34 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2021-08-01 20:11+0200\n" +"PO-Revision-Date: 2025-04-12 22:30-0500\n" "Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.13.0\n" +"X-Generator: Poedit 3.6\n" #: ../Doc/c-api/iterator.rst:6 msgid "Iterator Objects" msgstr "Objetos iteradores" #: ../Doc/c-api/iterator.rst:8 -#, fuzzy msgid "" "Python provides two general-purpose iterator objects. The first, a sequence " -"iterator, works with an arbitrary sequence supporting the :meth:`~object." -"__getitem__` method. The second works with a callable object and a sentinel " -"value, calling the callable for each item in the sequence, and ending the " -"iteration when the sentinel value is returned." +"iterator, works with an arbitrary sequence supporting " +"the :meth:`~object.__getitem__` method. The second works with a callable " +"object and a sentinel value, calling the callable for each item in the " +"sequence, and ending the iteration when the sentinel value is returned." msgstr "" "Python proporciona dos objetos iteradores de propósito general. El primero, " "un iterador de secuencia, funciona con una secuencia arbitraria que admite " -"el método :meth:`__getitem__`. El segundo funciona con un objeto invocable y " -"un valor centinela, llamando al invocable para cada elemento de la secuencia " -"y finalizando la iteración cuando se retorna el valor centinela." +"el método :meth:`~object.__getitem__`. El segundo funciona con un objeto " +"invocable y un valor centinela, llamando al invocable para cada elemento en " +"la secuencia y finalizando la iteración cuando se retorna el valor centinela." #: ../Doc/c-api/iterator.rst:17 msgid "" @@ -73,9 +73,9 @@ msgid "" "Type object for iterator objects returned by :c:func:`PyCallIter_New` and " "the two-argument form of the :func:`iter` built-in function." msgstr "" -"Objeto tipo para los objetos iteradores retornados por :c:func:" -"`PyCallIter_New` y la forma de dos argumentos de la función incorporada :" -"func:`iter`." +"Objeto tipo para los objetos iteradores retornados " +"por :c:func:`PyCallIter_New` y la forma de dos argumentos de la función " +"incorporada :func:`iter`." #: ../Doc/c-api/iterator.rst:43 msgid "" diff --git a/c-api/marshal.po b/c-api/marshal.po index d1f8676833..0fb738f127 100644 --- a/c-api/marshal.po +++ b/c-api/marshal.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-11-21 16:38-0300\n" -"PO-Revision-Date: 2024-10-28 21:01-0400\n" +"PO-Revision-Date: 2025-01-26 17:22-0400\n" "Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.16.0\n" +"X-Generator: Poedit 3.5\n" #: ../Doc/c-api/marshal.rst:6 msgid "Data marshalling support" @@ -45,7 +46,6 @@ msgstr "" "Los valores numéricos se almacenan con el byte menos significativo primero." #: ../Doc/c-api/marshal.rst:16 -#, fuzzy msgid "" "The module supports two versions of the data format: version 0 is the " "historical version, version 1 shares interned strings in the file, and upon " diff --git a/c-api/memoryview.po b/c-api/memoryview.po index fa6e02a4eb..aefbdded34 100644 --- a/c-api/memoryview.po +++ b/c-api/memoryview.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-11-21 16:38-0300\n" -"PO-Revision-Date: 2024-10-29 21:14-0400\n" +"PO-Revision-Date: 2025-01-06 16:11-0400\n" "Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.16.0\n" +"X-Generator: Poedit 3.5\n" #: ../Doc/c-api/memoryview.rst:9 msgid "MemoryView objects" @@ -50,11 +51,11 @@ msgstr "" #: ../Doc/c-api/memoryview.rst:26 msgid "Flag to request a readonly buffer." -msgstr "" +msgstr "Indicador para solicitar un búfer de solo lectura." #: ../Doc/c-api/memoryview.rst:31 msgid "Flag to request a writable buffer." -msgstr "" +msgstr "Indicador para solicitar un búfer escribible." #: ../Doc/c-api/memoryview.rst:36 msgid "" @@ -89,12 +90,10 @@ msgstr "" "realiza una copia y la vista de memoria apunta a un nuevo objeto de bytes." #: ../Doc/c-api/memoryview.rst:55 -#, fuzzy msgid "" "*buffertype* can be one of :c:macro:`PyBUF_READ` or :c:macro:`PyBUF_WRITE`." msgstr "" -"Crea un objeto de vista de memoria usando *mem* como el búfer subyacente. " -"*flags* pueden ser uno de :c:macro:`PyBUF_READ` o :c:macro:`PyBUF_WRITE`." +"*buffertype* puede ser uno de :c:macro:`PyBUF_READ` o :c:macro:`PyBUF_WRITE`." #: ../Doc/c-api/memoryview.rst:60 msgid "" diff --git a/c-api/number.po b/c-api/number.po index 6ec7173f10..aa3192b079 100644 --- a/c-api/number.po +++ b/c-api/number.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-11-21 16:38-0300\n" -"PO-Revision-Date: 2024-01-27 17:24+0100\n" -"Last-Translator: Meta Louis-Kosmas \n" -"Language: es\n" +"PO-Revision-Date: 2025-02-05 17:10-0300\n" +"Last-Translator: srmorita \n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.16.0\n" +"X-Generator: Poedit 3.5\n" #: ../Doc/c-api/number.rst:6 msgid "Number Protocol" @@ -80,7 +81,6 @@ msgstr "" "``o1 // o2``." #: ../Doc/c-api/number.rst:52 -#, fuzzy msgid "" "Return a reasonable approximation for the mathematical value of *o1* divided " "by *o2*, or ``NULL`` on failure. The return value is \"approximate\" " @@ -92,7 +92,7 @@ msgstr "" "Retorna una aproximación razonable para el valor matemático de *o1* dividido " "por *o2* o ``NULL`` en caso de falla. El valor de retorno es \"aproximado\" " "porque los números binarios de punto flotante son aproximados; No es posible " -"representar todos los números reales en la base dos. Esta función puede " +"representar todos los números reales en base dos. Esta función puede " "retornar un valor de punto flotante cuando se pasan dos enteros. Es " "equivalente a la expresión de Python ``o1 / o2``." @@ -256,7 +256,6 @@ msgstr "" "o2``." #: ../Doc/c-api/number.rst:178 -#, fuzzy msgid "" "Return a reasonable approximation for the mathematical value of *o1* divided " "by *o2*, or ``NULL`` on failure. The return value is \"approximate\" " @@ -269,7 +268,7 @@ msgstr "" "Retorna una aproximación razonable para el valor matemático de *o1* dividido " "por *o2* o ``NULL`` en caso de falla. El valor de retorno es \"aproximado\" " "porque los números binarios de coma flotante son aproximados; No es posible " -"representar todos los números reales en la base dos. Esta función puede " +"representar todos los números reales en base dos. Esta función puede " "retornar un valor de punto flotante cuando se pasan dos enteros. La " "operación se realiza en su lugar (*in-place*) cuando *o1* lo admite." @@ -296,9 +295,9 @@ msgstr "" "falla. La operación se realiza en su lugar (*in-place*) cuando *o1* lo " "admite. Este es el equivalente de la declaración de Python ``o1 **= o2`` " "cuando *o3* es :c:data:`Py_None`, o una variante en su lugar (*in-place*) de " -"``pow (o1, o2, o3)`` de lo contrario. Si se ignora *o3*, pase :c:data:" -"`Py_None` en su lugar (pasar ``NULL`` para *o3* provocaría un acceso ilegal " -"a la memoria)." +"``pow (o1, o2, o3)`` de lo contrario. Si se ignora *o3*, " +"pase :c:data:`Py_None` en su lugar (pasar ``NULL`` para *o3* provocaría un " +"acceso ilegal a la memoria)." #: ../Doc/c-api/number.rst:206 msgid "" @@ -374,8 +373,8 @@ msgstr "" #: ../Doc/c-api/number.rst:257 msgid "" -"Returns the *o* converted to a Python int on success or ``NULL`` with a :exc:" -"`TypeError` exception raised on failure." +"Returns the *o* converted to a Python int on success or ``NULL`` with " +"a :exc:`TypeError` exception raised on failure." msgstr "" "Retorna el *o* convertido aun entero de Python (*int*) en caso de éxito o " "``NULL`` con una excepción :exc:`TypeError` lanzada en caso de error." @@ -393,8 +392,8 @@ msgid "" "Returns the integer *n* converted to base *base* as a string. The *base* " "argument must be one of 2, 8, 10, or 16. For base 2, 8, or 16, the returned " "string is prefixed with a base marker of ``'0b'``, ``'0o'``, or ``'0x'``, " -"respectively. If *n* is not a Python int, it is converted with :c:func:" -"`PyNumber_Index` first." +"respectively. If *n* is not a Python int, it is converted " +"with :c:func:`PyNumber_Index` first." msgstr "" "Retorna el entero *n* convertido a base *base* como una cadena de " "caracteres. El argumento *base* debe ser uno de 2, 8, 10 o 16. Para la base " @@ -403,66 +402,64 @@ msgstr "" "(*int*) Python, primero se convierte con :c:func:`PyNumber_Index`." #: ../Doc/c-api/number.rst:276 -#, fuzzy msgid "" "Returns *o* converted to a :c:type:`Py_ssize_t` value if *o* can be " "interpreted as an integer. If the call fails, an exception is raised and " "``-1`` is returned." msgstr "" -"Retorna *o* convertido a un valor ``Py_ssize_t`` si *o* puede interpretarse " -"como un entero. Si la llamada falla, se lanza una excepción y se retorna " -"``-1``." +"Retorna *o* convertido a un valor :c:type:`Py_ssize_t` si *o* puede " +"interpretarse como un entero. Si la llamada falla, se lanza una excepción y " +"se retorna ``-1``." #: ../Doc/c-api/number.rst:279 -#, fuzzy -msgid "" -"If *o* can be converted to a Python int but the attempt to convert to a :c:" -"type:`Py_ssize_t` value would raise an :exc:`OverflowError`, then the *exc* " -"argument is the type of exception that will be raised (usually :exc:" -"`IndexError` or :exc:`OverflowError`). If *exc* is ``NULL``, then the " -"exception is cleared and the value is clipped to ``PY_SSIZE_T_MIN`` for a " -"negative integer or ``PY_SSIZE_T_MAX`` for a positive integer." -msgstr "" -"Si *o* se puede convertir a un entero Python (*int*) pero el intento de " -"convertir a un valor ``Py_ssize_t`` lanzaría un :exc:`OverflowError`, " -"entonces el argumento *exc* es el tipo de excepción que se lanzará " -"(generalmente :exc:`IndexError` o :exc:`OverflowError`). Si *exc* es " -"``NULL``, la excepción se borra y el valor se recorta a ``PY_SSIZE_T_MIN`` " -"para un entero negativo o ``PY_SSIZE_T_MAX`` para un entero positivo." +msgid "" +"If *o* can be converted to a Python int but the attempt to convert to " +"a :c:type:`Py_ssize_t` value would raise an :exc:`OverflowError`, then the " +"*exc* argument is the type of exception that will be raised " +"(usually :exc:`IndexError` or :exc:`OverflowError`). If *exc* is ``NULL``, " +"then the exception is cleared and the value is clipped to ``PY_SSIZE_T_MIN`` " +"for a negative integer or ``PY_SSIZE_T_MAX`` for a positive integer." +msgstr "" +"Si *o* puede convertirse a un entero de Python pero el intento de " +"convertirlo a un valor :c:type:`Py_ssize_t` lanzaría " +"un :exc:`OverflowError`, entonces el argumento *exc* es el tipo de excepción " +"que se lanzará (normalmente :exc:`IndexError` o :exc:`OverflowError`). Si " +"*exc* es ``NULL``, la excepción se borra y el valor se recorta a " +"``PY_SSIZE_T_MIN`` para un entero negativo o a ``PY_SSIZE_T_MAX`` para un " +"entero positivo." #: ../Doc/c-api/number.rst:289 -#, fuzzy msgid "" "Returns ``1`` if *o* is an index integer (has the ``nb_index`` slot of the " "``tp_as_number`` structure filled in), and ``0`` otherwise. This function " "always succeeds." msgstr "" -"Retorna ``1`` si *o* es un entero índice (tiene el espacio ``nb_index`` de " -"la estructura ``tp_as_number`` rellenado) y ``0`` en caso contrario. Esta " -"función siempre tiene éxito." +"Retorna ``1`` si *o* es un entero índice (tiene la ranura ``nb_index`` de la " +"estructura ``tp_as_number`` rellenada), y ``0`` en caso contrario. Esta " +"función siempre finaliza con éxito." #: ../Doc/c-api/number.rst:67 ../Doc/c-api/number.rst:75 #: ../Doc/c-api/number.rst:97 ../Doc/c-api/number.rst:195 #: ../Doc/c-api/number.rst:241 ../Doc/c-api/number.rst:249 msgid "built-in function" -msgstr "" +msgstr "built-in function" #: ../Doc/c-api/number.rst:67 msgid "divmod" -msgstr "" +msgstr "divmod" #: ../Doc/c-api/number.rst:75 ../Doc/c-api/number.rst:195 msgid "pow" -msgstr "" +msgstr "pow" #: ../Doc/c-api/number.rst:97 msgid "abs" -msgstr "" +msgstr "abs" #: ../Doc/c-api/number.rst:241 msgid "int" -msgstr "" +msgstr "int" #: ../Doc/c-api/number.rst:249 msgid "float" -msgstr "" +msgstr "float" diff --git a/c-api/perfmaps.po b/c-api/perfmaps.po index 233c0924f9..1bfd599da0 100644 --- a/c-api/perfmaps.po +++ b/c-api/perfmaps.po @@ -10,53 +10,74 @@ msgstr "" "Project-Id-Version: Python en Español 3.12\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-11-21 16:38-0300\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language: es\n" +"PO-Revision-Date: 2025-01-31 10:04-0300\n" +"Last-Translator: srmorita \n" "Language-Team: es \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.16.0\n" +"X-Generator: Poedit 3.5\n" #: ../Doc/c-api/perfmaps.rst:6 msgid "Support for Perf Maps" -msgstr "" +msgstr "Soporte para Mapeo Perf" #: ../Doc/c-api/perfmaps.rst:8 msgid "" "On supported platforms (as of this writing, only Linux), the runtime can " "take advantage of *perf map files* to make Python functions visible to an " -"external profiling tool (such as `perf `_). A running process may create a file in the ``/tmp`` " +"external profiling tool (such as `perf `_). A running process may create a file in the ``/tmp`` " "directory, which contains entries that can map a section of executable code " "to a name. This interface is described in the `documentation of the Linux " -"Perf tool `_." +"Perf tool `_." msgstr "" +"En las plataformas soportadas (en el momento de escribir esto, sólo Linux), " +"el tiempo de ejecución puede aprovechar *perf map files* para hacer que las " +"funciones de Python sean visibles para una herramienta externa de perfiles " +"(como `perf `_). Un " +"proceso en ejecución puede crear un fichero en el directorio ``/tmp``, que " +"contiene entradas que pueden asignar una sección de código ejecutable a un " +"nombre. Esta interfaz se describe en la `documentación de la herramienta " +"Perf de Linux `_." #: ../Doc/c-api/perfmaps.rst:16 msgid "" "In Python, these helper APIs can be used by libraries and features that rely " "on generating machine code on the fly." msgstr "" +"En Python, estas API auxiliares pueden ser utilizadas por bibliotecas y " +"funciones que dependen de la generación de código de máquina sobre la marcha." #: ../Doc/c-api/perfmaps.rst:19 msgid "" "Note that holding the Global Interpreter Lock (GIL) is not required for " "these APIs." msgstr "" +"Tenga en cuenta que para estas APIs no es necesario mantener el Bloqueo " +"Global del Intérprete (GIL)." #: ../Doc/c-api/perfmaps.rst:23 msgid "" "Open the ``/tmp/perf-$pid.map`` file, unless it's already opened, and create " "a lock to ensure thread-safe writes to the file (provided the writes are " "done through :c:func:`PyUnstable_WritePerfMapEntry`). Normally, there's no " -"need to call this explicitly; just use :c:func:" -"`PyUnstable_WritePerfMapEntry` and it will initialize the state on first " -"call." +"need to call this explicitly; just " +"use :c:func:`PyUnstable_WritePerfMapEntry` and it will initialize the state " +"on first call." msgstr "" +"Abre el archivo ``/tmp/perf-$pid.map``, a menos que ya esté abierto, y crea " +"un bloqueo para garantizar escrituras seguras para hilos en el archivo " +"(siempre que las escrituras se realicen " +"mediante :c:func:`PyUnstable_WritePerfMapEntry`). Normalmente, no es " +"necesario llamar a esto explícitamente; solo " +"use :c:func:`PyUnstable_WritePerfMapEntry` e inicializará el estado en la " +"primera llamada." #: ../Doc/c-api/perfmaps.rst:29 msgid "" @@ -64,18 +85,26 @@ msgid "" "file, or ``-2`` on failure to create a lock. Check ``errno`` for more " "information about the cause of a failure." msgstr "" +"Retorna ``0`` en caso de éxito, ``-1`` en caso de fallo al crear/abrir el " +"fichero perf map, o ``-2`` en caso de fallo al crear un bloqueo. Comprueba " +"``errno`` para más información sobre la causa de un fallo." #: ../Doc/c-api/perfmaps.rst:35 msgid "" "Write one single entry to the ``/tmp/perf-$pid.map`` file. This function is " "thread safe. Here is what an example entry looks like::" msgstr "" +"Escribe una única entrada en el fichero ``/tmp/perf-$pid.map``. Esta función " +"es segura para hilos. Aquí hay un ejemplo de entrada::" +# creo que esto debe quedar igual. Es solo código fuente. #: ../Doc/c-api/perfmaps.rst:38 msgid "" "# address size name\n" "7f3529fcf759 b py::bar:/run/t.py" msgstr "" +"# address size name\n" +"7f3529fcf759 b py::bar:/run/t.py" #: ../Doc/c-api/perfmaps.rst:41 msgid "" @@ -83,6 +112,10 @@ msgid "" "if the perf map file is not already opened. Returns ``0`` on success, or the " "same error codes as :c:func:`PyUnstable_PerfMapState_Init` on failure." msgstr "" +"Llamará a :c:func:`PyUnstable_PerfMapState_Init` antes de escribir la " +"entrada, si el fichero perf map no está ya abierto. Retorna ``0`` en caso de " +"éxito, o los mismos códigos de error " +"que :c:func:`PyUnstable_PerfMapState_Init` en caso de fallo." #: ../Doc/c-api/perfmaps.rst:47 msgid "" @@ -91,3 +124,8 @@ msgid "" "general, there shouldn't be a reason to explicitly call this, except to " "handle specific scenarios such as forking." msgstr "" +"Cierra el fichero perf map abierto " +"por :c:func:`PyUnstable_PerfMapState_Init`. Esto es llamado por el propio " +"tiempo de ejecución durante el cierre del intérprete. En general, no debería " +"haber una razón para llamar explícitamente a esto, excepto para manejar " +"escenarios específicos como la bifurcación." diff --git a/c-api/refcounting.po b/c-api/refcounting.po index bac90a57c8..f3abd37805 100644 --- a/c-api/refcounting.po +++ b/c-api/refcounting.po @@ -26,18 +26,16 @@ msgid "Reference Counting" msgstr "Conteo de referencias" #: ../Doc/c-api/refcounting.rst:10 -#, fuzzy msgid "" "The functions and macros in this section are used for managing reference " "counts of Python objects." msgstr "" -"Los macros de esta sección se utilizan para administrar conteos de " -"referencia de objetos Python." +"Las funciónes y macros de esta sección se utilizan para administrar conteos " +"de referencia de objetos en Python." #: ../Doc/c-api/refcounting.rst:16 -#, fuzzy msgid "Get the reference count of the Python object *o*." -msgstr "Incrementar el recuento de referencia para el objeto *o*." +msgstr "Obtiene el recuento de referencias para el objeto de Python *o*." #: ../Doc/c-api/refcounting.rst:18 msgid "" @@ -47,46 +45,57 @@ msgid "" "number of references. Consequently, do not rely on the returned value to be " "accurate, other than a value of 0 or 1." msgstr "" +"Ten cuenta que el valor devuelto puede que no reflejar cúantas referencias " +"al objecto existen realmente. Por ejemplo, algunos objetos son :" +"term:'immortal' y tienen un refcount muy alto que no refleja el número " +"real de referencias. Por lo tanto, no confíes en que el valor devuelto sea " +"presciso, salvo cuando sea 0 o 1. " #: ../Doc/c-api/refcounting.rst:24 msgid "" "Use the :c:func:`Py_SET_REFCNT()` function to set an object reference count." msgstr "" +"Usa la función :c:func:`Py_SET_REFCNT()` para establecer la cuenta de " +"referencias de un objeto." #: ../Doc/c-api/refcounting.rst:26 msgid ":c:func:`Py_REFCNT()` is changed to the inline static function." -msgstr "" +msgstr ":c:func:`Py_REFCNT()` se convierte en una función estática en línea." #: ../Doc/c-api/refcounting.rst:29 msgid "The parameter type is no longer :c:expr:`const PyObject*`." -msgstr "" +msgstr "El tipo de parámetro ya no es :c:expr:`const PyObject*`." #: ../Doc/c-api/refcounting.rst:35 -#, fuzzy msgid "Set the object *o* reference counter to *refcnt*." -msgstr "Incrementar el recuento de referencia para el objeto *o*." +msgstr "Establece la cuenta de referencias del objeto *o* al valor *refcnt*." #: ../Doc/c-api/refcounting.rst:37 msgid "" "On :ref:`Python build with Free Threading `, if " "*refcnt* is larger than ``UINT32_MAX``, the object is made :term:`immortal`." msgstr "" +"En :ref:`compilación de Python con Free Threading `, " +"si *refcnt* es mas mayor que ``UINT32_MAX``, el objeto se convierte en :term:" +"`immortal`." #: ../Doc/c-api/refcounting.rst:40 ../Doc/c-api/refcounting.rst:53 #: ../Doc/c-api/refcounting.rst:119 msgid "This function has no effect on :term:`immortal` objects." -msgstr "" +msgstr "Esta función no afecta a los objetos :term:`immortal`." #: ../Doc/c-api/refcounting.rst:44 ../Doc/c-api/refcounting.rst:68 #: ../Doc/c-api/refcounting.rst:147 msgid "Immortal objects are not modified." -msgstr "" +msgstr "Los objetos inmortales no se modifican." #: ../Doc/c-api/refcounting.rst:50 msgid "" "Indicate taking a new :term:`strong reference` to object *o*, indicating it " "is in use and should not be destroyed." msgstr "" +"Indica tomar una nueva :term:`strong reference` al objeto *o*, lo que indica " +"que está en uso y no debe ser destruido. " #: ../Doc/c-api/refcounting.rst:55 msgid "" @@ -101,6 +110,8 @@ msgstr "" #: ../Doc/c-api/refcounting.rst:59 msgid "When done using the object, release is by calling :c:func:`Py_DECREF`." msgstr "" +"Cuando se termine de usar el objeto, se libera llamando a :c:func:" +"`Py_DECREF`." #: ../Doc/c-api/refcounting.rst:61 msgid "" @@ -117,33 +128,32 @@ msgid "" msgstr "" #: ../Doc/c-api/refcounting.rst:74 -#, fuzzy msgid "" "Similar to :c:func:`Py_INCREF`, but the object *o* can be ``NULL``, in which " "case this has no effect." -msgstr "Similar a :c:func:`Py_NewRef`, pero el objeto *o* puede ser NULL." +msgstr "" +"Similar a :c:func:`Py_INCREF`, pero el objeto *o* puede ser ``NULL``, en " +"cuyo caso esto no tiene efecto." #: ../Doc/c-api/refcounting.rst:77 msgid "See also :c:func:`Py_XNewRef`." msgstr "Ver también :c:func:`Py_XNewRef`." #: ../Doc/c-api/refcounting.rst:82 -#, fuzzy msgid "" "Create a new :term:`strong reference` to an object: call :c:func:`Py_INCREF` " "on *o* and return the object *o*." msgstr "" -"Crea un nuevo :term:`strong reference` a un objeto: incrementa el recuento " -"de referencias del objeto *o* y retorna el objeto *o*." +"Crea una nueva :term:`strong reference` a un objeto: llama a :c:func:" +"`Py_INCREF` sobre *o* y devuelve el objeto *o*." #: ../Doc/c-api/refcounting.rst:85 -#, fuzzy msgid "" "When the :term:`strong reference` is no longer needed, :c:func:`Py_DECREF` " "should be called on it to release the reference." msgstr "" -"Cuando el :term:`strong reference` ya no sea necesario :c:func:`Py_DECREF` " -"debe ser llamado para disminuir el recuento de referencias del objeto." +"Cuando la :term:`strong reference` ya no sea necesaria, se debe llamar a :c:" +"func:`Py_DECREF` para disminuir el recuento de referencias del objeto." #: ../Doc/c-api/refcounting.rst:88 msgid "" @@ -184,23 +194,22 @@ msgid "If the object *o* is ``NULL``, the function just returns ``NULL``." msgstr "Si el objeto *o* es ``NULL``, la función solo retorna ``NULL``." #: ../Doc/c-api/refcounting.rst:116 -#, fuzzy msgid "" "Release a :term:`strong reference` to object *o*, indicating the reference " "is no longer used." msgstr "" -"Crea un nuevo :term:`strong reference` a un objeto: incrementa el recuento " -"de referencias del objeto *o* y retorna el objeto *o*." +"Libera una :term:`strong reference` al objeto *o*, indicando que la " +"referencia ya no se usa." #: ../Doc/c-api/refcounting.rst:121 -#, fuzzy msgid "" "Once the last :term:`strong reference` is released (i.e. the object's " "reference count reaches 0), the object's type's deallocation function (which " "must not be ``NULL``) is invoked." msgstr "" -"Si el recuento de referencias llega a cero, se invoca la función de " -"desasignación del tipo de objeto (que no debe ser ``NULL``)." +"Una vez que la última :term:`strong reference` sea liberada (por ejemplo, " +"cuando la cuenta de referencias del objeto llegue a 0), se invoca la función " +"de desasignación del tipo de objeto (la cual no debe ser ``NULL``)." #: ../Doc/c-api/refcounting.rst:126 msgid "" @@ -225,7 +234,6 @@ msgid "" msgstr "" #: ../Doc/c-api/refcounting.rst:138 -#, fuzzy msgid "" "The deallocation function can cause arbitrary Python code to be invoked (e." "g. when a class instance with a :meth:`~object.__del__` method is " @@ -238,15 +246,15 @@ msgid "" "call :c:func:`Py_DECREF` for the temporary variable." msgstr "" "La función de desasignación puede hacer que se invoque un código arbitrario " -"de Python (por ejemplo, cuando se desasigna una instancia de clase con un " -"método :meth:`__del__`). Si bien las excepciones en dicho código no se " -"propagan, el código ejecutado tiene acceso libre a todas las variables " +"de Python (por ejemplo, cuando se desasigna una instancia de clase con el " +"método :meth:`~object.__del__`). Mientras las excepciones en dicho código no sean " +"propagadas, el código ejecutado tendrá acceso libre a todas las variables " "globales de Python. Esto significa que cualquier objeto al que se pueda " -"acceder desde una variable global debe estar en un estado coherente antes de " -"invocar :c:func:`Py_DECREF`. Por ejemplo, el código para eliminar un objeto " -"de una lista debe copiar una referencia al objeto eliminado en una variable " -"temporal, actualizar la estructura de datos de la lista y luego llamar a :c:" -"func:`Py_DECREF` para la variable temporal." +"acceder desde una variable global debería estar en un estado coherente antes " +"de invocar a :c:func:`Py_DECREF`. Por ejemplo, el código para eliminar un " +"objeto de una lista debe copiar una referencia al objeto eliminado en una " +"variable temporal, actualizar la estructura de datos de la lista y luego " +"llamar a :c:func:`Py_DECREF` para la variable temporal." #: ../Doc/c-api/refcounting.rst:153 msgid "" @@ -254,9 +262,11 @@ msgid "" "case this has no effect. The same warning from :c:func:`Py_DECREF` applies " "here as well." msgstr "" +"Similar a :c:func:`Py_DECREF`, pero el objeto *o* puede ser ``NULL``, en " +"cuyo caso esto no tendría efecto alguno. El mismo aviso de :c:func:" +"`Py_DECREF` aplica aqui también." #: ../Doc/c-api/refcounting.rst:160 -#, fuzzy msgid "" "Release a :term:`strong reference` for object *o*. The object may be " "``NULL``, in which case the macro has no effect; otherwise the effect is the " @@ -265,60 +275,60 @@ msgid "" "to the object passed because the macro carefully uses a temporary variable " "and sets the argument to ``NULL`` before releasing the reference." msgstr "" -"Disminuye el conteo de referencia para el objeto *o*. El objeto puede ser " +"Libera una :term:`strong reference` del objeto *o*. El objeto puede ser " "``NULL``, en cuyo caso el macro no tiene efecto; de lo contrario, el efecto " -"es el mismo que para :c:func:`Py_DECREF`, excepto que el argumento también " -"se establece en ``NULL``. La advertencia para :c:func:`Py_DECREF` no se " -"aplica con respecto al objeto pasado porque el macro usa cuidadosamente una " -"variable temporal y establece el argumento en ``NULL`` antes de disminuir su " -"conteo de referencia." +"es el mismo que el de :c:func:`Py_DECREF`, excepto que el argumento también " +"se establece en ``NULL``. La advertencia de :c:func:`Py_DECREF` no se aplica " +"en este caso, ya que el macro usa cuidadosamente una variable temporal y " +"asigna ``NULL`` al algumento antes de luberar la referencia " #: ../Doc/c-api/refcounting.rst:168 -#, fuzzy msgid "" "It is a good idea to use this macro whenever releasing a reference to an " "object that might be traversed during garbage collection." msgstr "" -"Es una buena idea usar este macro siempre que disminuya el conteo de " -"referencia de un objeto que pueda atravesarse durante la recolección de " -"basura." +"Es buena idea usar este macro al liberar una referencia de un objeto que " +"podría ser recorrido durante la recolección de basura." #: ../Doc/c-api/refcounting.rst:171 msgid "" "The macro argument is now only evaluated once. If the argument has side " "effects, these are no longer duplicated." msgstr "" +"Ahora, el macro argumento solo se evalua una vez. Si el argumento tiene " +"efectos secundarios, estos ya no se duplican." #: ../Doc/c-api/refcounting.rst:178 -#, fuzzy msgid "" "Indicate taking a new :term:`strong reference` to object *o*. A function " "version of :c:func:`Py_XINCREF`. It can be used for runtime dynamic " "embedding of Python." msgstr "" -"Incrementa el conteo de referencias para objeto *o*. Una versión de la " -"función :c:func:`Py_XINCREF`. Puede utilizarse para la integración dinámica " -"en tiempo de ejecución de Python." +"Indica la toma de una nueva :term:`strong reference` al objeto *o*. Es una " +"versión en forma de función de :c:func:`Py_XINCREF`. Puede utilizarse para " +"la integración dinámica de Python en tiempo de ejecución." #: ../Doc/c-api/refcounting.rst:185 -#, fuzzy msgid "" "Release a :term:`strong reference` to object *o*. A function version of :c:" "func:`Py_XDECREF`. It can be used for runtime dynamic embedding of Python." msgstr "" -"Disminuye el conteo de referencias del objeto *o*. Una versión de la " -"función :c:func:`Py_XDECREF`. Puede utilizarse para la integración dinámica " -"en tiempo de ejecución de Python." +"Libera una :term:`strong reference` al objeto *o*. Una versión en forma de " +"función de :c:func:`Py_XDECREF`. Puede utilizarse para la integración " +"dinámica de Python en tiempo de ejecución." #: ../Doc/c-api/refcounting.rst:192 msgid "" "Macro safely releasing a :term:`strong reference` to object *dst* and " "setting *dst* to *src*." msgstr "" +"Un macro que libera de forma segura un :term:`strong reference` al objeto " +"*dst* y establece *dst* al valor *src*." #: ../Doc/c-api/refcounting.rst:195 msgid "As in case of :c:func:`Py_CLEAR`, \"the obvious\" code can be deadly::" msgstr "" +"Como en el caso de :c:func:`Py_CLEAR`, el codigo \"obvio\" puede ser mortal::" #: ../Doc/c-api/refcounting.rst:197 msgid "" @@ -328,7 +338,7 @@ msgstr "" #: ../Doc/c-api/refcounting.rst:200 msgid "The safe way is::" -msgstr "" +msgstr "La forma segura es::" #: ../Doc/c-api/refcounting.rst:202 msgid "Py_SETREF(dst, src);" @@ -340,15 +350,23 @@ msgid "" "old value of *dst*, so that any code triggered as a side-effect of *dst* " "getting torn down no longer believes *dst* points to a valid object." msgstr "" +"Eso termina asignando *dst* al valor *src* _antes de_ liberar la referencia " +"al valor anterior de *dst*, para que cualquier código ejecutado como efecto " +"secundario de *dst* siendo destruido ya no crea que *dst* señala a un objeto " +"válido." #: ../Doc/c-api/refcounting.rst:211 ../Doc/c-api/refcounting.rst:223 msgid "" "The macro arguments are now only evaluated once. If an argument has side " "effects, these are no longer duplicated." msgstr "" +"Los macro argumentos ahora solo se evalúan una vez. Si algún argumento tiene " +"efectos secundarios, estos ya no se duplican." #: ../Doc/c-api/refcounting.rst:218 msgid "" "Variant of :c:macro:`Py_SETREF` macro that uses :c:func:`Py_XDECREF` instead " "of :c:func:`Py_DECREF`." msgstr "" +"Un variante del macro :c:macro:`Py_SETREF` que usa :c:func:`Py_XDECREF` en " +"lugar de :c:func:`Py_DECREF`." diff --git a/c-api/reflection.po b/c-api/reflection.po index 00aac1c3c4..14714def82 100644 --- a/c-api/reflection.po +++ b/c-api/reflection.po @@ -11,44 +11,49 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-11-21 16:38-0300\n" -"PO-Revision-Date: 2021-12-09 10:32+0800\n" +"PO-Revision-Date: 2025-05-15 13:52-0500\n" "Last-Translator: Rodrigo Tobar \n" -"Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.16.0\n" +"X-Generator: Poedit 3.6\n" #: ../Doc/c-api/reflection.rst:6 msgid "Reflection" msgstr "Reflexión" #: ../Doc/c-api/reflection.rst:12 -#, fuzzy msgid "Use :c:func:`PyEval_GetFrameBuiltins` instead." -msgstr "Vea también :c:func:`PyThreadState_GetFrame`." +msgstr "Utilice :c:func:`PyEval_GetFrameBuiltins` en su lugar." #: ../Doc/c-api/reflection.rst:14 ../Doc/c-api/reflection.rst:66 msgid "" "Return a dictionary of the builtins in the current execution frame, or the " "interpreter of the thread state if no frame is currently executing." msgstr "" -"Retorna un diccionario de las construcciones en el marco de ejecución " -"actual, o el intérprete del estado del hilo si no se está ejecutando ningún " -"marco actualmente." +"Retorna un diccionario de los builtins en el marco de ejecución actual, o " +"el intérprete del estado del hilo si no hay ningún marco en ejecución " +"actualmente." #: ../Doc/c-api/reflection.rst:22 msgid "" "Use either :c:func:`PyEval_GetFrameLocals` to obtain the same behaviour as " -"calling :func:`locals` in Python code, or else call :c:func:" -"`PyFrame_GetLocals` on the result of :c:func:`PyEval_GetFrame` to access " -"the :attr:`~frame.f_locals` attribute of the currently executing frame." +"calling :func:`locals` in Python code, or else " +"call :c:func:`PyFrame_GetLocals` on the result of :c:func:`PyEval_GetFrame` " +"to access the :attr:`~frame.f_locals` attribute of the currently executing " +"frame." msgstr "" +"Utilice :c:func:`PyEval_GetFrameLocals` para obtener el mismo comportamiento " +"que llamando a :func:`locals` en código Python, o bien llama " +"a :c:func:`PyFrame_GetLocals` sobre el resultado " +"de :c:func:`PyEval_GetFrame` para acceder al " +"atributo :attr:`~frame.f_locals` del frame actualmente en ejecución." #: ../Doc/c-api/reflection.rst:27 -#, fuzzy msgid "" "Return a mapping providing access to the local variables in the current " "execution frame, or ``NULL`` if no frame is currently executing." @@ -61,30 +66,42 @@ msgid "" "Refer to :func:`locals` for details of the mapping returned at different " "scopes." msgstr "" +"Consulte :func:`locals` para obtener más información sobre el mapeo " +"retornado en diferentes ámbitos." #: ../Doc/c-api/reflection.rst:32 msgid "" "As this function returns a :term:`borrowed reference`, the dictionary " "returned for :term:`optimized scopes ` is cached on the " -"frame object and will remain alive as long as the frame object does. Unlike :" -"c:func:`PyEval_GetFrameLocals` and :func:`locals`, subsequent calls to this " -"function in the same frame will update the contents of the cached dictionary " -"to reflect changes in the state of the local variables rather than returning " -"a new snapshot." +"frame object and will remain alive as long as the frame object does. " +"Unlike :c:func:`PyEval_GetFrameLocals` and :func:`locals`, subsequent calls " +"to this function in the same frame will update the contents of the cached " +"dictionary to reflect changes in the state of the local variables rather " +"than returning a new snapshot." msgstr "" +"Como esta función retorna una :term:`referencia prestada`, el diccionario " +"retornado para :term:`ámbitos optimizados ` se almacena en " +"caché en el objeto marco y permanecerá vivo mientras lo haga el marco del " +"objeto. A diferencia de :c:func:`PyEval_GetFrameLocals` y :func:`locals`, " +"las llamadas posteriores a esta función en el mismo marco actualizarán el " +"contenido del diccionario en caché para reflejar los cambios en el estado de " +"las variables locales en lugar de retornar una nueva instantánea." #: ../Doc/c-api/reflection.rst:39 msgid "" -"As part of :pep:`667`, :c:func:`PyFrame_GetLocals`, :func:`locals`, and :" -"attr:`FrameType.f_locals ` no longer make use of the shared " -"cache dictionary. Refer to the :ref:`What's New entry ` for additional details." +"As part of :pep:`667`, :c:func:`PyFrame_GetLocals`, :func:`locals`, " +"and :attr:`FrameType.f_locals ` no longer make use of the " +"shared cache dictionary. Refer to the :ref:`What's New entry ` for additional details." msgstr "" +"Como parte de :pep:`667`, :c:func:`PyFrame_GetLocals`, :func:`locals`, " +"y :attr:`FrameType.f_locals ` ya no utilizan el diccionario " +"de caché compartido. Consulte la entrada :ref:`What's New ` para más detalles." #: ../Doc/c-api/reflection.rst:50 -#, fuzzy msgid "Use :c:func:`PyEval_GetFrameGlobals` instead." -msgstr "Vea también :c:func:`PyThreadState_GetFrame`." +msgstr "Utilice :c:func:`PyEval_GetFrameGlobals` en su lugar." #: ../Doc/c-api/reflection.rst:52 msgid "" @@ -107,31 +124,35 @@ msgid "See also :c:func:`PyThreadState_GetFrame`." msgstr "Vea también :c:func:`PyThreadState_GetFrame`." #: ../Doc/c-api/reflection.rst:74 -#, fuzzy msgid "" "Return a dictionary of the local variables in the current execution frame, " -"or ``NULL`` if no frame is currently executing. Equivalent to calling :func:" -"`locals` in Python code." +"or ``NULL`` if no frame is currently executing. Equivalent to " +"calling :func:`locals` in Python code." msgstr "" "Retorna un diccionario de las variables locales en el marco de ejecución " -"actual, o ``NULL`` si actualmente no se está ejecutando ningún marco." +"actual, o ``NULL`` si no se está ejecutando ningún marco. Equivale a llamar " +"a :func:`locals` en código Python." #: ../Doc/c-api/reflection.rst:78 msgid "" "To access :attr:`~frame.f_locals` on the current frame without making an " -"independent snapshot in :term:`optimized scopes `, call :c:" -"func:`PyFrame_GetLocals` on the result of :c:func:`PyEval_GetFrame`." +"independent snapshot in :term:`optimized scopes `, " +"call :c:func:`PyFrame_GetLocals` on the result of :c:func:`PyEval_GetFrame`." msgstr "" +"Para acceder a :attr:`~frame.f_locals` en el marco actual sin hacer una " +"captura independiente en :term:`ámbitos optimizados `, llame " +"a :c:func:`PyFrame_GetLocals` sobre el resultado " +"de :c:func:`PyEval_GetFrame`." #: ../Doc/c-api/reflection.rst:87 -#, fuzzy msgid "" "Return a dictionary of the global variables in the current execution frame, " -"or ``NULL`` if no frame is currently executing. Equivalent to calling :func:" -"`globals` in Python code." +"or ``NULL`` if no frame is currently executing. Equivalent to " +"calling :func:`globals` in Python code." msgstr "" -"Retorna un diccionario de las variables globales en el marco de ejecución " -"actual, o ``NULL`` si actualmente no se está ejecutando ningún marco." +"Retorna un diccionario de las variables locales en el marco de ejecución " +"actual, o ``NULL`` si no se está ejecutando ningún marco. Equivale a llamar " +"a :func:`globals` en código Python." #: ../Doc/c-api/reflection.rst:96 msgid "" @@ -145,8 +166,8 @@ msgstr "" msgid "" "Return a description string, depending on the type of *func*. Return values " "include \"()\" for functions and methods, \" constructor\", \" instance\", " -"and \" object\". Concatenated with the result of :c:func:" -"`PyEval_GetFuncName`, the result will be a description of *func*." +"and \" object\". Concatenated with the result " +"of :c:func:`PyEval_GetFuncName`, the result will be a description of *func*." msgstr "" "Retorna una cadena de caracteres de descripción, según el tipo de *func*. " "Los valores de retorno incluyen \"()\" para funciones y métodos, " diff --git a/c-api/typehints.po b/c-api/typehints.po index 82e8b82881..6b0ed950a6 100644 --- a/c-api/typehints.po +++ b/c-api/typehints.po @@ -9,15 +9,16 @@ msgstr "" "Project-Id-Version: Python en Español 3.10\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-11-21 16:38-0300\n" -"PO-Revision-Date: 2021-11-16 22:14-0600\n" -"Last-Translator: Erick G. Islas Osuna \n" -"Language: es\n" +"PO-Revision-Date: 2025-04-09 22:51+0200\n" +"Last-Translator: David Spindola\n" "Language-Team: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.16.0\n" +"X-Generator: Poedit 3.6\n" #: ../Doc/c-api/typehints.rst:6 msgid "Objects for Type Hinting" @@ -30,36 +31,35 @@ msgid "" "union>`. Only ``GenericAlias`` is exposed to C." msgstr "" "Se proporcionan varios tipos incorporados para indicaciones de tipado. " -"Actualmente existen dos tipos -- :ref:`GenericAlias ` y :" -"ref:`Union `. Solo ``GenericAlias`` es expuesto a C." +"Actualmente existen dos tipos -- :ref:`GenericAlias ` " +"y :ref:`Union `. Solo ``GenericAlias`` es expuesto a C." #: ../Doc/c-api/typehints.rst:14 -#, fuzzy msgid "" "Create a :ref:`GenericAlias ` object. Equivalent to " "calling the Python class :class:`types.GenericAlias`. The *origin* and " "*args* arguments set the ``GenericAlias``\\ 's ``__origin__`` and " -"``__args__`` attributes respectively. *origin* should be a :c:expr:" -"`PyTypeObject*`, and *args* can be a :c:expr:`PyTupleObject*` or any " -"``PyObject*``. If *args* passed is not a tuple, a 1-tuple is automatically " -"constructed and ``__args__`` is set to ``(args,)``. Minimal checking is done " -"for the arguments, so the function will succeed even if *origin* is not a " -"type. The ``GenericAlias``\\ 's ``__parameters__`` attribute is constructed " -"lazily from ``__args__``. On failure, an exception is raised and ``NULL`` " -"is returned." +"``__args__`` attributes respectively. *origin* should be " +"a :c:expr:`PyTypeObject*`, and *args* can be a :c:expr:`PyTupleObject*` or " +"any ``PyObject*``. If *args* passed is not a tuple, a 1-tuple is " +"automatically constructed and ``__args__`` is set to ``(args,)``. Minimal " +"checking is done for the arguments, so the function will succeed even if " +"*origin* is not a type. The ``GenericAlias``\\ 's ``__parameters__`` " +"attribute is constructed lazily from ``__args__``. On failure, an exception " +"is raised and ``NULL`` is returned." msgstr "" "Crea un objeto :ref:`GenericAlias `. Equivalente a " "llamar la clase de Python :class:`types.GenericAlias`. Los argumentos " -"*origin* y *args* configuran los atributos ``__origin__`` y ``__args__`` de " -"``GenericAlias`` respectivamente. *origin* debe ser un :c:type:" -"`PyTypeObject*`, y *args* puede ser un :c:type:`PyTupleObject*` o cualquier " -"``PyObject*``. Si el valor de *args* no es una tupla, un 1-tupla es " -"automáticamente construida y ``__args__`` es configurado como ``(args,)``. " -"Para los argumentos se realiza un chequeo mínimo, de esta manera la función " -"tendrá éxito incluso si *origin* no es un tipo. El atributo " -"``__parameters__`` de ``GenericAlias`` es construido de forma diferida a " -"partir de ``__args__``. Si existe una falla, se levantará una excepción y se " -"retornará ``NULL``." +"*origin* y *args* establecen los atributos ``__origin__`` y ``__args__`` de " +"``GenericAlias`` respectivamente. *origin* debe ser " +"un :c:expr:`PyTypeObject*`, y *args* puede ser un :c:expr:`PyTupleObject*` o " +"cualquier ``PyObject*``. Si *args* no es una tupla, se construye " +"automáticamente una tupla de un elemento y ``__args__`` se establece como " +"``(args,)``. Se realiza una verificación mínima para los argumentos, por lo " +"que la función tendrá éxito incluso si *origin* no es un tipo. El atributo " +"``__parameters__`` de ``GenericAlias`` se construye de manera perezosa a " +"partir de ``__args__``. En caso de falla, se levantará una excepción y " +"retorna ``NULL``." #: ../Doc/c-api/typehints.rst:28 msgid "Here's an example of how to make an extension type generic::" @@ -76,11 +76,18 @@ msgid "" " ...\n" "}" msgstr "" +"static PyMethodDef my_obj_methods[] = {\n" +" // Otros Métodos.\n" +" ...\n" +" {\"__class_getitem__\", Py_GenericAlias, METH_O|METH_CLASS, \"Ver PEP " +"585\"}\n" +" ...\n" +"\n" +"}" #: ../Doc/c-api/typehints.rst:38 -#, fuzzy msgid "The data model method :meth:`~object.__class_getitem__`." -msgstr "El método del modelo de datos :meth:`__class_getitem__`." +msgstr "El método del modelo de datos :meth:`~object.__class_getitem__`." #: ../Doc/c-api/typehints.rst:44 msgid "" diff --git a/c-api/weakref.po b/c-api/weakref.po index 8084c69ade..93e696e785 100644 --- a/c-api/weakref.po +++ b/c-api/weakref.po @@ -11,16 +11,17 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-11-21 16:38-0300\n" -"PO-Revision-Date: 2021-10-18 19:38+0200\n" -"Last-Translator: Diego Cristóbal Herreros \n" +"PO-Revision-Date: 2025-02-07 10:04-0300\n" +"Last-Translator: srmorita \n" +"Language-Team: python-doc-es (https://mail.python.org/mailman3/lists/docs-" +"es.python.org)\n" "Language: es\n" -"Language-Team: python-doc-es (https://mail.python.org/mailman3/lists/docs-es." -"python.org)\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.16.0\n" +"X-Generator: Poedit 3.5\n" #: ../Doc/c-api/weakref.rst:6 msgid "Weak Reference Objects" @@ -39,33 +40,29 @@ msgstr "" "como un proxy del objeto original tanto como pueda." #: ../Doc/c-api/weakref.rst:16 -#, fuzzy msgid "" "Return non-zero if *ob* is either a reference or proxy object. This " "function always succeeds." msgstr "" -"Retorna verdadero (true) si *ob* es una referencia o un objeto proxy. Esta " -"función siempre finaliza con éxito." +"Retorna un valor distinto de cero si *ob* es una referencia o un objeto " +"proxy. Esta función siempre finaliza con éxito." #: ../Doc/c-api/weakref.rst:22 -#, fuzzy msgid "" "Return non-zero if *ob* is a reference object. This function always " "succeeds." msgstr "" -"Retorna verdadero (true) si *ob* es un objeto de referencia. Esta función " -"siempre finaliza con éxito." +"Retorna un valor distinto de cero si *ob* es un objeto de referencia. Esta " +"función siempre finaliza con éxito." #: ../Doc/c-api/weakref.rst:27 -#, fuzzy msgid "" "Return non-zero if *ob* is a proxy object. This function always succeeds." msgstr "" -"Retorna verdadero (true) si *ob* es un objeto proxy. Esta función siempre " -"finaliza con éxito." +"Retorna un valor distinto de cero si *ob* es un objeto proxy. Esta función " +"siempre finaliza con éxito." #: ../Doc/c-api/weakref.rst:32 -#, fuzzy msgid "" "Return a weak reference object for the object *ob*. This will always return " "a new reference, but is not guaranteed to create a new object; an existing " @@ -84,10 +81,9 @@ msgstr "" "parámetro, el cual será el mismo objeto de referencia débil. *callback* " "también puede ser ``None`` o ``NULL``. Si *ob* no es un objeto que puede ser " "referido de forma débil, o si *callback* no es invocable, ``None``, o " -"``NULL``, esto retornará ``NULL`` y causará un :exc:`TypeError`." +"``NULL``, esto retornará ``NULL`` y lanzará un :exc:`TypeError`." #: ../Doc/c-api/weakref.rst:44 -#, fuzzy msgid "" "Return a weak reference proxy object for the object *ob*. This will always " "return a new reference, but is not guaranteed to create a new object; an " @@ -106,36 +102,41 @@ msgstr "" "aceptar un solo parámetro, el cual será el mismo objeto de referencia débil. " "*callback* también puede ser ``None`` o ``NULL``. Si *ob* no es un objeto " "que puede ser referido de forma débil, o si *callback* no es invocable, " -"``None``, o ``NULL``, esto retornará ``NULL`` y causará un :exc:`TypeError`." +"``None``, o ``NULL``, esto retornará ``NULL`` y lanzará un :exc:`TypeError`." #: ../Doc/c-api/weakref.rst:56 msgid "" "Get a :term:`strong reference` to the referenced object from a weak " "reference, *ref*, into *\\*pobj*." msgstr "" +"Obtiene un :term:`strong reference` al objeto referenciado desde una " +"referencia débil, *ref*, en *\\*pobj*." #: ../Doc/c-api/weakref.rst:59 msgid "" "On success, set *\\*pobj* to a new :term:`strong reference` to the " "referenced object and return 1." msgstr "" +"En caso de éxito, asigna *\\*pobj* en un nuevo :term:`strong reference` al " +"objeto referenciado y retorna 1." #: ../Doc/c-api/weakref.rst:61 msgid "If the reference is dead, set *\\*pobj* to ``NULL`` and return 0." msgstr "" +"Si la referencia está inactiva, asigna *\\*pobj* a ``NULL`` y retorna 0." #: ../Doc/c-api/weakref.rst:62 msgid "On error, raise an exception and return -1." -msgstr "" +msgstr "En caso de error, lanza una excepción y devuelve -1." #: ../Doc/c-api/weakref.rst:69 -#, fuzzy msgid "" "Return a :term:`borrowed reference` to the referenced object from a weak " "reference, *ref*. If the referent is no longer live, returns ``Py_None``." msgstr "" -"Retorna el objeto referenciado desde una referencia débil, *ref*. Si el " -"referente no está vivo, retornará :const:`Py_None`." +"Retorna un :term:`borrowed reference` del objeto referenciado desde una " +"referencia débil, *ref*. Si el referente ya no está activo, retorna " +"``Py_None``." #: ../Doc/c-api/weakref.rst:74 msgid "" @@ -146,25 +147,26 @@ msgid "" msgstr "" "Esta función retorna una referencia :term:`borrowed reference` al objeto " "referenciado. Esto significa que siempre debe llamar a :c:func:`Py_INCREF` " -"sobre el objeto, excepto cuando no pueda ser destruido antes del último uso " +"sobre el objeto excepto cuando no pueda ser destruido antes del último uso " "de la referencia prestada." #: ../Doc/c-api/weakref.rst:79 ../Doc/c-api/weakref.rst:87 msgid "Use :c:func:`PyWeakref_GetRef` instead." -msgstr "" +msgstr "Utiliza :c:func:`PyWeakref_GetRef` en su lugar." #: ../Doc/c-api/weakref.rst:85 -#, fuzzy msgid "Similar to :c:func:`PyWeakref_GetObject`, but does no error checking." msgstr "" -"Similar a :c:func:`PyWeakref_GetObject`, pero implementado como un macro que " -"no verifica errores." +"Similar a :c:func:`PyWeakref_GetObject`, pero no realiza ninguna " +"comprobación de errores." #: ../Doc/c-api/weakref.rst:93 msgid "" "This function is called by the :c:member:`~PyTypeObject.tp_dealloc` handler " "to clear weak references." msgstr "" +"Esta función es invocada por el gestor :c:member:`~PyTypeObject.tp_dealloc` " +"para limpiar referencias débiles." #: ../Doc/c-api/weakref.rst:96 msgid "" @@ -172,10 +174,14 @@ msgid "" "for those references which have one. It returns when all callbacks have been " "attempted." msgstr "" +"Esto recorre las referencias débiles de *object* e invoca retrollamadas para " +"aquellas referencias que tengan una. Retorna cuando se han intentado todas " +"las retrollamadas." #: ../Doc/c-api/weakref.rst:103 msgid "Clears the weakrefs for *object* without calling the callbacks." msgstr "" +"Borra las referencias débiles para *object* sin llamar a las retrollamadas." #: ../Doc/c-api/weakref.rst:105 msgid "" @@ -185,9 +191,19 @@ msgid "" "and call their callbacks, then the finalizer, and finally this function to " "clear any weakrefs that may have been created by the finalizer." msgstr "" +"Esta función es invocada por el gestor :c:member:`~PyTypeObject.tp_dealloc` " +"para tipos con finalizadores (i.e., :meth:`~object.__del__`). El gestor de " +"esos objetos primero llama a :c:func:`PyObject_ClearWeakRefs` para borrar " +"las referencias débiles y llamar a sus callbacks, luego al finalizador, y " +"finalmente a esta función para borrar cualquier referencia débil que pueda " +"haber sido creada por el finalizador." #: ../Doc/c-api/weakref.rst:111 msgid "" -"In most circumstances, it's more appropriate to use :c:func:" -"`PyObject_ClearWeakRefs` to clear weakrefs instead of this function." +"In most circumstances, it's more appropriate to " +"use :c:func:`PyObject_ClearWeakRefs` to clear weakrefs instead of this " +"function." msgstr "" +"En la mayoría de los casos, es más apropiado " +"utilizar :c:func:`PyObject_ClearWeakRefs` para borrar las referencias " +"débiles en lugar de esta función." diff --git a/deprecations/c-api-pending-removal-in-3.15.po b/deprecations/c-api-pending-removal-in-3.15.po index 8b11f9a0ea..b111679eed 100644 --- a/deprecations/c-api-pending-removal-in-3.15.po +++ b/deprecations/c-api-pending-removal-in-3.15.po @@ -10,74 +10,88 @@ msgstr "" "Project-Id-Version: Python en Español 3.13\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-11-21 16:38-0300\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language: es\n" +"PO-Revision-Date: 2025-01-28 11:30+0100\n" +"Last-Translator: Carlos Mena Pérez <@carlosm00>\n" "Language-Team: es \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.16.0\n" +"X-Generator: Poedit 3.5\n" #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:2 msgid "Pending Removal in Python 3.15" -msgstr "" +msgstr "Pendiente de eliminación en Python 3.15" #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:4 msgid "The bundled copy of ``libmpdecimal``." -msgstr "" +msgstr "La copia incluida de ``libmpdecimal``." #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:5 msgid "" "The :c:func:`PyImport_ImportModuleNoBlock`: Use :c:func:" "`PyImport_ImportModule` instead." msgstr "" +"La función :c:func:`PyImport_ImportModuleNoBlock`: use :c:func:" +"`PyImport_ImportModule` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:7 msgid "" ":c:func:`PyWeakref_GetObject` and :c:func:`PyWeakref_GET_OBJECT`: Use :c:" "func:`PyWeakref_GetRef` instead." msgstr "" +":c:func:`PyWeakref_GetObject` y :c:func:`PyWeakref_GET_OBJECT`: use :c:func:" +"`PyWeakref_GetRef` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:9 msgid "" ":c:type:`Py_UNICODE` type and the :c:macro:`!Py_UNICODE_WIDE` macro: Use :c:" "type:`wchar_t` instead." msgstr "" +"El tipo :c:type:`Py_UNICODE` y macro :c:macro:`!Py_UNICODE_WIDE`: use :c:" +"type:`wchar_t` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:11 msgid "Python initialization functions:" -msgstr "" +msgstr "Funciones de inicialización de Python:" #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:13 msgid "" ":c:func:`PySys_ResetWarnOptions`: Clear :data:`sys.warnoptions` and :data:`!" "warnings.filters` instead." msgstr "" +":c:func:`PySys_ResetWarnOptions`: Borre :data:`sys.warnoptions` y :data:`!" +"warnings.filters` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:15 msgid ":c:func:`Py_GetExecPrefix`: Get :data:`sys.exec_prefix` instead." msgstr "" +":c:func:`Py_GetExecPrefix`: obtenga :data:`sys.exec_prefix` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:17 msgid ":c:func:`Py_GetPath`: Get :data:`sys.path` instead." -msgstr "" +msgstr ":c:func:`Py_GetPath`: obtenga :data:`sys.path` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:19 msgid ":c:func:`Py_GetPrefix`: Get :data:`sys.prefix` instead." -msgstr "" +msgstr ":c:func:`Py_GetPrefix`: obtenga :data:`sys.prefix` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:21 msgid ":c:func:`Py_GetProgramFullPath`: Get :data:`sys.executable` instead." msgstr "" +":c:func:`Py_GetProgramFullPath`: obtenga :data:`sys.executable` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:23 msgid ":c:func:`Py_GetProgramName`: Get :data:`sys.executable` instead." msgstr "" +":c:func:`Py_GetProgramName`: obtenga :data:`sys.executable` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:25 msgid "" ":c:func:`Py_GetPythonHome`: Get :c:member:`PyConfig.home` or the :envvar:" "`PYTHONHOME` environment variable instead." msgstr "" +":c:func:`Py_GetPythonHome`: obtenga :c:member:`PyConfig.home` o la variable " +"de entorno :envvar:`PYTHONHOME` en su lugar." diff --git a/deprecations/pending-removal-in-3.14.po b/deprecations/pending-removal-in-3.14.po index b1ab292270..2b54cd1856 100644 --- a/deprecations/pending-removal-in-3.14.po +++ b/deprecations/pending-removal-in-3.14.po @@ -10,19 +10,20 @@ msgstr "" "Project-Id-Version: Python en Español 3.13\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-11-21 16:38-0300\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language: es\n" +"PO-Revision-Date: 2025-02-03 22:46+0100\n" +"Last-Translator: Carlos Mena Pérez <@carlosm00>\n" "Language-Team: es \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.16.0\n" +"X-Generator: Poedit 3.5\n" #: ../Doc/deprecations/pending-removal-in-3.14.rst:2 msgid "Pending Removal in Python 3.14" -msgstr "" +msgstr "Pendiente de eliminación en Python 3.13" #: ../Doc/deprecations/pending-removal-in-3.14.rst:4 msgid "" @@ -30,6 +31,9 @@ msgid "" "argparse.BooleanOptionalAction` are deprecated and will be removed in 3.14. " "(Contributed by Nikita Sobolev in :gh:`92248`.)" msgstr "" +":mod:`argparse`: Los parámetros de :class:`!argparse.BooleanOptionalAction`, " +"*type*, *choices*, y *metavar*, son obsoletos y serán eliminados en la " +"versión 3.14 (Contribución de Nikita Sobolev en :gh:`92248`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:9 msgid "" @@ -37,36 +41,42 @@ msgid "" "since Python 3.8, now cause a :exc:`DeprecationWarning` to be emitted at " "runtime when they are accessed or used, and will be removed in Python 3.14:" msgstr "" +":mod:`ast`: Las siguientes capacidades han quedado obsoletas en la " +"documentación desde Python 3.8, ahora hacen que se emita una excepción :exc:" +"`DeprecationWarning` en tiempo de ejecución cuando se accede a ellas o se " +"utilizan, y se eliminarán en Python 3.14:" #: ../Doc/deprecations/pending-removal-in-3.14.rst:13 msgid ":class:`!ast.Num`" -msgstr "" +msgstr ":class:`!ast.Num`" #: ../Doc/deprecations/pending-removal-in-3.14.rst:14 msgid ":class:`!ast.Str`" -msgstr "" +msgstr ":class:`!ast.Str`" #: ../Doc/deprecations/pending-removal-in-3.14.rst:15 msgid ":class:`!ast.Bytes`" -msgstr "" +msgstr ":class:`!ast.Bytes`" #: ../Doc/deprecations/pending-removal-in-3.14.rst:16 msgid ":class:`!ast.NameConstant`" -msgstr "" +msgstr ":class:`!ast.NameConstant`" #: ../Doc/deprecations/pending-removal-in-3.14.rst:17 msgid ":class:`!ast.Ellipsis`" -msgstr "" +msgstr ":class:`!ast.Ellipsis`" #: ../Doc/deprecations/pending-removal-in-3.14.rst:19 msgid "" "Use :class:`ast.Constant` instead. (Contributed by Serhiy Storchaka in :gh:" "`90953`.)" msgstr "" +"Use :class:`ast.Constant` en su lugar. (Contribución de Serhiy Storchaka en :" +"gh:`90953`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:22 msgid ":mod:`asyncio`:" -msgstr "" +msgstr ":mod:`asyncio`:" #: ../Doc/deprecations/pending-removal-in-3.14.rst:24 msgid "" @@ -75,6 +85,11 @@ msgid "" "class:`~asyncio.SafeChildWatcher` are deprecated and will be removed in " "Python 3.14. (Contributed by Kumar Aditya in :gh:`94597`.)" msgstr "" +"Las clases de observadores de procesos :class:`~asyncio." +"MultiLoopChildWatcher`, :class:`~asyncio.FastChildWatcher`, :class:`~asyncio." +"AbstractChildWatcher` y :class:`~asyncio.SafeChildWatcher` quedan obsoletos " +"y serán eliminadas en Python 3.14. (Contribución de Kumar Aditya en :gh:" +"`94597`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:30 msgid "" @@ -83,6 +98,10 @@ msgid "" "AbstractEventLoopPolicy.get_child_watcher` are deprecated and will be " "removed in Python 3.14. (Contributed by Kumar Aditya in :gh:`94597`.)" msgstr "" +":func:`asyncio.set_child_watcher`, :func:`asyncio.get_child_watcher`, :meth:" +"`asyncio.AbstractEventLoopPolicy.set_child_watcher` y :meth:`asyncio." +"AbstractEventLoopPolicy.get_child_watcher` quedan obsoletos y serán " +"eliminadas en Python 3.14. (Contribución de Kumar Aditya en :gh:`94597`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:36 msgid "" @@ -91,6 +110,10 @@ msgid "" "and it decides to create one. (Contributed by Serhiy Storchaka and Guido van " "Rossum in :gh:`100160`.)" msgstr "" +"El método :meth:`~asyncio.get_event_loop` de la política de bucle de eventos " +"predeterminada ahora emite un :exc:`DeprecationWarning` si no hay ningún " +"bucle de eventos definido actualmente y decide crear uno. (Contribución de " +"Serhiy Storchaka y Guido van Rossum en :gh:`100160`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:41 msgid "" @@ -99,44 +122,50 @@ msgid "" "typing, prefer a union, like ``bytes | bytearray``, or :class:`collections." "abc.Buffer`. (Contributed by Shantanu Jain in :gh:`91896`.)" msgstr "" +":mod:`collections.abc`: :class:`~collections.abc.ByteString` queda obsoleto. " +"Se prefiere :class:`!Sequence` o :class:`~collections.abc.Buffer`. Para uso " +"en tipificación, se prefiere una unión, como ``bytes | bytearray`` o :class:" +"`collections.abc.Buffer`. (Contribución de Shantanu Jain en :gh:`91896`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:47 msgid "" ":mod:`email`: Deprecated the *isdst* parameter in :func:`email.utils." "localtime`. (Contributed by Alan Williams in :gh:`72346`.)" msgstr "" +":mod:`email`: Se ha descontinuado el parámetro *isdst* en :func:`email.utils." +"localtime`. (Contribución de Alan Williams en :gh:`72346`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:50 msgid ":mod:`importlib.abc` deprecated classes:" -msgstr "" +msgstr "Clases obsoletas de :mod:`importlib.abc`:" #: ../Doc/deprecations/pending-removal-in-3.14.rst:52 msgid ":class:`!importlib.abc.ResourceReader`" -msgstr "" +msgstr ":class:`!importlib.abc.ResourceReader`" #: ../Doc/deprecations/pending-removal-in-3.14.rst:53 msgid ":class:`!importlib.abc.Traversable`" -msgstr "" +msgstr ":class:`!importlib.abc.Traversable`" #: ../Doc/deprecations/pending-removal-in-3.14.rst:54 msgid ":class:`!importlib.abc.TraversableResources`" -msgstr "" +msgstr ":class:`!importlib.abc.TraversableResources`" #: ../Doc/deprecations/pending-removal-in-3.14.rst:56 msgid "Use :mod:`importlib.resources.abc` classes instead:" -msgstr "" +msgstr "Use las clases :mod:`importlib.resources.abc` en su lugar:" #: ../Doc/deprecations/pending-removal-in-3.14.rst:58 msgid ":class:`importlib.resources.abc.Traversable`" -msgstr "" +msgstr ":class:`importlib.resources.abc.Traversable`" #: ../Doc/deprecations/pending-removal-in-3.14.rst:59 msgid ":class:`importlib.resources.abc.TraversableResources`" -msgstr "" +msgstr ":class:`importlib.resources.abc.TraversableResources`" #: ../Doc/deprecations/pending-removal-in-3.14.rst:61 msgid "(Contributed by Jason R. Coombs and Hugo van Kemenade in :gh:`93963`.)" -msgstr "" +msgstr "(Contribución de Jason R. Coombs y Hugo van Kemenade en :gh:`93963`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:63 msgid "" @@ -145,6 +174,11 @@ msgid "" "removed in 3.14 for a significant reduction in code volume and maintenance " "burden. (Contributed by Raymond Hettinger in :gh:`101588`.)" msgstr "" +":mod:`itertools` tenía un soporte indocumentado, ineficiente, históricamente " +"lleno de errores e inconsistente para operaciones de copia, copia profunda y " +"*pickle*. Esto se eliminará en la versión 3.14 para lograr una reducción " +"significativa en el volumen de código y la carga de mantenimiento. " +"(Contribución de Raymond Hettinger en :gh:`101588`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:69 msgid "" @@ -156,12 +190,23 @@ msgid "" "set_start_method` APIs to explicitly specify when your code *requires* " "``'fork'``. See :ref:`multiprocessing-start-methods`." msgstr "" +":mod:`multiprocessing`: El método de inicio predeterminado cambiará a uno " +"más seguro en Linux, BSDs y otras plataformas POSIX que no sean macOS donde " +"``'fork'`` es actualmente el predeterminado (:gh:`84559`). Agregar una " +"advertencia de tiempo de ejecución sobre esto se consideró demasiado " +"disruptivo, ya que no se espera que la mayoría del código tenga en cuenta " +"esto. Use las APIs :func:`~multiprocessing.get_context` o :func:" +"`~multiprocessing.set_start_method` para especificar explícitamente cuándo " +"su código *requires* ``'fork'``. Consulte :ref:`multiprocessing-start-" +"methods`." #: ../Doc/deprecations/pending-removal-in-3.14.rst:77 msgid "" ":mod:`pathlib`: :meth:`~pathlib.PurePath.is_relative_to` and :meth:`~pathlib." "PurePath.relative_to`: passing additional arguments is deprecated." msgstr "" +":mod:`pathlib`: :meth:`~pathlib.PurePath.is_relative_to` y :meth:`~pathlib." +"PurePath.relative_to`: pasar argumentos adicionales está obsoleto." #: ../Doc/deprecations/pending-removal-in-3.14.rst:81 msgid "" @@ -169,26 +214,29 @@ msgid "" "now raise :exc:`DeprecationWarning`; use :func:`importlib.util.find_spec` " "instead. (Contributed by Nikita Sobolev in :gh:`97850`.)" msgstr "" +":mod:`pkgutil`: :func:`~pkgutil.find_loader` y :func:`~pkgutil.get_loader` " +"ahora generan :exc:`DeprecationWarning`; use :func:`importlib.util." +"find_spec` en su lugar. (Contribución de Nikita Sobolev en :gh:`97850`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:86 msgid ":mod:`pty`:" -msgstr "" +msgstr ":mod:`pty`:" #: ../Doc/deprecations/pending-removal-in-3.14.rst:88 msgid "``master_open()``: use :func:`pty.openpty`." -msgstr "" +msgstr "``master_open()``: use :func:`pty.openpty`." #: ../Doc/deprecations/pending-removal-in-3.14.rst:89 msgid "``slave_open()``: use :func:`pty.openpty`." -msgstr "" +msgstr "``slave_open()``: use :func:`pty.openpty`." #: ../Doc/deprecations/pending-removal-in-3.14.rst:91 msgid ":mod:`sqlite3`:" -msgstr "" +msgstr ":mod:`sqlite3`:" #: ../Doc/deprecations/pending-removal-in-3.14.rst:93 msgid ":data:`~sqlite3.version` and :data:`~sqlite3.version_info`." -msgstr "" +msgstr ":data:`~sqlite3.version` y :data:`~sqlite3.version_info`." #: ../Doc/deprecations/pending-removal-in-3.14.rst:95 msgid "" @@ -196,12 +244,18 @@ msgid "" "ref:`named placeholders ` are used and *parameters* is " "a sequence instead of a :class:`dict`." msgstr "" +":meth:`~sqlite3.Cursor.execute` y :meth:`~sqlite3.Cursor.executemany` si se " +"utilizan :ref:`marcadores de posición con nombre ` y " +"*parameters* es una secuencia en lugar de :class:`dict`." #: ../Doc/deprecations/pending-removal-in-3.14.rst:99 msgid "" "date and datetime adapter, date and timestamp converter: see the :mod:" "`sqlite3` documentation for suggested replacement recipes." msgstr "" +"Adaptador de fecha y hora, convertidor de fecha y marca de tiempo: consulte " +"la documentación de :mod:`sqlite3` para obtener recetas de reemplazo " +"sugeridas." #: ../Doc/deprecations/pending-removal-in-3.14.rst:102 msgid "" @@ -210,12 +264,19 @@ msgid "" "but it only got a proper :exc:`DeprecationWarning` in 3.12. May be removed " "in 3.14. (Contributed by Nikita Sobolev in :gh:`101866`.)" msgstr "" +":class:`types.CodeType`: El acceso a :attr:`~codeobject.co_lnotab` quedó " +"obsoleto en :pep:`626` desde la versión 3.10, y se planeó eliminarlo en la " +"versión 3.12, pero recién se agregó un :exc:`DeprecationWarning` adecuado en " +"la versión 3.12. Es posible que se elimine en la versión 3.14. (Contribución " +"de Nikita Sobolev en :gh:`101866`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:109 msgid "" ":mod:`typing`: :class:`~typing.ByteString`, deprecated since Python 3.9, now " "causes a :exc:`DeprecationWarning` to be emitted when it is used." msgstr "" +":mod:`typing`: :class:`~typing.ByteString`, obsoleto desde Python 3.9, ahora " +"hace que se emita un :exc:`DeprecationWarning` cuando se utiliza." #: ../Doc/deprecations/pending-removal-in-3.14.rst:112 msgid "" @@ -223,3 +284,6 @@ msgid "" "intended to be a public API. (Contributed by Gregory P. Smith in :gh:" "`88168`.)" msgstr "" +":mod:`urllib`: :class:`!urllib.parse.Quoter` está obsoleto: no estaba " +"destinado a ser una API pública. (Contribución de Gregory P. Smith en :gh:" +"`88168`.)" diff --git a/deprecations/pending-removal-in-future.po b/deprecations/pending-removal-in-future.po index 4879bf68bd..042d90b43e 100644 --- a/deprecations/pending-removal-in-future.po +++ b/deprecations/pending-removal-in-future.po @@ -10,43 +10,48 @@ msgstr "" "Project-Id-Version: Python en Español 3.13\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-11-21 16:38-0300\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language: es\n" +"PO-Revision-Date: 2025-04-15 23:17+0360\n" +"Last-Translator: Carlos Mena Pérez <@carlosm00>\n" "Language-Team: es \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.16.0\n" +"X-Generator: Poedit 3.5\n" #: ../Doc/deprecations/pending-removal-in-future.rst:2 msgid "Pending Removal in Future Versions" -msgstr "" +msgstr "Pendiente de eliminación en versiones futuras" #: ../Doc/deprecations/pending-removal-in-future.rst:4 msgid "" "The following APIs will be removed in the future, although there is " "currently no date scheduled for their removal." msgstr "" +"Las siguientes APIs serán eliminadas en el futuro, aunque no hay fecha de " +"planificación exacta para ello." #: ../Doc/deprecations/pending-removal-in-future.rst:7 msgid "" ":mod:`argparse`: Nesting argument groups and nesting mutually exclusive " "groups are deprecated." msgstr "" +":mod:`argparse`: Anidar grupos de argumentos y anidar grupos mutuamente " +"excluyentes queda deprecado." #: ../Doc/deprecations/pending-removal-in-future.rst:10 msgid ":mod:`array`'s ``'u'`` format code (:gh:`57281`)" -msgstr "" +msgstr "Código de formato ``'u'`` de :mod:`array` (:gh:`57281`)" #: ../Doc/deprecations/pending-removal-in-future.rst:12 msgid ":mod:`builtins`:" -msgstr "" +msgstr ":mod:`builtins`:" #: ../Doc/deprecations/pending-removal-in-future.rst:14 msgid "``bool(NotImplemented)``." -msgstr "" +msgstr "``bool(NotImplemented)``." #: ../Doc/deprecations/pending-removal-in-future.rst:15 msgid "" @@ -54,6 +59,9 @@ msgid "" "is deprecated: use ``throw(exc)`` and ``athrow(exc)`` instead, the single " "argument signature." msgstr "" +"Generadores: las firmas ``throw(type, exc, tb)`` y ``athrow(type, exc, tb)`` " +"están obsoletas: utilice ``throw(exc)`` y ``athrow(exc)`` en su lugar, la " +"firma de argumento único." #: ../Doc/deprecations/pending-removal-in-future.rst:18 msgid "" @@ -66,6 +74,14 @@ msgid "" "keyword:`is` and :keyword:`or`. In a future release it will be changed to a " "syntax error. (:gh:`87999`)" msgstr "" +"Actualmente Python acepta literales numéricos seguidos inmediatamente de " +"palabras clave, por ejemplo, ``0in x``, ``1or x``, ``0if 1else 2``. Permite " +"expresiones confusas y ambiguas como ``[0x1for x in y]`` (que se puede " +"interpretar como ``[0x1 for x in y]`` o ``[0x1f or x in y]``). Se genera una " +"advertencia de sintaxis si el literal numérico va seguido inmediatamente de " +"una de las palabras clave :keyword:`and`, :keyword:`else`, :keyword:`for`, :" +"keyword:`if`, :keyword:`in`, :keyword:`is` y :keyword:`or`. En una versión " +"futura, se cambiará a un error de sintaxis. (:gh:`87999`)" #: ../Doc/deprecations/pending-removal-in-future.rst:26 msgid "" @@ -73,6 +89,9 @@ msgid "" "these methods will be required to return an instance of a strict subclass " "of :class:`int`." msgstr "" +"Compatibilidad con los métodos ``__index__()`` e ``__int__()`` que retornan " +"un tipo que no es int: estos métodos serán necesarios para retornar una " +"instancia de una subclase estricta de :class:`int`." #: ../Doc/deprecations/pending-removal-in-future.rst:29 msgid "" @@ -80,6 +99,9 @@ msgid "" "`float`: these methods will be required to return an instance of :class:" "`float`." msgstr "" +"Compatibilidad con el método ``__float__()`` que retorna una subclase " +"estricta de :class:`float`: será necesario que estos métodos retornen " +"una instancia de :class:`float`." #: ../Doc/deprecations/pending-removal-in-future.rst:32 msgid "" @@ -87,10 +109,13 @@ msgid "" "`complex`: these methods will be required to return an instance of :class:" "`complex`." msgstr "" +"Compatibilidad con el método ``__complex__()`` que retorna una subclase " +"estricta de :class:`complex`: será necesario que estos métodos retornen una " +"instancia de :class:`complex`." #: ../Doc/deprecations/pending-removal-in-future.rst:35 msgid "Delegation of ``int()`` to ``__trunc__()`` method." -msgstr "" +msgstr "Delegación del método ``int()`` al ``__trunc__()``." #: ../Doc/deprecations/pending-removal-in-future.rst:36 msgid "" @@ -99,6 +124,9 @@ msgid "" "single positional argument. (Contributed by Serhiy Storchaka in :gh:" "`109218`.)" msgstr "" +"Ahora está obsoleto el paso de un número complejo como argumento *real* o " +"*imag* en el constructor :func:`complex`; solo debe pasarse como un único " +"argumento posicional. (Contribución de Serhiy Storchaka en :gh:`109218`.)" #: ../Doc/deprecations/pending-removal-in-future.rst:41 msgid "" @@ -106,81 +134,99 @@ msgid "" "are deprecated and replaced by :data:`calendar.JANUARY` and :data:`calendar." "FEBRUARY`. (Contributed by Prince Roshan in :gh:`103636`.)" msgstr "" +":mod:`calendar`: Las constantes ``calendar.January`` y ``calendar.February`` " +"han quedado obsoletas y han sido reemplazadas por :data:`calendar.JANUARY` " +"y :data:`calendar.FEBRUARY`. (Contribución de Prince Roshan en :gh:`103636`.)" #: ../Doc/deprecations/pending-removal-in-future.rst:46 msgid "" ":attr:`codeobject.co_lnotab`: use the :meth:`codeobject.co_lines` method " "instead." msgstr "" +":attr:`codeobject.co_lnotab`: use el método :meth:`codeobject.co_lines` en " +"su lugar." #: ../Doc/deprecations/pending-removal-in-future.rst:49 msgid ":mod:`datetime`:" -msgstr "" +msgstr ":mod:`datetime`:" #: ../Doc/deprecations/pending-removal-in-future.rst:51 msgid "" ":meth:`~datetime.datetime.utcnow`: use ``datetime.datetime.now(tz=datetime." "UTC)``." msgstr "" +":meth:`~datetime.datetime.utcnow`: use ``datetime.datetime.now(tz=datetime." +"UTC)``." #: ../Doc/deprecations/pending-removal-in-future.rst:53 msgid "" ":meth:`~datetime.datetime.utcfromtimestamp`: use ``datetime.datetime." "fromtimestamp(timestamp, tz=datetime.UTC)``." msgstr "" +":meth:`~datetime.datetime.utcfromtimestamp`: use ``datetime.datetime." +"fromtimestamp(timestamp, tz=datetime.UTC)``." #: ../Doc/deprecations/pending-removal-in-future.rst:56 msgid ":mod:`gettext`: Plural value must be an integer." -msgstr "" +msgstr ":mod:`gettext`: El valor plural tiene que ser un entero." #: ../Doc/deprecations/pending-removal-in-future.rst:58 msgid ":mod:`importlib`:" -msgstr "" +msgstr ":mod:`importlib`:" #: ../Doc/deprecations/pending-removal-in-future.rst:60 msgid "``load_module()`` method: use ``exec_module()`` instead." -msgstr "" +msgstr "Método ``load_module()``: use ``exec_module()`` en su lugar." #: ../Doc/deprecations/pending-removal-in-future.rst:61 msgid "" ":func:`~importlib.util.cache_from_source` *debug_override* parameter is " "deprecated: use the *optimization* parameter instead." msgstr "" +"El parámetro *debug_override* de :func:`~importlib.util.cache_from_source` " +"queda obsoleto: use el parámetro *optimization* en su lugar." #: ../Doc/deprecations/pending-removal-in-future.rst:64 msgid ":mod:`importlib.metadata`:" -msgstr "" +msgstr ":mod:`importlib.metadata`:" #: ../Doc/deprecations/pending-removal-in-future.rst:66 msgid "``EntryPoints`` tuple interface." -msgstr "" +msgstr "Interfaz de tupla ``EntryPoints``." #: ../Doc/deprecations/pending-removal-in-future.rst:67 msgid "Implicit ``None`` on return values." -msgstr "" +msgstr "``None`` implícito en valores retornados." #: ../Doc/deprecations/pending-removal-in-future.rst:69 msgid "" ":mod:`logging`: the ``warn()`` method has been deprecated since Python 3.3, " "use :meth:`~logging.warning` instead." msgstr "" +":mod:`logging`: el método ``warn()`` ha quedado obsoleto desde Python 3.3, " +"use :meth:`~logging.warning` en su lugar." #: ../Doc/deprecations/pending-removal-in-future.rst:72 msgid "" ":mod:`mailbox`: Use of StringIO input and text mode is deprecated, use " "BytesIO and binary mode instead." msgstr "" +":mod:`mailbox`: El uso del modo de entrada y texto StringIO está obsoleto, " +"use BytesIO y el modo binario en su lugar." #: ../Doc/deprecations/pending-removal-in-future.rst:75 msgid "" ":mod:`os`: Calling :func:`os.register_at_fork` in multi-threaded process." msgstr "" +":mod:`os`: Llamando a :func:`os.register_at_fork` en procesos multi-hilos." #: ../Doc/deprecations/pending-removal-in-future.rst:77 msgid "" ":class:`!pydoc.ErrorDuringImport`: A tuple value for *exc_info* parameter is " "deprecated, use an exception instance." msgstr "" +":class:`!pydoc.ErrorDuringImport`: El valor de tupla para el parámetro " +"*exc_info* queda obsoleto, use una excepción en su lugar." #: ../Doc/deprecations/pending-removal-in-future.rst:80 msgid "" @@ -190,171 +236,195 @@ msgid "" "replacement strings can now only contain ASCII letters and digits and " "underscore. (Contributed by Serhiy Storchaka in :gh:`91760`.)" msgstr "" +":mod:`re`: Ahora se aplican reglas más estrictas para las referencias " +"numéricas de grupos y los nombres de grupos en expresiones regulares. Ahora " +"solo se aceptan secuencias de dígitos ASCII como referencia numérica. El " +"nombre de grupo en patrones de bytes y cadenas de reemplazo ahora solo puede " +"contener letras y dígitos ASCII y guiones bajos. (Contribución de Serhiy " +"Storchaka en :gh:`91760`.)" #: ../Doc/deprecations/pending-removal-in-future.rst:87 msgid "" ":mod:`!sre_compile`, :mod:`!sre_constants` and :mod:`!sre_parse` modules." msgstr "" +"Módulos :mod:`!sre_compile`, :mod:`!sre_constants` y :mod:`!sre_parse`." #: ../Doc/deprecations/pending-removal-in-future.rst:89 msgid "" ":mod:`shutil`: :func:`~shutil.rmtree`'s *onerror* parameter is deprecated in " "Python 3.12; use the *onexc* parameter instead." msgstr "" +":mod:`shutil`: el parámetro *onerror* de :func:`~shutil.rmtree` queda " +"obsoleto en Python 3.12; use el parámetro *onexc* en su lugar." #: ../Doc/deprecations/pending-removal-in-future.rst:92 msgid ":mod:`ssl` options and protocols:" -msgstr "" +msgstr "Opciones y protocolos de :mod:`ssl`:" #: ../Doc/deprecations/pending-removal-in-future.rst:94 msgid ":class:`ssl.SSLContext` without protocol argument is deprecated." -msgstr "" +msgstr ":class:`ssl.SSLContext` sin argumento de protocolo queda obsoleto." #: ../Doc/deprecations/pending-removal-in-future.rst:95 msgid "" ":class:`ssl.SSLContext`: :meth:`~ssl.SSLContext.set_npn_protocols` and :meth:" "`!selected_npn_protocol` are deprecated: use ALPN instead." msgstr "" +":class:`ssl.SSLContext`: :meth:`~ssl.SSLContext.set_npn_protocols` y :meth:`!" +"selected_npn_protocol` quedan obsoletas: use ALPN en su lugar." #: ../Doc/deprecations/pending-removal-in-future.rst:98 msgid "``ssl.OP_NO_SSL*`` options" -msgstr "" +msgstr "Opciones ``ssl.OP_NO_SSL*``" #: ../Doc/deprecations/pending-removal-in-future.rst:99 msgid "``ssl.OP_NO_TLS*`` options" -msgstr "" +msgstr "Opciones ``ssl.OP_NO_TLS*``" #: ../Doc/deprecations/pending-removal-in-future.rst:100 msgid "``ssl.PROTOCOL_SSLv3``" -msgstr "" +msgstr "``ssl.PROTOCOL_SSLv3``" #: ../Doc/deprecations/pending-removal-in-future.rst:101 msgid "``ssl.PROTOCOL_TLS``" -msgstr "" +msgstr "``ssl.PROTOCOL_TLS``" #: ../Doc/deprecations/pending-removal-in-future.rst:102 msgid "``ssl.PROTOCOL_TLSv1``" -msgstr "" +msgstr "``ssl.PROTOCOL_TLSv1``" #: ../Doc/deprecations/pending-removal-in-future.rst:103 msgid "``ssl.PROTOCOL_TLSv1_1``" -msgstr "" +msgstr "``ssl.PROTOCOL_TLSv1_1``" #: ../Doc/deprecations/pending-removal-in-future.rst:104 msgid "``ssl.PROTOCOL_TLSv1_2``" -msgstr "" +msgstr "``ssl.PROTOCOL_TLSv1_2``" #: ../Doc/deprecations/pending-removal-in-future.rst:105 msgid "``ssl.TLSVersion.SSLv3``" -msgstr "" +msgstr "``ssl.TLSVersion.SSLv3``" #: ../Doc/deprecations/pending-removal-in-future.rst:106 msgid "``ssl.TLSVersion.TLSv1``" -msgstr "" +msgstr "``ssl.TLSVersion.TLSv1``" #: ../Doc/deprecations/pending-removal-in-future.rst:107 msgid "``ssl.TLSVersion.TLSv1_1``" -msgstr "" +msgstr "``ssl.TLSVersion.TLSv1_1``" #: ../Doc/deprecations/pending-removal-in-future.rst:109 msgid "" ":func:`sysconfig.is_python_build` *check_home* parameter is deprecated and " "ignored." msgstr "" +":func:`sysconfig.is_python_build` el parámetro *check_home* es obsoleto e " +"ignorado." #: ../Doc/deprecations/pending-removal-in-future.rst:112 msgid ":mod:`threading` methods:" -msgstr "" +msgstr "Métodos de :mod:`threading`:" #: ../Doc/deprecations/pending-removal-in-future.rst:114 msgid "" ":meth:`!threading.Condition.notifyAll`: use :meth:`~threading.Condition." "notify_all`." msgstr "" +":meth:`!threading.Condition.notifyAll`: use :meth:`~threading.Condition." +"notify_all`." #: ../Doc/deprecations/pending-removal-in-future.rst:115 msgid ":meth:`!threading.Event.isSet`: use :meth:`~threading.Event.is_set`." -msgstr "" +msgstr ":meth:`!threading.Event.isSet`: use :meth:`~threading.Event.is_set`." #: ../Doc/deprecations/pending-removal-in-future.rst:116 msgid "" ":meth:`!threading.Thread.isDaemon`, :meth:`threading.Thread.setDaemon`: use :" "attr:`threading.Thread.daemon` attribute." msgstr "" +":meth:`!threading.Thread.isDaemon`, :meth:`threading.Thread.setDaemon`: use " +"el atributo :attr:`threading.Thread.daemon`." #: ../Doc/deprecations/pending-removal-in-future.rst:118 msgid "" ":meth:`!threading.Thread.getName`, :meth:`threading.Thread.setName`: use :" "attr:`threading.Thread.name` attribute." msgstr "" +":meth:`!threading.Thread.getName`, :meth:`threading.Thread.setName`: use el " +"atributo :attr:`threading.Thread.name`." #: ../Doc/deprecations/pending-removal-in-future.rst:120 msgid ":meth:`!threading.currentThread`: use :meth:`threading.current_thread`." msgstr "" +":meth:`!threading.currentThread`: use :meth:`threading.current_thread`." #: ../Doc/deprecations/pending-removal-in-future.rst:121 msgid ":meth:`!threading.activeCount`: use :meth:`threading.active_count`." -msgstr "" +msgstr ":meth:`!threading.activeCount`: use :meth:`threading.active_count`." #: ../Doc/deprecations/pending-removal-in-future.rst:123 msgid ":class:`typing.Text` (:gh:`92332`)." -msgstr "" +msgstr ":class:`typing.Text` (:gh:`92332`)." #: ../Doc/deprecations/pending-removal-in-future.rst:125 msgid "" ":class:`unittest.IsolatedAsyncioTestCase`: it is deprecated to return a " "value that is not ``None`` from a test case." msgstr "" +":class:`unittest.IsolatedAsyncioTestCase`: queda deprecado retornar un valor " +"que no sea ``None`` en un caso de prueba." #: ../Doc/deprecations/pending-removal-in-future.rst:128 msgid "" ":mod:`urllib.parse` deprecated functions: :func:`~urllib.parse.urlparse` " "instead" msgstr "" +"Funciones deprecadas de :mod:`urllib.parse`: use :func:`~urllib.parse." +"urlparse` en su lugar" #: ../Doc/deprecations/pending-removal-in-future.rst:130 msgid "``splitattr()``" -msgstr "" +msgstr "``splitattr()``" #: ../Doc/deprecations/pending-removal-in-future.rst:131 msgid "``splithost()``" -msgstr "" +msgstr "``splithost()``" #: ../Doc/deprecations/pending-removal-in-future.rst:132 msgid "``splitnport()``" -msgstr "" +msgstr "``splitnport()``" #: ../Doc/deprecations/pending-removal-in-future.rst:133 msgid "``splitpasswd()``" -msgstr "" +msgstr "``splitpasswd()``" #: ../Doc/deprecations/pending-removal-in-future.rst:134 msgid "``splitport()``" -msgstr "" +msgstr "``splitport()``" #: ../Doc/deprecations/pending-removal-in-future.rst:135 msgid "``splitquery()``" -msgstr "" +msgstr "``splitquery()``" #: ../Doc/deprecations/pending-removal-in-future.rst:136 msgid "``splittag()``" -msgstr "" +msgstr "``splittag()``" #: ../Doc/deprecations/pending-removal-in-future.rst:137 msgid "``splittype()``" -msgstr "" +msgstr "``splittype()``" #: ../Doc/deprecations/pending-removal-in-future.rst:138 msgid "``splituser()``" -msgstr "" +msgstr "``splituser()``" #: ../Doc/deprecations/pending-removal-in-future.rst:139 msgid "``splitvalue()``" -msgstr "" +msgstr "``splitvalue()``" #: ../Doc/deprecations/pending-removal-in-future.rst:140 msgid "``to_bytes()``" -msgstr "" +msgstr "``to_bytes()``" #: ../Doc/deprecations/pending-removal-in-future.rst:142 msgid "" @@ -362,12 +432,18 @@ msgid "" "`~urllib.request.FancyURLopener` style of invoking requests is deprecated. " "Use newer :func:`~urllib.request.urlopen` functions and methods." msgstr "" +":mod:`urllib.request`: los estilos :class:`~urllib.request.URLopener` y :" +"class:`~urllib.request.FancyURLopener` para invocar solicitudes quedan " +"obsoletos. Use las nuevas funciones y métodos :func:`~urllib.request." +"urlopen`." #: ../Doc/deprecations/pending-removal-in-future.rst:146 msgid "" ":mod:`wsgiref`: ``SimpleHandler.stdout.write()`` should not do partial " "writes." msgstr "" +":mod:`wsgiref`: ``SimpleHandler.stdout.write()`` no debería hacer escrituras " +"parciales." #: ../Doc/deprecations/pending-removal-in-future.rst:149 msgid "" @@ -376,9 +452,15 @@ msgid "" "return ``True``. Prefer explicit ``len(elem)`` or ``elem is not None`` tests " "instead." msgstr "" +":mod:`xml.etree.ElementTree`: La prueba del valor de verdad de un :class:" +"`~xml.etree.ElementTree.Element` está obsoleta. En una versión futura, " +"siempre retornará ``True``. En su lugar, es preferible realizar pruebas " +"explícitas ``len(elem)`` o ``elem is not None``." #: ../Doc/deprecations/pending-removal-in-future.rst:154 msgid "" ":meth:`zipimport.zipimporter.load_module` is deprecated: use :meth:" "`~zipimport.zipimporter.exec_module` instead." msgstr "" +":meth:`zipimport.zipimporter.load_module` queda obsoleto: use :meth:" +"`~zipimport.zipimporter.exec_module` en su lugar." diff --git a/dictionaries/faq_gui.txt b/dictionaries/faq_gui.txt new file mode 100644 index 0000000000..17f90afc2b --- /dev/null +++ b/dictionaries/faq_gui.txt @@ -0,0 +1 @@ +cx diff --git a/dictionaries/reference_compound_stmts.txt b/dictionaries/reference_compound_stmts.txt index 2d866fb770..5c0b4f635d 100644 --- a/dictionaries/reference_compound_stmts.txt +++ b/dictionaries/reference_compound_stmts.txt @@ -1 +1,3 @@ -precalculado \ No newline at end of file +precalculado +anything +bound \ No newline at end of file diff --git a/faq/gui.po b/faq/gui.po index d1ee2dbdb1..24c292c525 100644 --- a/faq/gui.po +++ b/faq/gui.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-11-21 16:38-0300\n" -"PO-Revision-Date: 2021-11-09 22:34-0600\n" +"PO-Revision-Date: 2025-01-15 00:01-0400\n" "Last-Translator: Erick G. Islas Osuna \n" -"Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.16.0\n" +"X-Generator: Poedit 3.5\n" #: ../Doc/faq/gui.rst:5 msgid "Graphic User Interface FAQ" @@ -90,28 +91,28 @@ msgstr "" "y Tk." #: ../Doc/faq/gui.rst:45 -#, fuzzy msgid "" "One solution is to ship the application with the Tcl and Tk libraries, and " "point to them at run-time using the :envvar:`!TCL_LIBRARY` and :envvar:`!" "TK_LIBRARY` environment variables." msgstr "" "Una solución es enviar la aplicación con las bibliotecas Tcl y Tk, y " -"apuntarlas en tiempo de ejecución utilizando :envvar:`TCL_LIBRARY` y las " -"variables de entorno :envvar:`TK_LIBRARY`." +"apuntarlas en tiempo de ejecución utilizando las variables de entorno :" +"envvar:`!TCL_LIBRARY` y :envvar:`!TK_LIBRARY`." #: ../Doc/faq/gui.rst:49 msgid "" "Various third-party freeze libraries such as py2exe and cx_Freeze have " "handling for Tkinter applications built-in." msgstr "" +"Varias bibliotecas de terceros para congelar como py2exe y cx_Freeze tienen " +"soporte integrado para aplicaciones Tkinter." #: ../Doc/faq/gui.rst:54 msgid "Can I have Tk events handled while waiting for I/O?" msgstr "¿Puedo tener eventos Tk manejados mientras espero por *I/O*?" #: ../Doc/faq/gui.rst:56 -#, fuzzy msgid "" "On platforms other than Windows, yes, and you don't even need threads! But " "you'll have to restructure your I/O code a bit. Tk has the equivalent of " @@ -119,12 +120,12 @@ msgid "" "function which will be called from the Tk mainloop when I/O is possible on a " "file descriptor. See :ref:`tkinter-file-handlers`." msgstr "" -"En plataformas que no sean Windows, sí, ¡y ni siquiera necesita hilos! Pero " -"tendrá que reestructurar un poco su código de I/O. Tk tiene el equivalente " -"de la llamada Xt :c:func:`XtAddInput()`, que le permite registrar una " -"función de *callback* que se llamará desde el bucle principal de Tk cuando " -"sea posible I/O en un descriptor de archivo. Ver :ref:`tkinter-file-" -"handlers`." +"En plataformas que no sean Windows, sí, ¡y ni siquiera necesitas hilos! Pero " +"tendrá que reestructurar un poco su código de entrada/salida. Tk tiene un " +"equivalente de la llamada :c:func:`!XtAddInput` de Xt, que permite registrar " +"una función de retorno que será llamada desde el bucle principal de Tk " +"cuando sea posible entrada/salida en un descriptor de archivo. Ver :ref:" +"`tkinter-file-handlers`." #: ../Doc/faq/gui.rst:64 msgid "I can't get key bindings to work in Tkinter: why?" @@ -132,15 +133,14 @@ msgstr "" "No puedo hacer que los atajos de teclado funcionen en Tkinter: ¿por qué?" #: ../Doc/faq/gui.rst:66 -#, fuzzy msgid "" "An often-heard complaint is that event handlers :ref:`bound ` to events with the :meth:`!bind` method don't get handled even when " "the appropriate key is pressed." msgstr "" -"Una queja que se escucha con frecuencia es que los controladores de eventos " -"vinculados a eventos con el método :meth:`bind` no se manejan incluso cuando " -"se presiona la tecla adecuada." +"Una queja frecuente que se escucha es que los controladores de eventos :ref:" +"`vinculados ` con el método :meth:`!bind` no se " +"ejecutan incluso cuando se presiona la tecla correspondiente." #: ../Doc/faq/gui.rst:70 msgid "" diff --git a/howto/clinic.po b/howto/clinic.po index 36454d3541..c6dd4b7702 100644 --- a/howto/clinic.po +++ b/howto/clinic.po @@ -30,3 +30,6 @@ msgid "" "The Argument Clinic How-TO has been moved to the `Python Developer's Guide " "`__." msgstr "" +"La documentación de *Cómo usar Argument Clinic* ha sido trasladado a la `Guía de Desarrolladores de Python " +"`__." + diff --git a/howto/enum.po b/howto/enum.po index e22a399000..54b709d01f 100644 --- a/howto/enum.po +++ b/howto/enum.po @@ -32,7 +32,7 @@ msgid "" msgstr "" "Un :class:`Enum` es un conjunto de nombres simbólicos vinculados a valores " "únicos. Son similares a las variables globales, pero ofrecen un :func:" -"`repr()` más útil, agrupación, seguridad de tipos y algunas otras " +"`repr` más útil, agrupación, seguridad de tipos y algunas otras " "características." #: ../Doc/howto/enum.rst:15 @@ -412,7 +412,7 @@ msgid "" "yourself some work and use :func:`auto` for the values::" msgstr "" "En los casos en que los valores reales de los miembros no importen, puede " -"ahorrarse algo de trabajo y usar :func:`auto()` para los valores:" +"ahorrarse algo de trabajo y usar :func:`auto` para los valores:" #: ../Doc/howto/enum.rst:172 msgid "" diff --git a/reference/compound_stmts.po b/reference/compound_stmts.po index ac239c5b29..483661f484 100644 --- a/reference/compound_stmts.po +++ b/reference/compound_stmts.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-11-21 16:38-0300\n" -"PO-Revision-Date: 2024-11-18 15:17-0300\n" +"PO-Revision-Date: 2025-01-01 17:41-0500\n" "Last-Translator: Carlos A. Crespo \n" -"Language: es_AR\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_AR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.16.0\n" +"X-Generator: Poedit 3.5\n" #: ../Doc/reference/compound_stmts.rst:5 msgid "Compound statements" @@ -84,7 +85,7 @@ msgstr "" #: ../Doc/reference/compound_stmts.rst:37 msgid "if test1: if test2: print(x)" -msgstr "" +msgstr "if test1: if test2: print(x)" #: ../Doc/reference/compound_stmts.rst:39 msgid "" @@ -98,7 +99,7 @@ msgstr "" #: ../Doc/reference/compound_stmts.rst:43 msgid "if x < y < z: print(x); print(y); print(z)" -msgstr "" +msgstr "if x < y < z: print(x); print(y); print(z)" #: ../Doc/reference/compound_stmts.rst:45 msgid "Summarizing:" @@ -243,6 +244,8 @@ msgstr "" "sobrescribe todas las asignaciones anteriores a esas variables, incluidas " "las realizadas en la suite del bucle ``for``::" +# No se pueden traducir los commentarios hasta que pospell tenga la habilidad +# de entender líneas de código. #: ../Doc/reference/compound_stmts.rst:183 msgid "" "for i in range(10):\n" @@ -251,6 +254,11 @@ msgid "" " # because i will be overwritten with the next\n" " # index in the range" msgstr "" +"for i in range(10):\n" +" print(i)\n" +" i = 5 # this will not affect the for-loop\n" +" # because i will be overwritten with the next\n" +" # index in the range" #: ../Doc/reference/compound_stmts.rst:193 msgid "" @@ -299,7 +307,6 @@ msgid ":keyword:`!except` clause" msgstr "Cláusula :keyword:`!except`" #: ../Doc/reference/compound_stmts.rst:241 -#, fuzzy msgid "" "The :keyword:`!except` clause(s) specify one or more exception handlers. " "When no exception occurs in the :keyword:`try` clause, no exception handler " @@ -316,13 +323,7 @@ msgstr "" "controlador de excepciones. Esta búsqueda inspecciona las cláusulas :keyword:" "`!except` a su vez hasta que se encuentra una que coincida con la excepción. " "Una cláusula :keyword:`!except` sin expresión, si está presente, debe ser la " -"última; coincide con cualquier excepción. Para una cláusula :keyword:`!" -"except` con una expresión, esa expresión se evalúa y la cláusula coincide " -"con la excepción si el objeto resultante es \"compatible\" con la excepción. " -"Un objeto es compatible con una excepción si el objeto es la clase o un :" -"term:`non-virtual base class ` del objeto de excepción, " -"o una tupla que contiene un elemento que es la clase o una clase base no " -"virtual del objeto de excepción." +"última; coincide con cualquier excepción." #: ../Doc/reference/compound_stmts.rst:249 msgid "" @@ -332,6 +333,11 @@ msgid "" "the class or a :term:`non-virtual base class ` of the " "exception object, or to a tuple that contains such a class." msgstr "" +"Para una cláusula de :keyword:`!except`con una expresión, la expresión debe " +"evaluar a un tipo de excepción o un tupla de tipos de excepciones. La " +"excepción generada coincide con una cláusula :keyword:`!except` cuya " +"expresión evaluá a la clase o una :term:`clase base no virtual ` del objeto excepción, o una tupla que contiene dicha clase." #: ../Doc/reference/compound_stmts.rst:255 msgid "" @@ -393,6 +399,8 @@ msgid "" "except E as N:\n" " foo" msgstr "" +"except E as N:\n" +" foo" #: ../Doc/reference/compound_stmts.rst:284 msgid "was translated to ::" @@ -406,6 +414,11 @@ msgid "" " finally:\n" " del N" msgstr "" +"except E as N:\n" +" try:\n" +" foo\n" +" finally:\n" +" del N" #: ../Doc/reference/compound_stmts.rst:292 msgid "" @@ -457,6 +470,23 @@ msgid "" ">>> print(sys.exception())\n" "None" msgstr "" +">>> print(sys.exception())\n" +"None\n" +">>> try:\n" +"... raise TypeError\n" +"... except:\n" +"... print(repr(sys.exception()))\n" +"... try:\n" +"... raise ValueError\n" +"... except:\n" +"... print(repr(sys.exception()))\n" +"... print(repr(sys.exception()))\n" +"...\n" +"TypeError()\n" +"ValueError()\n" +"TypeError()\n" +">>> print(sys.exception())\n" +"None" #: ../Doc/reference/compound_stmts.rst:333 msgid ":keyword:`!except*` clause" @@ -464,15 +494,15 @@ msgstr "Cláusula :keyword:`!except*`" #: ../Doc/reference/compound_stmts.rst:335 msgid "" -"The :keyword:`!except*` clause(s) are used for handling :exc:" -"`ExceptionGroup`\\s. The exception type for matching is interpreted as in " -"the case of :keyword:`except`, but in the case of exception groups we can " -"have partial matches when the type matches some of the exceptions in the " -"group. This means that multiple :keyword:`!except*` clauses can execute, " -"each handling part of the exception group. Each clause executes at most once " -"and handles an exception group of all matching exceptions. Each exception " -"in the group is handled by at most one :keyword:`!except*` clause, the first " -"that matches it. ::" +"The :keyword:`!except*` clause(s) are used for handling :exc:`ExceptionGroup`" +"\\s. The exception type for matching is interpreted as in the case of :" +"keyword:`except`, but in the case of exception groups we can have partial " +"matches when the type matches some of the exceptions in the group. This " +"means that multiple :keyword:`!except*` clauses can execute, each handling " +"part of the exception group. Each clause executes at most once and handles " +"an exception group of all matching exceptions. Each exception in the group " +"is handled by at most one :keyword:`!except*` clause, the first that matches " +"it. ::" msgstr "" "La(s) cláusula(s) :keyword:`!except*` se utilizan para manejar :exc:" "`ExceptionGroup`\\s. El tipo de excepción para la coincidencia se interpreta " @@ -504,6 +534,22 @@ msgid "" " | ValueError: 1\n" " +------------------------------------" msgstr "" +">>> try:\n" +"... raise ExceptionGroup(\"eg\",\n" +"... [ValueError(1), TypeError(2), OSError(3), OSError(4)])\n" +"... except* TypeError as e:\n" +"... print(f'caught {type(e)} with nested {e.exceptions}')\n" +"... except* OSError as e:\n" +"... print(f'caught {type(e)} with nested {e.exceptions}')\n" +"...\n" +"caught with nested (TypeError(2),)\n" +"caught with nested (OSError(3), OSError(4))\n" +" + Exception Group Traceback (most recent call last):\n" +" | File \"\", line 2, in \n" +" | ExceptionGroup: eg\n" +" +-+---------------- 1 ----------------\n" +" | ValueError: 1\n" +" +------------------------------------" #: ../Doc/reference/compound_stmts.rst:363 msgid "" @@ -537,6 +583,12 @@ msgid "" "...\n" "ExceptionGroup('', (BlockingIOError()))" msgstr "" +">>> try:\n" +"... raise BlockingIOError\n" +"... except* BlockingIOError as e:\n" +"... print(repr(e))\n" +"...\n" +"ExceptionGroup('', (BlockingIOError()))" #: ../Doc/reference/compound_stmts.rst:380 msgid "" @@ -544,19 +596,19 @@ msgid "" "``except*:``. Furthermore, this expression cannot contain exception group " "types, because that would have ambiguous semantics." msgstr "" +"Una cláusula :keyword:`!except*` debe tener una expresión coincidente; no " +"puede ser ``except*:``. Además, esta expresión no puede contener tipos de " +"excepción grupal. porque esto tendría semánticas ambiguas." #: ../Doc/reference/compound_stmts.rst:384 -#, fuzzy msgid "" "It is not possible to mix :keyword:`except` and :keyword:`!except*` in the " "same :keyword:`try`. :keyword:`break`, :keyword:`continue` and :keyword:" "`return` cannot appear in an :keyword:`!except*` clause." msgstr "" -"Una cláusula :keyword:`!except*` debe tener un tipo coincidente y este tipo " -"no puede ser una subclase de :exc:`BaseExceptionGroup`. No es posible " -"mezclar :keyword:`except` y :keyword:`!except*` en el mismo :keyword:`try`. :" -"keyword:`break`, :keyword:`continue` y :keyword:`return` no pueden aparecer " -"en una cláusula :keyword:`!except*`." +"No se puede mezclar :keyword:`except` y :keyword:`!except*` en el mismo " +":keyword:`try`. :keyword:`break`, :keyword:`continue` y :keyword:`return` no " +"puede aparecer en una cláusula :keyword:`!except*`." #: ../Doc/reference/compound_stmts.rst:399 msgid ":keyword:`!else` clause" @@ -615,6 +667,14 @@ msgid "" ">>> f()\n" "42" msgstr "" +">>> def f():\n" +"... try:\n" +"... 1/0\n" +"... finally:\n" +"... return 42\n" +"...\n" +">>> f()\n" +"42" #: ../Doc/reference/compound_stmts.rst:434 msgid "" @@ -659,6 +719,14 @@ msgid "" ">>> foo()\n" "'finally'" msgstr "" +">>> def foo():\n" +"... try:\n" +"... return 'try'\n" +"... finally:\n" +"... return 'finally'\n" +"...\n" +">>> foo()\n" +"'finally'" #: ../Doc/reference/compound_stmts.rst:460 msgid "" @@ -702,35 +770,30 @@ msgstr "" "with_item`) se evalúa para obtener un administrador de contexto." #: ../Doc/reference/compound_stmts.rst:493 -#, fuzzy msgid "" "The context manager's :meth:`~object.__enter__` is loaded for later use." msgstr "" -"El administrador de contexto :meth:`__enter__` se carga para su uso " +"El administrador de contexto :meth:`~object.__enter__` se carga para su uso " "posterior." #: ../Doc/reference/compound_stmts.rst:495 -#, fuzzy msgid "The context manager's :meth:`~object.__exit__` is loaded for later use." msgstr "" -"El administrador de contexto :meth:`__exit__` se carga para su uso posterior." +"El administrador de contexto :meth:`~object.__exit__` se carga para su uso posterior." #: ../Doc/reference/compound_stmts.rst:497 -#, fuzzy msgid "The context manager's :meth:`~object.__enter__` method is invoked." -msgstr "Se invoca el método del administrador de contexto :meth:`__enter__`." +msgstr "Se invoca el método :meth:`__enter__` del administrador de contexto." #: ../Doc/reference/compound_stmts.rst:499 -#, fuzzy msgid "" "If a target was included in the :keyword:`with` statement, the return value " "from :meth:`~object.__enter__` is assigned to it." msgstr "" -"Si se incluyó el destino en la sentencia :keyword:`with`, se le asigna el " -"valor de retorno de :meth:`__enter__`." +"Si se incluyó el destino en la declaración :keyword:`with`, se le asigna el " +"valor de retorno de :meth:`~object.__enter__`." #: ../Doc/reference/compound_stmts.rst:504 -#, fuzzy msgid "" "The :keyword:`with` statement guarantees that if the :meth:`~object." "__enter__` method returns without an error, then :meth:`~object.__exit__` " @@ -738,31 +801,29 @@ msgid "" "target list, it will be treated the same as an error occurring within the " "suite would be. See step 7 below." msgstr "" -"La sentencia :keyword:`with` garantiza que si el método :meth:`__enter__` " -"regresa sin error, entonces siempre se llamará a :meth:`__exit__`. Por lo " -"tanto, si se produce un error durante la asignación a la lista de destino, " -"se tratará de la misma manera que si el error ocurriera dentro del bloque de " -"instrucciones. Vea el paso 7 a continuación." +"La declaración :keyword:`with` garantiza que si el método :meth:`~object." +"__enter__` regresa sin error, entonces siempre se llamará a :meth:`~object." +"__exit__`. Por lo tanto, si se produce un error durante la asignación a la " +"lista de destino, se trataría de la misma manera que si el error ocurriera " +"dentro del suite. Consulte el paso 7 a continuación." #: ../Doc/reference/compound_stmts.rst:510 msgid "The suite is executed." msgstr "La suite se ejecuta." #: ../Doc/reference/compound_stmts.rst:512 -#, fuzzy msgid "" "The context manager's :meth:`~object.__exit__` method is invoked. If an " "exception caused the suite to be exited, its type, value, and traceback are " "passed as arguments to :meth:`~object.__exit__`. Otherwise, three :const:" "`None` arguments are supplied." msgstr "" -"Se invoca el método del administrador de contexto :meth:`__exit__`. Si una " -"excepción causó la salida de la suite, su tipo, valor y rastreo se pasan " -"como argumentos a :meth:`__exit__`. De lo contrario, se proporcionan tres " -"argumentos :const:`None`." +"Se invoca el método :meth:`~object.__exit__` del administrador de contexto. " +"Si una excepción causó la salida de la suite, su tipo, valor y rastreo se " +"pasan como argumentos a :meth:`~object.__exit__`. De lo contrario, se " +"proporcionan tres argumentos :const:`None`." #: ../Doc/reference/compound_stmts.rst:517 -#, fuzzy msgid "" "If the suite was exited due to an exception, and the return value from the :" "meth:`~object.__exit__` method was false, the exception is reraised. If the " @@ -770,20 +831,20 @@ msgid "" "with the statement following the :keyword:`with` statement." msgstr "" "Si se salió de la suite debido a una excepción, y el valor de retorno del " -"método :meth:`__exit__` fue falso, la excepción se vuelve a plantear. Si el " -"valor de retorno era verdadero, la excepción se suprime y la ejecución " -"continúa con la sentencia que sigue a la sentencia :keyword:`with`." +"método :meth:`~object.__exit__` fue falso, la excepción se vuelve a " +"plantear. Si el valor de retorno era verdadero, la excepción se suprime y la " +"ejecución continúa con la declaración que sigue a la declaración :keyword:" +"`with`." #: ../Doc/reference/compound_stmts.rst:522 -#, fuzzy msgid "" "If the suite was exited for any reason other than an exception, the return " "value from :meth:`~object.__exit__` is ignored, and execution proceeds at " "the normal location for the kind of exit that was taken." msgstr "" "Si se salió de la suite por cualquier motivo que no sea una excepción, el " -"valor de retorno de :meth:`__exit__` se ignora y la ejecución continúa en la " -"ubicación normal para el tipo de salida que se tomó." +"valor de retorno de :meth:`~object.__exit__` se ignora y la ejecución continúa en " +"la ubicación normal para el tipo de salida que se tomó." #: ../Doc/reference/compound_stmts.rst:526 #: ../Doc/reference/compound_stmts.rst:1547 @@ -796,6 +857,8 @@ msgid "" "with EXPRESSION as TARGET:\n" " SUITE" msgstr "" +"with EXPRESSION as TARGET:\n" +" SUITE" #: ../Doc/reference/compound_stmts.rst:531 #: ../Doc/reference/compound_stmts.rst:556 @@ -822,6 +885,22 @@ msgid "" " if not hit_except:\n" " exit(manager, None, None, None)" msgstr "" +"manager = (EXPRESSION)\n" +"enter = type(manager).__enter__\n" +"exit = type(manager).__exit__\n" +"value = enter(manager)\n" +"hit_except = False\n" +"\n" +"try:\n" +" TARGET = value\n" +" SUITE\n" +"except:\n" +" hit_except = True\n" +" if not exit(manager, *sys.exc_info()):\n" +" raise\n" +"finally:\n" +" if not hit_except:\n" +" exit(manager, None, None, None)" #: ../Doc/reference/compound_stmts.rst:550 msgid "" @@ -836,6 +915,8 @@ msgid "" "with A() as a, B() as b:\n" " SUITE" msgstr "" +"with A() as a, B() as b:\n" +" SUITE" #: ../Doc/reference/compound_stmts.rst:558 msgid "" @@ -843,6 +924,9 @@ msgid "" " with B() as b:\n" " SUITE" msgstr "" +"with A() as a:\n" +" with B() as b:\n" +" SUITE" #: ../Doc/reference/compound_stmts.rst:562 msgid "" @@ -860,6 +944,11 @@ msgid "" "):\n" " SUITE" msgstr "" +"with (\n" +" A() as a,\n" +" B() as b,\n" +"):\n" +" SUITE" #: ../Doc/reference/compound_stmts.rst:571 msgid "Support for multiple context expressions." @@ -1058,6 +1147,18 @@ msgid "" "...\n" "Case 3, y: 200" msgstr "" +">>> flag = False\n" +">>> match (100, 200):\n" +"... case (100, 300): # No coinciden: 200 != 300\n" +"... print('Case 1')\n" +"... case (100, 200) if flag: # Coinciden, pero la guardia falla\n" +"... print('Case 2')\n" +"... case (100, y): # Coinciden, y vincula `y` a 200\n" +"... print(f'Case 3, y: {y}')\n" +"... case _: # Patrón no se intentó\n" +"... print('Case 4, I match anything!')\n" +"...\n" +"Case 3, y: 200" #: ../Doc/reference/compound_stmts.rst:687 msgid "" @@ -1721,7 +1822,6 @@ msgstr "" "duplicados; o un :exc:`ValueError` para claves con nombre del mismo valor." #: ../Doc/reference/compound_stmts.rst:1059 -#, fuzzy msgid "" "Key-value pairs are matched using the two-argument form of the mapping " "subject's ``get()`` method. Matched key-value pairs must already be present " @@ -1729,9 +1829,10 @@ msgid "" "`~object.__getitem__`." msgstr "" "Los pares clave-valor se hacen coincidir utilizando la forma de dos " -"argumentos del método ``get()`` del sujeto de mapeo. Los pares clave-valor " -"coincidentes ya deben estar presentes en la asignación y no deben crearse " -"sobre la marcha a través de :meth:`__missing__` o :meth:`__getitem__`." +"argumentos del método ``get()`` del sujeto de asignación. Los pares clave-" +"valor coincidentes ya deben estar presentes en la asignación y no deben " +"crearse sobre la marcha a través de :meth:`__missing__` o :meth:" +"`~object.__getitem__`." #: ../Doc/reference/compound_stmts.rst:1064 msgid "" @@ -2082,6 +2183,9 @@ msgid "" "@f2\n" "def func(): pass" msgstr "" +"@f1(arg)\n" +"@f2\n" +"def func(): pass" #: ../Doc/reference/compound_stmts.rst:1251 #: ../Doc/reference/compound_stmts.rst:1446 @@ -2093,6 +2197,8 @@ msgid "" "def func(): pass\n" "func = f1(arg)(f2(func))" msgstr "" +"def func(): pass\n" +"func = f1(arg)(f2(func))" #: ../Doc/reference/compound_stmts.rst:1256 msgid "" @@ -2113,7 +2219,6 @@ msgstr "" "restrictiva; ver :pep:`614` para más detalles." #: ../Doc/reference/compound_stmts.rst:1263 -#, fuzzy msgid "" "A list of :ref:`type parameters ` may be given in square " "brackets between the function's name and the opening parenthesis for its " @@ -2122,12 +2227,12 @@ msgid "" "function's :attr:`~function.__type_params__` attribute. See :ref:`generic-" "functions` for more." msgstr "" -"Se puede dar una :ref:`type parameters ` entre corchetes entre " -"el nombre de la función y el paréntesis de apertura para su lista de " -"parámetros. Esto indica a los verificadores de tipo estático que la función " -"es genérica. En ejecución, los parámetros de tipo pueden recuperarse del " -"atributo ``__type_params__``. Mirar :ref:`generic-functions` para más " -"información." +"Una lista de :ref:`parámetros del tipo ` se puede dar entre " +"corchetes entre el nombre de la función y el paréntesis de apertura para su " +"lista de parámetros. Esto indica a los verificadores de tipo estático que la " +"función es genérica. En ejecución, los parámetros de tipo pueden recuperarse " +"del atributo :attr:`~function.__type_params__`. Consulte :ref:`generic-" +"functions` para más información." #: ../Doc/reference/compound_stmts.rst:1270 #: ../Doc/reference/compound_stmts.rst:1465 @@ -2185,6 +2290,11 @@ msgid "" " penguin.append(\"property of the zoo\")\n" " return penguin" msgstr "" +"def whats_on_the_telly(penguin=None):\n" +" if penguin is None:\n" +" penguin = []\n" +" penguin.append(\"property of the zoo\")\n" +" return penguin" #: ../Doc/reference/compound_stmts.rst:1307 msgid "" @@ -2210,9 +2320,9 @@ msgstr "" "por defecto en la tupla vacía. Si el formulario \"``**identifier``\" está " "presente, se inicializa a una nueva asignación ordenada que recibe cualquier " "exceso de argumentos por palabra clave, por defecto a una nueva asignación " -"vacía del mismo tipo. Los parámetros después de \"``*``\" o " -"\"``*identifier``\" son parámetros solo por palabra clave y solo pueden " -"pasarse con argumentos de palabras claves usadas." +"vacía del mismo tipo. Los parámetros después de \"``*``\" o \"``*identifier``" +"\" son parámetros solo por palabra clave y solo pueden pasarse con " +"argumentos de palabras claves usadas." #: ../Doc/reference/compound_stmts.rst:1319 msgid "" @@ -2224,7 +2334,6 @@ msgstr "" "detalles." #: ../Doc/reference/compound_stmts.rst:1328 -#, fuzzy msgid "" "Parameters may have an :term:`annotation ` of the form " "\"``: expression``\" following the parameter name. Any parameter may have " @@ -2245,12 +2354,14 @@ msgstr "" "Los parámetros pueden tener :term:`annotation ` de la " "forma \"``: expression``\" que sigue al nombre del parámetro. Cualquier " "parámetro puede tener una anotación, incluso las de la forma ``*identifier`` " -"o ``** identifier``. Las funciones pueden tener una anotación \"return\" de " -"la forma \"``-> expression``\" después de la lista de parámetros. Estas " -"anotaciones pueden ser cualquier expresión válida de Python. La presencia de " -"anotaciones no cambia la semántica de una función. Los valores de anotación " -"están disponibles como valores de un diccionario con los nombres de los " -"parámetros en el atributo :attr:`__annotations__` del objeto de la función. " +"o ``** identifier``. (Como caso especial, parámetros de la forma " +"``*identifier`` puede tener una anotación \"``: *expression``\".) Las " +"funciones pueden tener una anotación \"return\" de la forma \"``-> " +"expression``\" después de la lista de parámetros. Estas anotaciones pueden " +"ser cualquier expresión válida de Python. La presencia de anotaciones no " +"cambia la semántica de una función. Los valores de anotación están " +"disponibles como valores de un diccionario con los nombres de los parámetros " +"como claves en el atributo :attr:`__annotations__` del objeto de la función. " "Si se usa ``annotations`` importada desde :mod:`__future__`, las anotaciones " "se conservan como cadenas de caracteres en tiempo de ejecución que permiten " "la evaluación pospuesta. De lo contrario, se evalúan cuando se ejecuta la " @@ -2262,6 +2373,8 @@ msgid "" "Parameters of the form \"``*identifier``\" may have an annotation \"``: " "*expression``\". See :pep:`646`." msgstr "" +"Parámetros de la forma \"``*identifier``\" puede tener una anotación " +"\"``: *expression``\". Consulte :pep:`646`." #: ../Doc/reference/compound_stmts.rst:1348 msgid "" @@ -2320,13 +2433,12 @@ msgid ":pep:`526` - Syntax for Variable Annotations" msgstr ":pep:`526` - Sintaxis para anotaciones variables" #: ../Doc/reference/compound_stmts.rst:1371 -#, fuzzy msgid "" "Ability to type hint variable declarations, including class variables and " "instance variables." msgstr "" -"Capacidad para escribir declaraciones de variables indirectas, incluidas " -"variables de clase y variables de instancia" +"Capacidad para escribir anotaciones de tipo para declaraciones de variables, " +"incluidas variables de clase y variables de instancia." #: ../Doc/reference/compound_stmts.rst:1376 msgid ":pep:`563` - Postponed Evaluation of Annotations" @@ -2342,18 +2454,14 @@ msgstr "" "de una evaluación apresurada." #: ../Doc/reference/compound_stmts.rst:1379 -#, fuzzy msgid ":pep:`318` - Decorators for Functions and Methods" -msgstr ":pep:`3107` - Anotaciones de funciones" +msgstr ":pep:`318` - Decoradores para Funciones y Métodos" #: ../Doc/reference/compound_stmts.rst:1379 -#, fuzzy msgid "" "Function and method decorators were introduced. Class decorators were " "introduced in :pep:`3129`." -msgstr "" -"La propuesta que agregó decoradores de clase. Los decoradores de funciones y " -"métodos se introdujeron en :pep:`318`." +msgstr "Decoradores de función y método se introdujeron en :pep:`3129`." #: ../Doc/reference/compound_stmts.rst:1385 msgid "Class definitions" @@ -2384,6 +2492,8 @@ msgid "" "class Foo:\n" " pass" msgstr "" +"class Foo:\n" +" pass" #: ../Doc/reference/compound_stmts.rst:1416 msgid "is equivalent to ::" @@ -2394,6 +2504,8 @@ msgid "" "class Foo(object):\n" " pass" msgstr "" +"class Foo(object):\n" +" pass" #: ../Doc/reference/compound_stmts.rst:1421 msgid "" @@ -2417,7 +2529,6 @@ msgstr "" "de clase en el espacio de nombres local original." #: ../Doc/reference/compound_stmts.rst:1430 -#, fuzzy msgid "" "The order in which attributes are defined in the class body is preserved in " "the new class's :attr:`~type.__dict__`. Note that this is reliable only " @@ -2425,9 +2536,9 @@ msgid "" "using the definition syntax." msgstr "" "El orden en que se definen los atributos en el cuerpo de la clase se " -"conserva en el ``__dict__`` de la nueva clase. Tenga en cuenta que esto es " -"confiable solo justo después de crear la clase y solo para las clases que se " -"definieron utilizando la sintaxis de definición." +"conserva en el :attr:`~type.__dict__` de la nueva clase. Tenga en cuenta que " +"esto es confiable solo justo después de crear la clase y solo para las " +"clases que se definieron utilizando la sintaxis de definición." #: ../Doc/reference/compound_stmts.rst:1435 msgid "" @@ -2449,12 +2560,17 @@ msgid "" "@f2\n" "class Foo: pass" msgstr "" +"@f1(arg)\n" +"@f2\n" +"class Foo: pass" #: ../Doc/reference/compound_stmts.rst:1448 msgid "" "class Foo: pass\n" "Foo = f1(arg)(f2(Foo))" msgstr "" +"class Foo: pass\n" +"Foo = f1(arg)(f2(Foo))" #: ../Doc/reference/compound_stmts.rst:1451 msgid "" @@ -2476,7 +2592,6 @@ msgstr "" "restrictiva; ver :pep:`614` para más detalles." #: ../Doc/reference/compound_stmts.rst:1459 -#, fuzzy msgid "" "A list of :ref:`type parameters ` may be given in square " "brackets immediately after the class's name. This indicates to static type " @@ -2484,11 +2599,11 @@ msgid "" "retrieved from the class's :attr:`~type.__type_params__` attribute. See :ref:" "`generic-classes` for more." msgstr "" -"Una lista de :ref:`type parameters ` definida inmediatamente " +"Una lista de :ref:`parámetros del tipo ` definida inmediatamente " "después de un nombre de clase debe ir entre corchetes. Esto indica a los " "verificadores de tipo estático que la clase es genérica. En ejecución, el " -"tipo de parámetros puede retirarse de la clase ``__type_params__`` . Para " -"más información ver :ref:`generic-classes` ." +"tipo de parámetros puede retirarse del atributo de la clase :attr:`~type." +"__type_params__`. Para más información consulte :ref:`generic-classes`." #: ../Doc/reference/compound_stmts.rst:1468 msgid "" @@ -2583,6 +2698,9 @@ msgid "" " do_stuff()\n" " await some_coroutine()" msgstr "" +"async def func(param1, param2):\n" +" do_stuff()\n" +" await some_coroutine()" #: ../Doc/reference/compound_stmts.rst:1527 msgid "" @@ -2621,6 +2739,10 @@ msgid "" "else:\n" " SUITE2" msgstr "" +"async for TARGET in ITER:\n" +" SUITE\n" +"else:\n" +" SUITE2" #: ../Doc/reference/compound_stmts.rst:1554 msgid "Is semantically equivalent to::" @@ -2642,6 +2764,19 @@ msgid "" "else:\n" " SUITE2" msgstr "" +"iter = (ITER)\n" +"iter = type(iter).__aiter__(iter)\n" +"running = True\n" +"\n" +"while running:\n" +" try:\n" +" TARGET = await type(iter).__anext__(iter)\n" +" except StopAsyncIteration:\n" +" running = False\n" +" else:\n" +" SUITE\n" +"else:\n" +" SUITE2" #: ../Doc/reference/compound_stmts.rst:1570 msgid "" @@ -2675,6 +2810,8 @@ msgid "" "async with EXPRESSION as TARGET:\n" " SUITE" msgstr "" +"async with EXPRESSION as TARGET:\n" +" SUITE" #: ../Doc/reference/compound_stmts.rst:1595 msgid "" @@ -2695,6 +2832,22 @@ msgid "" " if not hit_except:\n" " await aexit(manager, None, None, None)" msgstr "" +"manager = (EXPRESSION)\n" +"aenter = type(manager).__aenter__\n" +"aexit = type(manager).__aexit__\n" +"value = await aenter(manager)\n" +"hit_except = False\n" +"\n" +"try:\n" +" TARGET = value\n" +" SUITE\n" +"except:\n" +" hit_except = True\n" +" if not await aexit(manager, *sys.exc_info()):\n" +" raise\n" +"finally:\n" +" if not hit_except:\n" +" await aexit(manager, None, None, None)" #: ../Doc/reference/compound_stmts.rst:1612 msgid "" @@ -2731,6 +2884,7 @@ msgstr "Listas de tipo parámetro" #: ../Doc/reference/compound_stmts.rst:1630 msgid "Support for default values was added (see :pep:`696`)." msgstr "" +"Compatibilidad para valores predeterminados se añadió (Consulte :pep:`696`)." #: ../Doc/reference/compound_stmts.rst:1643 msgid "" @@ -2759,6 +2913,20 @@ msgid "" "\n" "type ListOrSet[T] = list[T] | set[T]" msgstr "" +"def max[T](args: list[T]) -> T:\n" +" ...\n" +"\n" +"async def amax[T](args: list[T]) -> T:\n" +" ...\n" +"\n" +"class Bag[T]:\n" +" def __iter__(self) -> Iterator[T]:\n" +" ...\n" +"\n" +" def add(self, arg: T) -> None:\n" +" ...\n" +"\n" +"type ListOrSet[T] = list[T] | set[T]" #: ../Doc/reference/compound_stmts.rst:1662 msgid "" @@ -2790,16 +2958,15 @@ msgstr "" "``T`` no está disponible en el ámbito del módulo. A continuación, se " "describe con más precisión la semántica de los objetos genéricos. El ámbito " "de los parámetros de tipo se modela con una función especial (técnicamente, " -"una :ref:`annotation scope `) que envuelve la creación " +"una :ref:`ámbito de anotación `) que envuelve la creación " "del objeto genérico." #: ../Doc/reference/compound_stmts.rst:1676 -#, fuzzy msgid "" "Generic functions, classes, and type aliases have a :attr:`~definition." "__type_params__` attribute listing their type parameters." msgstr "" -"Las funciones genéricas, clases y alias de tipo tienen un atributo :attr:`!" +"Funciones genéricas, clases y aliases de tipo tienen un atributo ::attr:`~definition." "__type_params__` que lista sus parámetros de tipo." #: ../Doc/reference/compound_stmts.rst:1679 @@ -2891,6 +3058,16 @@ msgid "" "default value is specified for a type parameter, the ``__default__`` " "attribute is set to the special sentinel object :data:`typing.NoDefault`." msgstr "" +"Los tres sabores de parámetros de tipo también pueden tener un *valor " +"predeterminado*, lo que se usa cuando el parámetro de tipo no se proporciona " +"explícitamente. Esto se añade adjuntando un solo signo igual (``=``) seguido " +"por una expresión. Como los límites y restricciones del tipo variables, el " +"valor predeterminado no se evalúa cuando el objeto se crea, solamente " +"cuando se accede el atributo ``__default__`` del parámetro del tipo. Con " +"este fin, el valor predeterminado se evalúa en un :ref:`ámbito de anotación " +"` separado. Si no se especifica un valor predeterminado " +"para un parámetro de tipo, el atributo ``__default__`` se establece en el " +"objeto de centinela especial :data:`typing.NoDefault`." #: ../Doc/reference/compound_stmts.rst:1717 msgid "" @@ -2917,6 +3094,20 @@ msgid "" " *e: SimpleTypeVarTuple,\n" "): ..." msgstr "" +"def overly_generic[\n" +" SimpleTypeVar,\n" +" TypeVarWithDefault = int,\n" +" TypeVarWithBound: int,\n" +" TypeVarWithConstraints: (str, bytes),\n" +" *SimpleTypeVarTuple = (int, float),\n" +" **SimpleParamSpec = (str, bytearray),\n" +"](\n" +" a: SimpleTypeVar,\n" +" b: TypeVarWithDefault,\n" +" c: TypeVarWithBound,\n" +" d: Callable[SimpleParamSpec, TypeVarWithConstraints],\n" +" *e: SimpleTypeVarTuple,\n" +"): ..." #: ../Doc/reference/compound_stmts.rst:1737 msgid "Generic functions" @@ -2928,7 +3119,7 @@ msgstr "Las funciones genéricas son declaradas de la siguiente forma::" #: ../Doc/reference/compound_stmts.rst:1741 msgid "def func[T](arg: T): ..." -msgstr "" +msgstr "def func[T](arg: T): ..." #: ../Doc/reference/compound_stmts.rst:1743 #: ../Doc/reference/compound_stmts.rst:1803 @@ -2944,6 +3135,12 @@ msgid "" " return func\n" "func = TYPE_PARAMS_OF_func()" msgstr "" +"annotation-def TYPE_PARAMS_OF_func():\n" +" T = typing.TypeVar(\"T\")\n" +" def func(arg: T): ...\n" +" func.__type_params__ = (T,)\n" +" return func\n" +"func = TYPE_PARAMS_OF_func()" #: ../Doc/reference/compound_stmts.rst:1752 msgid "" @@ -2953,7 +3150,7 @@ msgid "" "attribute access on the :mod:`typing` module, but creates an instance of :" "data:`typing.TypeVar` directly.)" msgstr "" -"Aquí ``annotation-def`` indica un :ref:`annotation scope `, que en realidad no está vinculado a ningún nombre en tiempo de " "ejecución. (Se ha tomado otra libertad en la traducción: la sintaxis no pasa " "por el acceso a atributos en el módulo :mod:`typing`, sino que crea una " @@ -2983,6 +3180,9 @@ msgid "" "def func[T: int, *Ts, **P](*args: *Ts, arg: Callable[P, T] = some_default):\n" " ..." msgstr "" +"@decorator\n" +"def func[T: int, *Ts, **P](*args: *Ts, arg: Callable[P, T] = some_default):\n" +" ..." #: ../Doc/reference/compound_stmts.rst:1769 msgid "" @@ -2992,6 +3192,8 @@ msgstr "" "Excepto para la :ref:`lazy-evaluation ` del :class:`~typing." "TypeVar` vinculada, esto es equivalente a::" +# No se pueden traducir los commentarios hasta que pospell tenga la habilidad +# de entender líneas de código. #: ../Doc/reference/compound_stmts.rst:1772 msgid "" "DEFAULT_OF_arg = some_default\n" @@ -3013,6 +3215,24 @@ msgid "" " return func\n" "func = decorator(TYPE_PARAMS_OF_func())" msgstr "" +"DEFAULT_OF_arg = some_default\n" +"\n" +"annotation-def TYPE_PARAMS_OF_func():\n" +"\n" +" annotation-def BOUND_OF_T():\n" +" return int\n" +" # In reality, BOUND_OF_T() is evaluated only on demand.\n" +" T = typing.TypeVar(\"T\", bound=BOUND_OF_T())\n" +"\n" +" Ts = typing.TypeVarTuple(\"Ts\")\n" +" P = typing.ParamSpec(\"P\")\n" +"\n" +" def func(*args: *Ts, arg: Callable[P, T] = DEFAULT_OF_arg):\n" +" ...\n" +"\n" +" func.__type_params__ = (T, Ts, P)\n" +" return func\n" +"func = decorator(TYPE_PARAMS_OF_func())" #: ../Doc/reference/compound_stmts.rst:1791 msgid "" @@ -3032,7 +3252,7 @@ msgstr "Las clases genéricas son declaradas de la siguiente forma::" #: ../Doc/reference/compound_stmts.rst:1801 msgid "class Bag[T]: ..." -msgstr "" +msgstr "class Bag[T]: ..." #: ../Doc/reference/compound_stmts.rst:1805 msgid "" @@ -3044,6 +3264,13 @@ msgid "" " return Bag\n" "Bag = TYPE_PARAMS_OF_Bag()" msgstr "" +"annotation-def TYPE_PARAMS_OF_Bag():\n" +" T = typing.TypeVar(\"T\")\n" +" class Bag(typing.Generic[T]):\n" +" __type_params__ = (T,)\n" +" ...\n" +" return Bag\n" +"Bag = TYPE_PARAMS_OF_Bag()" #: ../Doc/reference/compound_stmts.rst:1813 msgid "" @@ -3052,7 +3279,7 @@ msgid "" "is not actually bound at runtime." msgstr "" "Aquí de nuevo ``annotation-def`` (no es una palabra clave real) indica un :" -"ref:`annotation scope `, y el nombre " +"ref:`ámbito de anotación `, y el nombre " "``TYPE_PARAMS_OF_Bag`` no está vinculado en tiempo de ejecución." #: ../Doc/reference/compound_stmts.rst:1817 @@ -3073,6 +3300,8 @@ msgid "" "@decorator\n" "class Bag(Base[T], arg=T): ..." msgstr "" +"@decorator\n" +"class Bag(Base[T], arg=T): ..." #: ../Doc/reference/compound_stmts.rst:1826 msgid "This is equivalent to::" @@ -3088,6 +3317,13 @@ msgid "" " return Bag\n" "Bag = decorator(TYPE_PARAMS_OF_Bag())" msgstr "" +"annotation-def TYPE_PARAMS_OF_Bag():\n" +" T = typing.TypeVar(\"T\")\n" +" class Bag(Base[T], typing.Generic[T], arg=T):\n" +" __type_params__ = (T,)\n" +" ...\n" +" return Bag\n" +"Bag = decorator(TYPE_PARAMS_OF_Bag())" #: ../Doc/reference/compound_stmts.rst:1839 msgid "Generic type aliases" @@ -3103,7 +3339,7 @@ msgstr "" #: ../Doc/reference/compound_stmts.rst:1843 msgid "type ListOrSet[T] = list[T] | set[T]" -msgstr "" +msgstr "type ListOrSet[T] = list[T] | set[T]" #: ../Doc/reference/compound_stmts.rst:1845 msgid "" @@ -3113,6 +3349,8 @@ msgstr "" "Excepto para la :ref:`evaluación perezosa ` del valor, esto " "es equivalente a::" +# No se pueden traducir los commentarios hasta que pospell tenga la habilidad +# de entender líneas de código. #: ../Doc/reference/compound_stmts.rst:1848 msgid "" "annotation-def TYPE_PARAMS_OF_ListOrSet():\n" @@ -3125,6 +3363,15 @@ msgid "" "type_params=(T,))\n" "ListOrSet = TYPE_PARAMS_OF_ListOrSet()" msgstr "" +"annotation-def TYPE_PARAMS_OF_ListOrSet():\n" +" T = typing.TypeVar(\"T\")\n" +"\n" +" annotation-def VALUE_OF_ListOrSet():\n" +" return list[T] | set[T]\n" +" # In reality, the value is lazily evaluated\n" +" return typing.TypeAliasType(\"ListOrSet\", VALUE_OF_ListOrSet(), " +"type_params=(T,))\n" +"ListOrSet = TYPE_PARAMS_OF_ListOrSet()" #: ../Doc/reference/compound_stmts.rst:1857 msgid "" @@ -3133,7 +3380,7 @@ msgid "" "``TYPE_PARAMS_OF_ListOrSet`` are not actually bound at runtime." msgstr "" "Aquí, ``annotation-def`` (no es una palabra clave real) indica un :ref:" -"`annotation scope `. Los nombres en mayúsculas como " +"`ámbito de anotación `. Los nombres en mayúsculas como " "``TYPE_PARAMS_OF_ListOrSet`` no están vinculados en tiempo de ejecución." #: ../Doc/reference/compound_stmts.rst:1862 @@ -3240,26 +3487,24 @@ msgstr "" "MappingProxyType` son asignaciones." #: ../Doc/reference/compound_stmts.rst:1896 -#, fuzzy msgid "" "A string literal appearing as the first statement in the function body is " "transformed into the function's :attr:`~function.__doc__` attribute and " "therefore the function's :term:`docstring`." msgstr "" -"Una cadena de caracteres literal que aparece como la primera sentencia en el " -"cuerpo de la función se transforma en el atributo ``__doc__`` de la función " -"y, por lo tanto, en funciones :term:`docstring`." +"Una cadena de caracteres literal que aparece como la primera declaración en " +"el cuerpo de la función se transforma en el atributo :attr:`~function." +"__doc__` y por lo tanto en :term:`docstring` de la función." #: ../Doc/reference/compound_stmts.rst:1900 -#, fuzzy msgid "" "A string literal appearing as the first statement in the class body is " "transformed into the namespace's :attr:`~type.__doc__` item and therefore " "the class's :term:`docstring`." msgstr "" -"Una cadena de caracteres literal que aparece como la primera sentencia en el " -"cuerpo de la clase se transforma en el elemento del espacio de nombre " -"``__doc__`` y, por lo tanto, de la clase :term:`docstring`." +"Una cadena de caracteres literal que aparece como la primera declaración en " +"el cuerpo de la clase se transforma en el elemento del espacio de nombre :" +"attr:`~type.__doc__` y, por lo tanto, de la clase :term:`docstring`." #: ../Doc/reference/compound_stmts.rst:7 msgid "compound" diff --git a/reference/executionmodel.po b/reference/executionmodel.po index a5d272e08b..000b586018 100644 --- a/reference/executionmodel.po +++ b/reference/executionmodel.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-11-21 16:38-0300\n" -"PO-Revision-Date: 2023-11-11 16:50-0300\n" +"PO-Revision-Date: 2025-02-17 16:37-0500\n" "Last-Translator: Francisco Mora \n" -"Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.16.0\n" +"X-Generator: Poedit 3.5\n" #: ../Doc/reference/executionmodel.rst:6 msgid "Execution model" @@ -258,7 +259,6 @@ msgstr "" "` para ejemplos." #: ../Doc/reference/executionmodel.rst:136 -#, fuzzy msgid "" "If the :keyword:`global` statement occurs within a block, all uses of the " "names specified in the statement refer to the bindings of those names in the " @@ -279,8 +279,10 @@ msgstr "" "nombres incorporado, el *namespace* del módulo :mod:`builtins`. La búsqueda " "se realiza primero en el espacio de nombres global. Si el nombre no se " "encuentra ahí, se busca en el espacio de nombres incorporado (*builtins " -"namespace*). La declaración :keyword:`!global` debe preceder a todos los " -"usos del nombre." +"namespace*) próximamente. Si tampoco se encuentran los nombres en el espacio " +"de nombres incorporado, se crean variables nuevas en el espacio de nombres " +"global. La declaración global debe preceder a todos los usos de los nombres " +"listados." #: ../Doc/reference/executionmodel.rst:146 msgid "" @@ -351,6 +353,9 @@ msgid "" " a = 42\n" " b = list(a + i for i in range(10))" msgstr "" +"class A:\n" +" a = 42\n" +" b = list(a + i for i in range(10))" #: ../Doc/reference/executionmodel.rst:180 msgid "However, the following will succeed::" @@ -364,6 +369,11 @@ msgid "" "\n" "print(A.Alias.__value__) # " msgstr "" +"class A:\n" +" type Alias = Nested\n" +" class Nested: pass\n" +"\n" +"print(A.Alias.__value__) # " #: ../Doc/reference/executionmodel.rst:191 msgid "Annotation scopes" @@ -416,13 +426,12 @@ msgstr "" "ejecutan dentro del ámbito de la anotación, pero sus decoradores no." #: ../Doc/reference/executionmodel.rst:208 -#, fuzzy msgid "" "The bounds, constraints, and default values for type parameters (:ref:" "`lazily evaluated `)." msgstr "" -"Los límites y restricciones de las variables de tipo (:ref:`lazily evaluated " -"`)." +"Los límites, restricciones y valores predeterminados para los parámetros de " +"tipo (:ref:`evaluados de forma diferida `)." #: ../Doc/reference/executionmodel.rst:210 msgid "The value of type aliases (:ref:`lazily evaluated `)." @@ -478,7 +487,6 @@ msgstr "" "aparecer dentro de ámbitos de anotación puede introducir nuevos nombres." #: ../Doc/reference/executionmodel.rst:227 -#, fuzzy msgid "" "While annotation scopes have an internal name, that name is not reflected in " "the :term:`qualified name` of objects defined within the scope. Instead, " @@ -486,8 +494,8 @@ msgid "" "were defined in the enclosing scope." msgstr "" "Aunque los ámbitos de anotación tienen un nombre interno, ese nombre no se " -"refleja en el :term:`__qualname__ ` de los objetos definidos " -"dentro del ámbito. En su lugar, el :attr:`!__qualname__` de dichos objetos " +"refleja en el :term:`qualified name` de los objetos definidos dentro del " +"ámbito. En su lugar, el :attr:`~definition.__qualname__` de dichos objetos " "es como si el objeto estuviera definido en el ámbito que lo encierra." #: ../Doc/reference/executionmodel.rst:232 @@ -501,13 +509,14 @@ msgid "" "Annotation scopes are also used for type parameter defaults, as introduced " "by :pep:`696`." msgstr "" +"También se usan ámbitos de anotación para parámetros de tipo " +"predeterminados, introducido por :pep:`696`." #: ../Doc/reference/executionmodel.rst:242 msgid "Lazy evaluation" msgstr "Evaluación perezosa" #: ../Doc/reference/executionmodel.rst:244 -#, fuzzy msgid "" "The values of type aliases created through the :keyword:`type` statement are " "*lazily evaluated*. The same applies to the bounds, constraints, and default " @@ -516,12 +525,13 @@ msgid "" "or type variable is created. Instead, they are only evaluated when doing so " "is necessary to resolve an attribute access." msgstr "" -"Los valores de los alias de tipo creados mediante la sentencia :keyword:" -"`type` se *evalúan rápidamente*. Lo mismo se aplica a los límites y " -"restricciones de las variables de tipo creadas mediante la sintaxis de " -"parámetros :ref:`type `. Esto significa que no se evalúan " -"cuando se crea el alias de tipo o la variable de tipo. En su lugar, sólo se " -"evalúan cuando es necesario para resolver el acceso a un atributo." +"Los valores de los alias de tipo creados mediante la declaración :keyword:" +"`type` *se evalúan de forma diferida*. Lo mismo se aplica a los límites, " +"restricciones y valores predeterminados de las variables de tipo creadas " +"mediante la :ref:`sintaxis de parámetros de tipo `. Esto " +"significa que no se evalúan cuando se crea el alias de tipo o la variable de " +"tipo. En su lugar, sólo se evalúan cuando es necesario para resolver el " +"acceso a un atributo." #: ../Doc/reference/executionmodel.rst:251 msgid "Example:" @@ -541,6 +551,17 @@ msgid "" " ...\n" "ZeroDivisionError: division by zero" msgstr "" +">>> type Alias = 1/0\n" +">>> Alias.__value__\n" +"Traceback (most recent call last):\n" +" ...\n" +"ZeroDivisionError: division by zero\n" +">>> def func[T: 1/0](): pass\n" +">>> T = func.__type_params__[0]\n" +">>> T.__bound__\n" +"Traceback (most recent call last):\n" +" ...\n" +"ZeroDivisionError: division by zero" #: ../Doc/reference/executionmodel.rst:267 msgid "" @@ -569,6 +590,11 @@ msgid "" "type Parenthesized = tuple[Literal[\"(\"], Expr, Literal[\")\"]]\n" "type Expr = SimpleExpr | tuple[SimpleExpr, Literal[\"+\", \"-\"], Expr]" msgstr "" +"from typing import Literal\n" +"\n" +"type SimpleExpr = int | Parenthesized\n" +"type Parenthesized = tuple[Literal[\"(\"], Expr, Literal[\")\"]]\n" +"type Expr = SimpleExpr | tuple[SimpleExpr, Literal[\"+\", \"-\"], Expr]" #: ../Doc/reference/executionmodel.rst:281 msgid "" @@ -637,6 +663,11 @@ msgid "" "i = 42\n" "f()" msgstr "" +"i = 10\n" +"def f():\n" +" print(i)\n" +"i = 42\n" +"f()" #: ../Doc/reference/executionmodel.rst:326 msgid "" @@ -703,8 +734,8 @@ msgid "" "but it cannot repair the cause of the error and retry the failing operation " "(except by re-entering the offending piece of code from the top)." msgstr "" -"Python usa el modelo de gestión de errores de \"terminación\" " -"(\"*termination*\"): un gestor de excepción puede descubrir qué sucedió y " +"Python usa el modelo de gestión de errores de \"terminación" +"\" (\"*termination*\"): un gestor de excepción puede descubrir qué sucedió y " "continuar la ejecución en un nivel exterior, pero no puede reparar la causa " "del error y reintentar la operación que ha fallado (excepto que se reingrese " "al trozo de código fallido desde su inicio)."