diff --git a/Makefile b/Makefile
index 0c7ab513f9..da970cd135 100644
--- a/Makefile
+++ b/Makefile
@@ -8,7 +8,7 @@
# Configuration
CPYTHON_PATH := cpython #Current commit for this upstream repo is setted by the submodule
-BRANCH := 3.8
+BRANCH := 3.11
LANGUAGE_TEAM := python-docs-es
LANGUAGE := es
@@ -80,7 +80,7 @@ venv:
# Makefile's "serve" target. Run "build" before using this target.
.PHONY: serve
serve:
- $(MAKE) -C $(CPYTHON_WORKDIR)/Doc serve
+ $(MAKE) -C $(CPYTHON_WORKDIR)/Doc htmlview
# clean: remove all .mo files and the venv directory that may exist and
diff --git a/about.po b/about.po
index 4f08105256..75a8f41642 100644
--- a/about.po
+++ b/about.po
@@ -1,23 +1,25 @@
# Copyright (C) 2001-2020, Python Software Foundation
# This file is distributed under the same license as the Python package.
# Maintained by the python-doc-es workteam.
-# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/
-# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers
+# docs-es@python.org /
+# https://mail.python.org/mailman3/lists/docs-es.python.org/
+# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get
+# the list of volunteers
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-05-06 11:59-0400\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2019-12-22 12:23+0100\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"
"Last-Translator: \n"
-"Language-Team: python-doc-es\n"
"Language: es\n"
-"X-Generator: Poedit 2.2.4\n"
+"Language-Team: python-doc-es\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"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/about.rst:3
msgid "About these documents"
@@ -57,26 +59,28 @@ msgstr ""
"herramientas de Python y escritor de gran parte del contenido;"
#: ../Doc/about.rst:24
+#, fuzzy
msgid ""
-"the `Docutils `_ project for creating "
+"the `Docutils `_ project for creating "
"reStructuredText and the Docutils suite;"
msgstr ""
"el proyecto `Docutils `_ para creación de "
"reStructuredText y el juego de Utilidades de Documentación;"
#: ../Doc/about.rst:26
+#, fuzzy
msgid ""
-"Fredrik Lundh for his `Alternative Python Reference `_ project from which Sphinx got many good ideas."
+"Fredrik Lundh for his Alternative Python Reference project from which Sphinx "
+"got many good ideas."
msgstr ""
"Fredrik Lundh por su proyecto `Referencia Alternativa de Python `_ para la cual Sphinx tuvo muchas ideas."
-#: ../Doc/about.rst:32
+#: ../Doc/about.rst:31
msgid "Contributors to the Python Documentation"
msgstr "Contribuidores de la documentación de Python"
-#: ../Doc/about.rst:34
+#: ../Doc/about.rst:33
msgid ""
"Many people have contributed to the Python language, the Python standard "
"library, and the Python documentation. See :source:`Misc/ACKS` in the "
@@ -86,7 +90,7 @@ msgstr ""
"estándar de Python, y la documentación de Python. Revisa :source:`Misc/ACKS` "
"la distribución de Python para una lista parcial de contribuidores."
-#: ../Doc/about.rst:38
+#: ../Doc/about.rst:37
msgid ""
"It is only with the input and contributions of the Python community that "
"Python has such wonderful documentation -- Thank You!"
diff --git a/bugs.po b/bugs.po
index c1932550bf..175bd25e93 100644
--- a/bugs.po
+++ b/bugs.po
@@ -10,16 +10,16 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-16 21:42+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2020-06-28 01:03+0200\n"
"Last-Translator: \n"
-"Language-Team: python-doc-es\n"
"Language: es\n"
+"Language-Team: python-doc-es\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.9.1\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/bugs.rst:5
msgid "Dealing with Bugs"
@@ -96,7 +96,7 @@ msgid ""
msgstr ""
"Resumen general del proceso necesario para reportar una mejora en el tracker."
-#: ../Doc/bugs.rst:35
+#: ../Doc/bugs.rst:36
msgid ""
"`Helping with Documentation `_"
@@ -112,30 +112,43 @@ msgstr ""
"Guía detallada para gente interesada en contribuir a la documentación de "
"Python."
-#: ../Doc/bugs.rst:41
+#: ../Doc/bugs.rst:38
+#, fuzzy
+msgid ""
+"`Documentation Translations `_"
+msgstr ""
+"`Ayudar con la documentación `_"
+
+#: ../Doc/bugs.rst:39
+msgid ""
+"A list of GitHub pages for documentation translation and their primary "
+"contacts."
+msgstr ""
+
+#: ../Doc/bugs.rst:45
msgid "Using the Python issue tracker"
msgstr "Utilizar el issue tracker de Python"
-#: ../Doc/bugs.rst:43
+#: ../Doc/bugs.rst:47
msgid ""
-"Bug reports for Python itself should be submitted via the Python Bug Tracker "
-"(https://bugs.python.org/). The bug tracker offers a web form which allows "
-"pertinent information to be entered and submitted to the developers."
+"Issue reports for Python itself should be submitted via the GitHub issues "
+"tracker (https://github.com/python/cpython/issues). The GitHub issues "
+"tracker offers a web form which allows pertinent information to be entered "
+"and submitted to the developers."
msgstr ""
-"Los informes de errores para Python en sí deben enviarse a través de Python "
-"Bug Tracker (https://bugs.python.org/). El rastreador de errores ofrece un "
-"formulario web que permite ingresar y enviar la información pertinente a los "
-"desarrolladores."
-#: ../Doc/bugs.rst:47
+#: ../Doc/bugs.rst:52
+#, fuzzy
msgid ""
"The first step in filing a report is to determine whether the problem has "
"already been reported. The advantage in doing so, aside from saving the "
-"developers time, is that you learn what has been done to fix it; it may be "
+"developers' time, is that you learn what has been done to fix it; it may be "
"that the problem has already been fixed for the next release, or additional "
"information is needed (in which case you are welcome to provide it if you "
-"can!). To do this, search the bug database using the search box on the top "
-"of the page."
+"can!). To do this, search the tracker using the search box at the top of the "
+"page."
msgstr ""
"El primer paso para rellenar un informe es determinar si el problema ya ha "
"sido descrito previamente. La ventaja de hacer esto, aparte de ahorrar "
@@ -146,42 +159,34 @@ msgstr ""
"en la base de datos de errores usando la zona de búsqueda al principio de "
"esta página."
-#: ../Doc/bugs.rst:54
+#: ../Doc/bugs.rst:59
msgid ""
-"If the problem you're reporting is not already in the bug tracker, go back "
-"to the Python Bug Tracker and log in. If you don't already have a tracker "
-"account, select the \"Register\" link or, if you use OpenID, one of the "
-"OpenID provider logos in the sidebar. It is not possible to submit a bug "
-"report anonymously."
+"If the problem you're reporting is not already in the list, log in to "
+"GitHub. If you don't already have a GitHub account, create a new account "
+"using the \"Sign up\" link. It is not possible to submit a bug report "
+"anonymously."
msgstr ""
-"Si el problema que estás describiendo no está todavía en el rastreador de "
-"errores, vuelve al Python Bug Tracker e inicia sesión. Si no tienes una "
-"cuenta en el rastreador, selecciona el enlace \"Register\" o, si usas "
-"OpenID, selecciona uno de los logos de los proveedores OpenID en la barra "
-"lateral. No es posible el envío de informes de errores de manera anónima."
-#: ../Doc/bugs.rst:59
+#: ../Doc/bugs.rst:64
+#, fuzzy
msgid ""
-"Being now logged in, you can submit a bug. Select the \"Create New\" link "
-"in the sidebar to open the bug reporting form."
+"Being now logged in, you can submit an issue. Click on the \"New issue\" "
+"button in the top bar to report a new issue."
msgstr ""
"Una vez dentro, puedes enviar el error. Selecciona el enlace \"Create New\" "
"en la barra lateral para abrir el formulario del informe de errores."
-#: ../Doc/bugs.rst:62
+#: ../Doc/bugs.rst:67
+msgid "The submission form has two fields, \"Title\" and \"Comment\"."
+msgstr ""
+
+#: ../Doc/bugs.rst:69
msgid ""
-"The submission form has a number of fields. For the \"Title\" field, enter "
-"a *very* short description of the problem; less than ten words is good. In "
-"the \"Type\" field, select the type of your problem; also select the "
-"\"Component\" and \"Versions\" to which the bug relates."
+"For the \"Title\" field, enter a *very* short description of the problem; "
+"less than ten words is good."
msgstr ""
-"El formulario de envío tiene un número de campos. Para el campo \"Title\", "
-"introduce una descripción *muy* corta del problema; menos de diez palabras "
-"está bien. En el campo \"Type\", selecciona el tipo de problema; selecciona "
-"también el \"Component\" y \"Versions\" con los que el error está "
-"relacionado."
-#: ../Doc/bugs.rst:67
+#: ../Doc/bugs.rst:72
msgid ""
"In the \"Comment\" field, describe the problem in detail, including what you "
"expected to happen and what did happen. Be sure to include whether any "
@@ -193,17 +198,18 @@ msgstr ""
"si cualquier módulo de extensión está involucrado, y qué plataformas de "
"hardware y software estás usando (incluyendo las versiones correspondientes)."
-#: ../Doc/bugs.rst:72
+#: ../Doc/bugs.rst:77
+#, fuzzy
msgid ""
-"Each bug report will be assigned to a developer who will determine what "
-"needs to be done to correct the problem. You will receive an update each "
-"time action is taken on the bug."
+"Each issue report will be reviewed by a developer who will determine what "
+"needs to be done to correct the problem. You will receive an update each "
+"time an action is taken on the issue."
msgstr ""
"Cada informe de errores será asignado a un desarrollador que determinará qué "
"es necesario hacer para corregir el problema. Recibirás una actualización "
"cada vez que una acción nueva sea aplicada."
-#: ../Doc/bugs.rst:81
+#: ../Doc/bugs.rst:86
msgid ""
"`How to Report Bugs Effectively `_"
@@ -211,7 +217,7 @@ msgstr ""
"`Cómo informar de errores de manera efectiva `_"
-#: ../Doc/bugs.rst:80
+#: ../Doc/bugs.rst:85
msgid ""
"Article which goes into some detail about how to create a useful bug report. "
"This describes what kind of information is useful and why it is useful."
@@ -219,7 +225,7 @@ msgstr ""
"Artículo que detalla cómo crear un informe de errores útil. Describe qué "
"tipo de información es útil y por qué lo es."
-#: ../Doc/bugs.rst:84
+#: ../Doc/bugs.rst:89
msgid ""
"`Bug Writing Guidelines `_"
@@ -227,7 +233,7 @@ msgstr ""
"`Bug Writing Guidelines `_"
-#: ../Doc/bugs.rst:84
+#: ../Doc/bugs.rst:89
msgid ""
"Information about writing a good bug report. Some of this is specific to "
"the Mozilla project, but describes general good practices."
@@ -236,11 +242,11 @@ msgstr ""
"información es específica al proyecto Mozilla, pero en general describe "
"buenas prácticas."
-#: ../Doc/bugs.rst:90
+#: ../Doc/bugs.rst:95
msgid "Getting started contributing to Python yourself"
msgstr "Para empezar a contribuir en Python"
-#: ../Doc/bugs.rst:92
+#: ../Doc/bugs.rst:97
msgid ""
"Beyond just reporting bugs that you find, you are also welcome to submit "
"patches to fix them. You can find more information on how to get started "
@@ -254,3 +260,39 @@ msgstr ""
"Guide`_. Si tienes preguntas, el `core-mentorship mailing list`_ es un "
"agradable lugar para obtener respuestas a cualquiera y a todas las preguntas "
"pertenecientes al proceso de corrección de problemas en Python."
+
+#~ msgid ""
+#~ "Bug reports for Python itself should be submitted via the Python Bug "
+#~ "Tracker (https://bugs.python.org/). The bug tracker offers a web form "
+#~ "which allows pertinent information to be entered and submitted to the "
+#~ "developers."
+#~ msgstr ""
+#~ "Los informes de errores para Python en sí deben enviarse a través de "
+#~ "Python Bug Tracker (https://bugs.python.org/). El rastreador de errores "
+#~ "ofrece un formulario web que permite ingresar y enviar la información "
+#~ "pertinente a los desarrolladores."
+
+#~ msgid ""
+#~ "If the problem you're reporting is not already in the bug tracker, go "
+#~ "back to the Python Bug Tracker and log in. If you don't already have a "
+#~ "tracker account, select the \"Register\" link or, if you use OpenID, one "
+#~ "of the OpenID provider logos in the sidebar. It is not possible to "
+#~ "submit a bug report anonymously."
+#~ msgstr ""
+#~ "Si el problema que estás describiendo no está todavía en el rastreador de "
+#~ "errores, vuelve al Python Bug Tracker e inicia sesión. Si no tienes una "
+#~ "cuenta en el rastreador, selecciona el enlace \"Register\" o, si usas "
+#~ "OpenID, selecciona uno de los logos de los proveedores OpenID en la barra "
+#~ "lateral. No es posible el envío de informes de errores de manera anónima."
+
+#~ msgid ""
+#~ "The submission form has a number of fields. For the \"Title\" field, "
+#~ "enter a *very* short description of the problem; less than ten words is "
+#~ "good. In the \"Type\" field, select the type of your problem; also "
+#~ "select the \"Component\" and \"Versions\" to which the bug relates."
+#~ msgstr ""
+#~ "El formulario de envío tiene un número de campos. Para el campo "
+#~ "\"Title\", introduce una descripción *muy* corta del problema; menos de "
+#~ "diez palabras está bien. En el campo \"Type\", selecciona el tipo de "
+#~ "problema; selecciona también el \"Component\" y \"Versions\" con los que "
+#~ "el error está relacionado."
diff --git a/c-api/allocation.po b/c-api/allocation.po
index 1e5ad7b9d9..e02d0897de 100644
--- a/c-api/allocation.po
+++ b/c-api/allocation.po
@@ -1,31 +1,34 @@
# Copyright (C) 2001-2020, Python Software Foundation
# This file is distributed under the same license as the Python package.
# Maintained by the python-doc-es workteam.
-# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/
-# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers
+# docs-es@python.org /
+# https://mail.python.org/mailman3/lists/docs-es.python.org/
+# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get
+# the list of volunteers
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-05-06 11:59-0400\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2020-05-08 01:33+0200\n"
+"Last-Translator: \n"
+"Language: es\n"
"Language-Team: python-doc-es\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"Last-Translator: \n"
-"Language: es\n"
-"X-Generator: Poedit 2.3\n"
+"Generated-By: Babel 2.10.3\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 "
+"Initialize a newly allocated object *op* with its type and initial "
"reference. Returns the initialized object. If *type* indicates that the "
"object participates in the cyclic garbage detector, it is added to the "
"detector's set of observed objects. Other fields of the object are not "
diff --git a/c-api/apiabiversion.po b/c-api/apiabiversion.po
index 35a0ecf3b2..b8be949735 100644
--- a/c-api/apiabiversion.po
+++ b/c-api/apiabiversion.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-16 21:42+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-10-30 21:22-0300\n"
"Last-Translator: \n"
"Language: es\n"
@@ -19,8 +19,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.1\n"
-"X-Generator: Poedit 3.0\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/apiabiversion.rst:7
msgid "API and ABI Versioning"
@@ -180,6 +179,17 @@ msgstr ""
"Así, ``3.4.1a2`` es la hexadecimal ``0x030401a2`` y ``3.10.0`` es la "
"hexadecimal ``0x030a00f0``."
-#: ../Doc/c-api/apiabiversion.rst:62
+#: ../Doc/c-api/apiabiversion.rst:61
+msgid "This version is also available via the symbol :data:`Py_Version`."
+msgstr ""
+
+#: ../Doc/c-api/apiabiversion.rst:65
+msgid ""
+"The Python runtime version number encoded in a single constant integer, with "
+"the same format as the :c:macro:`PY_VERSION_HEX` macro. This contains the "
+"Python version used at run time."
+msgstr ""
+
+#: ../Doc/c-api/apiabiversion.rst:71
msgid "All the given macros are defined in :source:`Include/patchlevel.h`."
msgstr "Todas las macros dadas se definen en :source:`Include/patchlevel.h`."
diff --git a/c-api/arg.po b/c-api/arg.po
index d897e1fff8..ac0f669d1e 100644
--- a/c-api/arg.po
+++ b/c-api/arg.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-16 21:42+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-10-30 19:57-0300\n"
"Last-Translator: Cristián Maureira-Fredes \n"
"Language: es\n"
@@ -19,8 +19,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.1\n"
-"X-Generator: Poedit 3.0\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/arg.rst:6
msgid "Parsing arguments and building values"
@@ -330,10 +329,11 @@ msgid "``S`` (:class:`bytes`) [PyBytesObject \\*]"
msgstr "``S`` (:class:`bytes`) [PyBytesObject \\*]"
#: ../Doc/c-api/arg.rst:130
+#, fuzzy
msgid ""
"Requires that the Python object is a :class:`bytes` object, without "
"attempting any conversion. Raises :exc:`TypeError` if the object is not a "
-"bytes object. The C variable may also be declared as :c:type:`PyObject*`."
+"bytes object. The C variable may also be declared as :c:expr:`PyObject*`."
msgstr ""
"Requiere que el objeto Python es un objeto :class:`bytes`, sin intentar "
"ninguna conversión. Lanza :exc:`TypeError` si el objeto no es un objeto "
@@ -344,10 +344,11 @@ msgid "``Y`` (:class:`bytearray`) [PyByteArrayObject \\*]"
msgstr "``Y`` (:class:`bytearray`) [PyByteArrayObject \\*]"
#: ../Doc/c-api/arg.rst:135
+#, fuzzy
msgid ""
"Requires that the Python object is a :class:`bytearray` object, without "
"attempting any conversion. Raises :exc:`TypeError` if the object is not a :"
-"class:`bytearray` object. The C variable may also be declared as :c:type:"
+"class:`bytearray` object. The C variable may also be declared as :c:expr:"
"`PyObject*`."
msgstr ""
"Requiere que el objeto Python es un objeto :class:`bytearray`, sin intentar "
@@ -432,10 +433,11 @@ msgid "``U`` (:class:`str`) [PyObject \\*]"
msgstr "``U`` (:class:`str`) [PyObject \\*]"
#: ../Doc/c-api/arg.rst:182
+#, fuzzy
msgid ""
"Requires that the Python object is a Unicode object, without attempting any "
"conversion. Raises :exc:`TypeError` if the object is not a Unicode object. "
-"The C variable may also be declared as :c:type:`PyObject*`."
+"The C variable may also be declared as :c:expr:`PyObject*`."
msgstr ""
"Requiere que el objeto Python es un objeto Unicode, sin intentar ninguna "
"conversión. Lanza :exc:`TypeError` si el objeto no es un objeto Unicode. La "
@@ -470,12 +472,13 @@ msgstr ""
"caracteres. Solo funciona para datos codificados sin bytes NUL integrados."
#: ../Doc/c-api/arg.rst:196
+#, fuzzy
msgid ""
"This format requires two arguments. The first is only used as input, and "
-"must be a :c:type:`const char*` which points to the name of an encoding as a "
+"must be a :c:expr:`const char*` which points to the name of an encoding as a "
"NUL-terminated string, or ``NULL``, in which case ``'utf-8'`` encoding is "
"used. An exception is raised if the named encoding is not known to Python. "
-"The second argument must be a :c:type:`char**`; the value of the pointer it "
+"The second argument must be a :c:expr:`char**`; the value of the pointer it "
"references will be set to a buffer with the contents of the argument text. "
"The text will be encoded in the encoding specified by the first argument."
msgstr ""
@@ -538,12 +541,13 @@ msgstr ""
"entrada que contienen caracteres NUL."
#: ../Doc/c-api/arg.rst:219
+#, fuzzy
msgid ""
"It requires three arguments. The first is only used as input, and must be "
-"a :c:type:`const char*` which points to the name of an encoding as a NUL-"
+"a :c:expr:`const char*` which points to the name of an encoding as a NUL-"
"terminated string, or ``NULL``, in which case ``'utf-8'`` encoding is used. "
"An exception is raised if the named encoding is not known to Python. The "
-"second argument must be a :c:type:`char**`; the value of the pointer it "
+"second argument must be a :c:expr:`char**`; the value of the pointer it "
"references will be set to a buffer with the contents of the argument text. "
"The text will be encoded in the encoding specified by the first argument. "
"The third argument must be a pointer to an integer; the referenced integer "
@@ -567,14 +571,14 @@ msgstr "Hay dos modos de operación:"
#: ../Doc/c-api/arg.rst:231
msgid ""
"If *\\*buffer* points a ``NULL`` pointer, the function will allocate a "
-"buffer of the needed size, copy the encoded data into this buffer and set *"
-"\\*buffer* to reference the newly allocated storage. The caller is "
+"buffer of the needed size, copy the encoded data into this buffer and set "
+"*\\*buffer* to reference the newly allocated storage. The caller is "
"responsible for calling :c:func:`PyMem_Free` to free the allocated buffer "
"after usage."
msgstr ""
"Si *\\*buffer* señala un puntero ``NULL``, la función asignará un búfer del "
-"tamaño necesario, copiará los datos codificados en este búfer y configurará *"
-"\\*buffer* para hacer referencia al almacenamiento recién asignado. Quien "
+"tamaño necesario, copiará los datos codificados en este búfer y configurará "
+"*\\*buffer* para hacer referencia al almacenamiento recién asignado. Quien "
"llama es responsable de llamar a :c:func:`PyMem_Free` para liberar el búfer "
"asignado después del uso."
@@ -628,9 +632,10 @@ msgid "``b`` (:class:`int`) [unsigned char]"
msgstr "``b`` (:class:`int`) [unsigned char]"
#: ../Doc/c-api/arg.rst:254
+#, fuzzy
msgid ""
"Convert a nonnegative Python integer to an unsigned tiny int, stored in a C :"
-"c:type:`unsigned char`."
+"c:expr:`unsigned char`."
msgstr ""
"Convierte un entero de Python no negativo en un pequeño int sin signo, "
"almacenado en un :c:type:`unsigned char` de C."
@@ -640,9 +645,10 @@ msgid "``B`` (:class:`int`) [unsigned char]"
msgstr "``B`` (:class:`int`) [unsigned char]"
#: ../Doc/c-api/arg.rst:258
+#, fuzzy
msgid ""
"Convert a Python integer to a tiny int without overflow checking, stored in "
-"a C :c:type:`unsigned char`."
+"a C :c:expr:`unsigned char`."
msgstr ""
"Convierte un entero de Python en un pequeño int sin comprobación de "
"desbordamiento, almacenado en un :c:type:`unsigned char` de C."
@@ -652,7 +658,8 @@ msgid "``h`` (:class:`int`) [short int]"
msgstr "``h`` (:class:`int`) [short int]"
#: ../Doc/c-api/arg.rst:262
-msgid "Convert a Python integer to a C :c:type:`short int`."
+#, fuzzy
+msgid "Convert a Python integer to a C :c:expr:`short int`."
msgstr "Convierte un entero de Python a un :c:type:`short int` de C."
#: ../Doc/c-api/arg.rst:266 ../Doc/c-api/arg.rst:602
@@ -660,8 +667,9 @@ msgid "``H`` (:class:`int`) [unsigned short int]"
msgstr "``H`` (:class:`int`) [unsigned short int]"
#: ../Doc/c-api/arg.rst:265
+#, fuzzy
msgid ""
-"Convert a Python integer to a C :c:type:`unsigned short int`, without "
+"Convert a Python integer to a C :c:expr:`unsigned short int`, without "
"overflow checking."
msgstr ""
"Convierte un entero de Python a un :c:type:`unsigned short int` de C, sin "
@@ -672,7 +680,8 @@ msgid "``i`` (:class:`int`) [int]"
msgstr "``i`` (:class:`int`) [int]"
#: ../Doc/c-api/arg.rst:269
-msgid "Convert a Python integer to a plain C :c:type:`int`."
+#, fuzzy
+msgid "Convert a Python integer to a plain C :c:expr:`int`."
msgstr "Convierte un entero Python a un :c:type:`int` de C plano."
#: ../Doc/c-api/arg.rst:273 ../Doc/c-api/arg.rst:605
@@ -680,8 +689,9 @@ msgid "``I`` (:class:`int`) [unsigned int]"
msgstr "``I`` (:class:`int`) [unsigned int]"
#: ../Doc/c-api/arg.rst:272
+#, fuzzy
msgid ""
-"Convert a Python integer to a C :c:type:`unsigned int`, without overflow "
+"Convert a Python integer to a C :c:expr:`unsigned int`, without overflow "
"checking."
msgstr ""
"Convierte un entero de Python a un :c:type:`unsigned int` de C, sin "
@@ -692,7 +702,8 @@ msgid "``l`` (:class:`int`) [long int]"
msgstr "``l`` (:class:`int`) [long int]"
#: ../Doc/c-api/arg.rst:276
-msgid "Convert a Python integer to a C :c:type:`long int`."
+#, fuzzy
+msgid "Convert a Python integer to a C :c:expr:`long int`."
msgstr "Convierte un entero Python a un :c:type:`long int` de C."
#: ../Doc/c-api/arg.rst:280 ../Doc/c-api/arg.rst:608
@@ -700,8 +711,9 @@ msgid "``k`` (:class:`int`) [unsigned long]"
msgstr "``k`` (:class:`int`) [unsigned long]"
#: ../Doc/c-api/arg.rst:279
+#, fuzzy
msgid ""
-"Convert a Python integer to a C :c:type:`unsigned long` without overflow "
+"Convert a Python integer to a C :c:expr:`unsigned long` without overflow "
"checking."
msgstr ""
"Convierte un entero de Python a un :c:type:`unsigned long` de C, sin "
@@ -712,7 +724,8 @@ msgid "``L`` (:class:`int`) [long long]"
msgstr "``L`` (:class:`int`) [long long]"
#: ../Doc/c-api/arg.rst:283
-msgid "Convert a Python integer to a C :c:type:`long long`."
+#, fuzzy
+msgid "Convert a Python integer to a C :c:expr:`long long`."
msgstr "Convierte un entero de Python a un :c:type:`long long` de C."
#: ../Doc/c-api/arg.rst:287 ../Doc/c-api/arg.rst:614
@@ -720,15 +733,17 @@ msgid "``K`` (:class:`int`) [unsigned long long]"
msgstr "``K`` (:class:`int`) [unsigned long long]"
#: ../Doc/c-api/arg.rst:286
+#, fuzzy
msgid ""
-"Convert a Python integer to a C :c:type:`unsigned long long` without "
+"Convert a Python integer to a C :c:expr:`unsigned long long` without "
"overflow checking."
msgstr ""
"Convierte un entero de Python a un :c:type:`unsigned long long` de C, sin "
"verificación de desbordamiento."
#: ../Doc/c-api/arg.rst:290 ../Doc/c-api/arg.rst:617
-msgid "``n`` (:class:`int`) [Py_ssize_t]"
+#, fuzzy
+msgid "``n`` (:class:`int`) [:c:type:`Py_ssize_t`]"
msgstr "``n`` (:class:`int`) [Py_ssize_t]"
#: ../Doc/c-api/arg.rst:290
@@ -740,9 +755,10 @@ msgid "``c`` (:class:`bytes` or :class:`bytearray` of length 1) [char]"
msgstr "``c`` (:class:`bytes` o :class:`bytearray` de largo 1) [char]"
#: ../Doc/c-api/arg.rst:293
+#, fuzzy
msgid ""
"Convert a Python byte, represented as a :class:`bytes` or :class:`bytearray` "
-"object of length 1, to a C :c:type:`char`."
+"object of length 1, to a C :c:expr:`char`."
msgstr ""
"Convierte un byte de Python, representado como un objeto :class:`bytes` o :"
"class:`bytearray` de longitud 1, a un :c:type:`char` de C."
@@ -756,9 +772,10 @@ msgid "``C`` (:class:`str` of length 1) [int]"
msgstr "``C`` (:class:`str` de largo 1) [int]"
#: ../Doc/c-api/arg.rst:300
+#, fuzzy
msgid ""
"Convert a Python character, represented as a :class:`str` object of length "
-"1, to a C :c:type:`int`."
+"1, to a C :c:expr:`int`."
msgstr ""
"Convierte un carácter Python, representado como un objeto :class:`str` de "
"longitud 1, a un tipo :c:type:`int` de C."
@@ -768,7 +785,8 @@ msgid "``f`` (:class:`float`) [float]"
msgstr "``f`` (:class:`float`) [float]"
#: ../Doc/c-api/arg.rst:304
-msgid "Convert a Python floating point number to a C :c:type:`float`."
+#, fuzzy
+msgid "Convert a Python floating point number to a C :c:expr:`float`."
msgstr ""
"Convierte un número de punto flotante de Python a un :c:type:`float` de C."
@@ -777,7 +795,8 @@ msgid "``d`` (:class:`float`) [double]"
msgstr "``d`` (:class:`float`) [double]"
#: ../Doc/c-api/arg.rst:307
-msgid "Convert a Python floating point number to a C :c:type:`double`."
+#, fuzzy
+msgid "Convert a Python floating point number to a C :c:expr:`double`."
msgstr ""
"Convierte un número de punto flotante de Python a un :c:type:`double` de C."
@@ -814,10 +833,11 @@ msgid "``O!`` (object) [*typeobject*, PyObject \\*]"
msgstr "``O!`` (object) [*typeobject*, PyObject \\*]"
#: ../Doc/c-api/arg.rst:321
+#, fuzzy
msgid ""
"Store a Python object in a C object pointer. This is similar to ``O``, but "
"takes two C arguments: the first is the address of a Python type object, the "
-"second is the address of the C variable (of type :c:type:`PyObject*`) into "
+"second is the address of the C variable (of type :c:expr:`PyObject*`) into "
"which the object pointer is stored. If the Python object does not have the "
"required type, :exc:`TypeError` is raised."
msgstr ""
@@ -832,10 +852,11 @@ msgid "``O&`` (object) [*converter*, *anything*]"
msgstr "``O&`` (object) [*converter*, *anything*]"
#: ../Doc/c-api/arg.rst:330
+#, fuzzy
msgid ""
"Convert a Python object to a C variable through a *converter* function. "
"This takes two arguments: the first is a function, the second is the address "
-"of a C variable (of arbitrary type), converted to :c:type:`void *`. The "
+"of a C variable (of arbitrary type), converted to :c:expr:`void *`. The "
"*converter* function in turn is called as follows::"
msgstr ""
"Convierte un objeto Python en una variable C a través de una función "
@@ -845,13 +866,14 @@ msgstr ""
"manera::"
#: ../Doc/c-api/arg.rst:337
+#, fuzzy
msgid ""
"where *object* is the Python object to be converted and *address* is the :c:"
-"type:`void*` argument that was passed to the :c:func:`PyArg_Parse\\*` "
-"function. The returned *status* should be ``1`` for a successful conversion "
-"and ``0`` if the conversion has failed. When the conversion fails, the "
-"*converter* function should raise an exception and leave the content of "
-"*address* unmodified."
+"expr:`void*` argument that was passed to the ``PyArg_Parse*`` function. The "
+"returned *status* should be ``1`` for a successful conversion and ``0`` if "
+"the conversion has failed. When the conversion fails, the *converter* "
+"function should raise an exception and leave the content of *address* "
+"unmodified."
msgstr ""
"donde *object* es el objeto de Python a convertir y *address* es el "
"argumento :c:type:`void*` que se pasó a la función :c:func:`PyArg_Parse\\*`. "
@@ -1022,22 +1044,22 @@ msgstr ""
"especificado para la unidad de formato correspondiente en ese caso."
#: ../Doc/c-api/arg.rst:410
+#, fuzzy
msgid ""
"For the conversion to succeed, the *arg* object must match the format and "
-"the format must be exhausted. On success, the :c:func:`PyArg_Parse\\*` "
-"functions return true, otherwise they return false and raise an appropriate "
-"exception. When the :c:func:`PyArg_Parse\\*` functions fail due to "
-"conversion failure in one of the format units, the variables at the "
-"addresses corresponding to that and the following format units are left "
-"untouched."
+"the format must be exhausted. On success, the ``PyArg_Parse*`` functions "
+"return true, otherwise they return false and raise an appropriate exception. "
+"When the ``PyArg_Parse*`` functions fail due to conversion failure in one of "
+"the format units, the variables at the addresses corresponding to that and "
+"the following format units are left untouched."
msgstr ""
"Para que la conversión tenga éxito, el objeto *arg* debe coincidir con el "
"formato y el formato debe estar agotado. En caso de éxito, las funciones :c:"
"func:`PyArg_Parse\\*` retornan verdadero; de lo contrario, retornan falso y "
-"generan una excepción apropiada. Cuando las funciones :c:func:`PyArg_Parse"
-"\\*` fallan debido a un error de conversión en una de las unidades de "
-"formato, las variables en las direcciones correspondientes y las siguientes "
-"unidades de formato quedan intactas."
+"generan una excepción apropiada. Cuando las funciones :c:func:"
+"`PyArg_Parse\\*` fallan debido a un error de conversión en una de las "
+"unidades de formato, las variables en las direcciones correspondientes y las "
+"siguientes unidades de formato quedan intactas."
#: ../Doc/c-api/arg.rst:419
msgid "API Functions"
@@ -1122,6 +1144,7 @@ msgstr ""
"descomponer otras tuplas, y puede continuar usándose para ese propósito."
#: ../Doc/c-api/arg.rst:477
+#, fuzzy
msgid ""
"A simpler form of parameter retrieval which does not use a format string to "
"specify the types of the arguments. Functions which use this method to "
@@ -1130,7 +1153,7 @@ msgid ""
"should be passed as *args*; it must actually be a tuple. The length of the "
"tuple must be at least *min* and no more than *max*; *min* and *max* may be "
"equal. Additional arguments must be passed to the function, each of which "
-"should be a pointer to a :c:type:`PyObject*` variable; these will be filled "
+"should be a pointer to a :c:expr:`PyObject*` variable; these will be filled "
"in with the values from *args*; they will contain :term:`borrowed references "
"`. The variables which correspond to optional parameters "
"not given by *args* will not be filled in; these should be initialized by "
@@ -1175,11 +1198,12 @@ msgid "Building values"
msgstr "Construyendo valores"
#: ../Doc/c-api/arg.rst:520
+#, fuzzy
msgid ""
-"Create a new value based on a format string similar to those accepted by "
-"the :c:func:`PyArg_Parse\\*` family of functions and a sequence of values. "
-"Returns the value or ``NULL`` in the case of an error; an exception will be "
-"raised if ``NULL`` is returned."
+"Create a new value based on a format string similar to those accepted by the "
+"``PyArg_Parse*`` family of functions and a sequence of values. Returns the "
+"value or ``NULL`` in the case of an error; an exception will be raised if "
+"``NULL`` is returned."
msgstr ""
"Crea un nuevo valor basado en una cadena de formato similar a los aceptados "
"por la familia de funciones :c:func:`PyArg_Parse\\*` y una secuencia de "
@@ -1318,8 +1342,9 @@ msgid "``u`` (:class:`str`) [const wchar_t \\*]"
msgstr "``u`` (:class:`str`) [const wchar_t \\*]"
#: ../Doc/c-api/arg.rst:571
+#, fuzzy
msgid ""
-"Convert a null-terminated :c:type:`wchar_t` buffer of Unicode (UTF-16 or "
+"Convert a null-terminated :c:expr:`wchar_t` buffer of Unicode (UTF-16 or "
"UCS-4) data to a Python Unicode object. If the Unicode buffer pointer is "
"``NULL``, ``None`` is returned."
msgstr ""
@@ -1352,7 +1377,8 @@ msgstr ""
"``z#`` (:class:`str` o ``None``) [const char \\*, :c:type:`Py_ssize_t`]"
#: ../Doc/c-api/arg.rst:587
-msgid "Convert a plain C :c:type:`int` to a Python integer object."
+#, fuzzy
+msgid "Convert a plain C :c:expr:`int` to a Python integer object."
msgstr "Convierte un :c:type:`int` plano de C a un objeto entero de Python."
#: ../Doc/c-api/arg.rst:590
@@ -1360,40 +1386,49 @@ msgid "``b`` (:class:`int`) [char]"
msgstr "``b`` (:class:`int`) [char]"
#: ../Doc/c-api/arg.rst:590
-msgid "Convert a plain C :c:type:`char` to a Python integer object."
+#, fuzzy
+msgid "Convert a plain C :c:expr:`char` to a Python integer object."
msgstr "Convierte un :c:type:`char` plano de C a un objeto entero de Python."
#: ../Doc/c-api/arg.rst:593
-msgid "Convert a plain C :c:type:`short int` to a Python integer object."
+#, fuzzy
+msgid "Convert a plain C :c:expr:`short int` to a Python integer object."
msgstr ""
"Convierte un :c:type:`short int` plano de C a un objeto entero de Python."
#: ../Doc/c-api/arg.rst:596
-msgid "Convert a C :c:type:`long int` to a Python integer object."
+#, fuzzy
+msgid "Convert a C :c:expr:`long int` to a Python integer object."
msgstr "Convierta un :c:type:`long int` de C en un objeto entero de Python."
#: ../Doc/c-api/arg.rst:599
-msgid "Convert a C :c:type:`unsigned char` to a Python integer object."
+#, fuzzy
+msgid "Convert a C :c:expr:`unsigned char` to a Python integer object."
msgstr "Convierte un :c:type:`unsigned char` de C a un entero de Python."
#: ../Doc/c-api/arg.rst:602
-msgid "Convert a C :c:type:`unsigned short int` to a Python integer object."
+#, fuzzy
+msgid "Convert a C :c:expr:`unsigned short int` to a Python integer object."
msgstr "Convierte un :c:type:`unsigned short int` de C a un entero de Python."
#: ../Doc/c-api/arg.rst:605
-msgid "Convert a C :c:type:`unsigned int` to a Python integer object."
+#, fuzzy
+msgid "Convert a C :c:expr:`unsigned int` to a Python integer object."
msgstr "Convierte un :c:type:`unsigned int` de C a un entero de Python."
#: ../Doc/c-api/arg.rst:608
-msgid "Convert a C :c:type:`unsigned long` to a Python integer object."
+#, fuzzy
+msgid "Convert a C :c:expr:`unsigned long` to a Python integer object."
msgstr "Convierte un :c:type:`unsigned long` de C a un entero de Python."
#: ../Doc/c-api/arg.rst:611
-msgid "Convert a C :c:type:`long long` to a Python integer object."
+#, fuzzy
+msgid "Convert a C :c:expr:`long long` to a Python integer object."
msgstr "Convierte un :c:type:`long long` de C en un objeto entero de Python."
#: ../Doc/c-api/arg.rst:614
-msgid "Convert a C :c:type:`unsigned long long` to a Python integer object."
+#, fuzzy
+msgid "Convert a C :c:expr:`unsigned long long` to a Python integer object."
msgstr "Convierte un :c:type:`unsigned long long` de C a un entero de Python."
#: ../Doc/c-api/arg.rst:617
@@ -1405,28 +1440,32 @@ msgid "``c`` (:class:`bytes` of length 1) [char]"
msgstr "``c`` (:class:`bytes` de largo 1) [char]"
#: ../Doc/c-api/arg.rst:620
+#, fuzzy
msgid ""
-"Convert a C :c:type:`int` representing a byte to a Python :class:`bytes` "
+"Convert a C :c:expr:`int` representing a byte to a Python :class:`bytes` "
"object of length 1."
msgstr ""
"Convierte un :c:type:`int` de C representando un byte a un objeto :class:"
"`bytes` de Python de largo 1."
#: ../Doc/c-api/arg.rst:624
+#, fuzzy
msgid ""
-"Convert a C :c:type:`int` representing a character to Python :class:`str` "
+"Convert a C :c:expr:`int` representing a character to Python :class:`str` "
"object of length 1."
msgstr ""
"Convierte un :c:type:`int` de C representando un carácter a un objeto :class:"
"`str` de Python de largo 1."
#: ../Doc/c-api/arg.rst:628
-msgid "Convert a C :c:type:`double` to a Python floating point number."
+#, fuzzy
+msgid "Convert a C :c:expr:`double` to a Python floating point number."
msgstr ""
"Convierte un :c:type:`double` de C a un número de punto flotante de Python."
#: ../Doc/c-api/arg.rst:631
-msgid "Convert a C :c:type:`float` to a Python floating point number."
+#, fuzzy
+msgid "Convert a C :c:expr:`float` to a Python floating point number."
msgstr ""
"Convierte un :c:type:`float` de C a un número de punto flotante de Python."
@@ -1479,9 +1518,10 @@ msgstr ""
"de objetos en la lista de argumentos."
#: ../Doc/c-api/arg.rst:653
+#, fuzzy
msgid ""
"Convert *anything* to a Python object through a *converter* function. The "
-"function is called with *anything* (which should be compatible with :c:type:"
+"function is called with *anything* (which should be compatible with :c:expr:"
"`void*`) as its argument and should return a \"new\" Python object, or "
"``NULL`` if an error occurred."
msgstr ""
diff --git a/c-api/buffer.po b/c-api/buffer.po
index 88f7904d19..6b98cb7fc0 100644
--- a/c-api/buffer.po
+++ b/c-api/buffer.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-03-19 11:16+0100\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-08-02 01:18+0200\n"
"Last-Translator: Cristián Maureira-Fredes \n"
"Language: es\n"
@@ -19,8 +19,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.8.0\n"
-"X-Generator: Poedit 3.0\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/buffer.rst:11
msgid "Buffer Protocol"
@@ -881,6 +880,16 @@ msgstr "Esta función falla si *len* != *src->len*."
#: ../Doc/c-api/buffer.rst:504
msgid ""
+"Copy data from *src* to *dest* buffer. Can convert between C-style and or "
+"Fortran-style buffers."
+msgstr ""
+
+#: ../Doc/c-api/buffer.rst:507
+msgid "``0`` is returned on success, ``-1`` on error."
+msgstr ""
+
+#: ../Doc/c-api/buffer.rst:511
+msgid ""
"Fill the *strides* array with byte-strides of a :term:`contiguous` (C-style "
"if *order* is ``'C'`` or Fortran-style if *order* is ``'F'``) array of the "
"given shape with the given number of bytes per element."
@@ -889,7 +898,7 @@ msgstr ""
"(estilo C si *order* es ``'C'`` o estilo Fortran si *order* es ``'F '`` ) "
"arreglo de la forma dada con el número dado de bytes por elemento."
-#: ../Doc/c-api/buffer.rst:511
+#: ../Doc/c-api/buffer.rst:518
msgid ""
"Handle buffer requests for an exporter that wants to expose *buf* of size "
"*len* with writability set according to *readonly*. *buf* is interpreted as "
@@ -899,7 +908,7 @@ msgstr ""
"de tamaño *len* con capacidad de escritura establecida de acuerdo con "
"*readonly*. *buf* se interpreta como una secuencia de bytes sin signo."
-#: ../Doc/c-api/buffer.rst:515
+#: ../Doc/c-api/buffer.rst:522
msgid ""
"The *flags* argument indicates the request type. This function always fills "
"in *view* as specified by flags, unless *buf* has been designated as read-"
@@ -910,7 +919,7 @@ msgstr ""
"designado como solo lectura y :c:macro:`PyBUF_WRITABLE` esté configurado en "
"*flags*."
-#: ../Doc/c-api/buffer.rst:519
+#: ../Doc/c-api/buffer.rst:526
msgid ""
"On success, set ``view->obj`` to a new reference to *exporter* and return 0. "
"Otherwise, raise :c:data:`PyExc_BufferError`, set ``view->obj`` to ``NULL`` "
@@ -920,7 +929,7 @@ msgstr ""
"y retorna 0. De lo contrario, aumenta :c:data:`PyExc_BufferError`, establece "
"``view->obj`` en ``NULL`` y retorna ``-1``;"
-#: ../Doc/c-api/buffer.rst:523
+#: ../Doc/c-api/buffer.rst:530
msgid ""
"If this function is used as part of a :ref:`getbufferproc `, "
"*exporter* MUST be set to the exporting object and *flags* must be passed "
diff --git a/c-api/bytearray.po b/c-api/bytearray.po
index ba18285871..553085156d 100644
--- a/c-api/bytearray.po
+++ b/c-api/bytearray.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-03-19 11:16+0100\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-08-01 20:18+0200\n"
"Last-Translator: Cristián Maureira-Fredes \n"
"Language: es\n"
@@ -19,8 +19,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.8.0\n"
-"X-Generator: Poedit 3.0\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/bytearray.rst:6
msgid "Byte Array Objects"
@@ -75,7 +74,7 @@ msgstr ""
"Retorna un nuevo objeto de arreglo de bytes de cualquier objeto, *o*, que "
"implementa el :ref:`buffer protocol `."
-#: ../Doc/c-api/bytearray.rst:50
+#: ../Doc/c-api/bytearray.rst:48
msgid ""
"Create a new bytearray object from *string* and its length, *len*. On "
"failure, ``NULL`` is returned."
@@ -83,19 +82,19 @@ msgstr ""
"Crea un nuevo objeto de arreglo de bytes a partir de *string* y su longitud, "
"*len*. En caso de fallo, se retorna ``NULL``."
-#: ../Doc/c-api/bytearray.rst:56
+#: ../Doc/c-api/bytearray.rst:54
msgid ""
"Concat bytearrays *a* and *b* and return a new bytearray with the result."
msgstr ""
"Une los arreglos de bytes (*bytearrays*) *a* y *b* y retorna un nuevo "
"arreglo de bytes (*bytearray*) con el resultado."
-#: ../Doc/c-api/bytearray.rst:61
+#: ../Doc/c-api/bytearray.rst:59
msgid "Return the size of *bytearray* after checking for a ``NULL`` pointer."
msgstr ""
"Retorna el tamaño de *bytearray* después de buscar un puntero ``NULL``."
-#: ../Doc/c-api/bytearray.rst:66
+#: ../Doc/c-api/bytearray.rst:64
msgid ""
"Return the contents of *bytearray* as a char array after checking for a "
"``NULL`` pointer. The returned array always has an extra null byte appended."
@@ -104,23 +103,29 @@ msgstr ""
"verificar un puntero ``NULL``. La arreglo retornado siempre tiene un byte "
"nulo adicional agregado."
-#: ../Doc/c-api/bytearray.rst:73
+#: ../Doc/c-api/bytearray.rst:71
msgid "Resize the internal buffer of *bytearray* to *len*."
msgstr "Cambia el tamaño del búfer interno de *bytearray* a *len*."
-#: ../Doc/c-api/bytearray.rst:76
+#: ../Doc/c-api/bytearray.rst:74
msgid "Macros"
msgstr "Macros"
-#: ../Doc/c-api/bytearray.rst:78
+#: ../Doc/c-api/bytearray.rst:76
msgid "These macros trade safety for speed and they don't check pointers."
msgstr ""
"Estos macros intercambian seguridad por velocidad y no comprueban punteros."
-#: ../Doc/c-api/bytearray.rst:82
-msgid "Macro version of :c:func:`PyByteArray_AsString`."
-msgstr "Versión macro de :c:func:`PyByteArray_AsString`."
+#: ../Doc/c-api/bytearray.rst:80
+msgid "Similar to :c:func:`PyByteArray_AsString`, but without error checking."
+msgstr ""
+
+#: ../Doc/c-api/bytearray.rst:85
+msgid "Similar to :c:func:`PyByteArray_Size`, but without error checking."
+msgstr ""
+
+#~ msgid "Macro version of :c:func:`PyByteArray_AsString`."
+#~ msgstr "Versión macro de :c:func:`PyByteArray_AsString`."
-#: ../Doc/c-api/bytearray.rst:87
-msgid "Macro version of :c:func:`PyByteArray_Size`."
-msgstr "Versión macro de :c:func:`PyByteArray_Size`."
+#~ msgid "Macro version of :c:func:`PyByteArray_Size`."
+#~ msgstr "Versión macro de :c:func:`PyByteArray_Size`."
diff --git a/c-api/bytes.po b/c-api/bytes.po
index eeeb32a403..9b543af6c3 100644
--- a/c-api/bytes.po
+++ b/c-api/bytes.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-03-19 11:16+0100\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-08-01 20:18+0200\n"
"Last-Translator: Cristián Maureira-Fredes \n"
"Language: es\n"
@@ -19,17 +19,17 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.8.0\n"
-"X-Generator: Poedit 3.0\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/bytes.rst:6
msgid "Bytes Objects"
msgstr "Objetos Bytes"
#: ../Doc/c-api/bytes.rst:8
+#, fuzzy
msgid ""
"These functions raise :exc:`TypeError` when expecting a bytes parameter and "
-"are called with a non-bytes parameter."
+"called with a non-bytes parameter."
msgstr ""
"Estas funciones lanzan :exc:`TypeError` cuando se espera un parámetro de "
"bytes y se llama con un parámetro que no es bytes."
@@ -196,8 +196,8 @@ msgid ":attr:`%zd`"
msgstr ":attr:`%zd`"
#: ../Doc/c-api/bytes.rst:87
-msgid "Py_ssize_t"
-msgstr "Py_ssize_t"
+msgid ":c:type:`\\ Py_ssize_t`"
+msgstr ""
#: ../Doc/c-api/bytes.rst:87
msgid "Equivalent to ``printf(\"%zd\")``. [1]_"
@@ -258,9 +258,9 @@ msgstr "const void\\*"
#: ../Doc/c-api/bytes.rst:102
msgid ""
-"The hex representation of a C pointer. Mostly equivalent to ``printf(\"%p"
-"\")`` except that it is guaranteed to start with the literal ``0x`` "
-"regardless of what the platform's ``printf`` yields."
+"The hex representation of a C pointer. Mostly equivalent to "
+"``printf(\"%p\")`` except that it is guaranteed to start with the literal "
+"``0x`` regardless of what the platform's ``printf`` yields."
msgstr ""
"La representación hexadecimal de un puntero en C. Principalmente equivalente "
"a ``printf(\"%p\")`` excepto que se garantiza que comience con el literal "
@@ -304,7 +304,8 @@ msgid "Return the length of the bytes in bytes object *o*."
msgstr "Retorna la longitud de los bytes en el objeto bytes *o*."
#: ../Doc/c-api/bytes.rst:137
-msgid "Macro form of :c:func:`PyBytes_Size` but without error checking."
+#, fuzzy
+msgid "Similar to :c:func:`PyBytes_Size`, but without error checking."
msgstr ""
"Forma macro de :c:func:`PyBytes_Size` pero sin verificación de errores."
@@ -327,7 +328,8 @@ msgstr ""
"`PyBytes_AsString` retorna ``NULL`` y lanza un :exc:`TypeError`."
#: ../Doc/c-api/bytes.rst:154
-msgid "Macro form of :c:func:`PyBytes_AsString` but without error checking."
+#, fuzzy
+msgid "Similar to :c:func:`PyBytes_AsString`, but without error checking."
msgstr ""
"Forma macro de :c:func:`PyBytes_AsString` pero sin verificación de errores."
@@ -407,8 +409,8 @@ msgid ""
"address of an existing bytes object as an lvalue (it may be written into), "
"and the new size desired. On success, *\\*bytes* holds the resized bytes "
"object and ``0`` is returned; the address in *\\*bytes* may differ from its "
-"input value. If the reallocation fails, the original bytes object at *"
-"\\*bytes* is deallocated, *\\*bytes* is set to ``NULL``, :exc:`MemoryError` "
+"input value. If the reallocation fails, the original bytes object at "
+"*\\*bytes* is deallocated, *\\*bytes* is set to ``NULL``, :exc:`MemoryError` "
"is set, and ``-1`` is returned."
msgstr ""
"Una forma de cambiar el tamaño de un objeto bytes aunque sea \"inmutable\". "
@@ -417,7 +419,10 @@ msgstr ""
"esta función si el recuento en el objeto bytes de entrada no es uno. Pasa la "
"dirección de un objeto de bytes existente como un *lvalue* (puede escribirse "
"en él) y el nuevo tamaño deseado. En caso de éxito, *\\*bytes* retiene el "
-"objeto de bytes redimensionados y se retorna ``0``; la dirección en *"
-"\\*bytes* puede diferir de su valor de entrada. Si la reasignación falla, el "
-"objeto de bytes original en *\\*bytes* se desasigna, *\\*bytes* se establece "
-"en ``NULL``, :exc:`MemoryError` se establece y se retorna ``-1`` ."
+"objeto de bytes redimensionados y se retorna ``0``; la dirección en "
+"*\\*bytes* puede diferir de su valor de entrada. Si la reasignación falla, "
+"el objeto de bytes original en *\\*bytes* se desasigna, *\\*bytes* se "
+"establece en ``NULL``, :exc:`MemoryError` se establece y se retorna ``-1`` ."
+
+#~ msgid "Py_ssize_t"
+#~ msgstr "Py_ssize_t"
diff --git a/c-api/call.po b/c-api/call.po
index 0a17363d51..661005a0fb 100644
--- a/c-api/call.po
+++ b/c-api/call.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python en Español 3.9\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-16 21:42+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-12-09 10:27+0800\n"
"Last-Translator: Rodrigo Tobar \n"
"Language: es\n"
@@ -17,8 +17,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.1\n"
-"X-Generator: Poedit 3.0\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/call.rst:6
msgid "Call Protocol"
@@ -65,9 +64,10 @@ msgstr ""
"manera."
#: ../Doc/c-api/call.rst:29
+#, fuzzy
msgid ""
-"To call an object, use :c:func:`PyObject_Call` or other :ref:`call API `."
+"To call an object, use :c:func:`PyObject_Call` or another :ref:`call API "
+"`."
msgstr ""
"Para llamar a un objeto, use :c:func:`PyObject_Call` u otro :ref:`call API "
"`."
@@ -294,15 +294,7 @@ msgstr ""
"Sin embargo, la función ``PyVectorcall_NARGS`` debe usarse para permitir "
"futuras extensiones."
-#: ../Doc/c-api/call.rst:147 ../Doc/c-api/call.rst:161
-#: ../Doc/c-api/call.rst:175 ../Doc/c-api/call.rst:259
-#: ../Doc/c-api/call.rst:346 ../Doc/c-api/call.rst:360
-#: ../Doc/c-api/call.rst:375 ../Doc/c-api/call.rst:391
-#: ../Doc/c-api/call.rst:413
-msgid "This function is not part of the :ref:`limited API `."
-msgstr "Esta función no es parte de la :ref:`API limitada `."
-
-#: ../Doc/c-api/call.rst:153
+#: ../Doc/c-api/call.rst:151
msgid ""
"If *op* does not support the vectorcall protocol (either because the type "
"does not or because the specific instance does not), return *NULL*. "
@@ -314,7 +306,7 @@ msgstr ""
"contrario, retorna el puntero de la función vectorcall almacenado en *op*. "
"Esta función nunca lanza una excepción."
-#: ../Doc/c-api/call.rst:158
+#: ../Doc/c-api/call.rst:156
msgid ""
"This is mostly useful to check whether or not *op* supports vectorcall, "
"which can be done by checking ``PyVectorcall_Function(op) != NULL``."
@@ -322,7 +314,7 @@ msgstr ""
"Esto es principalmente útil para verificar si *op* admite vectorcall, lo "
"cual se puede hacer marcando ``PyVectorcall_Function(op) != NULL``."
-#: ../Doc/c-api/call.rst:167
+#: ../Doc/c-api/call.rst:163
msgid ""
"Call *callable*'s :c:type:`vectorcallfunc` with positional and keyword "
"arguments given in a tuple and dict, respectively."
@@ -330,7 +322,7 @@ msgstr ""
"Llama a la :c:type:`vectorcallfunc` de *callable* con argumentos "
"posicionales y de palabras clave dados en una tupla y dict, respectivamente."
-#: ../Doc/c-api/call.rst:170
+#: ../Doc/c-api/call.rst:166
msgid ""
"This is a specialized function, intended to be put in the :c:member:"
"`~PyTypeObject.tp_call` slot or be used in an implementation of ``tp_call``. "
@@ -342,11 +334,11 @@ msgstr ""
"``tp_call``. No comprueba el flag :const:`Py_TPFLAGS_HAVE_VECTORCALL` y no "
"vuelve a ``tp_call``."
-#: ../Doc/c-api/call.rst:183
+#: ../Doc/c-api/call.rst:177
msgid "Object Calling API"
msgstr "API para invocar objetos"
-#: ../Doc/c-api/call.rst:185
+#: ../Doc/c-api/call.rst:179
msgid ""
"Various functions are available for calling a Python object. Each converts "
"its arguments to a convention supported by the called object – either "
@@ -358,7 +350,7 @@ msgstr ""
"ya sea *tp_call* o vectorcall. Para realizar la menor conversión posible, "
"elija la que mejor se adapte al formato de datos que tiene disponible."
-#: ../Doc/c-api/call.rst:191
+#: ../Doc/c-api/call.rst:185
msgid ""
"The following table summarizes the available functions; please see "
"individual documentation for details."
@@ -366,132 +358,132 @@ msgstr ""
"La siguiente tabla resume las funciones disponibles; consulte la "
"documentación individual para obtener más detalles."
-#: ../Doc/c-api/call.rst:195
+#: ../Doc/c-api/call.rst:189
msgid "Function"
msgstr "Función"
-#: ../Doc/c-api/call.rst:195
+#: ../Doc/c-api/call.rst:189
msgid "callable"
msgstr "invocable"
-#: ../Doc/c-api/call.rst:195
+#: ../Doc/c-api/call.rst:189
msgid "args"
msgstr "args"
-#: ../Doc/c-api/call.rst:195
+#: ../Doc/c-api/call.rst:189
msgid "kwargs"
msgstr "kwargs"
-#: ../Doc/c-api/call.rst:197
+#: ../Doc/c-api/call.rst:191
msgid ":c:func:`PyObject_Call`"
msgstr ":c:func:`PyObject_Call`"
-#: ../Doc/c-api/call.rst:197 ../Doc/c-api/call.rst:199
-#: ../Doc/c-api/call.rst:201 ../Doc/c-api/call.rst:203
-#: ../Doc/c-api/call.rst:205 ../Doc/c-api/call.rst:209
-#: ../Doc/c-api/call.rst:217 ../Doc/c-api/call.rst:219
+#: ../Doc/c-api/call.rst:191 ../Doc/c-api/call.rst:193
+#: ../Doc/c-api/call.rst:195 ../Doc/c-api/call.rst:197
+#: ../Doc/c-api/call.rst:199 ../Doc/c-api/call.rst:203
+#: ../Doc/c-api/call.rst:211 ../Doc/c-api/call.rst:213
msgid "``PyObject *``"
msgstr "``PyObject *``"
-#: ../Doc/c-api/call.rst:197
+#: ../Doc/c-api/call.rst:191
msgid "tuple"
msgstr "tupla"
-#: ../Doc/c-api/call.rst:197 ../Doc/c-api/call.rst:219
+#: ../Doc/c-api/call.rst:191 ../Doc/c-api/call.rst:213
msgid "dict/``NULL``"
msgstr "dict/``NULL``"
-#: ../Doc/c-api/call.rst:199
+#: ../Doc/c-api/call.rst:193
msgid ":c:func:`PyObject_CallNoArgs`"
msgstr ":c:func:`PyObject_CallNoArgs`"
-#: ../Doc/c-api/call.rst:199 ../Doc/c-api/call.rst:201
-#: ../Doc/c-api/call.rst:203 ../Doc/c-api/call.rst:205
-#: ../Doc/c-api/call.rst:207 ../Doc/c-api/call.rst:209
-#: ../Doc/c-api/call.rst:211 ../Doc/c-api/call.rst:213
-#: ../Doc/c-api/call.rst:215
+#: ../Doc/c-api/call.rst:193 ../Doc/c-api/call.rst:195
+#: ../Doc/c-api/call.rst:197 ../Doc/c-api/call.rst:199
+#: ../Doc/c-api/call.rst:201 ../Doc/c-api/call.rst:203
+#: ../Doc/c-api/call.rst:205 ../Doc/c-api/call.rst:207
+#: ../Doc/c-api/call.rst:209
msgid "---"
msgstr "---"
-#: ../Doc/c-api/call.rst:201
+#: ../Doc/c-api/call.rst:195
msgid ":c:func:`PyObject_CallOneArg`"
msgstr ":c:func:`PyObject_CallOneArg`"
-#: ../Doc/c-api/call.rst:201 ../Doc/c-api/call.rst:215
+#: ../Doc/c-api/call.rst:195 ../Doc/c-api/call.rst:209
msgid "1 object"
msgstr "1 objeto"
-#: ../Doc/c-api/call.rst:203
+#: ../Doc/c-api/call.rst:197
msgid ":c:func:`PyObject_CallObject`"
msgstr ":c:func:`PyObject_CallObject`"
-#: ../Doc/c-api/call.rst:203
+#: ../Doc/c-api/call.rst:197
msgid "tuple/``NULL``"
msgstr "tuple/``NULL``"
-#: ../Doc/c-api/call.rst:205
+#: ../Doc/c-api/call.rst:199
msgid ":c:func:`PyObject_CallFunction`"
msgstr ":c:func:`PyObject_CallFunction`"
-#: ../Doc/c-api/call.rst:205 ../Doc/c-api/call.rst:207
+#: ../Doc/c-api/call.rst:199 ../Doc/c-api/call.rst:201
msgid "format"
msgstr "formato"
-#: ../Doc/c-api/call.rst:207
+#: ../Doc/c-api/call.rst:201
msgid ":c:func:`PyObject_CallMethod`"
msgstr ":c:func:`PyObject_CallMethod`"
-#: ../Doc/c-api/call.rst:207
+#: ../Doc/c-api/call.rst:201
msgid "obj + ``char*``"
msgstr "obj + ``char*``"
-#: ../Doc/c-api/call.rst:209
+#: ../Doc/c-api/call.rst:203
msgid ":c:func:`PyObject_CallFunctionObjArgs`"
msgstr ":c:func:`PyObject_CallFunctionObjArgs`"
-#: ../Doc/c-api/call.rst:209 ../Doc/c-api/call.rst:211
+#: ../Doc/c-api/call.rst:203 ../Doc/c-api/call.rst:205
msgid "variadic"
msgstr "variadica"
-#: ../Doc/c-api/call.rst:211
+#: ../Doc/c-api/call.rst:205
msgid ":c:func:`PyObject_CallMethodObjArgs`"
msgstr ":c:func:`PyObject_CallMethodObjArgs`"
-#: ../Doc/c-api/call.rst:211 ../Doc/c-api/call.rst:213
-#: ../Doc/c-api/call.rst:215
+#: ../Doc/c-api/call.rst:205 ../Doc/c-api/call.rst:207
+#: ../Doc/c-api/call.rst:209
msgid "obj + name"
msgstr "obj + nombre"
-#: ../Doc/c-api/call.rst:213
+#: ../Doc/c-api/call.rst:207
msgid ":c:func:`PyObject_CallMethodNoArgs`"
msgstr ":c:func:`PyObject_CallMethodNoArgs`"
-#: ../Doc/c-api/call.rst:215
+#: ../Doc/c-api/call.rst:209
msgid ":c:func:`PyObject_CallMethodOneArg`"
msgstr ":c:func:`PyObject_CallMethodOneArg`"
-#: ../Doc/c-api/call.rst:217
+#: ../Doc/c-api/call.rst:211
msgid ":c:func:`PyObject_Vectorcall`"
msgstr ":c:func:`PyObject_Vectorcall`"
-#: ../Doc/c-api/call.rst:217 ../Doc/c-api/call.rst:219
-#: ../Doc/c-api/call.rst:221
+#: ../Doc/c-api/call.rst:211 ../Doc/c-api/call.rst:213
+#: ../Doc/c-api/call.rst:215
msgid "vectorcall"
msgstr "vectorcall"
-#: ../Doc/c-api/call.rst:219
+#: ../Doc/c-api/call.rst:213
msgid ":c:func:`PyObject_VectorcallDict`"
msgstr ":c:func:`PyObject_VectorcallDict`"
-#: ../Doc/c-api/call.rst:221
+#: ../Doc/c-api/call.rst:215
msgid ":c:func:`PyObject_VectorcallMethod`"
msgstr ":c:func:`PyObject_VectorcallMethod`"
-#: ../Doc/c-api/call.rst:221
+#: ../Doc/c-api/call.rst:215
msgid "arg + name"
msgstr "arg + nombre"
-#: ../Doc/c-api/call.rst:227
+#: ../Doc/c-api/call.rst:221
msgid ""
"Call a callable Python object *callable*, with arguments given by the tuple "
"*args*, and named arguments given by the dictionary *kwargs*."
@@ -499,7 +491,7 @@ msgstr ""
"Llama a un objeto de Python invocable *callable*, con argumentos dados por "
"la tupla *args*, y argumentos con nombre dados por el diccionario *kwargs*."
-#: ../Doc/c-api/call.rst:230
+#: ../Doc/c-api/call.rst:224
msgid ""
"*args* must not be *NULL*; use an empty tuple if no arguments are needed. If "
"no named arguments are needed, *kwargs* can be *NULL*."
@@ -508,12 +500,12 @@ msgstr ""
"argumentos. Si no se necesitan argumentos con nombre, *kwargs* puede ser "
"*NULL*."
-#: ../Doc/c-api/call.rst:233 ../Doc/c-api/call.rst:245
-#: ../Doc/c-api/call.rst:256 ../Doc/c-api/call.rst:269
-#: ../Doc/c-api/call.rst:281 ../Doc/c-api/call.rst:301
-#: ../Doc/c-api/call.rst:320 ../Doc/c-api/call.rst:334
-#: ../Doc/c-api/call.rst:343 ../Doc/c-api/call.rst:357
-#: ../Doc/c-api/call.rst:372 ../Doc/c-api/call.rst:410
+#: ../Doc/c-api/call.rst:227 ../Doc/c-api/call.rst:239
+#: ../Doc/c-api/call.rst:250 ../Doc/c-api/call.rst:261
+#: ../Doc/c-api/call.rst:273 ../Doc/c-api/call.rst:293
+#: ../Doc/c-api/call.rst:312 ../Doc/c-api/call.rst:326
+#: ../Doc/c-api/call.rst:335 ../Doc/c-api/call.rst:347
+#: ../Doc/c-api/call.rst:360 ../Doc/c-api/call.rst:394
msgid ""
"Return the result of the call on success, or raise an exception and return "
"*NULL* on failure."
@@ -521,7 +513,7 @@ msgstr ""
"Retorna el resultado de la llamada en caso de éxito o lanza una excepción y "
"retorna *NULL* en caso de error."
-#: ../Doc/c-api/call.rst:236
+#: ../Doc/c-api/call.rst:230
msgid ""
"This is the equivalent of the Python expression: ``callable(*args, "
"**kwargs)``."
@@ -529,7 +521,7 @@ msgstr ""
"Este es el equivalente de la expresión de Python: ``callable(*args, "
"**kwargs)``."
-#: ../Doc/c-api/call.rst:242
+#: ../Doc/c-api/call.rst:236
msgid ""
"Call a callable Python object *callable* without any arguments. It is the "
"most efficient way to call a callable Python object without any argument."
@@ -538,7 +530,7 @@ msgstr ""
"forma más eficiente de llamar a un objeto Python invocable sin ningún "
"argumento."
-#: ../Doc/c-api/call.rst:253
+#: ../Doc/c-api/call.rst:247
msgid ""
"Call a callable Python object *callable* with exactly 1 positional argument "
"*arg* and no keyword arguments."
@@ -546,7 +538,7 @@ msgstr ""
"Llama a un objeto de Python invocable *callable* con exactamente 1 argumento "
"posicional *arg* y sin argumentos de palabra clave."
-#: ../Doc/c-api/call.rst:266
+#: ../Doc/c-api/call.rst:258
msgid ""
"Call a callable Python object *callable*, with arguments given by the tuple "
"*args*. If no arguments are needed, then *args* can be *NULL*."
@@ -555,11 +547,11 @@ msgstr ""
"la tupla *args*. Si no se necesitan argumentos, entonces *args* puede ser "
"*NULL*."
-#: ../Doc/c-api/call.rst:272 ../Doc/c-api/call.rst:284
+#: ../Doc/c-api/call.rst:264 ../Doc/c-api/call.rst:276
msgid "This is the equivalent of the Python expression: ``callable(*args)``."
msgstr "Este es el equivalente de la expresión de Python: ``callable(*args)``."
-#: ../Doc/c-api/call.rst:277
+#: ../Doc/c-api/call.rst:269
msgid ""
"Call a callable Python object *callable*, with a variable number of C "
"arguments. The C arguments are described using a :c:func:`Py_BuildValue` "
@@ -571,19 +563,20 @@ msgstr ""
"caracteres de formato de estilo :c:func:`Py_BuildValue`. El formato puede "
"ser *NULL*, lo que indica que no se proporcionan argumentos."
-#: ../Doc/c-api/call.rst:286
+#: ../Doc/c-api/call.rst:278
+#, fuzzy
msgid ""
-"Note that if you only pass :c:type:`PyObject *` args, :c:func:"
+"Note that if you only pass :c:expr:`PyObject *` args, :c:func:"
"`PyObject_CallFunctionObjArgs` is a faster alternative."
msgstr ""
"Tenga en cuenta que si solo pasa :c:type:`PyObject *` args, :c:func:"
"`PyObject_CallFunctionObjArgs` es una alternativa más rápida."
-#: ../Doc/c-api/call.rst:289
+#: ../Doc/c-api/call.rst:281
msgid "The type of *format* was changed from ``char *``."
msgstr "El tipo de *format* se cambió desde ``char *``."
-#: ../Doc/c-api/call.rst:295
+#: ../Doc/c-api/call.rst:287
msgid ""
"Call the method named *name* of object *obj* with a variable number of C "
"arguments. The C arguments are described by a :c:func:`Py_BuildValue` "
@@ -593,12 +586,12 @@ msgstr ""
"argumentos en C. Los argumentos de C se describen mediante una cadena de "
"formato :c:func:`Py_BuildValue` que debería producir una tupla."
-#: ../Doc/c-api/call.rst:299
+#: ../Doc/c-api/call.rst:291
msgid "The format can be *NULL*, indicating that no arguments are provided."
msgstr ""
"El formato puede ser *NULL*, lo que indica que no se proporcionan argumentos."
-#: ../Doc/c-api/call.rst:304
+#: ../Doc/c-api/call.rst:296
msgid ""
"This is the equivalent of the Python expression: ``obj.name(arg1, "
"arg2, ...)``."
@@ -606,21 +599,23 @@ msgstr ""
"Este es el equivalente de la expresión de Python: ``obj.name(arg1, "
"arg2, ...)``."
-#: ../Doc/c-api/call.rst:307
+#: ../Doc/c-api/call.rst:299
+#, fuzzy
msgid ""
-"Note that if you only pass :c:type:`PyObject *` args, :c:func:"
+"Note that if you only pass :c:expr:`PyObject *` args, :c:func:"
"`PyObject_CallMethodObjArgs` is a faster alternative."
msgstr ""
"Tenga en cuenta que si solo pasa :c:type:`PyObject *` args, :c:func:"
"`PyObject_CallMethodObjArgs` es una alternativa más rápida."
-#: ../Doc/c-api/call.rst:310
+#: ../Doc/c-api/call.rst:302
msgid "The types of *name* and *format* were changed from ``char *``."
msgstr "Los tipos de *name* y *format* se cambiaron desde ``char *``."
-#: ../Doc/c-api/call.rst:316
+#: ../Doc/c-api/call.rst:308
+#, fuzzy
msgid ""
-"Call a callable Python object *callable*, with a variable number of :c:type:"
+"Call a callable Python object *callable*, with a variable number of :c:expr:"
"`PyObject *` arguments. The arguments are provided as a variable number of "
"parameters followed by *NULL*."
msgstr ""
@@ -628,7 +623,7 @@ msgstr ""
"argumentos :c:type:`PyObject *`. Los argumentos se proporcionan como un "
"número variable de parámetros seguidos de *NULL*."
-#: ../Doc/c-api/call.rst:323
+#: ../Doc/c-api/call.rst:315
msgid ""
"This is the equivalent of the Python expression: ``callable(arg1, "
"arg2, ...)``."
@@ -636,11 +631,12 @@ msgstr ""
"Este es el equivalente de la expresión de Python: ``callable(arg1, "
"arg2, ...)``."
-#: ../Doc/c-api/call.rst:329
+#: ../Doc/c-api/call.rst:321
+#, fuzzy
msgid ""
"Call a method of the Python object *obj*, where the name of the method is "
"given as a Python string object in *name*. It is called with a variable "
-"number of :c:type:`PyObject *` arguments. The arguments are provided as a "
+"number of :c:expr:`PyObject *` arguments. The arguments are provided as a "
"variable number of parameters followed by *NULL*."
msgstr ""
"Llama a un método del objeto de Python *obj*, donde el nombre del método se "
@@ -649,7 +645,7 @@ msgstr ""
"argumentos se proporcionan como un número variable de parámetros seguidos de "
"*NULL*."
-#: ../Doc/c-api/call.rst:340
+#: ../Doc/c-api/call.rst:332
msgid ""
"Call a method of the Python object *obj* without arguments, where the name "
"of the method is given as a Python string object in *name*."
@@ -657,7 +653,7 @@ msgstr ""
"Llama a un método del objeto de Python *obj* sin argumentos, donde el nombre "
"del método se da como un objeto de cadena de caracteres de Python en *name*."
-#: ../Doc/c-api/call.rst:353
+#: ../Doc/c-api/call.rst:343
msgid ""
"Call a method of the Python object *obj* with a single positional argument "
"*arg*, where the name of the method is given as a Python string object in "
@@ -667,7 +663,7 @@ msgstr ""
"posicional *arg*, donde el nombre del método se proporciona como un objeto "
"de cadena de caracteres de Python en *name*."
-#: ../Doc/c-api/call.rst:367
+#: ../Doc/c-api/call.rst:355
msgid ""
"Call a callable Python object *callable*. The arguments are the same as for :"
"c:type:`vectorcallfunc`. If *callable* supports vectorcall_, this directly "
@@ -677,7 +673,7 @@ msgstr ""
"mismos que para :c:type:`vectorcallfunc`. Si *callable* admite vectorcall_, "
"esto llama directamente a la función vectorcall almacenada en *callable*."
-#: ../Doc/c-api/call.rst:381
+#: ../Doc/c-api/call.rst:367
msgid ""
"Call *callable* with positional arguments passed exactly as in the "
"vectorcall_ protocol, but with keyword arguments passed as a dictionary "
@@ -688,7 +684,7 @@ msgstr ""
"un diccionario *kwdict*. El arreglo *args* contiene solo los argumentos "
"posicionales."
-#: ../Doc/c-api/call.rst:385
+#: ../Doc/c-api/call.rst:371
msgid ""
"Regardless of which protocol is used internally, a conversion of arguments "
"needs to be done. Therefore, this function should only be used if the caller "
@@ -701,7 +697,7 @@ msgstr ""
"los argumentos de palabras clave, pero no una tupla para los argumentos "
"posicionales."
-#: ../Doc/c-api/call.rst:397
+#: ../Doc/c-api/call.rst:381
msgid ""
"Call a method using the vectorcall calling convention. The name of the "
"method is given as a Python string *name*. The object whose method is called "
@@ -721,7 +717,7 @@ msgstr ""
"``args[0]`` puede cambiarse temporalmente. Los argumentos de palabras clave "
"se pueden pasar como en :c:func:`PyObject_Vectorcall`."
-#: ../Doc/c-api/call.rst:406
+#: ../Doc/c-api/call.rst:390
msgid ""
"If the object has the :const:`Py_TPFLAGS_METHOD_DESCRIPTOR` feature, this "
"will call the unbound method object with the full *args* vector as arguments."
@@ -730,14 +726,17 @@ msgstr ""
"esto llamará al objeto de método independiente con el vector *args* completo "
"como argumentos."
-#: ../Doc/c-api/call.rst:419
+#: ../Doc/c-api/call.rst:401
msgid "Call Support API"
msgstr "API de soporte de llamadas"
-#: ../Doc/c-api/call.rst:423
+#: ../Doc/c-api/call.rst:405
msgid ""
"Determine if the object *o* is callable. Return ``1`` if the object is "
"callable and ``0`` otherwise. This function always succeeds."
msgstr ""
"Determina si el objeto *o* es invocable. Retorna ``1`` si el objeto es "
"invocable y ``0`` en caso contrario. Esta función siempre finaliza con éxito."
+
+#~ msgid "This function is not part of the :ref:`limited API `."
+#~ msgstr "Esta función no es parte de la :ref:`API limitada `."
diff --git a/c-api/capsule.po b/c-api/capsule.po
index cac821e290..111412044d 100644
--- a/c-api/capsule.po
+++ b/c-api/capsule.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-03-19 11:16+0100\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-08-01 20:17+0200\n"
"Last-Translator: Cristián Maureira-Fredes \n"
"Language: es\n"
@@ -19,8 +19,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.8.0\n"
-"X-Generator: Poedit 3.0\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/capsule.rst:6
msgid "Capsules"
@@ -34,9 +33,10 @@ msgstr ""
"estos objetos."
#: ../Doc/c-api/capsule.rst:17
+#, fuzzy
msgid ""
"This subtype of :c:type:`PyObject` represents an opaque value, useful for C "
-"extension modules who need to pass an opaque value (as a :c:type:`void*` "
+"extension modules who need to pass an opaque value (as a :c:expr:`void*` "
"pointer) through Python code to other C code. It is often used to make a C "
"function pointer defined in one module available to other modules, so the "
"regular import mechanism can be used to access C APIs defined in dynamically "
@@ -186,13 +186,12 @@ msgstr ""
"func:`PyErr_Occurred` para desambiguar."
#: ../Doc/c-api/capsule.rst:103
+#, fuzzy
msgid ""
"Import a pointer to a C object from a capsule attribute in a module. The "
"*name* parameter should specify the full name to the attribute, as in "
"``module.attribute``. The *name* stored in the capsule must match this "
-"string exactly. If *no_block* is true, import the module without blocking "
-"(using :c:func:`PyImport_ImportModuleNoBlock`). If *no_block* is false, "
-"import the module conventionally (using :c:func:`PyImport_ImportModule`)."
+"string exactly."
msgstr ""
"Importa un puntero a un objeto C desde un atributo cápsula en un módulo. El "
"parámetro *name* debe especificar el nombre completo del atributo, como en "
@@ -202,7 +201,7 @@ msgstr ""
"`PyImport_ImportModuleNoBlock`). Si *no_block* es falso, importa el módulo "
"convencionalmente (usando :c:func:`PyImport_ImportModule`)."
-#: ../Doc/c-api/capsule.rst:110
+#: ../Doc/c-api/capsule.rst:108
msgid ""
"Return the capsule's internal *pointer* on success. On failure, set an "
"exception and return ``NULL``."
@@ -210,7 +209,11 @@ msgstr ""
"Retorna el puntero *pointer* interno de la cápsula en caso de éxito. En caso "
"de falla, establece una excepción y retorna ``NULL``."
-#: ../Doc/c-api/capsule.rst:116
+#: ../Doc/c-api/capsule.rst:111
+msgid "*no_block* has no effect anymore."
+msgstr ""
+
+#: ../Doc/c-api/capsule.rst:117
msgid ""
"Determines whether or not *capsule* is a valid capsule. A valid capsule is "
"non-``NULL``, passes :c:func:`PyCapsule_CheckExact`, has a non-``NULL`` "
@@ -224,7 +227,7 @@ msgstr ""
"c:func:`PyCapsule_GetPointer` para obtener información sobre cómo se "
"comparan los nombres de las cápsulas)."
-#: ../Doc/c-api/capsule.rst:122
+#: ../Doc/c-api/capsule.rst:123
msgid ""
"In other words, if :c:func:`PyCapsule_IsValid` returns a true value, calls "
"to any of the accessors (any function starting with :c:func:`PyCapsule_Get`) "
@@ -234,7 +237,7 @@ msgstr ""
"verdadero, las llamadas a cualquiera de las funciones de acceso (cualquier "
"función que comience con :c:func:`PyCapsule_Get`) tienen éxito."
-#: ../Doc/c-api/capsule.rst:126
+#: ../Doc/c-api/capsule.rst:127
msgid ""
"Return a nonzero value if the object is valid and matches the name passed "
"in. Return ``0`` otherwise. This function will not fail."
@@ -242,23 +245,23 @@ msgstr ""
"Retorna un valor distinto de cero si el objeto es válido y coincide con el "
"nombre pasado. Retorna ``0`` de lo contrario. Esta función no fallará."
-#: ../Doc/c-api/capsule.rst:132
+#: ../Doc/c-api/capsule.rst:133
msgid "Set the context pointer inside *capsule* to *context*."
msgstr "Establece el puntero de contexto dentro de *capsule* a *context*."
-#: ../Doc/c-api/capsule.rst:134 ../Doc/c-api/capsule.rst:141
-#: ../Doc/c-api/capsule.rst:150 ../Doc/c-api/capsule.rst:158
+#: ../Doc/c-api/capsule.rst:135 ../Doc/c-api/capsule.rst:142
+#: ../Doc/c-api/capsule.rst:151 ../Doc/c-api/capsule.rst:159
msgid ""
"Return ``0`` on success. Return nonzero and set an exception on failure."
msgstr ""
"Retorna ``0`` en caso de éxito. Retorna distinto de cero y establece una "
"excepción en caso de error."
-#: ../Doc/c-api/capsule.rst:139
+#: ../Doc/c-api/capsule.rst:140
msgid "Set the destructor inside *capsule* to *destructor*."
msgstr "Establece el destructor dentro de *capsule* en *destructor*."
-#: ../Doc/c-api/capsule.rst:146
+#: ../Doc/c-api/capsule.rst:147
msgid ""
"Set the name inside *capsule* to *name*. If non-``NULL``, the name must "
"outlive the capsule. If the previous *name* stored in the capsule was not "
@@ -268,7 +271,7 @@ msgstr ""
"nombre debe sobrevivir a la cápsula. Si el *name* anterior almacenado en la "
"cápsula no era ``NULL``, no se intenta liberarlo."
-#: ../Doc/c-api/capsule.rst:155
+#: ../Doc/c-api/capsule.rst:156
msgid ""
"Set the void pointer inside *capsule* to *pointer*. The pointer may not be "
"``NULL``."
diff --git a/c-api/code.po b/c-api/code.po
index 4322c1eb3a..4b983fbd14 100644
--- a/c-api/code.po
+++ b/c-api/code.po
@@ -10,16 +10,16 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-16 21:42+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-08-16 13:04+0200\n"
"Last-Translator: Cristián Maureira-Fredes \n"
-"Language-Team: python-doc-es\n"
"Language: es\n"
+"Language-Team: python-doc-es\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.9.1\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/code.rst:8
msgid "Code Objects"
@@ -64,37 +64,48 @@ msgid "Return the number of free variables in *co*."
msgstr "Retorna el número de variables libres en *co*."
#: ../Doc/c-api/code.rst:38
+#, fuzzy
msgid ""
"Return a new code object. If you need a dummy code object to create a "
"frame, use :c:func:`PyCode_NewEmpty` instead. Calling :c:func:`PyCode_New` "
-"directly can bind you to a precise Python version since the definition of "
-"the bytecode changes often."
+"directly will bind you to a precise Python version since the definition of "
+"the bytecode changes often. The many arguments of this function are inter-"
+"dependent in complex ways, meaning that subtle changes to values are likely "
+"to result in incorrect execution or VM crashes. Use this function only with "
+"extreme care."
msgstr ""
"Retorna un nuevo objeto de código. Si necesita un objeto de código ficticio "
"para crear un marco (*frame*), use :c:func:`PyCode_NewEmpty` en su lugar. "
"Llamando :c:func:`PyCode_New` directamente puede enlazarlo a una versión "
"precisa de Python ya que la definición del código de bytes cambia a menudo."
-#: ../Doc/c-api/code.rst:45
+#: ../Doc/c-api/code.rst:45 ../Doc/c-api/code.rst:55
+msgid "Added ``exceptiontable`` parameter."
+msgstr ""
+
+#: ../Doc/c-api/code.rst:50
+#, fuzzy
msgid ""
"Similar to :c:func:`PyCode_New`, but with an extra \"posonlyargcount\" for "
-"positional-only arguments."
+"positional-only arguments. The same caveats that apply to ``PyCode_New`` "
+"also apply to this function."
msgstr ""
"Similar a :c:func:`PyCode_New`, pero con un \"*posonlyargcount*\" adicional "
"para argumentos solo posicionales."
-#: ../Doc/c-api/code.rst:51
+#: ../Doc/c-api/code.rst:60
+#, fuzzy
msgid ""
"Return a new empty code object with the specified filename, function name, "
-"and first line number. It is illegal to :func:`exec` or :func:`eval` the "
-"resulting code object."
+"and first line number. The resulting code object will raise an ``Exception`` "
+"if executed."
msgstr ""
"Retorna un nuevo objeto de código vacío con el nombre de archivo "
"especificado, el nombre de la función y el número de la primera línea. Es "
"ilegal utilizar :func:`exec` o :func:`eval` en el objeto de código "
"resultante."
-#: ../Doc/c-api/code.rst:57
+#: ../Doc/c-api/code.rst:66
msgid ""
"Return the line number of the instruction that occurs on or before "
"``byte_offset`` and ends after it. If you just need the line number of a "
@@ -104,12 +115,60 @@ msgstr ""
"``byte_offset`` y finaliza después. Si solo necesita el número de línea de "
"un marco, use :c:func:`PyFrame_GetLineNumber` en su lugar."
-#: ../Doc/c-api/code.rst:60
+#: ../Doc/c-api/code.rst:69
+#, fuzzy
msgid ""
"For efficiently iterating over the line numbers in a code object, use `the "
-"API described in PEP 626 `_."
+"API described in PEP 626 `_."
msgstr ""
"Para iterar de manera eficiente sobre los números de línea en un objeto de "
"código, use `la API descrita en PEP 626 `_."
+
+#: ../Doc/c-api/code.rst:74
+msgid ""
+"Sets the passed ``int`` pointers to the source code line and column numbers "
+"for the instruction at ``byte_offset``. Sets the value to ``0`` when "
+"information is not available for any particular element."
+msgstr ""
+
+#: ../Doc/c-api/code.rst:78
+msgid "Returns ``1`` if the function succeeds and 0 otherwise."
+msgstr ""
+
+#: ../Doc/c-api/code.rst:82
+msgid ""
+"Equivalent to the Python code ``getattr(co, 'co_code')``. Returns a strong "
+"reference to a :c:type:`PyBytesObject` representing the bytecode in a code "
+"object. On error, ``NULL`` is returned and an exception is raised."
+msgstr ""
+
+#: ../Doc/c-api/code.rst:87
+msgid ""
+"This ``PyBytesObject`` may be created on-demand by the interpreter and does "
+"not necessarily represent the bytecode actually executed by CPython. The "
+"primary use case for this function is debuggers and profilers."
+msgstr ""
+
+#: ../Doc/c-api/code.rst:95
+msgid ""
+"Equivalent to the Python code ``getattr(co, 'co_varnames')``. Returns a new "
+"reference to a :c:type:`PyTupleObject` containing the names of the local "
+"variables. On error, ``NULL`` is returned and an exception is raised."
+msgstr ""
+
+#: ../Doc/c-api/code.rst:104
+msgid ""
+"Equivalent to the Python code ``getattr(co, 'co_cellvars')``. Returns a new "
+"reference to a :c:type:`PyTupleObject` containing the names of the local "
+"variables that are referenced by nested functions. On error, ``NULL`` is "
+"returned and an exception is raised."
+msgstr ""
+
+#: ../Doc/c-api/code.rst:113
+msgid ""
+"Equivalent to the Python code ``getattr(co, 'co_freevars')``. Returns a new "
+"reference to a :c:type:`PyTupleObject` containing the names of the free "
+"variables. On error, ``NULL`` is returned and an exception is raised."
+msgstr ""
diff --git a/c-api/codec.po b/c-api/codec.po
index 9b9014973f..ee204da5b3 100644
--- a/c-api/codec.po
+++ b/c-api/codec.po
@@ -223,8 +223,8 @@ msgid ""
"Replace the unicode encode error with backslash escapes (``\\x``, ``\\u`` "
"and ``\\U``)."
msgstr ""
-"Reemplaza el error de codificación Unicode con escapes de barra invertida (``"
-"\\x``, ``\\u`` y ``\\U``)."
+"Reemplaza el error de codificación Unicode con escapes de barra invertida "
+"(``\\x``, ``\\u`` y ``\\U``)."
#: ../Doc/c-api/codec.rst:129
msgid "Replace the unicode encode error with ``\\N{...}`` escapes."
diff --git a/c-api/complex.po b/c-api/complex.po
index b85620892f..91642a9e00 100644
--- a/c-api/complex.po
+++ b/c-api/complex.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-16 21:42+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-12-09 10:18+0800\n"
"Last-Translator: Rodrigo Tobar \n"
"Language: es\n"
@@ -19,8 +19,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.1\n"
-"X-Generator: Poedit 3.0\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/complex.rst:6
msgid "Complex Number Objects"
@@ -180,11 +179,13 @@ msgid "Return a new :c:type:`PyComplexObject` object from *real* and *imag*."
msgstr "Retorna un nuevo objeto :c:type:`PyComplexObject` de *real* e *imag*."
#: ../Doc/c-api/complex.rst:118
-msgid "Return the real part of *op* as a C :c:type:`double`."
+#, fuzzy
+msgid "Return the real part of *op* as a C :c:expr:`double`."
msgstr "Retorna la parte real de *op* como :c:type:`double` en C."
#: ../Doc/c-api/complex.rst:123
-msgid "Return the imaginary part of *op* as a C :c:type:`double`."
+#, fuzzy
+msgid "Return the imaginary part of *op* as a C :c:expr:`double`."
msgstr "Retorna la parte imaginaria de *op* como un :c:type:`double` de C."
#: ../Doc/c-api/complex.rst:128
diff --git a/c-api/conversion.po b/c-api/conversion.po
index 69f6bccf35..17cc6cd427 100644
--- a/c-api/conversion.po
+++ b/c-api/conversion.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-16 21:42+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-12-09 10:24+0800\n"
"Last-Translator: Rodrigo Tobar \n"
"Language: es\n"
@@ -19,8 +19,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.1\n"
-"X-Generator: Poedit 3.0\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/conversion.rst:6
msgid "String conversion and formatting"
@@ -65,25 +64,28 @@ 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'``) "
"into str. Both functions require that ``str != NULL``, ``size > 0``, "
-"``format != NULL`` and ``size < INT_MAX``."
+"``format != NULL`` and ``size < INT_MAX``. Note that this means there is no "
+"equivalent to the C99 ``n = snprintf(NULL, 0, ...)`` which would determine "
+"the necessary buffer size."
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``."
-#: ../Doc/c-api/conversion.rst:33
+#: ../Doc/c-api/conversion.rst:34
msgid ""
"The return value (*rv*) for these functions should be interpreted as follows:"
msgstr ""
"El valor de retorno (*rv*) para estas funciones debe interpretarse de la "
"siguiente manera:"
-#: ../Doc/c-api/conversion.rst:35
+#: ../Doc/c-api/conversion.rst:36
msgid ""
"When ``0 <= rv < size``, the output conversion was successful and *rv* "
"characters were written to *str* (excluding the trailing ``'\\0'`` byte at "
@@ -93,7 +95,7 @@ msgstr ""
"caracteres *rv* se escribieron en *str* (excluyendo el byte ``'\\0'`` final "
"en ``str[rv]``)."
-#: ../Doc/c-api/conversion.rst:39
+#: ../Doc/c-api/conversion.rst:40
msgid ""
"When ``rv >= size``, the output conversion was truncated and a buffer with "
"``rv + 1`` bytes would have been needed to succeed. ``str[size-1]`` is "
@@ -103,7 +105,7 @@ msgstr ""
"necesitado un búfer con ``rv + 1`` bytes para tener éxito. ``str[size-1]`` "
"es ``'\\0'`` en este caso."
-#: ../Doc/c-api/conversion.rst:43
+#: ../Doc/c-api/conversion.rst:44
msgid ""
"When ``rv < 0``, \"something bad happened.\" ``str[size-1]`` is ``'\\0'`` in "
"this case too, but the rest of *str* is undefined. The exact cause of the "
@@ -113,7 +115,7 @@ msgstr ""
"este caso también, pero el resto de *str* no está definido. La causa exacta "
"del error depende de la plataforma subyacente."
-#: ../Doc/c-api/conversion.rst:48
+#: ../Doc/c-api/conversion.rst:49
msgid ""
"The following functions provide locale-independent string to number "
"conversions."
@@ -121,9 +123,10 @@ msgstr ""
"Las siguientes funciones proporcionan cadenas de caracteres independientes "
"de la configuración regional para numerar las conversiones."
-#: ../Doc/c-api/conversion.rst:52
+#: ../Doc/c-api/conversion.rst:53
+#, fuzzy
msgid ""
-"Convert a string ``s`` to a :c:type:`double`, raising a Python exception on "
+"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 "
"accepted by Python's :func:`float` constructor, except that ``s`` must not "
"have leading or trailing whitespace. The conversion is independent of the "
@@ -136,7 +139,7 @@ msgstr ""
"espacios en blanco iniciales o finales. La conversión es independiente de la "
"configuración regional actual."
-#: ../Doc/c-api/conversion.rst:58
+#: ../Doc/c-api/conversion.rst:59
msgid ""
"If ``endptr`` is ``NULL``, convert the whole string. Raise :exc:"
"`ValueError` and return ``-1.0`` if the string is not a valid representation "
@@ -147,7 +150,7 @@ msgstr ""
"representación válida de un número de punto flotante."
# set -> configura. ¿"define" quizás?. Revisar en varios lugares del archivo
-#: ../Doc/c-api/conversion.rst:62
+#: ../Doc/c-api/conversion.rst:63
msgid ""
"If endptr is not ``NULL``, convert as much of the string as possible and set "
"``*endptr`` to point to the first unconverted character. If no initial "
@@ -162,7 +165,7 @@ msgstr ""
"para que apunte al comienzo de la cadena de caracteres, lanza ValueError y "
"retorna ``-1.0``."
-#: ../Doc/c-api/conversion.rst:69
+#: ../Doc/c-api/conversion.rst:70
msgid ""
"If ``s`` represents a value that is too large to store in a float (for "
"example, ``\"1e500\"`` is such a string on many platforms) then if "
@@ -181,7 +184,7 @@ msgstr ""
"configura ``*endptr`` para que apunte al primer carácter después del valor "
"convertido."
-#: ../Doc/c-api/conversion.rst:77
+#: ../Doc/c-api/conversion.rst:78
msgid ""
"If any other error occurs during the conversion (for example an out-of-"
"memory error), set the appropriate Python exception and return ``-1.0``."
@@ -190,15 +193,16 @@ msgstr ""
"de falta de memoria), establece la excepción Python adecuada y retorna "
"``-1.0``."
-#: ../Doc/c-api/conversion.rst:86
+#: ../Doc/c-api/conversion.rst:87
+#, fuzzy
msgid ""
-"Convert a :c:type:`double` *val* to a string using supplied *format_code*, "
+"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 "
"*format_code*, *precision* y *flags* suministrados."
-#: ../Doc/c-api/conversion.rst:89
+#: ../Doc/c-api/conversion.rst:90
msgid ""
"*format_code* must be one of ``'e'``, ``'E'``, ``'f'``, ``'F'``, ``'g'``, "
"``'G'`` or ``'r'``. For ``'r'``, the supplied *precision* must be 0 and is "
@@ -209,7 +213,7 @@ msgstr ""
"se ignora. El código de formato ``'r'`` especifica el formato estándar :"
"func:`repr`."
-#: ../Doc/c-api/conversion.rst:94
+#: ../Doc/c-api/conversion.rst:95
msgid ""
"*flags* can be zero or more of the values ``Py_DTSF_SIGN``, "
"``Py_DTSF_ADD_DOT_0``, or ``Py_DTSF_ALT``, or-ed together:"
@@ -217,7 +221,7 @@ msgstr ""
"*flags* puede ser cero o más de los valores ``Py_DTSF_SIGN``, "
"``Py_DTSF_ADD_DOT_0``, o ``Py_DTSF_ALT``, unidos por *or* (*or-ed*) juntos:"
-#: ../Doc/c-api/conversion.rst:97
+#: ../Doc/c-api/conversion.rst:98
msgid ""
"``Py_DTSF_SIGN`` means to always precede the returned string with a sign "
"character, even if *val* is non-negative."
@@ -225,7 +229,7 @@ msgstr ""
"``Py_DTSF_SIGN`` significa preceder siempre a la cadena de caracteres "
"retornada con un carácter de signo, incluso si *val* no es negativo."
-#: ../Doc/c-api/conversion.rst:100
+#: ../Doc/c-api/conversion.rst:101
msgid ""
"``Py_DTSF_ADD_DOT_0`` means to ensure that the returned string will not look "
"like an integer."
@@ -233,7 +237,7 @@ msgstr ""
"``Py_DTSF_ADD_DOT_0`` significa asegurarse de que la cadena de caracteres "
"retornada no se verá como un número entero."
-#: ../Doc/c-api/conversion.rst:103
+#: ../Doc/c-api/conversion.rst:104
msgid ""
"``Py_DTSF_ALT`` means to apply \"alternate\" formatting rules. See the "
"documentation for the :c:func:`PyOS_snprintf` ``'#'`` specifier for details."
@@ -242,7 +246,7 @@ msgstr ""
"Consulte la documentación del especificador :c:func:`PyOS_snprintf` ``'#'`` "
"para obtener más detalles."
-#: ../Doc/c-api/conversion.rst:107
+#: ../Doc/c-api/conversion.rst:108
msgid ""
"If *ptype* is non-``NULL``, then the value it points to will be set to one "
"of ``Py_DTST_FINITE``, ``Py_DTST_INFINITE``, or ``Py_DTST_NAN``, signifying "
@@ -254,7 +258,7 @@ msgstr ""
"que *val* es un número finito, un número infinito o no es un número, "
"respectivamente."
-#: ../Doc/c-api/conversion.rst:111
+#: ../Doc/c-api/conversion.rst:112
msgid ""
"The return value is a pointer to *buffer* with the converted string or "
"``NULL`` if the conversion failed. The caller is responsible for freeing the "
@@ -265,7 +269,7 @@ msgstr ""
"responsable de liberar la cadena de caracteres retornada llamando a :c:func:"
"`PyMem_Free`."
-#: ../Doc/c-api/conversion.rst:120
+#: ../Doc/c-api/conversion.rst:121
msgid ""
"Case insensitive comparison of strings. The function works almost "
"identically to :c:func:`strcmp` except that it ignores the case."
@@ -274,7 +278,7 @@ msgstr ""
"La función se comporta casi de manera idéntica a :c:func:`strcmp`, excepto "
"que ignora el caso."
-#: ../Doc/c-api/conversion.rst:126
+#: ../Doc/c-api/conversion.rst:127
msgid ""
"Case insensitive comparison of strings. The function works almost "
"identically to :c:func:`strncmp` except that it ignores the case."
diff --git a/c-api/datetime.po b/c-api/datetime.po
index f4ccf7f465..d07f6dc46f 100644
--- a/c-api/datetime.po
+++ b/c-api/datetime.po
@@ -10,16 +10,16 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-16 21:42+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-10-19 02:00+0200\n"
"Last-Translator: Meta Louis-Kosmas \n"
"Language: es\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);nMIME-Version: 1.0\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"
-"Generated-By: Babel 2.9.1\n"
-"X-Generator: Poedit 3.0\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/datetime.rst:6
msgid "DateTime Objects"
@@ -205,7 +205,7 @@ msgstr ""
"el número resultante de micro segundos y segundos se encuentre en los rangos "
"documentados para los objetos :class:`datetime.timedelta`."
-#: ../Doc/c-api/datetime.rst:137
+#: ../Doc/c-api/datetime.rst:138
msgid ""
"Return a :class:`datetime.timezone` object with an unnamed fixed offset "
"represented by the *offset* argument."
@@ -213,7 +213,7 @@ msgstr ""
"Retorna un objeto :class:`datetime.timezone` con un desplazamiento fijo sin "
"nombre representado por el argumento *offset*."
-#: ../Doc/c-api/datetime.rst:144
+#: ../Doc/c-api/datetime.rst:146
msgid ""
"Return a :class:`datetime.timezone` object with a fixed offset represented "
"by the *offset* argument and with tzname *name*."
@@ -221,7 +221,7 @@ msgstr ""
"Retorna un objeto :class:`datetime.timezone` con un desplazamiento fijo "
"representado por el argumento *offset* y con tzname *name*."
-#: ../Doc/c-api/datetime.rst:150
+#: ../Doc/c-api/datetime.rst:152
msgid ""
"Macros to extract fields from date objects. The argument must be an "
"instance of :c:data:`PyDateTime_Date`, including subclasses (such as :c:data:"
@@ -233,19 +233,19 @@ msgstr ""
"data:`PyDateTime_DateTime`). El argumento no debe ser ``NULL`` y el tipo no "
"está marcado:"
-#: ../Doc/c-api/datetime.rst:157
+#: ../Doc/c-api/datetime.rst:159
msgid "Return the year, as a positive int."
msgstr "Regrese el año, como un int positivo."
-#: ../Doc/c-api/datetime.rst:162
+#: ../Doc/c-api/datetime.rst:164
msgid "Return the month, as an int from 1 through 12."
msgstr "Regresa el mes, como int del 1 al 12."
-#: ../Doc/c-api/datetime.rst:167
+#: ../Doc/c-api/datetime.rst:169
msgid "Return the day, as an int from 1 through 31."
msgstr "Retorna el día, como int del 1 al 31."
-#: ../Doc/c-api/datetime.rst:170
+#: ../Doc/c-api/datetime.rst:172
msgid ""
"Macros to extract fields from datetime objects. The argument must be an "
"instance of :c:data:`PyDateTime_DateTime`, including subclasses. The "
@@ -255,27 +255,32 @@ msgstr ""
"una instancia de :c:data:`PyDateTime_DateTime`, incluidas las subclases. El "
"argumento no debe ser ``NULL`` y el tipo no es comprobado:"
-#: ../Doc/c-api/datetime.rst:176 ../Doc/c-api/datetime.rst:205
+#: ../Doc/c-api/datetime.rst:178 ../Doc/c-api/datetime.rst:216
msgid "Return the hour, as an int from 0 through 23."
msgstr "Retorna la hora, como un int de 0 hasta 23."
-#: ../Doc/c-api/datetime.rst:181 ../Doc/c-api/datetime.rst:210
+#: ../Doc/c-api/datetime.rst:183 ../Doc/c-api/datetime.rst:221
msgid "Return the minute, as an int from 0 through 59."
msgstr "Retorna el minuto, como un int de 0 hasta 59."
-#: ../Doc/c-api/datetime.rst:186 ../Doc/c-api/datetime.rst:215
+#: ../Doc/c-api/datetime.rst:188 ../Doc/c-api/datetime.rst:226
msgid "Return the second, as an int from 0 through 59."
msgstr "Retorna el segundo, como un int de 0 hasta 59."
-#: ../Doc/c-api/datetime.rst:191 ../Doc/c-api/datetime.rst:220
+#: ../Doc/c-api/datetime.rst:193 ../Doc/c-api/datetime.rst:231
msgid "Return the microsecond, as an int from 0 through 999999."
msgstr "Retorna el micro segundo, como un int de 0 hasta 999999."
-#: ../Doc/c-api/datetime.rst:195 ../Doc/c-api/datetime.rst:224
+#: ../Doc/c-api/datetime.rst:198 ../Doc/c-api/datetime.rst:236
+#, fuzzy
+msgid "Return the fold, as an int from 0 through 1."
+msgstr "Retorna el día, como int del 1 al 31."
+
+#: ../Doc/c-api/datetime.rst:205 ../Doc/c-api/datetime.rst:243
msgid "Return the tzinfo (which may be ``None``)."
msgstr "Retorna el tzinfo (que puede ser ``None``)."
-#: ../Doc/c-api/datetime.rst:199
+#: ../Doc/c-api/datetime.rst:210
msgid ""
"Macros to extract fields from time objects. The argument must be an "
"instance of :c:data:`PyDateTime_Time`, including subclasses. The argument "
@@ -285,7 +290,7 @@ msgstr ""
"instancia de :c:data:`PyDateTime_Time`, incluidas las subclases. El "
"argumento no debe ser ``NULL`` y el tipo no está marcado:"
-#: ../Doc/c-api/datetime.rst:229
+#: ../Doc/c-api/datetime.rst:248
msgid ""
"Macros to extract fields from time delta objects. The argument must be an "
"instance of :c:data:`PyDateTime_Delta`, including subclasses. The argument "
@@ -295,23 +300,23 @@ msgstr ""
"una instancia de :c:data:`PyDateTime_Delta`, incluidas las subclases. El "
"argumento no debe ser ``NULL`` y el tipo no está marcado:"
-#: ../Doc/c-api/datetime.rst:235
+#: ../Doc/c-api/datetime.rst:254
msgid "Return the number of days, as an int from -999999999 to 999999999."
msgstr "Retorna el número de días, como un int desde -999999999 a 999999999."
-#: ../Doc/c-api/datetime.rst:242
+#: ../Doc/c-api/datetime.rst:261
msgid "Return the number of seconds, as an int from 0 through 86399."
msgstr "Retorna el número de segundos, como un int de 0 a 86399."
-#: ../Doc/c-api/datetime.rst:249
+#: ../Doc/c-api/datetime.rst:268
msgid "Return the number of microseconds, as an int from 0 through 999999."
msgstr "Retorna el número de micro segundos, como un int de 0 a 999999."
-#: ../Doc/c-api/datetime.rst:254
+#: ../Doc/c-api/datetime.rst:273
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:258
+#: ../Doc/c-api/datetime.rst:277
msgid ""
"Create and return a new :class:`datetime.datetime` object given an argument "
"tuple suitable for passing to :meth:`datetime.datetime.fromtimestamp()`."
@@ -319,7 +324,7 @@ msgstr ""
"Crea y retorna un nuevo objeto :class:`datetime.datetime` dado una tupla de "
"argumentos adecuada para pasar a :meth:`datetime.datetime.fromtimestamp()`."
-#: ../Doc/c-api/datetime.rst:264
+#: ../Doc/c-api/datetime.rst:283
msgid ""
"Create and return a new :class:`datetime.date` object given an argument "
"tuple suitable for passing to :meth:`datetime.date.fromtimestamp()`."
diff --git a/c-api/dict.po b/c-api/dict.po
index f3c630f772..687259048f 100644
--- a/c-api/dict.po
+++ b/c-api/dict.po
@@ -10,16 +10,16 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-16 21:42+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-08-01 20:34+0200\n"
"Last-Translator: Cristián Maureira-Fredes \n"
"Language: es\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"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"
-"Generated-By: Babel 2.9.1\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/dict.rst:6
msgid "Dictionary Objects"
@@ -106,9 +106,10 @@ msgstr ""
"referencia a *val*."
#: ../Doc/c-api/dict.rst:75
+#, fuzzy
msgid ""
"Insert *val* into the dictionary *p* using *key* as a key. *key* should be "
-"a :c:type:`const char*`. The key object is created using "
+"a :c:expr:`const char*`. The key object is created using "
"``PyUnicode_FromString(key)``. Return ``0`` on success or ``-1`` on "
"failure. This function *does not* steal a reference to *val*."
msgstr ""
@@ -177,9 +178,10 @@ msgstr ""
"presente."
#: ../Doc/c-api/dict.rst:120
+#, fuzzy
msgid ""
"This is the same as :c:func:`PyDict_GetItem`, but *key* is specified as a :c:"
-"type:`const char*`, rather than a :c:type:`PyObject*`."
+"expr:`const char*`, rather than a :c:expr:`PyObject*`."
msgstr ""
"Esto es lo mismo que :c:func:`PyDict_GetItem`, pero *key* se especifica como "
"un :c:type:`const char*`, en lugar de un :c:type:`PyObject*`."
@@ -242,12 +244,13 @@ msgstr ""
"``len(p)`` en un diccionario."
#: ../Doc/c-api/dict.rst:165
+#, fuzzy
msgid ""
"Iterate over all key-value pairs in the dictionary *p*. The :c:type:"
"`Py_ssize_t` referred to by *ppos* must be initialized to ``0`` prior to the "
"first call to this function to start the iteration; the function returns "
"true for each pair in the dictionary, and false once all pairs have been "
-"reported. The parameters *pkey* and *pvalue* should either point to :c:type:"
+"reported. The parameters *pkey* and *pvalue* should either point to :c:expr:"
"`PyObject*` variables that will be filled in with each key and value, "
"respectively, or may be ``NULL``. Any references returned through them are "
"borrowed. *ppos* should not be altered during iteration. Its value "
diff --git a/c-api/exceptions.po b/c-api/exceptions.po
index 21df2cead2..f0049830d2 100644
--- a/c-api/exceptions.po
+++ b/c-api/exceptions.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-16 21:42+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-10-27 17:37+0200\n"
"Last-Translator: Cristián Maureira-Fredes \n"
"Language: es\n"
@@ -19,14 +19,14 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.1\n"
-"X-Generator: Poedit 3.0\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/exceptions.rst:8
msgid "Exception Handling"
msgstr "Manejo de excepciones"
#: ../Doc/c-api/exceptions.rst:10
+#, fuzzy
msgid ""
"The functions described in this chapter will let you handle and raise Python "
"exceptions. It is important to understand some of the basics of Python "
@@ -35,8 +35,8 @@ msgid ""
"occurred. Most C API functions don't clear this on success, but will set it "
"to indicate the cause of the error on failure. Most C API functions also "
"return an error indicator, usually ``NULL`` if they are supposed to return a "
-"pointer, or ``-1`` if they return an integer (exception: the :c:func:`PyArg_"
-"\\*` functions return ``1`` for success and ``0`` for failure)."
+"pointer, or ``-1`` if they return an integer (exception: the ``PyArg_*`` "
+"functions return ``1`` for success and ``0`` for failure)."
msgstr ""
"Las funciones descritas en este capítulo le permitirán manejar y aumentar "
"las excepciones de Python. Es importante comprender algunos de los conceptos "
@@ -318,14 +318,15 @@ msgstr ""
"partir de la codificación de :term:`filesystem encoding and error handler`."
#: ../Doc/c-api/exceptions.rst:191
+#, fuzzy
msgid ""
"This is a convenience function to raise :exc:`WindowsError`. If called with "
-"*ierr* of :c:data:`0`, the error code returned by a call to :c:func:"
-"`GetLastError` is used instead. It calls the Win32 function :c:func:"
-"`FormatMessage` to retrieve the Windows description of error code given by "
-"*ierr* or :c:func:`GetLastError`, then it constructs a tuple object whose "
-"first item is the *ierr* value and whose second item is the corresponding "
-"error message (gotten from :c:func:`FormatMessage`), and then calls "
+"*ierr* of ``0``, the error code returned by a call to :c:func:`GetLastError` "
+"is used instead. It calls the Win32 function :c:func:`FormatMessage` to "
+"retrieve the Windows description of error code given by *ierr* or :c:func:"
+"`GetLastError`, then it constructs a tuple object whose first item is the "
+"*ierr* value and whose second item is the corresponding error message "
+"(gotten from :c:func:`FormatMessage`), and then calls "
"``PyErr_SetObject(PyExc_WindowsError, object)``. This function always "
"returns ``NULL``."
msgstr ""
@@ -402,6 +403,14 @@ msgstr ""
#: ../Doc/c-api/exceptions.rst:258
msgid ""
+"Much like :c:func:`PyErr_SetImportError` but this function allows for "
+"specifying a subclass of :exc:`ImportError` to raise."
+msgstr ""
+"Al igual que :c:func:`PyErr_SetImportError` pero esta función permite "
+"especificar una subclase de :exc:`ImportError` para aumentar."
+
+#: ../Doc/c-api/exceptions.rst:266
+msgid ""
"Set file, line, and offset information for the current exception. If the "
"current exception is not a :exc:`SyntaxError`, then it sets additional "
"attributes, which make the exception printing subsystem think the exception "
@@ -412,7 +421,7 @@ msgstr ""
"atributos adicionales, lo que hace que el sub sistema de impresión de "
"excepciones piense que la excepción es :exc:`SyntaxError`."
-#: ../Doc/c-api/exceptions.rst:268
+#: ../Doc/c-api/exceptions.rst:276
msgid ""
"Like :c:func:`PyErr_SyntaxLocationObject`, but *filename* is a byte string "
"decoded from the :term:`filesystem encoding and error handler`."
@@ -420,14 +429,15 @@ msgstr ""
"Como :c:func:`PyErr_SyntaxLocationObject`, pero *filename* es una cadena de "
"bytes decodificada a partir de :term:`filesystem encoding and error handler`."
-#: ../Doc/c-api/exceptions.rst:276
+#: ../Doc/c-api/exceptions.rst:284
+#, fuzzy
msgid ""
-"Like :c:func:`PyErr_SyntaxLocationEx`, but the col_offset parameter is "
+"Like :c:func:`PyErr_SyntaxLocationEx`, but the *col_offset* parameter is "
"omitted."
msgstr ""
"Como :c:func:`PyErr_SyntaxLocationEx`, pero se omite el parámetro col_offset."
-#: ../Doc/c-api/exceptions.rst:282
+#: ../Doc/c-api/exceptions.rst:290
msgid ""
"This is a shorthand for ``PyErr_SetString(PyExc_SystemError, message)``, "
"where *message* indicates that an internal operation (e.g. a Python/C API "
@@ -439,11 +449,11 @@ msgstr ""
"función de Python/C API) con un argumento ilegal. Es principalmente para uso "
"interno."
-#: ../Doc/c-api/exceptions.rst:289
+#: ../Doc/c-api/exceptions.rst:297
msgid "Issuing warnings"
msgstr "Emitir advertencias"
-#: ../Doc/c-api/exceptions.rst:291
+#: ../Doc/c-api/exceptions.rst:299
msgid ""
"Use these functions to issue warnings from C code. They mirror similar "
"functions exported by the Python :mod:`warnings` module. They normally "
@@ -471,7 +481,7 @@ msgstr ""
"llama debe hacer su manejo normal de excepciones (por ejemplo, referencias "
"propiedad de :c:func:`Py_DECREF` y retornan un valor de error)."
-#: ../Doc/c-api/exceptions.rst:306
+#: ../Doc/c-api/exceptions.rst:314
msgid ""
"Issue a warning message. The *category* argument is a warning category (see "
"below) or ``NULL``; the *message* argument is a UTF-8 encoded string. "
@@ -488,7 +498,7 @@ msgstr ""
"Un *stack_level* de 1 es la función que llama :c:func:`PyErr_WarnEx`, 2 es "
"la función por encima de eso, y así sucesivamente."
-#: ../Doc/c-api/exceptions.rst:313
+#: ../Doc/c-api/exceptions.rst:321
msgid ""
"Warning categories must be subclasses of :c:data:`PyExc_Warning`; :c:data:"
"`PyExc_Warning` is a subclass of :c:data:`PyExc_Exception`; the default "
@@ -503,7 +513,7 @@ msgstr ""
"están disponibles como variables globales cuyos nombres se enumeran en :ref:"
"`standardwarningcategories`."
-#: ../Doc/c-api/exceptions.rst:319
+#: ../Doc/c-api/exceptions.rst:327
msgid ""
"For information about warning control, see the documentation for the :mod:"
"`warnings` module and the :option:`-W` option in the command line "
@@ -514,19 +524,12 @@ msgstr ""
"documentación de la línea de comandos. No hay API de C para el control de "
"advertencia."
-#: ../Doc/c-api/exceptions.rst:325
-msgid ""
-"Much like :c:func:`PyErr_SetImportError` but this function allows for "
-"specifying a subclass of :exc:`ImportError` to raise."
-msgstr ""
-"Al igual que :c:func:`PyErr_SetImportError` pero esta función permite "
-"especificar una subclase de :exc:`ImportError` para aumentar."
-
-#: ../Doc/c-api/exceptions.rst:333
+#: ../Doc/c-api/exceptions.rst:334
+#, fuzzy
msgid ""
"Issue a warning message with explicit control over all warning attributes. "
"This is a straightforward wrapper around the Python function :func:`warnings."
-"warn_explicit`, see there for more information. The *module* and *registry* "
+"warn_explicit`; see there for more information. The *module* and *registry* "
"arguments may be set to ``NULL`` to get the default effect described there."
msgstr ""
"Emite un mensaje de advertencia con control explícito sobre todos los "
@@ -535,7 +538,7 @@ msgstr ""
"más información. Los argumentos *module* y *registry* pueden establecerse en "
"``NULL`` para obtener el efecto predeterminado que se describe allí."
-#: ../Doc/c-api/exceptions.rst:344
+#: ../Doc/c-api/exceptions.rst:345
msgid ""
"Similar to :c:func:`PyErr_WarnExplicitObject` except that *message* and "
"*module* are UTF-8 encoded strings, and *filename* is decoded from the :term:"
@@ -545,7 +548,7 @@ msgstr ""
"*module* son cadenas codificadas UTF-8, y *filename* se decodifica de :term:"
"`filesystem encoding and error handler`."
-#: ../Doc/c-api/exceptions.rst:351
+#: ../Doc/c-api/exceptions.rst:352
msgid ""
"Function similar to :c:func:`PyErr_WarnEx`, but use :c:func:"
"`PyUnicode_FromFormat` to format the warning message. *format* is an ASCII-"
@@ -555,7 +558,7 @@ msgstr ""
"`PyUnicode_FromFormat` para formatear el mensaje de advertencia. *format* es "
"una cadena de caracteres codificada en ASCII."
-#: ../Doc/c-api/exceptions.rst:360
+#: ../Doc/c-api/exceptions.rst:361
msgid ""
"Function similar to :c:func:`PyErr_WarnFormat`, but *category* is :exc:"
"`ResourceWarning` and it passes *source* to :func:`warnings.WarningMessage`."
@@ -563,17 +566,18 @@ msgstr ""
"Función similar a :c:func:`PyErr_WarnFormat`, pero *category* es :exc:"
"`ResourceWarning` y pasa *source* a :func:`warnings.WarningMessage`."
-#: ../Doc/c-api/exceptions.rst:367
+#: ../Doc/c-api/exceptions.rst:368
msgid "Querying the error indicator"
msgstr "Consultando el indicador de error"
-#: ../Doc/c-api/exceptions.rst:371
+#: ../Doc/c-api/exceptions.rst:372
+#, fuzzy
msgid ""
"Test whether the error indicator is set. If set, return the exception "
-"*type* (the first argument to the last call to one of the :c:func:`PyErr_Set"
-"\\*` functions or to :c:func:`PyErr_Restore`). If not set, return "
-"``NULL``. You do not own a reference to the return value, so you do not "
-"need to :c:func:`Py_DECREF` it."
+"*type* (the first argument to the last call to one of the ``PyErr_Set*`` "
+"functions or to :c:func:`PyErr_Restore`). If not set, return ``NULL``. You "
+"do not own a reference to the return value, so you do not need to :c:func:"
+"`Py_DECREF` it."
msgstr ""
"Prueba si el indicador de error está configurado. Si se establece, retorna "
"la excepción *type* (el primer argumento de la última llamada a una de las "
@@ -581,11 +585,11 @@ msgstr ""
"configurado, retorna ``NULL``. No posee una referencia al valor de retorno, "
"por lo que no necesita usar :c:func:`Py_DECREF`."
-#: ../Doc/c-api/exceptions.rst:377
+#: ../Doc/c-api/exceptions.rst:378
msgid "The caller must hold the GIL."
msgstr "La persona que llama debe retener el GIL."
-#: ../Doc/c-api/exceptions.rst:381
+#: ../Doc/c-api/exceptions.rst:382
msgid ""
"Do not compare the return value to a specific exception; use :c:func:"
"`PyErr_ExceptionMatches` instead, shown below. (The comparison could easily "
@@ -598,7 +602,7 @@ msgstr ""
"instancia en lugar de una clase, en el caso de una excepción de clase, o "
"puede ser una subclase de la excepción esperada)."
-#: ../Doc/c-api/exceptions.rst:389
+#: ../Doc/c-api/exceptions.rst:390
msgid ""
"Equivalent to ``PyErr_GivenExceptionMatches(PyErr_Occurred(), exc)``. This "
"should only be called when an exception is actually set; a memory access "
@@ -608,7 +612,7 @@ msgstr ""
"solo debería llamarse cuando se establece una excepción; se producirá una "
"infracción de acceso a la memoria si no se ha producido ninguna excepción."
-#: ../Doc/c-api/exceptions.rst:396
+#: ../Doc/c-api/exceptions.rst:397
msgid ""
"Return true if the *given* exception matches the exception type in *exc*. "
"If *exc* is a class object, this also returns true when *given* is an "
@@ -621,7 +625,7 @@ msgstr ""
"busca una coincidencia en todos los tipos de excepción en la tupla (y "
"recursivamente en sub tuplas)."
-#: ../Doc/c-api/exceptions.rst:404
+#: ../Doc/c-api/exceptions.rst:405
msgid ""
"Retrieve the error indicator into three variables whose addresses are "
"passed. If the error indicator is not set, set all three variables to "
@@ -635,7 +639,7 @@ msgstr ""
"cada objeto recuperado. El objeto de valor y rastreo puede ser ``NULL`` "
"incluso cuando el objeto de tipo no lo es."
-#: ../Doc/c-api/exceptions.rst:411
+#: ../Doc/c-api/exceptions.rst:412
msgid ""
"This function is normally only used by code that needs to catch exceptions "
"or by code that needs to save and restore the error indicator temporarily, e."
@@ -645,7 +649,7 @@ msgstr ""
"excepciones o el código que necesita guardar y restaurar el indicador de "
"error temporalmente, por ejemplo:"
-#: ../Doc/c-api/exceptions.rst:426
+#: ../Doc/c-api/exceptions.rst:427
msgid ""
"Set the error indicator from the three objects. If the error indicator is "
"already set, it is cleared first. If the objects are ``NULL``, the error "
@@ -667,7 +671,7 @@ msgstr ""
"no posee estas referencias. (Si no comprende esto, no use esta función. Se "
"lo advertí)."
-#: ../Doc/c-api/exceptions.rst:438
+#: ../Doc/c-api/exceptions.rst:439
msgid ""
"This function is normally only used by code that needs to save and restore "
"the error indicator temporarily. Use :c:func:`PyErr_Fetch` to save the "
@@ -677,7 +681,7 @@ msgstr ""
"restaurar el indicador de error temporalmente. Use :c:func:`PyErr_Fetch` "
"para guardar el indicador de error actual."
-#: ../Doc/c-api/exceptions.rst:445
+#: ../Doc/c-api/exceptions.rst:446
msgid ""
"Under certain circumstances, the values returned by :c:func:`PyErr_Fetch` "
"below can be \"unnormalized\", meaning that ``*exc`` is a class object but "
@@ -694,7 +698,7 @@ msgstr ""
"pasa nada. La normalización retrasada se implementa para mejorar el "
"rendimiento."
-#: ../Doc/c-api/exceptions.rst:453
+#: ../Doc/c-api/exceptions.rst:454
msgid ""
"This function *does not* implicitly set the ``__traceback__`` attribute on "
"the exception value. If setting the traceback appropriately is desired, the "
@@ -704,12 +708,56 @@ msgstr ""
"el valor de excepción. Si se desea establecer el rastreo de manera adecuada, "
"se necesita el siguiente fragmento adicional:"
-#: ../Doc/c-api/exceptions.rst:464
+#: ../Doc/c-api/exceptions.rst:465
msgid ""
-"Retrieve the exception info, as known from ``sys.exc_info()``. This refers "
-"to an exception that was *already caught*, not to an exception that was "
-"freshly raised. Returns new references for the three objects, any of which "
-"may be ``NULL``. Does not modify the exception info state."
+"Retrieve the active exception instance, as would be returned by :func:`sys."
+"exception`. This refers to an exception that was *already caught*, not to an "
+"exception that was freshly raised. Returns a new reference to the exception "
+"or ``NULL``. Does not modify the interpreter's exception state."
+msgstr ""
+
+#: ../Doc/c-api/exceptions.rst:472
+#, fuzzy
+msgid ""
+"This function is not normally used by code that wants to handle exceptions. "
+"Rather, it can be used when code needs to save and restore the exception "
+"state temporarily. Use :c:func:`PyErr_SetHandledException` to restore or "
+"clear the exception state."
+msgstr ""
+"Esta función normalmente no es utilizada por el código que quiere manejar "
+"excepciones. En cambio, se puede usar cuando el código necesita guardar y "
+"restaurar el estado de excepción temporalmente. Use :c:func:"
+"`PyErr_SetExcInfo` para restaurar o borrar el estado de excepción."
+
+#: ../Doc/c-api/exceptions.rst:481
+msgid ""
+"Set the active exception, as known from ``sys.exception()``. This refers to "
+"an exception that was *already caught*, not to an exception that was freshly "
+"raised. To clear the exception state, pass ``NULL``."
+msgstr ""
+
+#: ../Doc/c-api/exceptions.rst:488
+#, fuzzy
+msgid ""
+"This function is not normally used by code that wants to handle exceptions. "
+"Rather, it can be used when code needs to save and restore the exception "
+"state temporarily. Use :c:func:`PyErr_GetHandledException` to get the "
+"exception state."
+msgstr ""
+"Esta función normalmente no es utilizada por el código que quiere manejar "
+"excepciones. En cambio, se puede usar cuando el código necesita guardar y "
+"restaurar el estado de excepción temporalmente. Use :c:func:"
+"`PyErr_GetExcInfo` para leer el estado de excepción."
+
+#: ../Doc/c-api/exceptions.rst:497
+#, fuzzy
+msgid ""
+"Retrieve the old-style representation of the exception info, as known from :"
+"func:`sys.exc_info`. This refers to an exception that was *already caught*, "
+"not to an exception that was freshly raised. Returns new references for the "
+"three objects, any of which may be ``NULL``. Does not modify the exception "
+"info state. This function is kept for backwards compatibility. Prefer "
+"using :c:func:`PyErr_GetHandledException`."
msgstr ""
"Recupere la información de excepción, como se conoce de ``sys.exc_info()``. "
"Esto se refiere a una excepción que *ya fue capturada*, no a una excepción "
@@ -717,7 +765,7 @@ msgstr ""
"objetos, cualquiera de los cuales puede ser ``NULL``. No modifica el estado "
"de información de excepción."
-#: ../Doc/c-api/exceptions.rst:471
+#: ../Doc/c-api/exceptions.rst:506
msgid ""
"This function is not normally used by code that wants to handle exceptions. "
"Rather, it can be used when code needs to save and restore the exception "
@@ -729,13 +777,15 @@ msgstr ""
"restaurar el estado de excepción temporalmente. Use :c:func:"
"`PyErr_SetExcInfo` para restaurar o borrar el estado de excepción."
-#: ../Doc/c-api/exceptions.rst:481
+#: ../Doc/c-api/exceptions.rst:516
+#, fuzzy
msgid ""
"Set the exception info, as known from ``sys.exc_info()``. This refers to an "
"exception that was *already caught*, not to an exception that was freshly "
"raised. This function steals the references of the arguments. To clear the "
-"exception state, pass ``NULL`` for all three arguments. For general rules "
-"about the three arguments, see :c:func:`PyErr_Restore`."
+"exception state, pass ``NULL`` for all three arguments. This function is "
+"kept for backwards compatibility. Prefer using :c:func:"
+"`PyErr_SetHandledException`."
msgstr ""
"Establezca la información de excepción, como se conoce de ``sys."
"exc_info()``. Esto se refiere a una excepción que *ya fue capturada*, no a "
@@ -744,7 +794,7 @@ msgstr ""
"``NULL`` para los tres argumentos. Para ver las reglas generales sobre los "
"tres argumentos, consulte :c:func:`PyErr_Restore`."
-#: ../Doc/c-api/exceptions.rst:489
+#: ../Doc/c-api/exceptions.rst:525
msgid ""
"This function is not normally used by code that wants to handle exceptions. "
"Rather, it can be used when code needs to save and restore the exception "
@@ -756,15 +806,22 @@ msgstr ""
"restaurar el estado de excepción temporalmente. Use :c:func:"
"`PyErr_GetExcInfo` para leer el estado de excepción."
-#: ../Doc/c-api/exceptions.rst:498
+#: ../Doc/c-api/exceptions.rst:532
+msgid ""
+"The ``type`` and ``traceback`` arguments are no longer used and can be NULL. "
+"The interpreter now derives them from the exception instance (the ``value`` "
+"argument). The function still steals references of all three arguments."
+msgstr ""
+
+#: ../Doc/c-api/exceptions.rst:540
msgid "Signal Handling"
msgstr "Manejo de señal"
-#: ../Doc/c-api/exceptions.rst:508
+#: ../Doc/c-api/exceptions.rst:550
msgid "This function interacts with Python's signal handling."
msgstr "Esta función interactúa con el manejo de señales de Python."
-#: ../Doc/c-api/exceptions.rst:510
+#: ../Doc/c-api/exceptions.rst:552
msgid ""
"If the function is called from the main thread and under the main Python "
"interpreter, it checks whether a signal has been sent to the processes and "
@@ -777,7 +834,7 @@ msgstr ""
"mod:`signal` es compatible, esto puede invocar un manejador de señales "
"escrito en Python."
-#: ../Doc/c-api/exceptions.rst:515
+#: ../Doc/c-api/exceptions.rst:557
msgid ""
"The function attempts to handle all pending signals, and then returns ``0``. "
"However, if a Python signal handler raises an exception, the error indicator "
@@ -792,7 +849,7 @@ msgstr ""
"hayan manejado todavía: estarán en la siguiente invocación de :c:func:"
"`PyErr_CheckSignals()`)."
-#: ../Doc/c-api/exceptions.rst:521
+#: ../Doc/c-api/exceptions.rst:563
msgid ""
"If the function is called from a non-main thread, or under a non-main Python "
"interpreter, it does nothing and returns ``0``."
@@ -800,7 +857,7 @@ msgstr ""
"Si la función se llama desde un hilo no principal, o bajo un intérprete de "
"Python no principal, no hace nada y devuelve ``0``."
-#: ../Doc/c-api/exceptions.rst:524
+#: ../Doc/c-api/exceptions.rst:566
msgid ""
"This function can be called by long-running C code that wants to be "
"interruptible by user requests (such as by pressing Ctrl-C)."
@@ -809,7 +866,7 @@ msgstr ""
"que quiere ser interrumpible por las peticiones del usuario (como presionar "
"Ctrl-C)."
-#: ../Doc/c-api/exceptions.rst:528
+#: ../Doc/c-api/exceptions.rst:570
msgid ""
"The default Python signal handler for :const:`SIGINT` raises the :exc:"
"`KeyboardInterrupt` exception."
@@ -817,7 +874,7 @@ msgstr ""
"El controlador de señales de Python predeterminado para :const:`SIGINT` "
"lanza la excepción :exc:`KeyboardInterrupt`."
-#: ../Doc/c-api/exceptions.rst:539
+#: ../Doc/c-api/exceptions.rst:581
msgid ""
"Simulate the effect of a :const:`SIGINT` signal arriving. This is equivalent "
"to ``PyErr_SetInterruptEx(SIGINT)``."
@@ -825,7 +882,7 @@ msgstr ""
"Simula el efecto de la llegada de una señal :const:`SIGINT`. Esto es "
"equivalente a ``PyErr_SetInterruptEx(SIGINT)``."
-#: ../Doc/c-api/exceptions.rst:543 ../Doc/c-api/exceptions.rst:570
+#: ../Doc/c-api/exceptions.rst:585 ../Doc/c-api/exceptions.rst:612
msgid ""
"This function is async-signal-safe. It can be called without the :term:"
"`GIL` and from a C signal handler."
@@ -833,7 +890,7 @@ msgstr ""
"Esta función es segura para señales asíncronas. Se puede llamar sin el :term:"
"`GIL` y desde un manejador de señales de C."
-#: ../Doc/c-api/exceptions.rst:553
+#: ../Doc/c-api/exceptions.rst:595
msgid ""
"Simulate the effect of a signal arriving. The next time :c:func:"
"`PyErr_CheckSignals` is called, the Python signal handler for the given "
@@ -843,7 +900,7 @@ msgstr ""
"c:func:`PyErr_CheckSignals`, se llamará al manejador de señal de Python para "
"el número de señal dado."
-#: ../Doc/c-api/exceptions.rst:557
+#: ../Doc/c-api/exceptions.rst:599
msgid ""
"This function can be called by C code that sets up its own signal handling "
"and wants Python signal handlers to be invoked as expected when an "
@@ -855,7 +912,7 @@ msgstr ""
"como se espera cuando se solicita una interrupción (por ejemplo, cuando el "
"usuario presiona Ctrl-C para interrumpir una operación)."
-#: ../Doc/c-api/exceptions.rst:562
+#: ../Doc/c-api/exceptions.rst:604
msgid ""
"If the given signal isn't handled by Python (it was set to :data:`signal."
"SIG_DFL` or :data:`signal.SIG_IGN`), it will be ignored."
@@ -863,7 +920,7 @@ msgstr ""
"Si la señal dada no es manejada por Python (se configuró en :data:`signal."
"SIG_DFL` o :data:`signal.SIG_IGN`), se ignorará."
-#: ../Doc/c-api/exceptions.rst:565
+#: ../Doc/c-api/exceptions.rst:607
msgid ""
"If *signum* is outside of the allowed range of signal numbers, ``-1`` is "
"returned. Otherwise, ``0`` is returned. The error indicator is never "
@@ -873,7 +930,7 @@ msgstr ""
"``-1``. De lo contrario, se devuelve ``0``. Esta función nunca cambia el "
"indicador de error."
-#: ../Doc/c-api/exceptions.rst:578
+#: ../Doc/c-api/exceptions.rst:620
msgid ""
"This utility function specifies a file descriptor to which the signal number "
"is written as a single byte whenever a signal is received. *fd* must be non-"
@@ -883,7 +940,7 @@ msgstr ""
"número de señal se escribe como un solo byte cada vez que se recibe una "
"señal. *fd* debe ser sin bloqueo. retorna el descriptor de archivo anterior."
-#: ../Doc/c-api/exceptions.rst:582
+#: ../Doc/c-api/exceptions.rst:624
msgid ""
"The value ``-1`` disables the feature; this is the initial state. This is "
"equivalent to :func:`signal.set_wakeup_fd` in Python, but without any error "
@@ -895,15 +952,15 @@ msgstr ""
"de errores. *fd* debe ser un descriptor de archivo válido. La función solo "
"debe llamarse desde el hilo principal."
-#: ../Doc/c-api/exceptions.rst:587
+#: ../Doc/c-api/exceptions.rst:629
msgid "On Windows, the function now also supports socket handles."
msgstr "En Windows, la función ahora también admite controladores de socket."
-#: ../Doc/c-api/exceptions.rst:592
+#: ../Doc/c-api/exceptions.rst:634
msgid "Exception Classes"
msgstr "Clases de Excepción"
-#: ../Doc/c-api/exceptions.rst:596
+#: ../Doc/c-api/exceptions.rst:638
msgid ""
"This utility function creates and returns a new exception class. The *name* "
"argument must be the name of the new exception, a C string of the form "
@@ -917,7 +974,7 @@ msgstr ""
"*dict* son normalmente ``NULL``. Esto crea un objeto de clase derivado de :"
"exc:`Exception` (accesible en C como :c:data:`PyExc_Exception`)."
-#: ../Doc/c-api/exceptions.rst:602
+#: ../Doc/c-api/exceptions.rst:644
msgid ""
"The :attr:`__module__` attribute of the new class is set to the first part "
"(up to the last dot) of the *name* argument, and the class name is set to "
@@ -933,7 +990,7 @@ msgstr ""
"solo una clase o una tupla de clases. El argumento *dict* se puede usar para "
"especificar un diccionario de variables de clase y métodos."
-#: ../Doc/c-api/exceptions.rst:611
+#: ../Doc/c-api/exceptions.rst:653
msgid ""
"Same as :c:func:`PyErr_NewException`, except that the new exception class "
"can easily be given a docstring: If *doc* is non-``NULL``, it will be used "
@@ -944,11 +1001,11 @@ msgstr ""
"es ``NULL``, se utilizará como la cadena de documentación para la clase de "
"excepción."
-#: ../Doc/c-api/exceptions.rst:619
+#: ../Doc/c-api/exceptions.rst:661
msgid "Exception Objects"
msgstr "Objetos Excepción"
-#: ../Doc/c-api/exceptions.rst:623
+#: ../Doc/c-api/exceptions.rst:665
msgid ""
"Return the traceback associated with the exception as a new reference, as "
"accessible from Python through :attr:`__traceback__`. If there is no "
@@ -958,7 +1015,7 @@ msgstr ""
"accesible desde Python a través de :attr:`__traceback__`. Si no hay un "
"rastreo asociado, esto retorna ``NULL``."
-#: ../Doc/c-api/exceptions.rst:630
+#: ../Doc/c-api/exceptions.rst:672
msgid ""
"Set the traceback associated with the exception to *tb*. Use ``Py_None`` to "
"clear it."
@@ -966,7 +1023,7 @@ msgstr ""
"Establezca el rastreo asociado con la excepción a *tb*. Use ``Py_None`` para "
"borrarlo."
-#: ../Doc/c-api/exceptions.rst:636
+#: ../Doc/c-api/exceptions.rst:678
msgid ""
"Return the context (another exception instance during whose handling *ex* "
"was raised) associated with the exception as a new reference, as accessible "
@@ -978,7 +1035,7 @@ msgstr ""
"Python a través de :attr:`__context__`. Si no hay un contexto asociado, esto "
"retorna ``NULL``."
-#: ../Doc/c-api/exceptions.rst:644
+#: ../Doc/c-api/exceptions.rst:686
msgid ""
"Set the context associated with the exception to *ctx*. Use ``NULL`` to "
"clear it. There is no type check to make sure that *ctx* is an exception "
@@ -988,7 +1045,7 @@ msgstr ""
"borrarlo. No hay verificación de tipo para asegurarse de que *ctx* es una "
"instancia de excepción. Esto roba una referencia a *ctx*."
-#: ../Doc/c-api/exceptions.rst:651
+#: ../Doc/c-api/exceptions.rst:693
msgid ""
"Return the cause (either an exception instance, or :const:`None`, set by "
"``raise ... from ...``) associated with the exception as a new reference, as "
@@ -998,7 +1055,7 @@ msgstr ""
"establecida por ``raise ... from ...``) asociada con la excepción como una "
"nueva referencia, como accesible desde Python a través de :attr:`__causa__`."
-#: ../Doc/c-api/exceptions.rst:658
+#: ../Doc/c-api/exceptions.rst:700
msgid ""
"Set the cause associated with the exception to *cause*. Use ``NULL`` to "
"clear it. There is no type check to make sure that *cause* is either an "
@@ -1008,18 +1065,18 @@ msgstr ""
"borrarlo. No hay verificación de tipo para asegurarse de que *cause* sea una "
"instancia de excepción o :const:`None`. Esto roba una referencia a *cause*."
-#: ../Doc/c-api/exceptions.rst:662
+#: ../Doc/c-api/exceptions.rst:704
msgid ""
":attr:`__suppress_context__` is implicitly set to ``True`` by this function."
msgstr ""
":attr:`__suppress_context__` es implícitamente establecido en ``True`` por "
"esta función."
-#: ../Doc/c-api/exceptions.rst:668
+#: ../Doc/c-api/exceptions.rst:710
msgid "Unicode Exception Objects"
msgstr "Objetos Unicode de Excepción"
-#: ../Doc/c-api/exceptions.rst:670
+#: ../Doc/c-api/exceptions.rst:712
msgid ""
"The following functions are used to create and modify Unicode exceptions "
"from C."
@@ -1027,7 +1084,7 @@ msgstr ""
"Las siguientes funciones se utilizan para crear y modificar excepciones "
"Unicode de C."
-#: ../Doc/c-api/exceptions.rst:674
+#: ../Doc/c-api/exceptions.rst:716
msgid ""
"Create a :class:`UnicodeDecodeError` object with the attributes *encoding*, "
"*object*, *length*, *start*, *end* and *reason*. *encoding* and *reason* are "
@@ -1037,64 +1094,25 @@ msgstr ""
"*object*, *length*, *start*, *end* y *reason*. *encoding* y *reason* son "
"cadenas codificadas UTF-8."
-#: ../Doc/c-api/exceptions.rst:680
-msgid ""
-"Create a :class:`UnicodeEncodeError` object with the attributes *encoding*, "
-"*object*, *length*, *start*, *end* and *reason*. *encoding* and *reason* are "
-"UTF-8 encoded strings."
-msgstr ""
-"Crea un objeto :class:`UnicodeEncodeError` con los atributos *encoding*, "
-"*object*, *length*, *start*, *end* y *reason*. *encoding* y *reason* son "
-"cadenas codificadas UTF-8."
-
-#: ../Doc/c-api/exceptions.rst:684 ../Doc/c-api/exceptions.rst:694
-msgid "3.11"
-msgstr "3.11"
-
-#: ../Doc/c-api/exceptions.rst:686
-msgid ""
-"``Py_UNICODE`` is deprecated since Python 3.3. Please migrate to "
-"``PyObject_CallFunction(PyExc_UnicodeEncodeError, \"sOnns\", ...)``."
-msgstr ""
-"``Py_UNICODE`` está obsoleto desde Python 3.3. Migre por favor a "
-"``PyObject_CallFunction(PyExc_UnicodeEncodeError, \"sOnns\", ...)``."
-
-#: ../Doc/c-api/exceptions.rst:691
-msgid ""
-"Create a :class:`UnicodeTranslateError` object with the attributes *object*, "
-"*length*, *start*, *end* and *reason*. *reason* is a UTF-8 encoded string."
-msgstr ""
-"Crea un objeto :class:`UnicodeTranslateError` con los atributos *encoding*, "
-"*object*, *length*, *start*, *end* y *reason*. *encoding* y *reason* son "
-"cadenas codificadas UTF-8."
-
-#: ../Doc/c-api/exceptions.rst:696
-msgid ""
-"``Py_UNICODE`` is deprecated since Python 3.3. Please migrate to "
-"``PyObject_CallFunction(PyExc_UnicodeTranslateError, \"Onns\", ...)``."
-msgstr ""
-"``Py_UNICODE`` está obsoleto desde Python 3.3. Migre por favor a "
-"``PyObject_CallFunction(PyExc_UnicodeTranslateError, \"sOnns\", ...)``."
-
-#: ../Doc/c-api/exceptions.rst:702
+#: ../Doc/c-api/exceptions.rst:723
msgid "Return the *encoding* attribute of the given exception object."
msgstr "Retorna el atributo *encoding* del objeto de excepción dado."
-#: ../Doc/c-api/exceptions.rst:708
+#: ../Doc/c-api/exceptions.rst:729
msgid "Return the *object* attribute of the given exception object."
msgstr "Retorna el atributo *object* del objeto de excepción dado."
-#: ../Doc/c-api/exceptions.rst:714
+#: ../Doc/c-api/exceptions.rst:735
msgid ""
-"Get the *start* attribute of the given exception object and place it into *"
-"\\*start*. *start* must not be ``NULL``. Return ``0`` on success, ``-1`` "
+"Get the *start* attribute of the given exception object and place it into "
+"*\\*start*. *start* must not be ``NULL``. Return ``0`` on success, ``-1`` "
"on failure."
msgstr ""
-"Obtiene el atributo *start* del objeto de excepción dado y lo coloca en *"
-"\\*start*. *start* no debe ser ``NULL``. retorna ``0`` en caso de éxito, "
+"Obtiene el atributo *start* del objeto de excepción dado y lo coloca en "
+"*\\*start*. *start* no debe ser ``NULL``. retorna ``0`` en caso de éxito, "
"``-1`` en caso de error."
-#: ../Doc/c-api/exceptions.rst:722
+#: ../Doc/c-api/exceptions.rst:743
msgid ""
"Set the *start* attribute of the given exception object to *start*. Return "
"``0`` on success, ``-1`` on failure."
@@ -1102,17 +1120,17 @@ msgstr ""
"Establece el atributo *start* del objeto de excepción dado en *start*. "
"Retorna ``0`` en caso de éxito, ``-1`` en caso de error."
-#: ../Doc/c-api/exceptions.rst:729
+#: ../Doc/c-api/exceptions.rst:750
msgid ""
-"Get the *end* attribute of the given exception object and place it into *"
-"\\*end*. *end* must not be ``NULL``. Return ``0`` on success, ``-1`` on "
+"Get the *end* attribute of the given exception object and place it into "
+"*\\*end*. *end* must not be ``NULL``. Return ``0`` on success, ``-1`` on "
"failure."
msgstr ""
-"Obtiene el atributo *end* del objeto de excepción dado y lo coloca en *"
-"\\*end*. *end* no debe ser ``NULL``. retorna ``0`` en caso de éxito, ``-1`` "
+"Obtiene el atributo *end* del objeto de excepción dado y lo coloca en "
+"*\\*end*. *end* no debe ser ``NULL``. retorna ``0`` en caso de éxito, ``-1`` "
"en caso de error."
-#: ../Doc/c-api/exceptions.rst:737
+#: ../Doc/c-api/exceptions.rst:758
msgid ""
"Set the *end* attribute of the given exception object to *end*. Return "
"``0`` on success, ``-1`` on failure."
@@ -1120,11 +1138,11 @@ msgstr ""
"Establece el atributo *end* del objeto de excepción dado en *end*. Retorna "
"``0`` en caso de éxito, ``-1`` en caso de error."
-#: ../Doc/c-api/exceptions.rst:744
+#: ../Doc/c-api/exceptions.rst:765
msgid "Return the *reason* attribute of the given exception object."
msgstr "Retorna el atributo *reason* del objeto de excepción dado."
-#: ../Doc/c-api/exceptions.rst:750
+#: ../Doc/c-api/exceptions.rst:771
msgid ""
"Set the *reason* attribute of the given exception object to *reason*. "
"Return ``0`` on success, ``-1`` on failure."
@@ -1132,11 +1150,11 @@ msgstr ""
"Establece el atributo *reason* del objeto de excepción dado en *reason*. "
"Retorna ``0`` en caso de éxito, ``-1`` en caso de error."
-#: ../Doc/c-api/exceptions.rst:757
+#: ../Doc/c-api/exceptions.rst:778
msgid "Recursion Control"
msgstr "Control de Recursión"
-#: ../Doc/c-api/exceptions.rst:759
+#: ../Doc/c-api/exceptions.rst:780
msgid ""
"These two functions provide a way to perform safe recursive calls at the C "
"level, both in the core and in extension modules. They are needed if the "
@@ -1152,13 +1170,13 @@ msgstr ""
"son necesarios para las implementaciones de *tp_call* porque :ref:`call "
"protocol ` se encarga del manejo de la recursividad."
-#: ../Doc/c-api/exceptions.rst:768
+#: ../Doc/c-api/exceptions.rst:789
msgid "Marks a point where a recursive C-level call is about to be performed."
msgstr ""
"Marca un punto donde una llamada recursiva de nivel C está a punto de "
"realizarse."
-#: ../Doc/c-api/exceptions.rst:770
+#: ../Doc/c-api/exceptions.rst:791
msgid ""
"If :const:`USE_STACKCHECK` is defined, this function checks if the OS stack "
"overflowed using :c:func:`PyOS_CheckStack`. In this is the case, it sets a :"
@@ -1168,7 +1186,7 @@ msgstr ""
"del SO se desbordó usando :c:func:`PyOS_CheckStack`. En este caso, establece "
"un :exc:`MemoryError` y retorna un valor distinto de cero."
-#: ../Doc/c-api/exceptions.rst:774
+#: ../Doc/c-api/exceptions.rst:795
msgid ""
"The function then checks if the recursion limit is reached. If this is the "
"case, a :exc:`RecursionError` is set and a nonzero value is returned. "
@@ -1178,7 +1196,7 @@ msgstr ""
"caso, se establece a :exc:`RecursionError` y se retorna un valor distinto de "
"cero. De lo contrario, se retorna cero."
-#: ../Doc/c-api/exceptions.rst:778
+#: ../Doc/c-api/exceptions.rst:799
msgid ""
"*where* should be a UTF-8 encoded string such as ``\" in instance check\"`` "
"to be concatenated to the :exc:`RecursionError` message caused by the "
@@ -1188,11 +1206,11 @@ msgstr ""
"la comprobación de instancia\"`` para concatenarse con el mensaje :exc:"
"`RecursionError` causado por el límite de profundidad de recursión."
-#: ../Doc/c-api/exceptions.rst:782 ../Doc/c-api/exceptions.rst:790
+#: ../Doc/c-api/exceptions.rst:803 ../Doc/c-api/exceptions.rst:811
msgid "This function is now also available in the limited API."
msgstr "Esta función ahora también está disponible en la API limitada."
-#: ../Doc/c-api/exceptions.rst:787
+#: ../Doc/c-api/exceptions.rst:808
msgid ""
"Ends a :c:func:`Py_EnterRecursiveCall`. Must be called once for each "
"*successful* invocation of :c:func:`Py_EnterRecursiveCall`."
@@ -1200,7 +1218,7 @@ msgstr ""
"Termina una :c:func:`Py_EnterRecursiveCall`. Se debe llamar una vez por cada "
"invocación *exitosa* de :c:func:`Py_EnterRecursiveCall`."
-#: ../Doc/c-api/exceptions.rst:793
+#: ../Doc/c-api/exceptions.rst:814
msgid ""
"Properly implementing :c:member:`~PyTypeObject.tp_repr` for container types "
"requires special recursion handling. In addition to protecting the stack, :"
@@ -1215,7 +1233,7 @@ msgstr ""
"esta funcionalidad. Efectivamente, estos son los C equivalentes a :func:"
"`reprlib.recursive_repr`."
-#: ../Doc/c-api/exceptions.rst:801
+#: ../Doc/c-api/exceptions.rst:822
msgid ""
"Called at the beginning of the :c:member:`~PyTypeObject.tp_repr` "
"implementation to detect cycles."
@@ -1223,7 +1241,7 @@ msgstr ""
"Llamado al comienzo de la implementación :c:member:`~PyTypeObject.tp_repr` "
"para detectar ciclos."
-#: ../Doc/c-api/exceptions.rst:804
+#: ../Doc/c-api/exceptions.rst:825
msgid ""
"If the object has already been processed, the function returns a positive "
"integer. In that case the :c:member:`~PyTypeObject.tp_repr` implementation "
@@ -1236,7 +1254,7 @@ msgstr ""
"objetos :class:`dict` retornan ``{...}`` y los objetos :class:`list` "
"retornan ``[...]``."
-#: ../Doc/c-api/exceptions.rst:810
+#: ../Doc/c-api/exceptions.rst:831
msgid ""
"The function will return a negative integer if the recursion limit is "
"reached. In that case the :c:member:`~PyTypeObject.tp_repr` implementation "
@@ -1246,7 +1264,7 @@ msgstr ""
"recursión. En ese caso, la implementación :c:member:`~PyTypeObject.tp_repr` "
"normalmente debería retornar ``NULL``."
-#: ../Doc/c-api/exceptions.rst:814
+#: ../Doc/c-api/exceptions.rst:835
msgid ""
"Otherwise, the function returns zero and the :c:member:`~PyTypeObject."
"tp_repr` implementation can continue normally."
@@ -1254,7 +1272,7 @@ msgstr ""
"De lo contrario, la función retorna cero y la implementación :c:member:"
"`~PyTypeObject.tp_repr` puede continuar normalmente."
-#: ../Doc/c-api/exceptions.rst:819
+#: ../Doc/c-api/exceptions.rst:840
msgid ""
"Ends a :c:func:`Py_ReprEnter`. Must be called once for each invocation of :"
"c:func:`Py_ReprEnter` that returns zero."
@@ -1262,15 +1280,16 @@ msgstr ""
"Termina a :c:func:`Py_ReprEnter`. Se debe llamar una vez por cada invocación "
"de :c:func:`Py_ReprEnter` que retorna cero."
-#: ../Doc/c-api/exceptions.rst:826
+#: ../Doc/c-api/exceptions.rst:847
msgid "Standard Exceptions"
msgstr "Excepciones Estándar"
-#: ../Doc/c-api/exceptions.rst:828
+#: ../Doc/c-api/exceptions.rst:849
+#, fuzzy
msgid ""
"All standard Python exceptions are available as global variables whose names "
"are ``PyExc_`` followed by the Python exception name. These have the type :"
-"c:type:`PyObject*`; they are all class objects. For completeness, here are "
+"c:expr:`PyObject*`; they are all class objects. For completeness, here are "
"all the variables:"
msgstr ""
"Todas las excepciones estándar de Python están disponibles como variables "
@@ -1278,455 +1297,451 @@ msgstr ""
"Python. Estos tienen el tipo :c:type:`PyObject*`; todos son objetos de "
"clase. Para completar, aquí están todas las variables:"
-#: ../Doc/c-api/exceptions.rst:889 ../Doc/c-api/exceptions.rst:1022
-#: ../Doc/c-api/exceptions.rst:1067
+#: ../Doc/c-api/exceptions.rst:910 ../Doc/c-api/exceptions.rst:1043
+#: ../Doc/c-api/exceptions.rst:1088
msgid "C Name"
msgstr "Nombre en C"
-#: ../Doc/c-api/exceptions.rst:889 ../Doc/c-api/exceptions.rst:1067
+#: ../Doc/c-api/exceptions.rst:910 ../Doc/c-api/exceptions.rst:1088
msgid "Python Name"
msgstr "Nombre en Python"
-#: ../Doc/c-api/exceptions.rst:889 ../Doc/c-api/exceptions.rst:1022
-#: ../Doc/c-api/exceptions.rst:1067
+#: ../Doc/c-api/exceptions.rst:910 ../Doc/c-api/exceptions.rst:1043
+#: ../Doc/c-api/exceptions.rst:1088
msgid "Notes"
msgstr "Notas"
-#: ../Doc/c-api/exceptions.rst:891
+#: ../Doc/c-api/exceptions.rst:912
msgid ":c:data:`PyExc_BaseException`"
msgstr ":c:data:`PyExc_BaseException`"
-#: ../Doc/c-api/exceptions.rst:891
+#: ../Doc/c-api/exceptions.rst:912
msgid ":exc:`BaseException`"
msgstr ":exc:`BaseException`"
-#: ../Doc/c-api/exceptions.rst:891 ../Doc/c-api/exceptions.rst:893
-#: ../Doc/c-api/exceptions.rst:895 ../Doc/c-api/exceptions.rst:941
-#: ../Doc/c-api/exceptions.rst:953 ../Doc/c-api/exceptions.rst:1069
-msgid "\\(1)"
-msgstr "\\(1)"
+#: ../Doc/c-api/exceptions.rst:912 ../Doc/c-api/exceptions.rst:914
+#: ../Doc/c-api/exceptions.rst:916 ../Doc/c-api/exceptions.rst:962
+#: ../Doc/c-api/exceptions.rst:974
+msgid "[1]_"
+msgstr ""
-#: ../Doc/c-api/exceptions.rst:893
+#: ../Doc/c-api/exceptions.rst:914
msgid ":c:data:`PyExc_Exception`"
msgstr ":c:data:`PyExc_Exception`"
-#: ../Doc/c-api/exceptions.rst:893
+#: ../Doc/c-api/exceptions.rst:914
msgid ":exc:`Exception`"
msgstr ":exc:`Exception`"
-#: ../Doc/c-api/exceptions.rst:895
+#: ../Doc/c-api/exceptions.rst:916
msgid ":c:data:`PyExc_ArithmeticError`"
msgstr ":c:data:`PyExc_ArithmeticError`"
-#: ../Doc/c-api/exceptions.rst:895
+#: ../Doc/c-api/exceptions.rst:916
msgid ":exc:`ArithmeticError`"
msgstr ":exc:`ArithmeticError`"
-#: ../Doc/c-api/exceptions.rst:897
+#: ../Doc/c-api/exceptions.rst:918
msgid ":c:data:`PyExc_AssertionError`"
msgstr ":c:data:`PyExc_AssertionError`"
-#: ../Doc/c-api/exceptions.rst:897
+#: ../Doc/c-api/exceptions.rst:918
msgid ":exc:`AssertionError`"
msgstr ":exc:`AssertionError`"
-#: ../Doc/c-api/exceptions.rst:899
+#: ../Doc/c-api/exceptions.rst:920
msgid ":c:data:`PyExc_AttributeError`"
msgstr ":c:data:`PyExc_AttributeError`"
-#: ../Doc/c-api/exceptions.rst:899
+#: ../Doc/c-api/exceptions.rst:920
msgid ":exc:`AttributeError`"
msgstr ":exc:`AttributeError`"
-#: ../Doc/c-api/exceptions.rst:901
+#: ../Doc/c-api/exceptions.rst:922
msgid ":c:data:`PyExc_BlockingIOError`"
msgstr ":c:data:`PyExc_BlockingIOError`"
-#: ../Doc/c-api/exceptions.rst:901
+#: ../Doc/c-api/exceptions.rst:922
msgid ":exc:`BlockingIOError`"
msgstr ":exc:`BlockingIOError`"
-#: ../Doc/c-api/exceptions.rst:903
+#: ../Doc/c-api/exceptions.rst:924
msgid ":c:data:`PyExc_BrokenPipeError`"
msgstr ":c:data:`PyExc_BrokenPipeError`"
-#: ../Doc/c-api/exceptions.rst:903
+#: ../Doc/c-api/exceptions.rst:924
msgid ":exc:`BrokenPipeError`"
msgstr ":exc:`BrokenPipeError`"
-#: ../Doc/c-api/exceptions.rst:905
+#: ../Doc/c-api/exceptions.rst:926
msgid ":c:data:`PyExc_BufferError`"
msgstr ":c:data:`PyExc_BufferError`"
-#: ../Doc/c-api/exceptions.rst:905
+#: ../Doc/c-api/exceptions.rst:926
msgid ":exc:`BufferError`"
msgstr ":exc:`BufferError`"
-#: ../Doc/c-api/exceptions.rst:907
+#: ../Doc/c-api/exceptions.rst:928
msgid ":c:data:`PyExc_ChildProcessError`"
msgstr ":c:data:`PyExc_ChildProcessError`"
-#: ../Doc/c-api/exceptions.rst:907
+#: ../Doc/c-api/exceptions.rst:928
msgid ":exc:`ChildProcessError`"
msgstr ":exc:`ChildProcessError`"
-#: ../Doc/c-api/exceptions.rst:909
+#: ../Doc/c-api/exceptions.rst:930
msgid ":c:data:`PyExc_ConnectionAbortedError`"
msgstr ":c:data:`PyExc_ConnectionAbortedError`"
-#: ../Doc/c-api/exceptions.rst:909
+#: ../Doc/c-api/exceptions.rst:930
msgid ":exc:`ConnectionAbortedError`"
msgstr ":exc:`ConnectionAbortedError`"
-#: ../Doc/c-api/exceptions.rst:911
+#: ../Doc/c-api/exceptions.rst:932
msgid ":c:data:`PyExc_ConnectionError`"
msgstr ":c:data:`PyExc_ConnectionError`"
-#: ../Doc/c-api/exceptions.rst:911
+#: ../Doc/c-api/exceptions.rst:932
msgid ":exc:`ConnectionError`"
msgstr ":exc:`ConnectionError`"
-#: ../Doc/c-api/exceptions.rst:913
+#: ../Doc/c-api/exceptions.rst:934
msgid ":c:data:`PyExc_ConnectionRefusedError`"
msgstr ":c:data:`PyExc_ConnectionRefusedError`"
-#: ../Doc/c-api/exceptions.rst:913
+#: ../Doc/c-api/exceptions.rst:934
msgid ":exc:`ConnectionRefusedError`"
msgstr ":exc:`ConnectionRefusedError`"
-#: ../Doc/c-api/exceptions.rst:915
+#: ../Doc/c-api/exceptions.rst:936
msgid ":c:data:`PyExc_ConnectionResetError`"
msgstr ":c:data:`PyExc_ConnectionResetError`"
-#: ../Doc/c-api/exceptions.rst:915
+#: ../Doc/c-api/exceptions.rst:936
msgid ":exc:`ConnectionResetError`"
msgstr ":exc:`ConnectionResetError`"
-#: ../Doc/c-api/exceptions.rst:917
+#: ../Doc/c-api/exceptions.rst:938
msgid ":c:data:`PyExc_EOFError`"
msgstr ":c:data:`PyExc_EOFError`"
-#: ../Doc/c-api/exceptions.rst:917
+#: ../Doc/c-api/exceptions.rst:938
msgid ":exc:`EOFError`"
msgstr ":exc:`EOFError`"
-#: ../Doc/c-api/exceptions.rst:919
+#: ../Doc/c-api/exceptions.rst:940
msgid ":c:data:`PyExc_FileExistsError`"
msgstr ":c:data:`PyExc_FileExistsError`"
-#: ../Doc/c-api/exceptions.rst:919
+#: ../Doc/c-api/exceptions.rst:940
msgid ":exc:`FileExistsError`"
msgstr ":exc:`FileExistsError`"
-#: ../Doc/c-api/exceptions.rst:921
+#: ../Doc/c-api/exceptions.rst:942
msgid ":c:data:`PyExc_FileNotFoundError`"
msgstr ":c:data:`PyExc_FileNotFoundError`"
-#: ../Doc/c-api/exceptions.rst:921
+#: ../Doc/c-api/exceptions.rst:942
msgid ":exc:`FileNotFoundError`"
msgstr ":exc:`FileNotFoundError`"
-#: ../Doc/c-api/exceptions.rst:923
+#: ../Doc/c-api/exceptions.rst:944
msgid ":c:data:`PyExc_FloatingPointError`"
msgstr ":c:data:`PyExc_FloatingPointError`"
-#: ../Doc/c-api/exceptions.rst:923
+#: ../Doc/c-api/exceptions.rst:944
msgid ":exc:`FloatingPointError`"
msgstr ":exc:`FloatingPointError`"
-#: ../Doc/c-api/exceptions.rst:925
+#: ../Doc/c-api/exceptions.rst:946
msgid ":c:data:`PyExc_GeneratorExit`"
msgstr ":c:data:`PyExc_GeneratorExit`"
-#: ../Doc/c-api/exceptions.rst:925
+#: ../Doc/c-api/exceptions.rst:946
msgid ":exc:`GeneratorExit`"
msgstr ":exc:`GeneratorExit`"
-#: ../Doc/c-api/exceptions.rst:927
+#: ../Doc/c-api/exceptions.rst:948
msgid ":c:data:`PyExc_ImportError`"
msgstr ":c:data:`PyExc_ImportError`"
-#: ../Doc/c-api/exceptions.rst:927
+#: ../Doc/c-api/exceptions.rst:948
msgid ":exc:`ImportError`"
msgstr ":exc:`ImportError`"
-#: ../Doc/c-api/exceptions.rst:929
+#: ../Doc/c-api/exceptions.rst:950
msgid ":c:data:`PyExc_IndentationError`"
msgstr ":c:data:`PyExc_IndentationError`"
-#: ../Doc/c-api/exceptions.rst:929
+#: ../Doc/c-api/exceptions.rst:950
msgid ":exc:`IndentationError`"
msgstr ":exc:`IndentationError`"
-#: ../Doc/c-api/exceptions.rst:931
+#: ../Doc/c-api/exceptions.rst:952
msgid ":c:data:`PyExc_IndexError`"
msgstr ":c:data:`PyExc_IndexError`"
-#: ../Doc/c-api/exceptions.rst:931
+#: ../Doc/c-api/exceptions.rst:952
msgid ":exc:`IndexError`"
msgstr ":exc:`IndexError`"
-#: ../Doc/c-api/exceptions.rst:933
+#: ../Doc/c-api/exceptions.rst:954
msgid ":c:data:`PyExc_InterruptedError`"
msgstr ":c:data:`PyExc_InterruptedError`"
-#: ../Doc/c-api/exceptions.rst:933
+#: ../Doc/c-api/exceptions.rst:954
msgid ":exc:`InterruptedError`"
msgstr ":exc:`InterruptedError`"
-#: ../Doc/c-api/exceptions.rst:935
+#: ../Doc/c-api/exceptions.rst:956
msgid ":c:data:`PyExc_IsADirectoryError`"
msgstr ":c:data:`PyExc_IsADirectoryError`"
-#: ../Doc/c-api/exceptions.rst:935
+#: ../Doc/c-api/exceptions.rst:956
msgid ":exc:`IsADirectoryError`"
msgstr ":exc:`IsADirectoryError`"
-#: ../Doc/c-api/exceptions.rst:937
+#: ../Doc/c-api/exceptions.rst:958
msgid ":c:data:`PyExc_KeyError`"
msgstr ":c:data:`PyExc_KeyError`"
-#: ../Doc/c-api/exceptions.rst:937
+#: ../Doc/c-api/exceptions.rst:958
msgid ":exc:`KeyError`"
msgstr ":exc:`KeyError`"
-#: ../Doc/c-api/exceptions.rst:939
+#: ../Doc/c-api/exceptions.rst:960
msgid ":c:data:`PyExc_KeyboardInterrupt`"
msgstr ":c:data:`PyExc_KeyboardInterrupt`"
-#: ../Doc/c-api/exceptions.rst:939
+#: ../Doc/c-api/exceptions.rst:960
msgid ":exc:`KeyboardInterrupt`"
msgstr ":exc:`KeyboardInterrupt`"
-#: ../Doc/c-api/exceptions.rst:941
+#: ../Doc/c-api/exceptions.rst:962
msgid ":c:data:`PyExc_LookupError`"
msgstr ":c:data:`PyExc_LookupError`"
-#: ../Doc/c-api/exceptions.rst:941
+#: ../Doc/c-api/exceptions.rst:962
msgid ":exc:`LookupError`"
msgstr ":exc:`LookupError`"
-#: ../Doc/c-api/exceptions.rst:943
+#: ../Doc/c-api/exceptions.rst:964
msgid ":c:data:`PyExc_MemoryError`"
msgstr ":c:data:`PyExc_MemoryError`"
-#: ../Doc/c-api/exceptions.rst:943
+#: ../Doc/c-api/exceptions.rst:964
msgid ":exc:`MemoryError`"
msgstr ":exc:`MemoryError`"
-#: ../Doc/c-api/exceptions.rst:945
+#: ../Doc/c-api/exceptions.rst:966
msgid ":c:data:`PyExc_ModuleNotFoundError`"
msgstr ":c:data:`PyExc_ModuleNotFoundError`"
-#: ../Doc/c-api/exceptions.rst:945
+#: ../Doc/c-api/exceptions.rst:966
msgid ":exc:`ModuleNotFoundError`"
msgstr ":exc:`ModuleNotFoundError`"
-#: ../Doc/c-api/exceptions.rst:947
+#: ../Doc/c-api/exceptions.rst:968
msgid ":c:data:`PyExc_NameError`"
msgstr ":c:data:`PyExc_NameError`"
-#: ../Doc/c-api/exceptions.rst:947
+#: ../Doc/c-api/exceptions.rst:968
msgid ":exc:`NameError`"
msgstr ":exc:`NameError`"
-#: ../Doc/c-api/exceptions.rst:949
+#: ../Doc/c-api/exceptions.rst:970
msgid ":c:data:`PyExc_NotADirectoryError`"
msgstr ":c:data:`PyExc_NotADirectoryError`"
-#: ../Doc/c-api/exceptions.rst:949
+#: ../Doc/c-api/exceptions.rst:970
msgid ":exc:`NotADirectoryError`"
msgstr ":exc:`NotADirectoryError`"
-#: ../Doc/c-api/exceptions.rst:951
+#: ../Doc/c-api/exceptions.rst:972
msgid ":c:data:`PyExc_NotImplementedError`"
msgstr ":c:data:`PyExc_NotImplementedError`"
-#: ../Doc/c-api/exceptions.rst:951
+#: ../Doc/c-api/exceptions.rst:972
msgid ":exc:`NotImplementedError`"
msgstr ":exc:`NotImplementedError`"
-#: ../Doc/c-api/exceptions.rst:953
+#: ../Doc/c-api/exceptions.rst:974
msgid ":c:data:`PyExc_OSError`"
msgstr ":c:data:`PyExc_OSError`"
-#: ../Doc/c-api/exceptions.rst:953
+#: ../Doc/c-api/exceptions.rst:974
msgid ":exc:`OSError`"
msgstr ":exc:`OSError`"
-#: ../Doc/c-api/exceptions.rst:955
+#: ../Doc/c-api/exceptions.rst:976
msgid ":c:data:`PyExc_OverflowError`"
msgstr ":c:data:`PyExc_OverflowError`"
-#: ../Doc/c-api/exceptions.rst:955
+#: ../Doc/c-api/exceptions.rst:976
msgid ":exc:`OverflowError`"
msgstr ":exc:`OverflowError`"
-#: ../Doc/c-api/exceptions.rst:957
+#: ../Doc/c-api/exceptions.rst:978
msgid ":c:data:`PyExc_PermissionError`"
msgstr ":c:data:`PyExc_PermissionError`"
-#: ../Doc/c-api/exceptions.rst:957
+#: ../Doc/c-api/exceptions.rst:978
msgid ":exc:`PermissionError`"
msgstr ":exc:`PermissionError`"
-#: ../Doc/c-api/exceptions.rst:959
+#: ../Doc/c-api/exceptions.rst:980
msgid ":c:data:`PyExc_ProcessLookupError`"
msgstr ":c:data:`PyExc_ProcessLookupError`"
-#: ../Doc/c-api/exceptions.rst:959
+#: ../Doc/c-api/exceptions.rst:980
msgid ":exc:`ProcessLookupError`"
msgstr ":exc:`ProcessLookupError`"
-#: ../Doc/c-api/exceptions.rst:961
+#: ../Doc/c-api/exceptions.rst:982
msgid ":c:data:`PyExc_RecursionError`"
msgstr ":c:data:`PyExc_RecursionError`"
-#: ../Doc/c-api/exceptions.rst:961
+#: ../Doc/c-api/exceptions.rst:982
msgid ":exc:`RecursionError`"
msgstr ":exc:`RecursionError`"
-#: ../Doc/c-api/exceptions.rst:963
+#: ../Doc/c-api/exceptions.rst:984
msgid ":c:data:`PyExc_ReferenceError`"
msgstr ":c:data:`PyExc_ReferenceError`"
-#: ../Doc/c-api/exceptions.rst:963
+#: ../Doc/c-api/exceptions.rst:984
msgid ":exc:`ReferenceError`"
msgstr ":exc:`ReferenceError`"
-#: ../Doc/c-api/exceptions.rst:963
-msgid "\\(2)"
-msgstr "\\(2)"
-
-#: ../Doc/c-api/exceptions.rst:965
+#: ../Doc/c-api/exceptions.rst:986
msgid ":c:data:`PyExc_RuntimeError`"
msgstr ":c:data:`PyExc_RuntimeError`"
-#: ../Doc/c-api/exceptions.rst:965
+#: ../Doc/c-api/exceptions.rst:986
msgid ":exc:`RuntimeError`"
msgstr ":exc:`RuntimeError`"
-#: ../Doc/c-api/exceptions.rst:967
+#: ../Doc/c-api/exceptions.rst:988
msgid ":c:data:`PyExc_StopAsyncIteration`"
msgstr ":c:data:`PyExc_StopAsyncIteration`"
-#: ../Doc/c-api/exceptions.rst:967
+#: ../Doc/c-api/exceptions.rst:988
msgid ":exc:`StopAsyncIteration`"
msgstr ":exc:`StopAsyncIteration`"
-#: ../Doc/c-api/exceptions.rst:969
+#: ../Doc/c-api/exceptions.rst:990
msgid ":c:data:`PyExc_StopIteration`"
msgstr ":c:data:`PyExc_StopIteration`"
-#: ../Doc/c-api/exceptions.rst:969
+#: ../Doc/c-api/exceptions.rst:990
msgid ":exc:`StopIteration`"
msgstr ":exc:`StopIteration`"
-#: ../Doc/c-api/exceptions.rst:971
+#: ../Doc/c-api/exceptions.rst:992
msgid ":c:data:`PyExc_SyntaxError`"
msgstr ":c:data:`PyExc_SyntaxError`"
-#: ../Doc/c-api/exceptions.rst:971
+#: ../Doc/c-api/exceptions.rst:992
msgid ":exc:`SyntaxError`"
msgstr ":exc:`SyntaxError`"
-#: ../Doc/c-api/exceptions.rst:973
+#: ../Doc/c-api/exceptions.rst:994
msgid ":c:data:`PyExc_SystemError`"
msgstr ":c:data:`PyExc_SystemError`"
-#: ../Doc/c-api/exceptions.rst:973
+#: ../Doc/c-api/exceptions.rst:994
msgid ":exc:`SystemError`"
msgstr ":exc:`SystemError`"
-#: ../Doc/c-api/exceptions.rst:975
+#: ../Doc/c-api/exceptions.rst:996
msgid ":c:data:`PyExc_SystemExit`"
msgstr ":c:data:`PyExc_SystemExit`"
-#: ../Doc/c-api/exceptions.rst:975
+#: ../Doc/c-api/exceptions.rst:996
msgid ":exc:`SystemExit`"
msgstr ":exc:`SystemExit`"
-#: ../Doc/c-api/exceptions.rst:977
+#: ../Doc/c-api/exceptions.rst:998
msgid ":c:data:`PyExc_TabError`"
msgstr ":c:data:`PyExc_TabError`"
-#: ../Doc/c-api/exceptions.rst:977
+#: ../Doc/c-api/exceptions.rst:998
msgid ":exc:`TabError`"
msgstr ":exc:`TabError`"
-#: ../Doc/c-api/exceptions.rst:979
+#: ../Doc/c-api/exceptions.rst:1000
msgid ":c:data:`PyExc_TimeoutError`"
msgstr ":c:data:`PyExc_TimeoutError`"
-#: ../Doc/c-api/exceptions.rst:979
+#: ../Doc/c-api/exceptions.rst:1000
msgid ":exc:`TimeoutError`"
msgstr ":exc:`TimeoutError`"
-#: ../Doc/c-api/exceptions.rst:981
+#: ../Doc/c-api/exceptions.rst:1002
msgid ":c:data:`PyExc_TypeError`"
msgstr ":c:data:`PyExc_TypeError`"
-#: ../Doc/c-api/exceptions.rst:981
+#: ../Doc/c-api/exceptions.rst:1002
msgid ":exc:`TypeError`"
msgstr ":exc:`TypeError`"
-#: ../Doc/c-api/exceptions.rst:983
+#: ../Doc/c-api/exceptions.rst:1004
msgid ":c:data:`PyExc_UnboundLocalError`"
msgstr ":c:data:`PyExc_UnboundLocalError`"
-#: ../Doc/c-api/exceptions.rst:983
+#: ../Doc/c-api/exceptions.rst:1004
msgid ":exc:`UnboundLocalError`"
msgstr ":exc:`UnboundLocalError`"
-#: ../Doc/c-api/exceptions.rst:985
+#: ../Doc/c-api/exceptions.rst:1006
msgid ":c:data:`PyExc_UnicodeDecodeError`"
msgstr ":c:data:`PyExc_UnicodeDecodeError`"
-#: ../Doc/c-api/exceptions.rst:985
+#: ../Doc/c-api/exceptions.rst:1006
msgid ":exc:`UnicodeDecodeError`"
msgstr ":exc:`UnicodeDecodeError`"
-#: ../Doc/c-api/exceptions.rst:987
+#: ../Doc/c-api/exceptions.rst:1008
msgid ":c:data:`PyExc_UnicodeEncodeError`"
msgstr ":c:data:`PyExc_UnicodeEncodeError`"
-#: ../Doc/c-api/exceptions.rst:987
+#: ../Doc/c-api/exceptions.rst:1008
msgid ":exc:`UnicodeEncodeError`"
msgstr ":exc:`UnicodeEncodeError`"
-#: ../Doc/c-api/exceptions.rst:989
+#: ../Doc/c-api/exceptions.rst:1010
msgid ":c:data:`PyExc_UnicodeError`"
msgstr ":c:data:`PyExc_UnicodeError`"
-#: ../Doc/c-api/exceptions.rst:989
+#: ../Doc/c-api/exceptions.rst:1010
msgid ":exc:`UnicodeError`"
msgstr ":exc:`UnicodeError`"
-#: ../Doc/c-api/exceptions.rst:991
+#: ../Doc/c-api/exceptions.rst:1012
msgid ":c:data:`PyExc_UnicodeTranslateError`"
msgstr ":c:data:`PyExc_UnicodeTranslateError`"
-#: ../Doc/c-api/exceptions.rst:991
+#: ../Doc/c-api/exceptions.rst:1012
msgid ":exc:`UnicodeTranslateError`"
msgstr ":exc:`UnicodeTranslateError`"
-#: ../Doc/c-api/exceptions.rst:993
+#: ../Doc/c-api/exceptions.rst:1014
msgid ":c:data:`PyExc_ValueError`"
msgstr ":c:data:`PyExc_ValueError`"
-#: ../Doc/c-api/exceptions.rst:993
+#: ../Doc/c-api/exceptions.rst:1014
msgid ":exc:`ValueError`"
msgstr ":exc:`ValueError`"
-#: ../Doc/c-api/exceptions.rst:995
+#: ../Doc/c-api/exceptions.rst:1016
msgid ":c:data:`PyExc_ZeroDivisionError`"
msgstr ":c:data:`PyExc_ZeroDivisionError`"
-#: ../Doc/c-api/exceptions.rst:995
+#: ../Doc/c-api/exceptions.rst:1016
msgid ":exc:`ZeroDivisionError`"
msgstr ":exc:`ZeroDivisionError`"
-#: ../Doc/c-api/exceptions.rst:998
+#: ../Doc/c-api/exceptions.rst:1019
msgid ""
":c:data:`PyExc_BlockingIOError`, :c:data:`PyExc_BrokenPipeError`, :c:data:"
"`PyExc_ChildProcessError`, :c:data:`PyExc_ConnectionError`, :c:data:"
@@ -1746,47 +1761,47 @@ msgstr ""
"`PyExc_PermissionError`, :c:data:`PyExc_ProcessLookupError` y :c:data:"
"`PyExc_TimeoutError` fueron introducidos luego de :pep:`3151`."
-#: ../Doc/c-api/exceptions.rst:1008
+#: ../Doc/c-api/exceptions.rst:1029
msgid ":c:data:`PyExc_StopAsyncIteration` and :c:data:`PyExc_RecursionError`."
msgstr ":c:data:`PyExc_StopAsyncIteration` y :c:data:`PyExc_RecursionError`."
-#: ../Doc/c-api/exceptions.rst:1011
+#: ../Doc/c-api/exceptions.rst:1032
msgid ":c:data:`PyExc_ModuleNotFoundError`."
msgstr ":c:data:`PyExc_ModuleNotFoundError`."
-#: ../Doc/c-api/exceptions.rst:1014
+#: ../Doc/c-api/exceptions.rst:1035
msgid "These are compatibility aliases to :c:data:`PyExc_OSError`:"
msgstr "Estos son alias de compatibilidad para :c:data:`PyExc_OSError`:"
-#: ../Doc/c-api/exceptions.rst:1024
+#: ../Doc/c-api/exceptions.rst:1045
msgid ":c:data:`PyExc_EnvironmentError`"
msgstr ":c:data:`PyExc_EnvironmentError`"
-#: ../Doc/c-api/exceptions.rst:1026
+#: ../Doc/c-api/exceptions.rst:1047
msgid ":c:data:`PyExc_IOError`"
msgstr ":c:data:`PyExc_IOError`"
-#: ../Doc/c-api/exceptions.rst:1028
+#: ../Doc/c-api/exceptions.rst:1049
msgid ":c:data:`PyExc_WindowsError`"
msgstr ":c:data:`PyExc_WindowsError`"
-#: ../Doc/c-api/exceptions.rst:1028
-msgid "\\(3)"
-msgstr "\\(3)"
+#: ../Doc/c-api/exceptions.rst:1049
+msgid "[2]_"
+msgstr ""
-#: ../Doc/c-api/exceptions.rst:1031
+#: ../Doc/c-api/exceptions.rst:1052
msgid "These aliases used to be separate exception types."
msgstr "Estos alias solían ser tipos de excepción separados."
-#: ../Doc/c-api/exceptions.rst:1034 ../Doc/c-api/exceptions.rst:1095
+#: ../Doc/c-api/exceptions.rst:1055 ../Doc/c-api/exceptions.rst:1116
msgid "Notes:"
msgstr "Notas:"
-#: ../Doc/c-api/exceptions.rst:1037
+#: ../Doc/c-api/exceptions.rst:1058
msgid "This is a base class for other standard exceptions."
msgstr "Esta es una clase base para otras excepciones estándar."
-#: ../Doc/c-api/exceptions.rst:1040
+#: ../Doc/c-api/exceptions.rst:1061
msgid ""
"Only defined on Windows; protect code that uses this by testing that the "
"preprocessor macro ``MS_WINDOWS`` is defined."
@@ -1794,15 +1809,16 @@ msgstr ""
"Solo se define en Windows; proteja el código que usa esto probando que la "
"macro del preprocesador ``MS_WINDOWS`` está definida."
-#: ../Doc/c-api/exceptions.rst:1046
+#: ../Doc/c-api/exceptions.rst:1067
msgid "Standard Warning Categories"
msgstr "Categorías de advertencia estándar"
-#: ../Doc/c-api/exceptions.rst:1048
+#: ../Doc/c-api/exceptions.rst:1069
+#, fuzzy
msgid ""
"All standard Python warning categories are available as global variables "
"whose names are ``PyExc_`` followed by the Python exception name. These have "
-"the type :c:type:`PyObject*`; they are all class objects. For completeness, "
+"the type :c:expr:`PyObject*`; they are all class objects. For completeness, "
"here are all the variables:"
msgstr ""
"Todas las categorías de advertencia estándar de Python están disponibles "
@@ -1810,98 +1826,146 @@ msgstr ""
"excepción de Python. Estos tienen el tipo :c:type:`PyObject*`; todos son "
"objetos de clase. Para completar, aquí están todas las variables:"
-#: ../Doc/c-api/exceptions.rst:1069
+#: ../Doc/c-api/exceptions.rst:1090
msgid ":c:data:`PyExc_Warning`"
msgstr ":c:data:`PyExc_Warning`"
-#: ../Doc/c-api/exceptions.rst:1069
+#: ../Doc/c-api/exceptions.rst:1090
msgid ":exc:`Warning`"
msgstr ":exc:`Warning`"
-#: ../Doc/c-api/exceptions.rst:1071
+#: ../Doc/c-api/exceptions.rst:1090
+msgid "[3]_"
+msgstr ""
+
+#: ../Doc/c-api/exceptions.rst:1092
msgid ":c:data:`PyExc_BytesWarning`"
msgstr ":c:data:`PyExc_BytesWarning`"
-#: ../Doc/c-api/exceptions.rst:1071
+#: ../Doc/c-api/exceptions.rst:1092
msgid ":exc:`BytesWarning`"
msgstr ":exc:`BytesWarning`"
-#: ../Doc/c-api/exceptions.rst:1073
+#: ../Doc/c-api/exceptions.rst:1094
msgid ":c:data:`PyExc_DeprecationWarning`"
msgstr ":c:data:`PyExc_DeprecationWarning`"
-#: ../Doc/c-api/exceptions.rst:1073
+#: ../Doc/c-api/exceptions.rst:1094
msgid ":exc:`DeprecationWarning`"
msgstr ":exc:`DeprecationWarning`"
-#: ../Doc/c-api/exceptions.rst:1075
+#: ../Doc/c-api/exceptions.rst:1096
msgid ":c:data:`PyExc_FutureWarning`"
msgstr ":c:data:`PyExc_FutureWarning`"
-#: ../Doc/c-api/exceptions.rst:1075
+#: ../Doc/c-api/exceptions.rst:1096
msgid ":exc:`FutureWarning`"
msgstr ":exc:`FutureWarning`"
-#: ../Doc/c-api/exceptions.rst:1077
+#: ../Doc/c-api/exceptions.rst:1098
msgid ":c:data:`PyExc_ImportWarning`"
msgstr ":c:data:`PyExc_ImportWarning`"
-#: ../Doc/c-api/exceptions.rst:1077
+#: ../Doc/c-api/exceptions.rst:1098
msgid ":exc:`ImportWarning`"
msgstr ":exc:`ImportWarning`"
-#: ../Doc/c-api/exceptions.rst:1079
+#: ../Doc/c-api/exceptions.rst:1100
msgid ":c:data:`PyExc_PendingDeprecationWarning`"
msgstr ":c:data:`PyExc_PendingDeprecationWarning`"
-#: ../Doc/c-api/exceptions.rst:1079
+#: ../Doc/c-api/exceptions.rst:1100
msgid ":exc:`PendingDeprecationWarning`"
msgstr ":exc:`PendingDeprecationWarning`"
-#: ../Doc/c-api/exceptions.rst:1081
+#: ../Doc/c-api/exceptions.rst:1102
msgid ":c:data:`PyExc_ResourceWarning`"
msgstr ":c:data:`PyExc_ResourceWarning`"
-#: ../Doc/c-api/exceptions.rst:1081
+#: ../Doc/c-api/exceptions.rst:1102
msgid ":exc:`ResourceWarning`"
msgstr ":exc:`ResourceWarning`"
-#: ../Doc/c-api/exceptions.rst:1083
+#: ../Doc/c-api/exceptions.rst:1104
msgid ":c:data:`PyExc_RuntimeWarning`"
msgstr ":c:data:`PyExc_RuntimeWarning`"
-#: ../Doc/c-api/exceptions.rst:1083
+#: ../Doc/c-api/exceptions.rst:1104
msgid ":exc:`RuntimeWarning`"
msgstr ":exc:`RuntimeWarning`"
-#: ../Doc/c-api/exceptions.rst:1085
+#: ../Doc/c-api/exceptions.rst:1106
msgid ":c:data:`PyExc_SyntaxWarning`"
msgstr ":c:data:`PyExc_SyntaxWarning`"
-#: ../Doc/c-api/exceptions.rst:1085
+#: ../Doc/c-api/exceptions.rst:1106
msgid ":exc:`SyntaxWarning`"
msgstr ":exc:`SyntaxWarning`"
-#: ../Doc/c-api/exceptions.rst:1087
+#: ../Doc/c-api/exceptions.rst:1108
msgid ":c:data:`PyExc_UnicodeWarning`"
msgstr ":c:data:`PyExc_UnicodeWarning`"
-#: ../Doc/c-api/exceptions.rst:1087
+#: ../Doc/c-api/exceptions.rst:1108
msgid ":exc:`UnicodeWarning`"
msgstr ":exc:`UnicodeWarning`"
-#: ../Doc/c-api/exceptions.rst:1089
+#: ../Doc/c-api/exceptions.rst:1110
msgid ":c:data:`PyExc_UserWarning`"
msgstr ":c:data:`PyExc_UserWarning`"
-#: ../Doc/c-api/exceptions.rst:1089
+#: ../Doc/c-api/exceptions.rst:1110
msgid ":exc:`UserWarning`"
msgstr ":exc:`UserWarning`"
-#: ../Doc/c-api/exceptions.rst:1092
+#: ../Doc/c-api/exceptions.rst:1113
msgid ":c:data:`PyExc_ResourceWarning`."
msgstr ":c:data:`PyExc_ResourceWarning`."
-#: ../Doc/c-api/exceptions.rst:1098
+#: ../Doc/c-api/exceptions.rst:1119
msgid "This is a base class for other standard warning categories."
msgstr "Esta es una clase base para otras categorías de advertencia estándar."
+
+#~ msgid ""
+#~ "Create a :class:`UnicodeEncodeError` object with the attributes "
+#~ "*encoding*, *object*, *length*, *start*, *end* and *reason*. *encoding* "
+#~ "and *reason* are UTF-8 encoded strings."
+#~ msgstr ""
+#~ "Crea un objeto :class:`UnicodeEncodeError` con los atributos *encoding*, "
+#~ "*object*, *length*, *start*, *end* y *reason*. *encoding* y *reason* son "
+#~ "cadenas codificadas UTF-8."
+
+#~ msgid "3.11"
+#~ msgstr "3.11"
+
+#~ msgid ""
+#~ "``Py_UNICODE`` is deprecated since Python 3.3. Please migrate to "
+#~ "``PyObject_CallFunction(PyExc_UnicodeEncodeError, \"sOnns\", ...)``."
+#~ msgstr ""
+#~ "``Py_UNICODE`` está obsoleto desde Python 3.3. Migre por favor a "
+#~ "``PyObject_CallFunction(PyExc_UnicodeEncodeError, \"sOnns\", ...)``."
+
+#~ msgid ""
+#~ "Create a :class:`UnicodeTranslateError` object with the attributes "
+#~ "*object*, *length*, *start*, *end* and *reason*. *reason* is a UTF-8 "
+#~ "encoded string."
+#~ msgstr ""
+#~ "Crea un objeto :class:`UnicodeTranslateError` con los atributos "
+#~ "*encoding*, *object*, *length*, *start*, *end* y *reason*. *encoding* y "
+#~ "*reason* son cadenas codificadas UTF-8."
+
+#~ msgid ""
+#~ "``Py_UNICODE`` is deprecated since Python 3.3. Please migrate to "
+#~ "``PyObject_CallFunction(PyExc_UnicodeTranslateError, \"Onns\", ...)``."
+#~ msgstr ""
+#~ "``Py_UNICODE`` está obsoleto desde Python 3.3. Migre por favor a "
+#~ "``PyObject_CallFunction(PyExc_UnicodeTranslateError, \"sOnns\", ...)``."
+
+#~ msgid "\\(1)"
+#~ msgstr "\\(1)"
+
+#~ msgid "\\(2)"
+#~ msgstr "\\(2)"
+
+#~ msgid "\\(3)"
+#~ msgstr "\\(3)"
diff --git a/c-api/file.po b/c-api/file.po
index 7fda015746..13ba4364d2 100644
--- a/c-api/file.po
+++ b/c-api/file.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-03-19 11:16+0100\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-08-01 20:12+0200\n"
"Last-Translator: Cristián Maureira-Fredes \n"
"Language: es\n"
@@ -19,17 +19,17 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.8.0\n"
-"X-Generator: Poedit 3.0\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/file.rst:6
msgid "File Objects"
msgstr "Objetos archivo"
#: ../Doc/c-api/file.rst:10
+#, fuzzy
msgid ""
"These APIs are a minimal emulation of the Python 2 C API for built-in file "
-"objects, which used to rely on the buffered I/O (:c:type:`FILE*`) support "
+"objects, which used to rely on the buffered I/O (:c:expr:`FILE*`) support "
"from the C standard library. In Python 3, files and streams use the new :"
"mod:`io` module, which defines several layers over the low-level unbuffered "
"I/O of the operating system. The functions described below are convenience "
@@ -81,8 +81,9 @@ msgid "Ignore *name* attribute."
msgstr "Ignora el atributo *name*."
#: ../Doc/c-api/file.rst:41
+#, fuzzy
msgid ""
-"Return the file descriptor associated with *p* as an :c:type:`int`. If the "
+"Return the file descriptor associated with *p* as an :c:expr:`int`. If the "
"object is an integer, its value is returned. If not, the object's :meth:"
"`~io.IOBase.fileno` method is called if it exists; the method must return an "
"integer, which is returned as the file descriptor value. Sets an exception "
@@ -125,8 +126,9 @@ msgstr ""
"parámetro a través del controlador proporcionado."
#: ../Doc/c-api/file.rst:68
+#, fuzzy
msgid ""
-"The handler is a function of type :c:type:`PyObject *(\\*)(PyObject *path, "
+"The handler is a function of type :c:expr:`PyObject *(\\*)(PyObject *path, "
"void *userData)`, where *path* is guaranteed to be :c:type:`PyUnicodeObject`."
msgstr ""
"El controlador es una función de tipo :c:type:`PyObject *(\\*)(PyObject "
diff --git a/c-api/float.po b/c-api/float.po
index f73243005a..45319fea85 100644
--- a/c-api/float.po
+++ b/c-api/float.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-03-19 11:16+0100\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-08-01 20:11+0200\n"
"Last-Translator: Cristián Maureira-Fredes \n"
"Language: es\n"
@@ -19,8 +19,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.8.0\n"
-"X-Generator: Poedit 3.0\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/float.rst:6
msgid "Floating Point Objects"
@@ -74,8 +73,9 @@ msgstr ""
"de error."
#: ../Doc/c-api/float.rst:47
+#, fuzzy
msgid ""
-"Return a C :c:type:`double` representation of the contents of *pyfloat*. If "
+"Return a C :c:expr:`double` representation of the contents of *pyfloat*. If "
"*pyfloat* is not a Python floating point object but has a :meth:`__float__` "
"method, this method will first be called to convert *pyfloat* into a float. "
"If ``__float__()`` is not defined then it falls back to :meth:`__index__`. "
@@ -95,8 +95,9 @@ msgid "Use :meth:`__index__` if available."
msgstr "Utilice :meth:`__index__` si está disponible."
#: ../Doc/c-api/float.rst:60
+#, fuzzy
msgid ""
-"Return a C :c:type:`double` representation of the contents of *pyfloat*, but "
+"Return a C :c:expr:`double` representation of the contents of *pyfloat*, but "
"without error checking."
msgstr ""
"Retorna una representación C :c:type:`double` de los contenidos de "
@@ -113,16 +114,134 @@ msgstr ""
"delgada alrededor del archivo de encabezado :file:`float.h`."
#: ../Doc/c-api/float.rst:73
+#, fuzzy
msgid ""
-"Return the maximum representable finite float *DBL_MAX* as C :c:type:"
+"Return the maximum representable finite float *DBL_MAX* as C :c:expr:"
"`double`."
msgstr ""
"Retorna el máximo flotante finito representable *DBL_MAX* como C :c:type:"
"`double`."
#: ../Doc/c-api/float.rst:78
+#, fuzzy
msgid ""
-"Return the minimum normalized positive float *DBL_MIN* as C :c:type:`double`."
+"Return the minimum normalized positive float *DBL_MIN* as C :c:expr:`double`."
msgstr ""
"Retorna el flotante positivo normalizado mínimo *DBL_MIN* como C :c:type:"
"`double`."
+
+#: ../Doc/c-api/float.rst:82
+msgid "Pack and Unpack functions"
+msgstr ""
+
+#: ../Doc/c-api/float.rst:84
+msgid ""
+"The pack and unpack functions provide an efficient platform-independent way "
+"to store floating-point values as byte strings. The Pack routines produce a "
+"bytes string from a C :c:expr:`double`, and the Unpack routines produce a C :"
+"c:expr:`double` from such a bytes string. The suffix (2, 4 or 8) specifies "
+"the number of bytes in the bytes string."
+msgstr ""
+
+#: ../Doc/c-api/float.rst:90
+msgid ""
+"On platforms that appear to use IEEE 754 formats these functions work by "
+"copying bits. On other platforms, the 2-byte format is identical to the IEEE "
+"754 binary16 half-precision format, the 4-byte format (32-bit) is identical "
+"to the IEEE 754 binary32 single precision format, and the 8-byte format to "
+"the IEEE 754 binary64 double precision format, although the packing of INFs "
+"and NaNs (if such things exist on the platform) isn't handled correctly, and "
+"attempting to unpack a bytes string containing an IEEE INF or NaN will raise "
+"an exception."
+msgstr ""
+
+#: ../Doc/c-api/float.rst:99
+msgid ""
+"On non-IEEE platforms with more precision, or larger dynamic range, than "
+"IEEE 754 supports, not all values can be packed; on non-IEEE platforms with "
+"less precision, or smaller dynamic range, not all values can be unpacked. "
+"What happens in such cases is partly accidental (alas)."
+msgstr ""
+
+#: ../Doc/c-api/float.rst:107
+msgid "Pack functions"
+msgstr ""
+
+#: ../Doc/c-api/float.rst:109
+msgid ""
+"The pack routines write 2, 4 or 8 bytes, starting at *p*. *le* is an :c:expr:"
+"`int` argument, non-zero if you want the bytes string in little-endian "
+"format (exponent last, at ``p+1``, ``p+3``, or ``p+6`` ``p+7``), zero if you "
+"want big-endian format (exponent first, at *p*). The :c:data:`PY_BIG_ENDIAN` "
+"constant can be used to use the native endian: it is equal to ``1`` on big "
+"endian processor, or ``0`` on little endian processor."
+msgstr ""
+
+#: ../Doc/c-api/float.rst:116
+msgid ""
+"Return value: ``0`` if all is OK, ``-1`` if error (and an exception is set, "
+"most likely :exc:`OverflowError`)."
+msgstr ""
+
+#: ../Doc/c-api/float.rst:119
+msgid "There are two problems on non-IEEE platforms:"
+msgstr ""
+
+#: ../Doc/c-api/float.rst:121
+msgid "What this does is undefined if *x* is a NaN or infinity."
+msgstr ""
+
+#: ../Doc/c-api/float.rst:122
+msgid "``-0.0`` and ``+0.0`` produce the same bytes string."
+msgstr ""
+
+#: ../Doc/c-api/float.rst:126
+msgid "Pack a C double as the IEEE 754 binary16 half-precision format."
+msgstr ""
+
+#: ../Doc/c-api/float.rst:130
+msgid "Pack a C double as the IEEE 754 binary32 single precision format."
+msgstr ""
+
+#: ../Doc/c-api/float.rst:134
+msgid "Pack a C double as the IEEE 754 binary64 double precision format."
+msgstr ""
+
+#: ../Doc/c-api/float.rst:138
+msgid "Unpack functions"
+msgstr ""
+
+#: ../Doc/c-api/float.rst:140
+msgid ""
+"The unpack routines read 2, 4 or 8 bytes, starting at *p*. *le* is an :c:"
+"expr:`int` argument, non-zero if the bytes string is in little-endian format "
+"(exponent last, at ``p+1``, ``p+3`` or ``p+6`` and ``p+7``), zero if big-"
+"endian (exponent first, at *p*). The :c:data:`PY_BIG_ENDIAN` constant can be "
+"used to use the native endian: it is equal to ``1`` on big endian processor, "
+"or ``0`` on little endian processor."
+msgstr ""
+
+#: ../Doc/c-api/float.rst:147
+msgid ""
+"Return value: The unpacked double. On error, this is ``-1.0`` and :c:func:"
+"`PyErr_Occurred` is true (and an exception is set, most likely :exc:"
+"`OverflowError`)."
+msgstr ""
+
+#: ../Doc/c-api/float.rst:151
+msgid ""
+"Note that on a non-IEEE platform this will refuse to unpack a bytes string "
+"that represents a NaN or infinity."
+msgstr ""
+
+#: ../Doc/c-api/float.rst:156
+msgid "Unpack the IEEE 754 binary16 half-precision format as a C double."
+msgstr ""
+
+#: ../Doc/c-api/float.rst:160
+msgid "Unpack the IEEE 754 binary32 single precision format as a C double."
+msgstr ""
+
+#: ../Doc/c-api/float.rst:164
+msgid "Unpack the IEEE 754 binary64 double precision format as a C double."
+msgstr ""
diff --git a/c-api/frame.po b/c-api/frame.po
new file mode 100644
index 0000000000..6be633ebe8
--- /dev/null
+++ b/c-api/frame.po
@@ -0,0 +1,107 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2001-2022, Python Software Foundation
+# This file is distributed under the same license as the Python en Español
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Python en Español 3.11\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.3\n"
+
+#: ../Doc/c-api/frame.rst:4
+msgid "Frame Objects"
+msgstr ""
+
+#: ../Doc/c-api/frame.rst:8
+msgid "The C structure of the objects used to describe frame objects."
+msgstr ""
+
+#: ../Doc/c-api/frame.rst:10
+msgid "There are no public members in this structure."
+msgstr ""
+
+#: ../Doc/c-api/frame.rst:12
+msgid ""
+"The members of this structure were removed from the public C API. Refer to "
+"the :ref:`What's New entry ` for details."
+msgstr ""
+
+#: ../Doc/c-api/frame.rst:17
+msgid ""
+"The :c:func:`PyEval_GetFrame` and :c:func:`PyThreadState_GetFrame` functions "
+"can be used to get a frame object."
+msgstr ""
+
+#: ../Doc/c-api/frame.rst:20
+msgid "See also :ref:`Reflection `."
+msgstr ""
+
+#: ../Doc/c-api/frame.rst:25
+msgid "Get the *frame* next outer frame."
+msgstr ""
+
+#: ../Doc/c-api/frame.rst:27
+msgid ""
+"Return a :term:`strong reference`, or ``NULL`` if *frame* has no outer frame."
+msgstr ""
+
+#: ../Doc/c-api/frame.rst:35
+msgid "Get the *frame*'s ``f_builtins`` attribute."
+msgstr ""
+
+#: ../Doc/c-api/frame.rst:37 ../Doc/c-api/frame.rst:68
+msgid "Return a :term:`strong reference`. The result cannot be ``NULL``."
+msgstr ""
+
+#: ../Doc/c-api/frame.rst:44
+msgid "Get the *frame* code."
+msgstr ""
+
+#: ../Doc/c-api/frame.rst:46 ../Doc/c-api/frame.rst:86
+msgid "Return a :term:`strong reference`."
+msgstr ""
+
+#: ../Doc/c-api/frame.rst:48
+msgid "The result (frame code) cannot be ``NULL``."
+msgstr ""
+
+#: ../Doc/c-api/frame.rst:55
+msgid ""
+"Get the generator, coroutine, or async generator that owns this frame, or "
+"``NULL`` if this frame is not owned by a generator. Does not raise an "
+"exception, even if the return value is ``NULL``."
+msgstr ""
+
+#: ../Doc/c-api/frame.rst:59
+msgid "Return a :term:`strong reference`, or ``NULL``."
+msgstr ""
+
+#: ../Doc/c-api/frame.rst:66
+msgid "Get the *frame*'s ``f_globals`` attribute."
+msgstr ""
+
+#: ../Doc/c-api/frame.rst:75
+msgid "Get the *frame*'s ``f_lasti`` attribute."
+msgstr ""
+
+#: ../Doc/c-api/frame.rst:77
+msgid "Returns -1 if ``frame.f_lasti`` is ``None``."
+msgstr ""
+
+#: ../Doc/c-api/frame.rst:84
+msgid "Get the *frame*'s ``f_locals`` attribute (:class:`dict`)."
+msgstr ""
+
+#: ../Doc/c-api/frame.rst:93
+msgid "Return the line number that *frame* is currently executing."
+msgstr ""
diff --git a/c-api/function.po b/c-api/function.po
index 6af56d2e99..f583c9d876 100644
--- a/c-api/function.po
+++ b/c-api/function.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-16 21:42+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-12-09 10:29+0800\n"
"Last-Translator: Rodrigo Tobar \n"
"Language: es\n"
@@ -19,8 +19,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.1\n"
-"X-Generator: Poedit 3.0\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/function.rst:6
msgid "Function Objects"
@@ -65,38 +64,40 @@ msgstr ""
"la función."
#: ../Doc/c-api/function.rst:37
+#, fuzzy
msgid ""
"The function's docstring and name are retrieved from the code object. "
"*__module__* is retrieved from *globals*. The argument defaults, annotations "
"and closure are set to ``NULL``. *__qualname__* is set to the same value as "
-"the function's name."
+"the code object's ``co_qualname`` field."
msgstr ""
"El docstring y el nombre de la función se obtiene del objeto código. "
"*__module__* se obtiene de *globals *. El argumento *defaults*, "
"*annotations* y *closure* se establecen en ``NULL``. *__qualname__* se "
"establece en el mismo valor que el nombre de la función."
-#: ../Doc/c-api/function.rst:44
+#: ../Doc/c-api/function.rst:45
+#, fuzzy
msgid ""
"As :c:func:`PyFunction_New`, but also allows setting the function object's "
"``__qualname__`` attribute. *qualname* should be a unicode object or "
"``NULL``; if ``NULL``, the ``__qualname__`` attribute is set to the same "
-"value as its ``__name__`` attribute."
+"value as the code object's ``co_qualname`` field."
msgstr ""
"Como :c:func:`PyFunction_New`, pero también permite configurar el atributo "
"``__qualname__`` del objeto función. *qualname* debe ser un objeto unicode o "
"``NULL``; si es ``NULL``, el atributo ``__qualname__`` se establece en el "
"mismo valor que su atributo ``__name__``."
-#: ../Doc/c-api/function.rst:54
+#: ../Doc/c-api/function.rst:55
msgid "Return the code object associated with the function object *op*."
msgstr "Retorna el objeto código asociado con el objeto función *op*."
-#: ../Doc/c-api/function.rst:59
+#: ../Doc/c-api/function.rst:60
msgid "Return the globals dictionary associated with the function object *op*."
msgstr "Retorna el diccionario global asociado con el objeto función *op*."
-#: ../Doc/c-api/function.rst:64
+#: ../Doc/c-api/function.rst:65
msgid ""
"Return a :term:`borrowed reference` to the *__module__* attribute of the "
"function object *op*. It can be *NULL*."
@@ -104,7 +105,7 @@ msgstr ""
"Retorna una referencia tomada (:term:`borrowed reference`) al atributo "
"*__module__* del objeto función *op*. Puede ser *NULL*."
-#: ../Doc/c-api/function.rst:67
+#: ../Doc/c-api/function.rst:68
msgid ""
"This is normally a string containing the module name, but can be set to any "
"other object by Python code."
@@ -113,7 +114,7 @@ msgstr ""
"módulo, pero se puede establecer en cualquier otro objeto mediante código "
"Python."
-#: ../Doc/c-api/function.rst:73
+#: ../Doc/c-api/function.rst:74
msgid ""
"Return the argument default values of the function object *op*. This can be "
"a tuple of arguments or ``NULL``."
@@ -121,7 +122,7 @@ msgstr ""
"Retorna los valores predeterminados del argumento del objeto función *op*. "
"Esto puede ser una tupla de argumentos o ``NULL``."
-#: ../Doc/c-api/function.rst:79
+#: ../Doc/c-api/function.rst:80
msgid ""
"Set the argument default values for the function object *op*. *defaults* "
"must be ``Py_None`` or a tuple."
@@ -129,12 +130,12 @@ msgstr ""
"Establece los valores predeterminados del argumento para el objeto función "
"*op*. *defaults* deben ser ``Py_None`` o una tupla."
-#: ../Doc/c-api/function.rst:82 ../Doc/c-api/function.rst:96
-#: ../Doc/c-api/function.rst:110
+#: ../Doc/c-api/function.rst:83 ../Doc/c-api/function.rst:97
+#: ../Doc/c-api/function.rst:111
msgid "Raises :exc:`SystemError` and returns ``-1`` on failure."
msgstr "Lanza :exc:`SystemError` y retorna ``-1`` en caso de error."
-#: ../Doc/c-api/function.rst:87
+#: ../Doc/c-api/function.rst:88
msgid ""
"Return the closure associated with the function object *op*. This can be "
"``NULL`` or a tuple of cell objects."
@@ -142,7 +143,7 @@ msgstr ""
"Retorna el cierre asociado con el objeto función *op*. Esto puede ser "
"``NULL`` o una tupla de objetos celda."
-#: ../Doc/c-api/function.rst:93
+#: ../Doc/c-api/function.rst:94
msgid ""
"Set the closure associated with the function object *op*. *closure* must be "
"``Py_None`` or a tuple of cell objects."
@@ -150,7 +151,7 @@ msgstr ""
"Establece el cierre asociado con el objeto función *op*. *cierre* debe ser "
"``Py_None`` o una tupla de objetos celda."
-#: ../Doc/c-api/function.rst:101
+#: ../Doc/c-api/function.rst:102
msgid ""
"Return the annotations of the function object *op*. This can be a mutable "
"dictionary or ``NULL``."
@@ -158,7 +159,7 @@ msgstr ""
"Retorna las anotaciones del objeto función *op*. Este puede ser un "
"diccionario mutable o ``NULL``."
-#: ../Doc/c-api/function.rst:107
+#: ../Doc/c-api/function.rst:108
msgid ""
"Set the annotations for the function object *op*. *annotations* must be a "
"dictionary or ``Py_None``."
diff --git a/c-api/gcsupport.po b/c-api/gcsupport.po
index 97112b1c07..3f8e453875 100644
--- a/c-api/gcsupport.po
+++ b/c-api/gcsupport.po
@@ -29,11 +29,11 @@ msgstr "Apoyo a la recolección de basura cíclica"
#: ../Doc/c-api/gcsupport.rst:8
msgid ""
"Python's support for detecting and collecting garbage which involves "
-"circular references requires support from object types which are \"containers"
-"\" for other objects which may also be containers. Types which do not store "
-"references to other objects, or which only store references to atomic types "
-"(such as numbers or strings), do not need to provide any explicit support "
-"for garbage collection."
+"circular references requires support from object types which are "
+"\"containers\" for other objects which may also be containers. Types which "
+"do not store references to other objects, or which only store references to "
+"atomic types (such as numbers or strings), do not need to provide any "
+"explicit support for garbage collection."
msgstr ""
"El soporte de Python para detectar y recolectar basura que involucra "
"referencias circulares requiere el soporte de tipos de objetos que son "
diff --git a/c-api/import.po b/c-api/import.po
index ca6ae26d1d..c2203d5d78 100644
--- a/c-api/import.po
+++ b/c-api/import.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-16 21:42+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-10-28 21:28-0500\n"
"Last-Translator: Cristián Maureira-Fredes \n"
"Language: es\n"
@@ -19,8 +19,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.1\n"
-"X-Generator: Poedit 3.0\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/import.rst:6
msgid "Importing Modules"
@@ -400,9 +399,16 @@ msgstr ""
"(ver :file:`Tools/freeze` en la distribución de código fuente de Python). Su "
"definición, que se encuentra en :file:`Include/import.h`, es::"
-#: ../Doc/c-api/import.rst:264
+#: ../Doc/c-api/import.rst:262
msgid ""
-"This pointer is initialized to point to an array of :c:type:`struct _frozen` "
+"The new ``is_package`` field indicates whether the module is a package or "
+"not. This replaces setting the ``size`` field to a negative value."
+msgstr ""
+
+#: ../Doc/c-api/import.rst:268
+#, fuzzy
+msgid ""
+"This pointer is initialized to point to an array of :c:struct:`_frozen` "
"records, terminated by one whose members are all ``NULL`` or zero. When a "
"frozen module is imported, it is searched in this table. Third-party code "
"could play tricks with this to provide a dynamically created collection of "
@@ -414,7 +420,7 @@ msgstr ""
"código de terceros podría jugar trucos con esto para proporcionar una "
"colección de módulos congelados creada dinámicamente."
-#: ../Doc/c-api/import.rst:272
+#: ../Doc/c-api/import.rst:276
msgid ""
"Add a single module to the existing table of built-in modules. This is a "
"convenience wrapper around :c:func:`PyImport_ExtendInittab`, returning "
@@ -430,7 +436,7 @@ msgstr ""
"inicialización llamada en el primer intento de importación. Esto debería "
"llamarse antes de :c:func:`Py_Initialize`."
-#: ../Doc/c-api/import.rst:282
+#: ../Doc/c-api/import.rst:286
msgid ""
"Structure describing a single entry in the list of built-in modules. Each "
"of these structures gives the name and initialization function for a module "
@@ -447,7 +453,7 @@ msgstr ""
"func:`PyImport_ExtendInittab` para proporcionar módulos integrados "
"adicionales. La estructura se define en :file:`Include/import.h` como::"
-#: ../Doc/c-api/import.rst:297
+#: ../Doc/c-api/import.rst:301
msgid ""
"Add a collection of modules to the table of built-in modules. The *newtab* "
"array must end with a sentinel entry which contains ``NULL`` for the :attr:"
@@ -465,7 +471,7 @@ msgstr ""
"error, no se agregan módulos a la tabla interna. Esta función debe ser "
"llamada antes de :c:func:`Py_Initialize`."
-#: ../Doc/c-api/import.rst:304
+#: ../Doc/c-api/import.rst:308
msgid ""
"If Python is initialized multiple times, :c:func:`PyImport_AppendInittab` "
"or :c:func:`PyImport_ExtendInittab` must be called before each Python "
diff --git a/c-api/init.po b/c-api/init.po
index 73e43a90c4..af24893bbd 100644
--- a/c-api/init.po
+++ b/c-api/init.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-16 21:42+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-10-21 00:37-0300\n"
"Last-Translator: CatalinaArrey \n"
"Language: es\n"
@@ -19,8 +19,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.1\n"
-"X-Generator: Poedit 3.0\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/init.rst:8
msgid "Initialization, Finalization, and Threads"
@@ -271,7 +270,8 @@ msgstr ""
"c:func:`Py_GetPath`."
#: ../Doc/c-api/init.rst:113
-msgid "Private flag used by ``_freeze_importlib`` and ``frozenmain`` programs."
+#, fuzzy
+msgid "Private flag used by ``_freeze_module`` and ``frozenmain`` programs."
msgstr ""
"Indicador privado utilizado por los programas ``_freeze_importlib`` y "
"``frozenmain``."
@@ -623,6 +623,13 @@ msgstr "Parámetros de todo el proceso"
#: ../Doc/c-api/init.rst:326
msgid ""
+"This API is kept for backward compatibility: setting :c:member:`PyConfig."
+"stdio_encoding` and :c:member:`PyConfig.stdio_errors` should be used "
+"instead, see :ref:`Python Initialization Configuration `."
+msgstr ""
+
+#: ../Doc/c-api/init.rst:331
+msgid ""
"This function should be called before :c:func:`Py_Initialize`, if it is "
"called at all. It specifies which encoding and error handling to use with "
"standard IO, with the same meanings as in :func:`str.encode`."
@@ -631,7 +638,7 @@ msgstr ""
"llama. Especifica qué codificación y manejo de errores usar con IO estándar, "
"con los mismos significados que en :func:`str.encode`."
-#: ../Doc/c-api/init.rst:330
+#: ../Doc/c-api/init.rst:335
msgid ""
"It overrides :envvar:`PYTHONIOENCODING` values, and allows embedding code to "
"control IO encoding when the environment variable does not work."
@@ -639,7 +646,7 @@ msgstr ""
"Reemplaza los valores :envvar:`PYTHONIOENCODING`, y permite incrustar código "
"para controlar la codificación IO cuando la variable de entorno no funciona."
-#: ../Doc/c-api/init.rst:333
+#: ../Doc/c-api/init.rst:338
msgid ""
"*encoding* and/or *errors* may be ``NULL`` to use :envvar:`PYTHONIOENCODING` "
"and/or default values (depending on other settings)."
@@ -648,7 +655,7 @@ msgstr ""
"`PYTHONIOENCODING` o valores predeterminados (dependiendo de otras "
"configuraciones)."
-#: ../Doc/c-api/init.rst:337
+#: ../Doc/c-api/init.rst:342
msgid ""
"Note that :data:`sys.stderr` always uses the \"backslashreplace\" error "
"handler, regardless of this (or any other) setting."
@@ -657,7 +664,7 @@ msgstr ""
"\"*backslashreplace*\", independientemente de esta configuración (o "
"cualquier otra)."
-#: ../Doc/c-api/init.rst:340
+#: ../Doc/c-api/init.rst:345
msgid ""
"If :c:func:`Py_FinalizeEx` is called, this function will need to be called "
"again in order to affect subsequent calls to :c:func:`Py_Initialize`."
@@ -665,7 +672,7 @@ msgstr ""
"Si se llama a :c:func:`Py_FinalizeEx`, será necesario volver a llamar a esta "
"función para afectar las llamadas posteriores a :c:func:`Py_Initialize`."
-#: ../Doc/c-api/init.rst:343
+#: ../Doc/c-api/init.rst:348
msgid ""
"Returns ``0`` if successful, a nonzero value on error (e.g. calling after "
"the interpreter has already been initialized)."
@@ -673,7 +680,14 @@ msgstr ""
"Retorna ``0`` si tiene éxito, un valor distinto de cero en caso de error "
"(por ejemplo, llamar después de que el intérprete ya se haya inicializado)"
-#: ../Doc/c-api/init.rst:356
+#: ../Doc/c-api/init.rst:363
+msgid ""
+"This API is kept for backward compatibility: setting :c:member:`PyConfig."
+"program_name` should be used instead, see :ref:`Python Initialization "
+"Configuration `."
+msgstr ""
+
+#: ../Doc/c-api/init.rst:367
msgid ""
"This function should be called before :c:func:`Py_Initialize` is called for "
"the first time, if it is called at all. It tells the interpreter the value "
@@ -697,17 +711,18 @@ msgstr ""
"contenido no cambiará mientras dure la ejecución del programa. Ningún código "
"en el intérprete de Python cambiará el contenido de este almacenamiento."
-#: ../Doc/c-api/init.rst:367 ../Doc/c-api/init.rst:511
-#: ../Doc/c-api/init.rst:617 ../Doc/c-api/init.rst:644
-#: ../Doc/c-api/init.rst:661
+#: ../Doc/c-api/init.rst:378 ../Doc/c-api/init.rst:529
+#: ../Doc/c-api/init.rst:644 ../Doc/c-api/init.rst:680
+#: ../Doc/c-api/init.rst:706
+#, fuzzy
msgid ""
-"Use :c:func:`Py_DecodeLocale` to decode a bytes string to get a :c:type:"
+"Use :c:func:`Py_DecodeLocale` to decode a bytes string to get a :c:expr:"
"`wchar_*` string."
msgstr ""
"Use :c:func:`Py_DecodeLocale` para decodificar una cadena de bytes para "
"obtener una cadena :c:type:`wchar_ *`."
-#: ../Doc/c-api/init.rst:375
+#: ../Doc/c-api/init.rst:388
msgid ""
"Return the program name set with :c:func:`Py_SetProgramName`, or the "
"default. The returned string points into static storage; the caller should "
@@ -717,9 +732,9 @@ msgstr ""
"o el valor predeterminado. La cadena de caracteres retornada apunta al "
"almacenamiento estático; la persona que llama no debe modificar su valor."
-#: ../Doc/c-api/init.rst:379 ../Doc/c-api/init.rst:398
-#: ../Doc/c-api/init.rst:439 ../Doc/c-api/init.rst:458
-#: ../Doc/c-api/init.rst:482 ../Doc/c-api/init.rst:671
+#: ../Doc/c-api/init.rst:392 ../Doc/c-api/init.rst:411
+#: ../Doc/c-api/init.rst:452 ../Doc/c-api/init.rst:471
+#: ../Doc/c-api/init.rst:495 ../Doc/c-api/init.rst:718
msgid ""
"This function should not be called before :c:func:`Py_Initialize`, otherwise "
"it returns ``NULL``."
@@ -727,15 +742,15 @@ msgstr ""
"Esta función ya no se puede llamar antes de :c:func:`Py_Initialize()`, de "
"otra forma retornará ``NULL``."
-#: ../Doc/c-api/init.rst:382 ../Doc/c-api/init.rst:401
-#: ../Doc/c-api/init.rst:442 ../Doc/c-api/init.rst:461
-#: ../Doc/c-api/init.rst:487 ../Doc/c-api/init.rst:674
+#: ../Doc/c-api/init.rst:395 ../Doc/c-api/init.rst:414
+#: ../Doc/c-api/init.rst:455 ../Doc/c-api/init.rst:474
+#: ../Doc/c-api/init.rst:500 ../Doc/c-api/init.rst:721
msgid "It now returns ``NULL`` if called before :c:func:`Py_Initialize`."
msgstr ""
"Todas las siguientes funciones deben llamarse después de :c:func:"
"`Py_Initialize`, de lo contrario retornará ``NULL``."
-#: ../Doc/c-api/init.rst:388
+#: ../Doc/c-api/init.rst:401
msgid ""
"Return the *prefix* for installed platform-independent files. This is "
"derived through a number of complicated rules from the program name set "
@@ -760,7 +775,7 @@ msgstr ""
"compilación. El valor está disponible para el código de Python como ``sys."
"prefix``. Solo es útil en Unix. Ver también la siguiente función."
-#: ../Doc/c-api/init.rst:407
+#: ../Doc/c-api/init.rst:420
msgid ""
"Return the *exec-prefix* for installed platform-*dependent* files. This is "
"derived through a number of complicated rules from the program name set "
@@ -785,7 +800,7 @@ msgstr ""
"`configure` en tiempo de compilación. El valor está disponible para el "
"código de Python como ``sys.exec_prefix``. Solo es útil en Unix."
-#: ../Doc/c-api/init.rst:417
+#: ../Doc/c-api/init.rst:430
msgid ""
"Background: The exec-prefix differs from the prefix when platform dependent "
"files (such as executables and shared libraries) are installed in a "
@@ -800,7 +815,7 @@ msgstr ""
"file:`/usr/local/plat` mientras que la plataforma independiente puede "
"instalarse en :file:`/usr/local`."
-#: ../Doc/c-api/init.rst:423
+#: ../Doc/c-api/init.rst:436
msgid ""
"Generally speaking, a platform is a combination of hardware and software "
"families, e.g. Sparc machines running the Solaris 2.x operating system are "
@@ -826,7 +841,7 @@ msgstr ""
"compilados de Python son independientes de la plataforma (¡pero no "
"independientes de la versión de Python con la que fueron compilados!)."
-#: ../Doc/c-api/init.rst:434
+#: ../Doc/c-api/init.rst:447
msgid ""
"System administrators will know how to configure the :program:`mount` or :"
"program:`automount` programs to share :file:`/usr/local` between platforms "
@@ -838,7 +853,7 @@ msgstr ""
"entre plataformas mientras que :file:`/usr/local/plat` sea un sistema de "
"archivos diferente para cada plataforma."
-#: ../Doc/c-api/init.rst:452
+#: ../Doc/c-api/init.rst:465
msgid ""
"Return the full program name of the Python executable; this is computed as "
"a side-effect of deriving the default module search path from the program "
@@ -853,7 +868,7 @@ msgstr ""
"almacenamiento estático; la persona que llama no debe modificar su valor. El "
"valor está disponible para el código de Python como ``sys.executable``."
-#: ../Doc/c-api/init.rst:472
+#: ../Doc/c-api/init.rst:485
msgid ""
"Return the default module search path; this is computed from the program "
"name (set by :c:func:`Py_SetProgramName` above) and some environment "
@@ -876,8 +891,17 @@ msgstr ""
"en el inicio del intérprete; se puede (y generalmente se realiza) modificar "
"más adelante para cambiar la ruta de búsqueda para cargar módulos."
-# Actualmente se está usando el sistema operativo macOS, mientras que Mac OS X es un versión más antigua de la misma.
-#: ../Doc/c-api/init.rst:498
+#: ../Doc/c-api/init.rst:511
+msgid ""
+"This API is kept for backward compatibility: setting :c:member:`PyConfig."
+"module_search_paths` and :c:member:`PyConfig.module_search_paths_set` should "
+"be used instead, see :ref:`Python Initialization Configuration `."
+msgstr ""
+
+# Actualmente se está usando el sistema operativo macOS, mientras que Mac OS X
+# es un versión más antigua de la misma.
+#: ../Doc/c-api/init.rst:516
msgid ""
"Set the default module search path. If this function is called before :c:"
"func:`Py_Initialize`, then :c:func:`Py_GetPath` won't attempt to compute a "
@@ -896,7 +920,7 @@ msgstr ""
"delimitador dependiente de la plataforma, el cual es ``':'`` en Unix y "
"macOS, ``';'`` en Windows."
-#: ../Doc/c-api/init.rst:506
+#: ../Doc/c-api/init.rst:524
msgid ""
"This also causes :data:`sys.executable` to be set to the program full path "
"(see :c:func:`Py_GetProgramFullPath`) and for :data:`sys.prefix` and :data:"
@@ -909,7 +933,7 @@ msgstr ""
"persona que llama modificarlos si es necesario después de llamar :c:func:"
"`Py_Initialize`."
-#: ../Doc/c-api/init.rst:514
+#: ../Doc/c-api/init.rst:532
msgid ""
"The path argument is copied internally, so the caller may free it after the "
"call completes."
@@ -917,7 +941,7 @@ msgstr ""
"El argumento de ruta se copia internamente, por lo que la persona que llama "
"puede liberarlo después de que se complete la llamada."
-#: ../Doc/c-api/init.rst:517
+#: ../Doc/c-api/init.rst:535
msgid ""
"The program full path is now used for :data:`sys.executable`, instead of the "
"program name."
@@ -925,7 +949,7 @@ msgstr ""
"La ruta completa del programa ahora se usa para :data:`sys.executable`, en "
"lugar del nombre del programa."
-#: ../Doc/c-api/init.rst:524
+#: ../Doc/c-api/init.rst:544
msgid ""
"Return the version of this Python interpreter. This is a string that looks "
"something like ::"
@@ -933,13 +957,14 @@ msgstr ""
"Retorna la versión de este intérprete de Python. Esta es una cadena de "
"caracteres que se parece a ::"
-#: ../Doc/c-api/init.rst:531
+#: ../Doc/c-api/init.rst:551
+#, fuzzy
msgid ""
"The first word (up to the first space character) is the current Python "
-"version; the first three characters are the major and minor version "
-"separated by a period. The returned string points into static storage; the "
-"caller should not modify its value. The value is available to Python code "
-"as :data:`sys.version`."
+"version; the first characters are the major and minor version separated by a "
+"period. The returned string points into static storage; the caller should "
+"not modify its value. The value is available to Python code as :data:`sys."
+"version`."
msgstr ""
"La primera palabra (hasta el primer carácter de espacio) es la versión "
"actual de Python; los primeros tres caracteres son la versión mayor y menor "
@@ -947,7 +972,11 @@ msgstr ""
"almacenamiento estático; la persona que llama no debe modificar su valor. El "
"valor está disponible para el código Python como :data:`sys.version`."
-#: ../Doc/c-api/init.rst:541
+#: ../Doc/c-api/init.rst:556
+msgid "See also the :c:var:`Py_Version` constant."
+msgstr ""
+
+#: ../Doc/c-api/init.rst:563
msgid ""
"Return the platform identifier for the current platform. On Unix, this is "
"formed from the \"official\" name of the operating system, converted to "
@@ -966,7 +995,7 @@ msgstr ""
"que llama no debe modificar su valor. El valor está disponible para el "
"código de Python como ``sys.platform``."
-#: ../Doc/c-api/init.rst:552
+#: ../Doc/c-api/init.rst:574
msgid ""
"Return the official copyright string for the current Python version, for "
"example"
@@ -974,11 +1003,11 @@ msgstr ""
"Retorna la cadena de caracteres de copyright oficial para la versión actual "
"de Python, por ejemplo"
-#: ../Doc/c-api/init.rst:554
+#: ../Doc/c-api/init.rst:576
msgid "``'Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam'``"
msgstr "``'Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam'``"
-#: ../Doc/c-api/init.rst:558
+#: ../Doc/c-api/init.rst:580
msgid ""
"The returned string points into static storage; the caller should not modify "
"its value. The value is available to Python code as ``sys.copyright``."
@@ -987,7 +1016,7 @@ msgstr ""
"persona que llama no debe modificar su valor. El valor está disponible para "
"el código de Python como ``sys.copyright``."
-#: ../Doc/c-api/init.rst:564
+#: ../Doc/c-api/init.rst:586
msgid ""
"Return an indication of the compiler used to build the current Python "
"version, in square brackets, for example::"
@@ -995,7 +1024,7 @@ msgstr ""
"Retorna una indicación del compilador utilizado para construir la versión "
"actual de Python, entre corchetes, por ejemplo:"
-#: ../Doc/c-api/init.rst:571 ../Doc/c-api/init.rst:585
+#: ../Doc/c-api/init.rst:593 ../Doc/c-api/init.rst:607
msgid ""
"The returned string points into static storage; the caller should not modify "
"its value. The value is available to Python code as part of the variable "
@@ -1005,7 +1034,7 @@ msgstr ""
"persona que llama no debe modificar su valor. El valor está disponible para "
"el código Python como parte de la variable ``sys.version``."
-#: ../Doc/c-api/init.rst:578
+#: ../Doc/c-api/init.rst:600
msgid ""
"Return information about the sequence number and build date and time of the "
"current Python interpreter instance, for example ::"
@@ -1013,7 +1042,15 @@ msgstr ""
"Retorna información sobre el número de secuencia y la fecha y hora de "
"compilación de la instancia actual de intérprete de Python, por ejemplo::"
-#: ../Doc/c-api/init.rst:597
+#: ../Doc/c-api/init.rst:619
+msgid ""
+"This API is kept for backward compatibility: setting :c:member:`PyConfig."
+"argv`, :c:member:`PyConfig.parse_argv` and :c:member:`PyConfig.safe_path` "
+"should be used instead, see :ref:`Python Initialization Configuration `."
+msgstr ""
+
+#: ../Doc/c-api/init.rst:624
msgid ""
"Set :data:`sys.argv` based on *argc* and *argv*. These parameters are "
"similar to those passed to the program's :c:func:`main` function with the "
@@ -1032,7 +1069,7 @@ msgstr ""
"caracteres vacía. Si esta función no puede inicializar :data:`sys.argv`, una "
"condición fatal se señala usando :c:func:`Py_FatalError`."
-#: ../Doc/c-api/init.rst:605
+#: ../Doc/c-api/init.rst:632
msgid ""
"If *updatepath* is zero, this is all the function does. If *updatepath* is "
"non-zero, the function also modifies :data:`sys.path` according to the "
@@ -1042,7 +1079,7 @@ msgstr ""
"*updatepath* no es cero, la función también modifica :data:`sys.path` de "
"acuerdo con el siguiente algoritmo:"
-#: ../Doc/c-api/init.rst:609
+#: ../Doc/c-api/init.rst:636
msgid ""
"If the name of an existing script is passed in ``argv[0]``, the absolute "
"path of the directory where the script is located is prepended to :data:`sys."
@@ -1052,7 +1089,7 @@ msgstr ""
"``argv[0]``, la ruta absoluta del directorio donde se encuentra el *script* "
"se antepone a :data:`sys.path`."
-#: ../Doc/c-api/init.rst:612
+#: ../Doc/c-api/init.rst:639
msgid ""
"Otherwise (that is, if *argc* is ``0`` or ``argv[0]`` doesn't point to an "
"existing file name), an empty string is prepended to :data:`sys.path`, which "
@@ -1063,7 +1100,13 @@ msgstr ""
"data:`sys.path`, que es lo mismo que anteponer el directorio de trabajo "
"actual (``\".\"``)."
-#: ../Doc/c-api/init.rst:621
+#: ../Doc/c-api/init.rst:647 ../Doc/c-api/init.rst:683
+msgid ""
+"See also :c:member:`PyConfig.orig_argv` and :c:member:`PyConfig.argv` "
+"members of the :ref:`Python Initialization Configuration `."
+msgstr ""
+
+#: ../Doc/c-api/init.rst:651
msgid ""
"It is recommended that applications embedding the Python interpreter for "
"purposes other than executing a single script pass ``0`` as *updatepath*, "
@@ -1076,7 +1119,7 @@ msgstr ""
"desean. Ver `CVE-2008-5983 ` _."
-#: ../Doc/c-api/init.rst:626
+#: ../Doc/c-api/init.rst:656
msgid ""
"On versions before 3.1.3, you can achieve the same effect by manually "
"popping the first :data:`sys.path` element after having called :c:func:"
@@ -1086,7 +1129,14 @@ msgstr ""
"manualmente el primer elemento (*popping*) :data:`sys.path` después de haber "
"llamado :c:func:`PySys_SetArgv`, por ejemplo usando ::"
-#: ../Doc/c-api/init.rst:640
+#: ../Doc/c-api/init.rst:672
+msgid ""
+"This API is kept for backward compatibility: setting :c:member:`PyConfig."
+"argv` and :c:member:`PyConfig.parse_argv` should be used instead, see :ref:"
+"`Python Initialization Configuration `."
+msgstr ""
+
+#: ../Doc/c-api/init.rst:676
msgid ""
"This function works like :c:func:`PySys_SetArgvEx` with *updatepath* set to "
"``1`` unless the :program:`python` interpreter was started with the :option:"
@@ -1096,11 +1146,18 @@ msgstr ""
"establecido en ``1`` a menos que el intérprete :program:`python` se haya "
"iniciado con la opción :option:`-I`."
-#: ../Doc/c-api/init.rst:647
+#: ../Doc/c-api/init.rst:686
msgid "The *updatepath* value depends on :option:`-I`."
msgstr "El valor *updatepath* depende de la opción :option:`-I`."
-#: ../Doc/c-api/init.rst:652
+#: ../Doc/c-api/init.rst:693
+msgid ""
+"This API is kept for backward compatibility: setting :c:member:`PyConfig."
+"home` should be used instead, see :ref:`Python Initialization Configuration "
+"`."
+msgstr ""
+
+#: ../Doc/c-api/init.rst:697
msgid ""
"Set the default \"home\" directory, that is, the location of the standard "
"Python libraries. See :envvar:`PYTHONHOME` for the meaning of the argument "
@@ -1110,7 +1167,7 @@ msgstr ""
"ubicación de las bibliotecas estándar de Python. Ver :envvar:`PYTHONHOME` "
"para el significado de la cadena de caracteres de argumento."
-#: ../Doc/c-api/init.rst:656
+#: ../Doc/c-api/init.rst:701
msgid ""
"The argument should point to a zero-terminated character string in static "
"storage whose contents will not change for the duration of the program's "
@@ -1122,7 +1179,7 @@ msgstr ""
"ejecución del programa. Ningún código en el intérprete de Python cambiará el "
"contenido de este almacenamiento."
-#: ../Doc/c-api/init.rst:667
+#: ../Doc/c-api/init.rst:714
msgid ""
"Return the default \"home\", that is, the value set by a previous call to :c:"
"func:`Py_SetPythonHome`, or the value of the :envvar:`PYTHONHOME` "
@@ -1132,11 +1189,11 @@ msgstr ""
"establecido por una llamada anterior a :c:func:`Py_SetPythonHome`, o el "
"valor de la variable de entorno :envvar:`PYTHONHOME` si está configurado."
-#: ../Doc/c-api/init.rst:681
+#: ../Doc/c-api/init.rst:728
msgid "Thread State and the Global Interpreter Lock"
msgstr "Estado del hilo y el bloqueo global del intérprete"
-#: ../Doc/c-api/init.rst:688
+#: ../Doc/c-api/init.rst:735
msgid ""
"The Python interpreter is not fully thread-safe. In order to support multi-"
"threaded Python programs, there's a global lock, called the :term:`global "
@@ -1157,7 +1214,7 @@ msgstr ""
"conteo de referencias podría terminar incrementándose solo una vez en lugar "
"de dos veces."
-#: ../Doc/c-api/init.rst:698
+#: ../Doc/c-api/init.rst:745
msgid ""
"Therefore, the rule exists that only the thread that has acquired the :term:"
"`GIL` may operate on Python objects or call Python/C API functions. In order "
@@ -1174,7 +1231,7 @@ msgstr ""
"escribir un archivo, para que otros hilos de Python puedan ejecutarse "
"mientras tanto."
-#: ../Doc/c-api/init.rst:709
+#: ../Doc/c-api/init.rst:756
msgid ""
"The Python interpreter keeps some thread-specific bookkeeping information "
"inside a data structure called :c:type:`PyThreadState`. There's also one "
@@ -1186,11 +1243,11 @@ msgstr ""
"`PyThreadState`. También hay una variable global que apunta a la actual :c:"
"type:`PyThreadState`: se puede recuperar usando :c:func:`PyThreadState_Get`."
-#: ../Doc/c-api/init.rst:715
+#: ../Doc/c-api/init.rst:762
msgid "Releasing the GIL from extension code"
msgstr "Liberando el GIL del código de extensión"
-#: ../Doc/c-api/init.rst:717
+#: ../Doc/c-api/init.rst:764
msgid ""
"Most extension code manipulating the :term:`GIL` has the following simple "
"structure::"
@@ -1198,11 +1255,11 @@ msgstr ""
"La mayoría del código de extensión que manipula el :term:`GIL` tiene la "
"siguiente estructura simple ::"
-#: ../Doc/c-api/init.rst:726
+#: ../Doc/c-api/init.rst:773
msgid "This is so common that a pair of macros exists to simplify it::"
msgstr "Esto es tan común que existen un par de macros para simplificarlo:"
-#: ../Doc/c-api/init.rst:736
+#: ../Doc/c-api/init.rst:783
msgid ""
"The :c:macro:`Py_BEGIN_ALLOW_THREADS` macro opens a new block and declares a "
"hidden local variable; the :c:macro:`Py_END_ALLOW_THREADS` macro closes the "
@@ -1212,11 +1269,11 @@ msgstr ""
"una variable local oculta; la macro :c:macro:`Py_END_ALLOW_THREADS` cierra "
"el bloque."
-#: ../Doc/c-api/init.rst:740
+#: ../Doc/c-api/init.rst:787
msgid "The block above expands to the following code::"
msgstr "El bloque anterior se expande al siguiente código::"
-#: ../Doc/c-api/init.rst:752
+#: ../Doc/c-api/init.rst:799
msgid ""
"Here is how these functions work: the global interpreter lock is used to "
"protect the pointer to the current thread state. When releasing the lock "
@@ -1235,7 +1292,7 @@ msgstr ""
"estado del hilo, el bloqueo debe adquirirse antes de almacenar el puntero "
"del estado del hilo."
-#: ../Doc/c-api/init.rst:761
+#: ../Doc/c-api/init.rst:808
msgid ""
"Calling system I/O functions is the most common use case for releasing the "
"GIL, but it can also be useful before calling long-running computations "
@@ -1251,11 +1308,11 @@ msgstr ""
"intermedias. Por ejemplo, los módulos estándar :mod:`zlib` y :mod:`hashlib` "
"liberan el GIL al comprimir o mezclar datos."
-#: ../Doc/c-api/init.rst:772
+#: ../Doc/c-api/init.rst:819
msgid "Non-Python created threads"
msgstr "Hilos creados sin Python"
-#: ../Doc/c-api/init.rst:774
+#: ../Doc/c-api/init.rst:821
msgid ""
"When threads are created using the dedicated Python APIs (such as the :mod:"
"`threading` module), a thread state is automatically associated to them and "
@@ -1271,7 +1328,7 @@ msgstr ""
"terceros con su propia administración de hilos), no contienen el GIL, ni "
"existe una estructura de estado de hilos para ellos."
-#: ../Doc/c-api/init.rst:781
+#: ../Doc/c-api/init.rst:828
msgid ""
"If you need to call Python code from these threads (often this will be part "
"of a callback API provided by the aforementioned third-party library), you "
@@ -1291,7 +1348,7 @@ msgstr ""
"liberar el GIL y finalmente liberar la estructura de datos del estado del "
"hilo."
-#: ../Doc/c-api/init.rst:789
+#: ../Doc/c-api/init.rst:836
msgid ""
"The :c:func:`PyGILState_Ensure` and :c:func:`PyGILState_Release` functions "
"do all of the above automatically. The typical idiom for calling into "
@@ -1301,25 +1358,20 @@ msgstr ""
"hacen todo lo anterior automáticamente. El idioma típico para llamar a "
"Python desde un hilo C es::"
-#: ../Doc/c-api/init.rst:803
+#: ../Doc/c-api/init.rst:850
msgid ""
-"Note that the :c:func:`PyGILState_\\*` functions assume there is only one "
-"global interpreter (created automatically by :c:func:`Py_Initialize`). "
-"Python supports the creation of additional interpreters (using :c:func:"
-"`Py_NewInterpreter`), but mixing multiple interpreters and the :c:func:"
-"`PyGILState_\\*` API is unsupported."
+"Note that the ``PyGILState_*`` functions assume there is only one global "
+"interpreter (created automatically by :c:func:`Py_Initialize`). Python "
+"supports the creation of additional interpreters (using :c:func:"
+"`Py_NewInterpreter`), but mixing multiple interpreters and the "
+"``PyGILState_*`` API is unsupported."
msgstr ""
-"Tenga en cuenta que las funciones :c:func:`PyGILState_\\*` suponen que solo "
-"hay un intérprete global (creado automáticamente por :c:func:"
-"`Py_Initialize`). Python admite la creación de intérpretes adicionales "
-"(usando :c:func:`Py_NewInterpreter`), pero la mezcla de múltiples "
-"intérpretes y la API :c:func:`PyGILState_\\*` no son compatibles."
-#: ../Doc/c-api/init.rst:813
+#: ../Doc/c-api/init.rst:860
msgid "Cautions about fork()"
msgstr "Precauciones sobre ``fork()``"
-#: ../Doc/c-api/init.rst:815
+#: ../Doc/c-api/init.rst:862
msgid ""
"Another important thing to note about threads is their behaviour in the face "
"of the C :c:func:`fork` call. On most systems with :c:func:`fork`, after a "
@@ -1334,7 +1386,7 @@ msgstr ""
"manejar las cerraduras como en todo el estado almacenado en el tiempo de "
"ejecución de CPython."
-#: ../Doc/c-api/init.rst:821
+#: ../Doc/c-api/init.rst:868
msgid ""
"The fact that only the \"current\" thread remains means any locks held by "
"other threads will never be released. Python solves this for :func:`os.fork` "
@@ -1366,7 +1418,7 @@ msgstr ""
"`PyOS_AfterFork_Child` intenta restablecer los bloqueos necesarios, pero no "
"siempre puede hacerlo."
-#: ../Doc/c-api/init.rst:836
+#: ../Doc/c-api/init.rst:883
msgid ""
"The fact that all other threads go away also means that CPython's runtime "
"state there must be cleaned up properly, which :func:`os.fork` does. This "
@@ -1389,11 +1441,11 @@ msgstr ""
"originalmente. La única excepción es si :c:func:`exec` se llamará "
"inmediatamente después."
-#: ../Doc/c-api/init.rst:849
+#: ../Doc/c-api/init.rst:896
msgid "High-level API"
msgstr "API de alto nivel"
-#: ../Doc/c-api/init.rst:851
+#: ../Doc/c-api/init.rst:898
msgid ""
"These are the most commonly used types and functions when writing C "
"extension code, or when embedding the Python interpreter:"
@@ -1401,7 +1453,7 @@ msgstr ""
"Estos son los tipos y funciones más utilizados al escribir código de "
"extensión C o al incrustar el intérprete de Python:"
-#: ../Doc/c-api/init.rst:856
+#: ../Doc/c-api/init.rst:903
msgid ""
"This data structure represents the state shared by a number of cooperating "
"threads. Threads belonging to the same interpreter share their module "
@@ -1413,7 +1465,7 @@ msgstr ""
"comparten la administración de su módulo y algunos otros elementos internos. "
"No hay miembros públicos en esta estructura."
-#: ../Doc/c-api/init.rst:861
+#: ../Doc/c-api/init.rst:908
msgid ""
"Threads belonging to different interpreters initially share nothing, except "
"process state like available memory, open file descriptors and such. The "
@@ -1426,32 +1478,33 @@ msgstr ""
"compartido por todos los hilos, independientemente de a qué intérprete "
"pertenezcan."
-#: ../Doc/c-api/init.rst:869
+#: ../Doc/c-api/init.rst:916
+#, fuzzy
msgid ""
"This data structure represents the state of a single thread. The only "
-"public data member is :attr:`interp` (:c:type:`PyInterpreterState *`), which "
+"public data member is :attr:`interp` (:c:expr:`PyInterpreterState *`), which "
"points to this thread's interpreter state."
msgstr ""
"Esta estructura de datos representa el estado de un solo hilo. El único "
"miembro de datos públicos es :attr:`interp` (:c:type:`PyInterpreterState "
"*`), que apunta al estado del intérprete de este hilo."
-#: ../Doc/c-api/init.rst:882
+#: ../Doc/c-api/init.rst:929
msgid "Deprecated function which does nothing."
msgstr "Función deprecada que no hace nada."
-#: ../Doc/c-api/init.rst:884
+#: ../Doc/c-api/init.rst:931
msgid ""
"In Python 3.6 and older, this function created the GIL if it didn't exist."
msgstr ""
"En Python 3.6 y versiones anteriores, esta función creaba el GIL si no "
"existía."
-#: ../Doc/c-api/init.rst:886
+#: ../Doc/c-api/init.rst:933
msgid "The function now does nothing."
msgstr "La función ahora no hace nada."
-#: ../Doc/c-api/init.rst:889
+#: ../Doc/c-api/init.rst:936
msgid ""
"This function is now called by :c:func:`Py_Initialize()`, so you don't have "
"to call it yourself anymore."
@@ -1459,12 +1512,12 @@ msgstr ""
"Esta función ahora es llamada por :c:func:`Py_Initialize()`, por lo que ya "
"no tiene que llamarla usted mismo."
-#: ../Doc/c-api/init.rst:893
+#: ../Doc/c-api/init.rst:940
msgid ""
"This function cannot be called before :c:func:`Py_Initialize()` anymore."
msgstr "Esta función ya no se puede llamar antes de :c:func:`Py_Initialize()`."
-#: ../Doc/c-api/init.rst:903
+#: ../Doc/c-api/init.rst:950
msgid ""
"Returns a non-zero value if :c:func:`PyEval_InitThreads` has been called. "
"This function can be called without holding the GIL, and therefore can be "
@@ -1475,12 +1528,12 @@ msgstr ""
"por lo tanto, se puede utilizar para evitar llamadas a la API de bloqueo "
"cuando se ejecuta un solo hilo."
-#: ../Doc/c-api/init.rst:907
+#: ../Doc/c-api/init.rst:954
msgid "The :term:`GIL` is now initialized by :c:func:`Py_Initialize()`."
msgstr ""
"El término :term:`GIL` ahora se inicializa con :c:func:`Py_Initialize()`."
-#: ../Doc/c-api/init.rst:915
+#: ../Doc/c-api/init.rst:962
msgid ""
"Release the global interpreter lock (if it has been created) and reset the "
"thread state to ``NULL``, returning the previous thread state (which is not "
@@ -1492,7 +1545,7 @@ msgstr ""
"es ``NULL``). Si se ha creado el bloqueo, el hilo actual debe haberlo "
"adquirido."
-#: ../Doc/c-api/init.rst:923
+#: ../Doc/c-api/init.rst:970
msgid ""
"Acquire the global interpreter lock (if it has been created) and set the "
"thread state to *tstate*, which must not be ``NULL``. If the lock has been "
@@ -1504,8 +1557,8 @@ msgstr ""
"bloqueo, el hilo actual no debe haberlo adquirido, de lo contrario se "
"produce un *deadlock*."
-#: ../Doc/c-api/init.rst:929 ../Doc/c-api/init.rst:975
-#: ../Doc/c-api/init.rst:1234 ../Doc/c-api/init.rst:1272
+#: ../Doc/c-api/init.rst:976 ../Doc/c-api/init.rst:1022
+#: ../Doc/c-api/init.rst:1304 ../Doc/c-api/init.rst:1342
msgid ""
"Calling this function from a thread when the runtime is finalizing will "
"terminate the thread, even if the thread was not created by Python. You can "
@@ -1519,7 +1572,7 @@ msgstr ""
"intérprete está en proceso de finalización antes de llamar a esta función "
"para evitar una terminación no deseada."
-#: ../Doc/c-api/init.rst:937
+#: ../Doc/c-api/init.rst:984
msgid ""
"Return the current thread state. The global interpreter lock must be held. "
"When the current thread state is ``NULL``, this issues a fatal error (so "
@@ -1529,7 +1582,7 @@ msgstr ""
"intérprete. Cuando el estado actual del hilo es ``NULL``, esto genera un "
"error fatal (por lo que la persona que llama no necesita verificar ``NULL``)."
-#: ../Doc/c-api/init.rst:944
+#: ../Doc/c-api/init.rst:991
msgid ""
"Swap the current thread state with the thread state given by the argument "
"*tstate*, which may be ``NULL``. The global interpreter lock must be held "
@@ -1539,7 +1592,7 @@ msgstr ""
"argumento *tstate*, que puede ser ``NULL``. El bloqueo global del intérprete "
"debe mantenerse y no se libera."
-#: ../Doc/c-api/init.rst:949
+#: ../Doc/c-api/init.rst:996
msgid ""
"The following functions use thread-local storage, and are not compatible "
"with sub-interpreters:"
@@ -1547,7 +1600,7 @@ msgstr ""
"Las siguientes funciones utilizan almacenamiento local de hilos y no son "
"compatibles con subinterpretes:"
-#: ../Doc/c-api/init.rst:954
+#: ../Doc/c-api/init.rst:1001
msgid ""
"Ensure that the current thread is ready to call the Python C API regardless "
"of the current state of Python, or of the global interpreter lock. This may "
@@ -1570,7 +1623,7 @@ msgstr ""
"macro:`Py_BEGIN_ALLOW_THREADS` y :c:macro:`Py_END_ALLOW_THREADS` es "
"aceptable."
-#: ../Doc/c-api/init.rst:964
+#: ../Doc/c-api/init.rst:1011
msgid ""
"The return value is an opaque \"handle\" to the thread state when :c:func:"
"`PyGILState_Ensure` was called, and must be passed to :c:func:"
@@ -1586,7 +1639,7 @@ msgstr ""
"pueden compartirse; cada llamada única a :c:func:`PyGILState_Ensure` debe "
"guardar el identificador para su llamada a :c:func:`PyGILState_Release`."
-#: ../Doc/c-api/init.rst:971
+#: ../Doc/c-api/init.rst:1018
msgid ""
"When the function returns, the current thread will hold the GIL and be able "
"to call arbitrary Python code. Failure is a fatal error."
@@ -1594,7 +1647,7 @@ msgstr ""
"Cuando la función regrese, el hilo actual contendrá el GIL y podrá llamar a "
"código arbitrario de Python. El fracaso es un error fatal."
-#: ../Doc/c-api/init.rst:983
+#: ../Doc/c-api/init.rst:1030
msgid ""
"Release any resources previously acquired. After this call, Python's state "
"will be the same as it was prior to the corresponding :c:func:"
@@ -1606,7 +1659,7 @@ msgstr ""
"func:`PyGILState_Ensure` (pero en general este estado será desconocido para "
"la persona que llama, de ahí el uso de la API ``GILState``)."
-#: ../Doc/c-api/init.rst:988
+#: ../Doc/c-api/init.rst:1035
msgid ""
"Every call to :c:func:`PyGILState_Ensure` must be matched by a call to :c:"
"func:`PyGILState_Release` on the same thread."
@@ -1614,7 +1667,7 @@ msgstr ""
"Cada llamada a :c:func:`PyGILState_Ensure` debe coincidir con una llamada a :"
"c:func:`PyGILState_Release` en el mismo hilo."
-#: ../Doc/c-api/init.rst:994
+#: ../Doc/c-api/init.rst:1041
msgid ""
"Get the current thread state for this thread. May return ``NULL`` if no "
"GILState API has been used on the current thread. Note that the main thread "
@@ -1628,7 +1681,7 @@ msgstr ""
"en el subproceso principal. Esta es principalmente una función auxiliar y de "
"diagnóstico."
-#: ../Doc/c-api/init.rst:1002
+#: ../Doc/c-api/init.rst:1049
msgid ""
"Return ``1`` if the current thread is holding the GIL and ``0`` otherwise. "
"This function can be called from any thread at any time. Only if it has had "
@@ -1647,7 +1700,7 @@ msgstr ""
"bloqueado puede permitir que la persona que llama realice acciones "
"confidenciales o se comporte de otra manera de manera diferente."
-#: ../Doc/c-api/init.rst:1014
+#: ../Doc/c-api/init.rst:1061
msgid ""
"The following macros are normally used without a trailing semicolon; look "
"for example usage in the Python source distribution."
@@ -1655,7 +1708,7 @@ msgstr ""
"Las siguientes macros se usan normalmente sin punto y coma final; busque, "
"por ejemplo, el uso en la distribución fuente de Python."
-#: ../Doc/c-api/init.rst:1020
+#: ../Doc/c-api/init.rst:1067
msgid ""
"This macro expands to ``{ PyThreadState *_save; _save = PyEval_SaveThread();"
"``. Note that it contains an opening brace; it must be matched with a "
@@ -1667,7 +1720,7 @@ msgstr ""
"la siguiente macro :c:macro:`Py_END_ALLOW_THREADS`. Ver arriba para una "
"discusión más detallada de esta macro."
-#: ../Doc/c-api/init.rst:1028
+#: ../Doc/c-api/init.rst:1075
msgid ""
"This macro expands to ``PyEval_RestoreThread(_save); }``. Note that it "
"contains a closing brace; it must be matched with an earlier :c:macro:"
@@ -1679,7 +1732,7 @@ msgstr ""
"macro:`Py_BEGIN_ALLOW_THREADS`. Ver arriba para una discusión más detallada "
"de esta macro."
-#: ../Doc/c-api/init.rst:1036
+#: ../Doc/c-api/init.rst:1083
msgid ""
"This macro expands to ``PyEval_RestoreThread(_save);``: it is equivalent to :"
"c:macro:`Py_END_ALLOW_THREADS` without the closing brace."
@@ -1687,7 +1740,7 @@ msgstr ""
"Esta macro se expande a ``PyEval_RestoreThread(_save);``: es equivalente a :"
"c:macro:`Py_END_ALLOW_THREADS` sin la llave de cierre."
-#: ../Doc/c-api/init.rst:1042
+#: ../Doc/c-api/init.rst:1089
msgid ""
"This macro expands to ``_save = PyEval_SaveThread();``: it is equivalent to :"
"c:macro:`Py_BEGIN_ALLOW_THREADS` without the opening brace and variable "
@@ -1697,22 +1750,22 @@ msgstr ""
"c:macro:`Py_BEGIN_ALLOW_THREADS` sin la llave de apertura y la declaración "
"de variable."
-#: ../Doc/c-api/init.rst:1048
+#: ../Doc/c-api/init.rst:1095
msgid "Low-level API"
msgstr "API de bajo nivel"
-#: ../Doc/c-api/init.rst:1050
+#: ../Doc/c-api/init.rst:1097
msgid ""
"All of the following functions must be called after :c:func:`Py_Initialize`."
msgstr ""
"Todas las siguientes funciones deben llamarse después de :c:func:"
"`Py_Initialize`."
-#: ../Doc/c-api/init.rst:1052
+#: ../Doc/c-api/init.rst:1099
msgid ":c:func:`Py_Initialize()` now initializes the :term:`GIL`."
msgstr ":c:func:`Py_Initialize()` ahora inicializa el :term:`GIL`."
-#: ../Doc/c-api/init.rst:1058
+#: ../Doc/c-api/init.rst:1105
msgid ""
"Create a new interpreter state object. The global interpreter lock need not "
"be held, but may be held if it is necessary to serialize calls to this "
@@ -1722,7 +1775,7 @@ msgstr ""
"bloqueo global del intérprete, pero se puede retener si es necesario para "
"serializar llamadas a esta función."
-#: ../Doc/c-api/init.rst:1062
+#: ../Doc/c-api/init.rst:1109
msgid ""
"Raises an :ref:`auditing event ` ``cpython."
"PyInterpreterState_New`` with no arguments."
@@ -1730,7 +1783,7 @@ msgstr ""
"Genera un :ref:`evento de auditoría ` ``python."
"PyInterpreterState_New`` sin argumentos."
-#: ../Doc/c-api/init.rst:1067
+#: ../Doc/c-api/init.rst:1114
msgid ""
"Reset all information in an interpreter state object. The global "
"interpreter lock must be held."
@@ -1738,7 +1791,7 @@ msgstr ""
"Restablece toda la información en un objeto de estado de intérprete. Se debe "
"mantener el bloqueo global del intérprete."
-#: ../Doc/c-api/init.rst:1070
+#: ../Doc/c-api/init.rst:1117
msgid ""
"Raises an :ref:`auditing event ` ``cpython."
"PyInterpreterState_Clear`` with no arguments."
@@ -1746,7 +1799,7 @@ msgstr ""
"Lanza una :ref:`eventos de auditoría ` ``python.PyInterpreterState "
"Clear`` sin argumentos."
-#: ../Doc/c-api/init.rst:1075
+#: ../Doc/c-api/init.rst:1122
msgid ""
"Destroy an interpreter state object. The global interpreter lock need not "
"be held. The interpreter state must have been reset with a previous call "
@@ -1756,7 +1809,7 @@ msgstr ""
"bloqueo global del intérprete. El estado del intérprete debe haberse "
"restablecido con una llamada previa a :c:func:`PyInterpreterState_Clear`."
-#: ../Doc/c-api/init.rst:1082
+#: ../Doc/c-api/init.rst:1129
msgid ""
"Create a new thread state object belonging to the given interpreter object. "
"The global interpreter lock need not be held, but may be held if it is "
@@ -1766,7 +1819,7 @@ msgstr ""
"dado. No es necesario retener el bloqueo global del intérprete, pero se "
"puede retener si es necesario para serializar llamadas a esta función."
-#: ../Doc/c-api/init.rst:1089
+#: ../Doc/c-api/init.rst:1136
msgid ""
"Reset all information in a thread state object. The global interpreter lock "
"must be held."
@@ -1774,7 +1827,7 @@ msgstr ""
"Restablece toda la información en un objeto de estado de hilo. Se debe "
"mantener el bloqueo global del intérprete."
-#: ../Doc/c-api/init.rst:1092
+#: ../Doc/c-api/init.rst:1139
msgid ""
"This function now calls the :c:member:`PyThreadState.on_delete` callback. "
"Previously, that happened in :c:func:`PyThreadState_Delete`."
@@ -1782,7 +1835,7 @@ msgstr ""
"Esta función ahora llama a la retrollamada :c:member:`PyThreadState."
"on_delete`. Anteriormente, eso sucedía en :c:func:`PyThreadState_Delete`."
-#: ../Doc/c-api/init.rst:1099
+#: ../Doc/c-api/init.rst:1146
msgid ""
"Destroy a thread state object. The global interpreter lock need not be "
"held. The thread state must have been reset with a previous call to :c:func:"
@@ -1792,7 +1845,7 @@ msgstr ""
"global del intérprete. El estado del hilo debe haberse restablecido con una "
"llamada previa a :c:func:`PyThreadState_Clear`."
-#: ../Doc/c-api/init.rst:1106
+#: ../Doc/c-api/init.rst:1153
msgid ""
"Destroy the current thread state and release the global interpreter lock. "
"Like :c:func:`PyThreadState_Delete`, the global interpreter lock need not be "
@@ -1804,12 +1857,13 @@ msgstr ""
"bloqueo del intérprete global. El estado del hilo debe haberse restablecido "
"con una llamada anterior a :c:func:`PyThreadState_Clear`."
-#: ../Doc/c-api/init.rst:1114
+#: ../Doc/c-api/init.rst:1161
msgid "Get the current frame of the Python thread state *tstate*."
msgstr "Obtiene el marco actual del estado del hilo de Python *tstate*."
-# Como bien tradujeron con anterioridad, está más claro el decir referencia sólida a referencia fuerte, el cual no calzaría en este contexto.
-#: ../Doc/c-api/init.rst:1116
+# Como bien tradujeron con anterioridad, está más claro el decir referencia
+# sólida a referencia fuerte, el cual no calzaría en este contexto.
+#: ../Doc/c-api/init.rst:1163
msgid ""
"Return a :term:`strong reference`. Return ``NULL`` if no frame is currently "
"executing."
@@ -1817,31 +1871,50 @@ msgstr ""
"Retorna una :term:`strong reference` (referencia sólida). Retorna ``NULL`` "
"si no se está ejecutando ningún cuadro."
-#: ../Doc/c-api/init.rst:1119
+#: ../Doc/c-api/init.rst:1166
msgid "See also :c:func:`PyEval_GetFrame`."
msgstr "Vea también :c:func:`PyEval_GetFrame`."
-#: ../Doc/c-api/init.rst:1121 ../Doc/c-api/init.rst:1130
-#: ../Doc/c-api/init.rst:1139
+#: ../Doc/c-api/init.rst:1168 ../Doc/c-api/init.rst:1177
+#: ../Doc/c-api/init.rst:1186
msgid "*tstate* must not be ``NULL``."
msgstr "*tstate* no debe ser ``NULL``."
-#: ../Doc/c-api/init.rst:1128
+#: ../Doc/c-api/init.rst:1175
msgid ""
"Get the unique thread state identifier of the Python thread state *tstate*."
msgstr ""
"Obtiene el identificador de estado de subproceso único del estado del hilo "
"de Python *tstate*."
-#: ../Doc/c-api/init.rst:1137
+#: ../Doc/c-api/init.rst:1184
msgid "Get the interpreter of the Python thread state *tstate*."
msgstr "Obtiene el intérprete del estado del hilo de Python *tstate*."
-#: ../Doc/c-api/init.rst:1146
+#: ../Doc/c-api/init.rst:1193
+msgid "Suspend tracing and profiling in the Python thread state *tstate*."
+msgstr ""
+
+#: ../Doc/c-api/init.rst:1195
+msgid "Resume them using the :c:func:`PyThreadState_LeaveTracing` function."
+msgstr ""
+
+#: ../Doc/c-api/init.rst:1202
+msgid ""
+"Resume tracing and profiling in the Python thread state *tstate* suspended "
+"by the :c:func:`PyThreadState_EnterTracing` function."
+msgstr ""
+
+#: ../Doc/c-api/init.rst:1205
+msgid ""
+"See also :c:func:`PyEval_SetTrace` and :c:func:`PyEval_SetProfile` functions."
+msgstr ""
+
+#: ../Doc/c-api/init.rst:1213
msgid "Get the current interpreter."
msgstr "Obtiene el intérprete actual."
-#: ../Doc/c-api/init.rst:1148
+#: ../Doc/c-api/init.rst:1215
msgid ""
"Issue a fatal error if there no current Python thread state or no current "
"interpreter. It cannot return NULL."
@@ -1849,11 +1922,11 @@ msgstr ""
"Emite un error fatal si no hay un estado actual del hilo de Python o no hay "
"un intérprete actual. No puede retornar NULL."
-#: ../Doc/c-api/init.rst:1151 ../Doc/c-api/init.rst:1161
+#: ../Doc/c-api/init.rst:1218 ../Doc/c-api/init.rst:1228
msgid "The caller must hold the GIL."
msgstr "La persona que llama debe retener el GIL."
-#: ../Doc/c-api/init.rst:1158
+#: ../Doc/c-api/init.rst:1225
msgid ""
"Return the interpreter's unique ID. If there was any error in doing so then "
"``-1`` is returned and an error is set."
@@ -1861,7 +1934,7 @@ msgstr ""
"Retorna la identificación única del intérprete. Si hubo algún error al "
"hacerlo, entonces se retorna ``-1`` y se establece un error."
-#: ../Doc/c-api/init.rst:1168
+#: ../Doc/c-api/init.rst:1235
msgid ""
"Return a dictionary in which interpreter-specific data may be stored. If "
"this function returns ``NULL`` then no exception has been raised and the "
@@ -1872,7 +1945,7 @@ msgstr ""
"excepción y la persona que llama debe suponer que no hay disponible una "
"instrucción específica del intérprete."
-#: ../Doc/c-api/init.rst:1172
+#: ../Doc/c-api/init.rst:1239
msgid ""
"This is not a replacement for :c:func:`PyModule_GetState()`, which "
"extensions should use to store interpreter-specific state information."
@@ -1880,11 +1953,11 @@ msgstr ""
"Esto no reemplaza a :c:func:`PyModule_GetState()`, que las extensiones deben "
"usar para almacenar información de estado específica del intérprete."
-#: ../Doc/c-api/init.rst:1179
+#: ../Doc/c-api/init.rst:1246
msgid "Type of a frame evaluation function."
msgstr "Tipo de función de evaluación de marcos."
-#: ../Doc/c-api/init.rst:1181
+#: ../Doc/c-api/init.rst:1248
msgid ""
"The *throwflag* parameter is used by the ``throw()`` method of generators: "
"if non-zero, handle the current exception."
@@ -1892,24 +1965,30 @@ msgstr ""
"El parámetro *throwflag* es usado por el método de generadores ``throw()``: "
"si no es cero, maneja la excepción actual."
-#: ../Doc/c-api/init.rst:1184
+#: ../Doc/c-api/init.rst:1251
msgid "The function now takes a *tstate* parameter."
msgstr "La función ahora recibe un parámetro *tstate*."
-#: ../Doc/c-api/init.rst:1189
+#: ../Doc/c-api/init.rst:1254
+msgid ""
+"The *frame* parameter changed from ``PyFrameObject*`` to "
+"``_PyInterpreterFrame*``."
+msgstr ""
+
+#: ../Doc/c-api/init.rst:1259
msgid "Get the frame evaluation function."
msgstr "Obtiene la función de evaluación de marcos."
-#: ../Doc/c-api/init.rst:1191 ../Doc/c-api/init.rst:1199
+#: ../Doc/c-api/init.rst:1261 ../Doc/c-api/init.rst:1269
msgid "See the :pep:`523` \"Adding a frame evaluation API to CPython\"."
msgstr ""
"Consulte :pep:`523` \"Adición de una API de evaluación de marcos a CPython\"."
-#: ../Doc/c-api/init.rst:1197
+#: ../Doc/c-api/init.rst:1267
msgid "Set the frame evaluation function."
msgstr "Configura la función de evaluación del marco."
-#: ../Doc/c-api/init.rst:1206
+#: ../Doc/c-api/init.rst:1276
msgid ""
"Return a dictionary in which extensions can store thread-specific state "
"information. Each extension should use a unique key to use to store state "
@@ -1924,7 +2003,7 @@ msgstr ""
"función retorna ``NULL``, no se ha producido ninguna excepción y la persona "
"que llama debe asumir que no hay disponible ningún estado del hilo actual."
-#: ../Doc/c-api/init.rst:1215
+#: ../Doc/c-api/init.rst:1285
msgid ""
"Asynchronously raise an exception in a thread. The *id* argument is the "
"thread id of the target thread; *exc* is the exception object to be raised. "
@@ -1944,15 +2023,16 @@ msgstr ""
"identificación del hilo. Si *exc* es :const:`NULL`, se borra la excepción "
"pendiente (si existe) para el hilo. Esto no lanza excepciones."
-#: ../Doc/c-api/init.rst:1223
+#: ../Doc/c-api/init.rst:1293
+#, fuzzy
msgid ""
-"The type of the *id* parameter changed from :c:type:`long` to :c:type:"
+"The type of the *id* parameter changed from :c:expr:`long` to :c:expr:"
"`unsigned long`."
msgstr ""
"El tipo del parámetro *id* cambia de :c:type:`long` a :c:type:`unsigned "
"long`."
-#: ../Doc/c-api/init.rst:1229
+#: ../Doc/c-api/init.rst:1299
msgid ""
"Acquire the global interpreter lock and set the current thread state to "
"*tstate*, which must not be ``NULL``. The lock must have been created "
@@ -1963,7 +2043,7 @@ msgstr ""
"creado anteriormente. Si este hilo ya tiene el bloqueo, se produce un "
"deadlock."
-#: ../Doc/c-api/init.rst:1240 ../Doc/c-api/init.rst:1278
+#: ../Doc/c-api/init.rst:1310 ../Doc/c-api/init.rst:1348
msgid ""
"Updated to be consistent with :c:func:`PyEval_RestoreThread`, :c:func:"
"`Py_END_ALLOW_THREADS`, and :c:func:`PyGILState_Ensure`, and terminate the "
@@ -1973,7 +2053,7 @@ msgstr ""
"`Py_END_ALLOW_THREADS`, y :c:func:`PyGILState_Ensure`, y termina el hilo "
"actual si se llama mientras el intérprete está finalizando."
-#: ../Doc/c-api/init.rst:1245
+#: ../Doc/c-api/init.rst:1315
msgid ""
":c:func:`PyEval_RestoreThread` is a higher-level function which is always "
"available (even when threads have not been initialized)."
@@ -1981,7 +2061,7 @@ msgstr ""
":c:func:`PyEval_RestoreThread` es una función de nivel superior que siempre "
"está disponible (incluso cuando los subprocesos no se han inicializado)."
-#: ../Doc/c-api/init.rst:1251
+#: ../Doc/c-api/init.rst:1321
msgid ""
"Reset the current thread state to ``NULL`` and release the global "
"interpreter lock. The lock must have been created earlier and must be held "
@@ -1995,7 +2075,7 @@ msgstr ""
"usa para verificar que representa el estado actual del hilo --- si no lo es, "
"se informa un error fatal."
-#: ../Doc/c-api/init.rst:1257
+#: ../Doc/c-api/init.rst:1327
msgid ""
":c:func:`PyEval_SaveThread` is a higher-level function which is always "
"available (even when threads have not been initialized)."
@@ -2003,7 +2083,7 @@ msgstr ""
":c:func:`PyEval_SaveThread` es una función de nivel superior que siempre "
"está disponible (incluso cuando los hilos no se han inicializado)."
-#: ../Doc/c-api/init.rst:1263
+#: ../Doc/c-api/init.rst:1333
msgid ""
"Acquire the global interpreter lock. The lock must have been created "
"earlier. If this thread already has the lock, a deadlock ensues."
@@ -2011,7 +2091,7 @@ msgstr ""
"Adquiera el bloqueo global de intérprete. El bloqueo debe haber sido creado "
"anteriormente. Si este hilo ya tiene el bloqueo, se produce un *deadlock*."
-#: ../Doc/c-api/init.rst:1266
+#: ../Doc/c-api/init.rst:1336
msgid ""
"This function does not update the current thread state. Please use :c:func:"
"`PyEval_RestoreThread` or :c:func:`PyEval_AcquireThread` instead."
@@ -2019,7 +2099,7 @@ msgstr ""
"Esta función no actualiza el estado actual del hilo. Utilice :c:func:"
"`PyEval_RestoreThread` o :c:func:`PyEval_AcquireThread` en su lugar."
-#: ../Doc/c-api/init.rst:1286
+#: ../Doc/c-api/init.rst:1356
msgid ""
"Release the global interpreter lock. The lock must have been created "
"earlier."
@@ -2027,7 +2107,7 @@ msgstr ""
"Libere el bloqueo global del intérprete. El bloqueo debe haber sido creado "
"anteriormente."
-#: ../Doc/c-api/init.rst:1288
+#: ../Doc/c-api/init.rst:1358
msgid ""
"This function does not update the current thread state. Please use :c:func:"
"`PyEval_SaveThread` or :c:func:`PyEval_ReleaseThread` instead."
@@ -2035,11 +2115,11 @@ msgstr ""
"Esta función no actualiza el estado actual del hilo. Utilice :c:func:"
"`PyEval_SaveThread` o :c:func:`PyEval_ReleaseThread` en su lugar."
-#: ../Doc/c-api/init.rst:1297
+#: ../Doc/c-api/init.rst:1367
msgid "Sub-interpreter support"
msgstr "Soporte de subinterprete"
-#: ../Doc/c-api/init.rst:1299
+#: ../Doc/c-api/init.rst:1369
msgid ""
"While in most uses, you will only embed a single Python interpreter, there "
"are cases where you need to create several independent interpreters in the "
@@ -2051,7 +2131,7 @@ msgstr ""
"independientes en el mismo proceso y tal vez incluso en el mismo hilo. Los "
"subinterpretes le permiten hacer eso."
-#: ../Doc/c-api/init.rst:1304
+#: ../Doc/c-api/init.rst:1374
msgid ""
"The \"main\" interpreter is the first one created when the runtime "
"initializes. It is usually the only Python interpreter in a process. Unlike "
@@ -2070,7 +2150,7 @@ msgstr ""
"del tiempo de ejecución. La función :c:func:`PyInterpreterState_Main` "
"retorna un puntero a su estado."
-#: ../Doc/c-api/init.rst:1311
+#: ../Doc/c-api/init.rst:1381
msgid ""
"You can switch between sub-interpreters using the :c:func:"
"`PyThreadState_Swap` function. You can create and destroy them using the "
@@ -2080,7 +2160,7 @@ msgstr ""
"`PyThreadState_Swap`. Puede crearlos y destruirlos utilizando las siguientes "
"funciones:"
-#: ../Doc/c-api/init.rst:1325
+#: ../Doc/c-api/init.rst:1395
msgid ""
"Create a new sub-interpreter. This is an (almost) totally separate "
"environment for the execution of Python code. In particular, the new "
@@ -2102,7 +2182,7 @@ msgstr ""
"estándar ``sys.stdin``, ``sys.stdout`` y ``sys.stderr`` (sin embargo, estos "
"se refieren a los mismos descriptores de archivo subyacentes)."
-#: ../Doc/c-api/init.rst:1335
+#: ../Doc/c-api/init.rst:1405
msgid ""
"The return value points to the first thread state created in the new sub-"
"interpreter. This thread state is made in the current thread state. Note "
@@ -2127,13 +2207,13 @@ msgstr ""
"embargo, a diferencia de la mayoría de las otras funciones de Python/C API, "
"no es necesario que haya un estado del hilo actual en entrada.)"
-#: ../Doc/c-api/init.rst:1350
+#: ../Doc/c-api/init.rst:1420
msgid "Extension modules are shared between (sub-)interpreters as follows:"
msgstr ""
"Los módulos de extensión se comparten entre (sub) intérpretes de la "
"siguiente manera:"
-#: ../Doc/c-api/init.rst:1352
+#: ../Doc/c-api/init.rst:1422
msgid ""
"For modules using multi-phase initialization, e.g. :c:func:"
"`PyModule_FromDefAndSpec`, a separate module object is created and "
@@ -2145,7 +2225,7 @@ msgstr ""
"para cada intérprete. Solo las variables estáticas y globales de nivel C se "
"comparten entre estos objetos de módulo."
-#: ../Doc/c-api/init.rst:1358
+#: ../Doc/c-api/init.rst:1428
msgid ""
"For modules using single-phase initialization, e.g. :c:func:"
"`PyModule_Create`, the first time a particular extension is imported, it is "
@@ -2166,7 +2246,7 @@ msgstr ""
"intérpretes, lo que puede causar un comportamiento no deseado (ver Errores y "
"advertencias (`Bugs and caveats`_) a continuación)."
-#: ../Doc/c-api/init.rst:1369
+#: ../Doc/c-api/init.rst:1439
msgid ""
"Note that this is different from what happens when an extension is imported "
"after the interpreter has been completely re-initialized by calling :c:func:"
@@ -2182,7 +2262,7 @@ msgstr ""
"que con la inicialización de múltiples fases, esto significa que solo se "
"comparten variables estáticas y globales de nivel C entre estos módulos."
-#: ../Doc/c-api/init.rst:1383
+#: ../Doc/c-api/init.rst:1453
msgid ""
"Destroy the (sub-)interpreter represented by the given thread state. The "
"given thread state must be the current thread state. See the discussion of "
@@ -2202,11 +2282,11 @@ msgstr ""
"`Py_FinalizeEx` destruirá todos los subinterpretes que no se hayan destruido "
"explícitamente en ese punto."
-#: ../Doc/c-api/init.rst:1393
+#: ../Doc/c-api/init.rst:1463
msgid "Bugs and caveats"
msgstr "Errores y advertencias"
-#: ../Doc/c-api/init.rst:1395
+#: ../Doc/c-api/init.rst:1465
msgid ""
"Because sub-interpreters (and the main interpreter) are part of the same "
"process, the insulation between them isn't perfect --- for example, using "
@@ -2229,7 +2309,7 @@ msgstr ""
"subinterprete en un espacio de nombres de otro (sub) intérprete; Esto debe "
"evitarse si es posible."
-#: ../Doc/c-api/init.rst:1405
+#: ../Doc/c-api/init.rst:1475
msgid ""
"Special care should be taken to avoid sharing user-defined functions, "
"methods, instances or classes between sub-interpreters, since import "
@@ -2244,12 +2324,13 @@ msgstr ""
"Es igualmente importante evitar compartir objetos desde los que se pueda "
"acceder a lo anterior."
-#: ../Doc/c-api/init.rst:1411
+#: ../Doc/c-api/init.rst:1481
+#, fuzzy
msgid ""
-"Also note that combining this functionality with :c:func:`PyGILState_\\*` "
-"APIs is delicate, because these APIs assume a bijection between Python "
-"thread states and OS-level threads, an assumption broken by the presence of "
-"sub-interpreters. It is highly recommended that you don't switch sub-"
+"Also note that combining this functionality with ``PyGILState_*`` APIs is "
+"delicate, because these APIs assume a bijection between Python thread states "
+"and OS-level threads, an assumption broken by the presence of sub-"
+"interpreters. It is highly recommended that you don't switch sub-"
"interpreters between a pair of matching :c:func:`PyGILState_Ensure` and :c:"
"func:`PyGILState_Release` calls. Furthermore, extensions (such as :mod:"
"`ctypes`) using these APIs to allow calling of Python code from non-Python "
@@ -2265,11 +2346,11 @@ msgstr ""
"permitir la llamada de código Python desde hilos no creados por Python "
"probablemente se rompan cuando se usan subinterpretes."
-#: ../Doc/c-api/init.rst:1422
+#: ../Doc/c-api/init.rst:1492
msgid "Asynchronous Notifications"
msgstr "Notificaciones asincrónicas"
-#: ../Doc/c-api/init.rst:1424
+#: ../Doc/c-api/init.rst:1494
msgid ""
"A mechanism is provided to make asynchronous notifications to the main "
"interpreter thread. These notifications take the form of a function pointer "
@@ -2279,7 +2360,7 @@ msgstr ""
"principal del intérprete. Estas notificaciones toman la forma de un puntero "
"de función y un argumento de puntero nulo."
-#: ../Doc/c-api/init.rst:1433
+#: ../Doc/c-api/init.rst:1503
msgid ""
"Schedule a function to be called from the main interpreter thread. On "
"success, ``0`` is returned and *func* is queued for being called in the main "
@@ -2290,7 +2371,7 @@ msgstr ""
"ser llamado en el hilo principal. En caso de fallo, se retorna ``-1`` sin "
"establecer ninguna excepción."
-#: ../Doc/c-api/init.rst:1437
+#: ../Doc/c-api/init.rst:1507
msgid ""
"When successfully queued, *func* will be *eventually* called from the main "
"interpreter thread with the argument *arg*. It will be called "
@@ -2302,11 +2383,11 @@ msgstr ""
"asincrónica con respecto al código Python que se ejecuta normalmente, pero "
"con ambas condiciones cumplidas:"
-#: ../Doc/c-api/init.rst:1442
+#: ../Doc/c-api/init.rst:1512
msgid "on a :term:`bytecode` boundary;"
msgstr "en un límite :term:`bytecode`;"
-#: ../Doc/c-api/init.rst:1443
+#: ../Doc/c-api/init.rst:1513
msgid ""
"with the main thread holding the :term:`global interpreter lock` (*func* can "
"therefore use the full C API)."
@@ -2314,7 +2395,7 @@ msgstr ""
"con el hilo principal que contiene el :term:`global interpreter lock` "
"(*func*, por lo tanto, puede usar la API C completa)."
-#: ../Doc/c-api/init.rst:1446
+#: ../Doc/c-api/init.rst:1516
msgid ""
"*func* must return ``0`` on success, or ``-1`` on failure with an exception "
"set. *func* won't be interrupted to perform another asynchronous "
@@ -2326,7 +2407,7 @@ msgstr ""
"notificación asíncrona de forma recursiva, pero aún se puede interrumpir "
"para cambiar hilos si se libera el bloqueo global del intérprete."
-#: ../Doc/c-api/init.rst:1451
+#: ../Doc/c-api/init.rst:1521
msgid ""
"This function doesn't need a current thread state to run, and it doesn't "
"need the global interpreter lock."
@@ -2334,7 +2415,7 @@ msgstr ""
"Esta función no necesita un estado de hilo actual para ejecutarse y no "
"necesita el bloqueo global del intérprete."
-#: ../Doc/c-api/init.rst:1454
+#: ../Doc/c-api/init.rst:1524
msgid ""
"To call this function in a subinterpreter, the caller must hold the GIL. "
"Otherwise, the function *func* can be scheduled to be called from the wrong "
@@ -2344,7 +2425,7 @@ msgstr ""
"GIL. De lo contrario, la función *func* se puede programar para que se llame "
"desde el intérprete incorrecto."
-#: ../Doc/c-api/init.rst:1459
+#: ../Doc/c-api/init.rst:1529
msgid ""
"This is a low-level function, only useful for very special cases. There is "
"no guarantee that *func* will be called as quick as possible. If the main "
@@ -2360,7 +2441,7 @@ msgstr ""
"**no** es adecuada para llamar a código Python desde hilos C arbitrarios. En "
"su lugar, use :ref:`PyGILState API `."
-#: ../Doc/c-api/init.rst:1466
+#: ../Doc/c-api/init.rst:1536
msgid ""
"If this function is called in a subinterpreter, the function *func* is now "
"scheduled to be called from the subinterpreter, rather than being called "
@@ -2372,11 +2453,11 @@ msgstr ""
"desde el intérprete principal. Cada subinterprete ahora tiene su propia "
"lista de llamadas programadas."
-#: ../Doc/c-api/init.rst:1477
+#: ../Doc/c-api/init.rst:1547
msgid "Profiling and Tracing"
msgstr "Perfilado y Rastreo"
-#: ../Doc/c-api/init.rst:1482
+#: ../Doc/c-api/init.rst:1552
msgid ""
"The Python interpreter provides some low-level support for attaching "
"profiling and execution tracing facilities. These are used for profiling, "
@@ -2386,7 +2467,7 @@ msgstr ""
"funciones de creación de perfiles y seguimiento de ejecución. Estos se "
"utilizan para herramientas de análisis de perfiles, depuración y cobertura."
-#: ../Doc/c-api/init.rst:1486
+#: ../Doc/c-api/init.rst:1556
msgid ""
"This C interface allows the profiling or tracing code to avoid the overhead "
"of calling through Python-level callable objects, making a direct C function "
@@ -2403,7 +2484,7 @@ msgstr ""
"función de rastreo son los mismos que se informaron a las funciones de "
"rastreo a nivel de Python en versiones anteriores."
-#: ../Doc/c-api/init.rst:1496
+#: ../Doc/c-api/init.rst:1566
msgid ""
"The type of the trace function registered using :c:func:`PyEval_SetProfile` "
"and :c:func:`PyEval_SetTrace`. The first parameter is the object passed to "
@@ -2422,67 +2503,67 @@ msgstr ""
"const:`PyTrace_C_RETURN`, o :const:`PyTrace_OPCODE`, y *arg* depende de el "
"valor de *what*:"
-#: ../Doc/c-api/init.rst:1505
+#: ../Doc/c-api/init.rst:1575
msgid "Value of *what*"
msgstr "Valor de *what*"
-#: ../Doc/c-api/init.rst:1505
+#: ../Doc/c-api/init.rst:1575
msgid "Meaning of *arg*"
msgstr "Significado de *arg*"
-#: ../Doc/c-api/init.rst:1507
+#: ../Doc/c-api/init.rst:1577
msgid ":const:`PyTrace_CALL`"
msgstr ":const:`PyTrace_CALL`"
-#: ../Doc/c-api/init.rst:1507 ../Doc/c-api/init.rst:1512
-#: ../Doc/c-api/init.rst:1523
+#: ../Doc/c-api/init.rst:1577 ../Doc/c-api/init.rst:1582
+#: ../Doc/c-api/init.rst:1593
msgid "Always :c:data:`Py_None`."
msgstr "Siempre :c:data:`Py_None`."
-#: ../Doc/c-api/init.rst:1509
+#: ../Doc/c-api/init.rst:1579
msgid ":const:`PyTrace_EXCEPTION`"
msgstr ":const:`PyTrace_EXCEPTION`"
-#: ../Doc/c-api/init.rst:1509
+#: ../Doc/c-api/init.rst:1579
msgid "Exception information as returned by :func:`sys.exc_info`."
msgstr "Información de excepción retornada por :func:`sys.exc_info`."
-#: ../Doc/c-api/init.rst:1512
+#: ../Doc/c-api/init.rst:1582
msgid ":const:`PyTrace_LINE`"
msgstr ":const:`PyTrace_LINE`"
-#: ../Doc/c-api/init.rst:1514
+#: ../Doc/c-api/init.rst:1584
msgid ":const:`PyTrace_RETURN`"
msgstr ":const:`PyTrace_RETURN`"
-#: ../Doc/c-api/init.rst:1514
+#: ../Doc/c-api/init.rst:1584
msgid ""
"Value being returned to the caller, or ``NULL`` if caused by an exception."
msgstr ""
"Valor retornado al que llama, o ``NULL`` si es causado por una excepción."
-#: ../Doc/c-api/init.rst:1517
+#: ../Doc/c-api/init.rst:1587
msgid ":const:`PyTrace_C_CALL`"
msgstr ":const:`PyTrace_C_CALL`"
-#: ../Doc/c-api/init.rst:1517 ../Doc/c-api/init.rst:1519
-#: ../Doc/c-api/init.rst:1521
+#: ../Doc/c-api/init.rst:1587 ../Doc/c-api/init.rst:1589
+#: ../Doc/c-api/init.rst:1591
msgid "Function object being called."
msgstr "Objeto función que se llaman."
-#: ../Doc/c-api/init.rst:1519
+#: ../Doc/c-api/init.rst:1589
msgid ":const:`PyTrace_C_EXCEPTION`"
msgstr ":const:`PyTrace_C_EXCEPTION`"
-#: ../Doc/c-api/init.rst:1521
+#: ../Doc/c-api/init.rst:1591
msgid ":const:`PyTrace_C_RETURN`"
msgstr ":const:`PyTrace_C_RETURN`"
-#: ../Doc/c-api/init.rst:1523
+#: ../Doc/c-api/init.rst:1593
msgid ":const:`PyTrace_OPCODE`"
msgstr ":const:`PyTrace_OPCODE`"
-#: ../Doc/c-api/init.rst:1528
+#: ../Doc/c-api/init.rst:1598
msgid ""
"The value of the *what* parameter to a :c:type:`Py_tracefunc` function when "
"a new call to a function or method is being reported, or a new entry into a "
@@ -2496,7 +2577,7 @@ msgstr ""
"de generador no se informa ya que no hay transferencia de control al código "
"de bytes de Python en la marco correspondiente."
-#: ../Doc/c-api/init.rst:1537
+#: ../Doc/c-api/init.rst:1607
msgid ""
"The value of the *what* parameter to a :c:type:`Py_tracefunc` function when "
"an exception has been raised. The callback function is called with this "
@@ -2517,7 +2598,7 @@ msgstr ""
"las funciones de rastreo reciben estos eventos; el perfilador (*profiler*) "
"no los necesita."
-#: ../Doc/c-api/init.rst:1548
+#: ../Doc/c-api/init.rst:1618
msgid ""
"The value passed as the *what* parameter to a :c:type:`Py_tracefunc` "
"function (but not a profiling function) when a line-number event is being "
@@ -2529,7 +2610,7 @@ msgstr ""
"número de línea. Puede deshabilitarse para un marco configurando :attr:"
"`f_trace_lines` en *0* en ese marco."
-#: ../Doc/c-api/init.rst:1555
+#: ../Doc/c-api/init.rst:1625
msgid ""
"The value for the *what* parameter to :c:type:`Py_tracefunc` functions when "
"a call is about to return."
@@ -2537,7 +2618,7 @@ msgstr ""
"El valor para el parámetro *what* para :c:type:`Py_tracefunc` funciona "
"cuando una llamada está por regresar."
-#: ../Doc/c-api/init.rst:1561
+#: ../Doc/c-api/init.rst:1631
msgid ""
"The value for the *what* parameter to :c:type:`Py_tracefunc` functions when "
"a C function is about to be called."
@@ -2545,7 +2626,7 @@ msgstr ""
"El valor del parámetro *what* para :c:type:`Py_tracefunc` funciona cuando "
"una función C está a punto de ser invocada."
-#: ../Doc/c-api/init.rst:1567
+#: ../Doc/c-api/init.rst:1637
msgid ""
"The value for the *what* parameter to :c:type:`Py_tracefunc` functions when "
"a C function has raised an exception."
@@ -2553,7 +2634,7 @@ msgstr ""
"El valor del parámetro *what* para funciones :c:type:`Py_tracefunc` cuando "
"una función C ha lanzado una excepción."
-#: ../Doc/c-api/init.rst:1573
+#: ../Doc/c-api/init.rst:1643
msgid ""
"The value for the *what* parameter to :c:type:`Py_tracefunc` functions when "
"a C function has returned."
@@ -2561,7 +2642,7 @@ msgstr ""
"El valor del parámetro *what* para :c:type:`Py_tracefunc` funciona cuando "
"una función C ha retornado."
-#: ../Doc/c-api/init.rst:1579
+#: ../Doc/c-api/init.rst:1649
msgid ""
"The value for the *what* parameter to :c:type:`Py_tracefunc` functions (but "
"not profiling functions) when a new opcode is about to be executed. This "
@@ -2574,7 +2655,7 @@ msgstr ""
"solicitarse explícitamente estableciendo :attr:`f_trace_opcodes` en *1* en "
"el marco."
-#: ../Doc/c-api/init.rst:1587
+#: ../Doc/c-api/init.rst:1657
msgid ""
"Set the profiler function to *func*. The *obj* parameter is passed to the "
"function as its first parameter, and may be any Python object, or ``NULL``. "
@@ -2591,11 +2672,15 @@ msgstr ""
"perfilado para todos los eventos supervisados, excepto :const:"
"`PyTrace_LINE` :const:`PyTrace_OPCODE` y :const:`PyTrace_EXCEPTION`."
-#: ../Doc/c-api/init.rst:1594 ../Doc/c-api/init.rst:1606
+#: ../Doc/c-api/init.rst:1664
+msgid "See also the :func:`sys.setprofile` function."
+msgstr ""
+
+#: ../Doc/c-api/init.rst:1666 ../Doc/c-api/init.rst:1680
msgid "The caller must hold the :term:`GIL`."
msgstr "La persona que llama debe mantener el :term:`GIL`."
-#: ../Doc/c-api/init.rst:1599
+#: ../Doc/c-api/init.rst:1671
msgid ""
"Set the tracing function to *func*. This is similar to :c:func:"
"`PyEval_SetProfile`, except the tracing function does receive line-number "
@@ -2613,18 +2698,22 @@ msgstr ""
"`PyTrace_C_CALL`, :const:`PyTrace_C_EXCEPTION` o :const:`PyTrace_C_RETURN` "
"como valor para el parámetro *what*."
-#: ../Doc/c-api/init.rst:1612
+#: ../Doc/c-api/init.rst:1678
+msgid "See also the :func:`sys.settrace` function."
+msgstr ""
+
+#: ../Doc/c-api/init.rst:1686
msgid "Advanced Debugger Support"
msgstr "Soporte avanzado del depurador"
-#: ../Doc/c-api/init.rst:1617
+#: ../Doc/c-api/init.rst:1691
msgid ""
"These functions are only intended to be used by advanced debugging tools."
msgstr ""
"Estas funciones solo están destinadas a ser utilizadas por herramientas de "
"depuración avanzadas."
-#: ../Doc/c-api/init.rst:1622
+#: ../Doc/c-api/init.rst:1696
msgid ""
"Return the interpreter state object at the head of the list of all such "
"objects."
@@ -2632,11 +2721,11 @@ msgstr ""
"Retorna el objeto de estado del intérprete al principio de la lista de todos "
"esos objetos."
-#: ../Doc/c-api/init.rst:1627
+#: ../Doc/c-api/init.rst:1701
msgid "Return the main interpreter state object."
msgstr "Retorna el objeto de estado del intérprete principal."
-#: ../Doc/c-api/init.rst:1632
+#: ../Doc/c-api/init.rst:1706
msgid ""
"Return the next interpreter state object after *interp* from the list of all "
"such objects."
@@ -2644,7 +2733,7 @@ msgstr ""
"Retorna el siguiente objeto de estado de intérprete después de *interp* de "
"la lista de todos esos objetos."
-#: ../Doc/c-api/init.rst:1638
+#: ../Doc/c-api/init.rst:1712
msgid ""
"Return the pointer to the first :c:type:`PyThreadState` object in the list "
"of threads associated with the interpreter *interp*."
@@ -2652,7 +2741,7 @@ msgstr ""
"Retorna el puntero al primer objeto :c:type:`PyThreadState` en la lista de "
"hilos asociados con el intérprete *interp*."
-#: ../Doc/c-api/init.rst:1644
+#: ../Doc/c-api/init.rst:1718
msgid ""
"Return the next thread state object after *tstate* from the list of all such "
"objects belonging to the same :c:type:`PyInterpreterState` object."
@@ -2661,17 +2750,18 @@ msgstr ""
"lista de todos los objetos que pertenecen al mismo objeto :c:type:"
"`PyInterpreterState`."
-#: ../Doc/c-api/init.rst:1651
+#: ../Doc/c-api/init.rst:1725
msgid "Thread Local Storage Support"
msgstr "Soporte de almacenamiento local de hilo"
-#: ../Doc/c-api/init.rst:1655
+#: ../Doc/c-api/init.rst:1729
+#, fuzzy
msgid ""
"The Python interpreter provides low-level support for thread-local storage "
"(TLS) which wraps the underlying native TLS implementation to support the "
"Python-level thread local storage API (:class:`threading.local`). The "
"CPython C level APIs are similar to those offered by pthreads and Windows: "
-"use a thread key and functions to associate a :c:type:`void*` value per "
+"use a thread key and functions to associate a :c:expr:`void*` value per "
"thread."
msgstr ""
"El intérprete de Python proporciona soporte de bajo nivel para el "
@@ -2681,7 +2771,7 @@ msgstr ""
"similares a las ofrecidas por pthreads y Windows: use una clave de hilo y "
"funciones para asociar un valor de :c:type:`void*` por hilo."
-#: ../Doc/c-api/init.rst:1662
+#: ../Doc/c-api/init.rst:1736
msgid ""
"The GIL does *not* need to be held when calling these functions; they supply "
"their own locking."
@@ -2689,7 +2779,7 @@ msgstr ""
"El GIL *no* necesita ser retenido al llamar a estas funciones; proporcionan "
"su propio bloqueo."
-#: ../Doc/c-api/init.rst:1665
+#: ../Doc/c-api/init.rst:1739
msgid ""
"Note that :file:`Python.h` does not include the declaration of the TLS APIs, "
"you need to include :file:`pythread.h` to use thread-local storage."
@@ -2698,11 +2788,12 @@ msgstr ""
"TLS, debe incluir :file:`pythread.h` para usar el almacenamiento local de "
"hilos."
-#: ../Doc/c-api/init.rst:1669
+#: ../Doc/c-api/init.rst:1743
+#, fuzzy
msgid ""
"None of these API functions handle memory management on behalf of the :c:"
-"type:`void*` values. You need to allocate and deallocate them yourself. If "
-"the :c:type:`void*` values happen to be :c:type:`PyObject*`, these functions "
+"expr:`void*` values. You need to allocate and deallocate them yourself. If "
+"the :c:expr:`void*` values happen to be :c:expr:`PyObject*`, these functions "
"don't do refcount operations on them either."
msgstr ""
"Ninguna de estas funciones API maneja la administración de memoria en nombre "
@@ -2710,27 +2801,28 @@ msgstr ""
"Si los valores :c:type:`void*` son :c:type:`PyObject*`, estas funciones "
"tampoco realizan operaciones de conteo de referencias en ellos."
-#: ../Doc/c-api/init.rst:1677
+#: ../Doc/c-api/init.rst:1751
msgid "Thread Specific Storage (TSS) API"
msgstr ""
"API de almacenamiento específico de hilo (TSS, *Thread Specific Storage*)"
-#: ../Doc/c-api/init.rst:1679
+#: ../Doc/c-api/init.rst:1753
+#, fuzzy
msgid ""
"TSS API is introduced to supersede the use of the existing TLS API within "
"the CPython interpreter. This API uses a new type :c:type:`Py_tss_t` "
-"instead of :c:type:`int` to represent thread keys."
+"instead of :c:expr:`int` to represent thread keys."
msgstr ""
"La API de TSS se introduce para reemplazar el uso de la API TLS existente "
"dentro del intérprete de CPython. Esta API utiliza un nuevo tipo :c:type:"
"`Py_tss_t` en lugar de :c:type:`int` para representar las claves del hilo."
-#: ../Doc/c-api/init.rst:1685
+#: ../Doc/c-api/init.rst:1759
msgid "\"A New C-API for Thread-Local Storage in CPython\" (:pep:`539`)"
msgstr ""
"\"Una nueva C-API para *Thread-Local Storage* en CPython\" (:pep:`539`)"
-#: ../Doc/c-api/init.rst:1690
+#: ../Doc/c-api/init.rst:1764
msgid ""
"This data structure represents the state of a thread key, the definition of "
"which may depend on the underlying TLS implementation, and it has an "
@@ -2742,7 +2834,7 @@ msgstr ""
"campo interno que representa el estado de inicialización de la clave. No hay "
"miembros públicos en esta estructura."
-#: ../Doc/c-api/init.rst:1695
+#: ../Doc/c-api/init.rst:1769
msgid ""
"When :ref:`Py_LIMITED_API ` is not defined, static allocation of "
"this type by :c:macro:`Py_tss_NEEDS_INIT` is allowed."
@@ -2750,7 +2842,7 @@ msgstr ""
"Cuando :ref:`Py_LIMITED_API ` no está definido, la asignación "
"estática de este tipo por :c:macro:`Py_tss_NEEDS_INIT` está permitida."
-#: ../Doc/c-api/init.rst:1701
+#: ../Doc/c-api/init.rst:1775
msgid ""
"This macro expands to the initializer for :c:type:`Py_tss_t` variables. Note "
"that this macro won't be defined with :ref:`Py_LIMITED_API `."
@@ -2759,11 +2851,11 @@ msgstr ""
"Tenga en cuenta que esta macro no se definirá con :ref:`Py_LIMITED_API "
"`."
-#: ../Doc/c-api/init.rst:1706
+#: ../Doc/c-api/init.rst:1780
msgid "Dynamic Allocation"
msgstr "Asignación dinámica"
-#: ../Doc/c-api/init.rst:1708
+#: ../Doc/c-api/init.rst:1782
msgid ""
"Dynamic allocation of the :c:type:`Py_tss_t`, required in extension modules "
"built with :ref:`Py_LIMITED_API `, where static allocation of this "
@@ -2774,7 +2866,7 @@ msgstr ""
"asignación estática de este tipo no es posible debido a que su "
"implementación es opaca en el momento de la compilación."
-#: ../Doc/c-api/init.rst:1715
+#: ../Doc/c-api/init.rst:1789
msgid ""
"Return a value which is the same state as a value initialized with :c:macro:"
"`Py_tss_NEEDS_INIT`, or ``NULL`` in the case of dynamic allocation failure."
@@ -2783,29 +2875,31 @@ msgstr ""
"macro:`Py_tss_NEEDS_INIT`, o ``NULL`` en caso de falla de asignación "
"dinámica."
-#: ../Doc/c-api/init.rst:1722
+#: ../Doc/c-api/init.rst:1796
+#, fuzzy
msgid ""
"Free the given *key* allocated by :c:func:`PyThread_tss_alloc`, after first "
"calling :c:func:`PyThread_tss_delete` to ensure any associated thread locals "
-"have been unassigned. This is a no-op if the *key* argument is `NULL`."
+"have been unassigned. This is a no-op if the *key* argument is ``NULL``."
msgstr ""
"Libera la clave *key* asignada por :c:func:`PyThread_tss_alloc`, después de "
"llamar por primera vez :c:func:`PyThread_tss_delete` para asegurarse de que "
"los hilos locales asociados no hayan sido asignados. Esto es un *no-op* si "
"el argumento *key* es `NULL`."
-#: ../Doc/c-api/init.rst:1728
+#: ../Doc/c-api/init.rst:1802
+#, fuzzy
msgid ""
-"A freed key becomes a dangling pointer, you should reset the key to `NULL`."
+"A freed key becomes a dangling pointer. You should reset the key to ``NULL``."
msgstr ""
"Una clave (*key*) liberada se convierte en un puntero colgante (*dangling "
"pointer*), debe restablecer la llave a `NULL`."
-#: ../Doc/c-api/init.rst:1733
+#: ../Doc/c-api/init.rst:1807
msgid "Methods"
msgstr "Métodos"
-#: ../Doc/c-api/init.rst:1735
+#: ../Doc/c-api/init.rst:1809
msgid ""
"The parameter *key* of these functions must not be ``NULL``. Moreover, the "
"behaviors of :c:func:`PyThread_tss_set` and :c:func:`PyThread_tss_get` are "
@@ -2817,7 +2911,7 @@ msgstr ""
"no están definidos si el :c:type:`Py_tss_t` dado no ha sido inicializado "
"por :c:func:`PyThread_tss_create`."
-#: ../Doc/c-api/init.rst:1743
+#: ../Doc/c-api/init.rst:1817
msgid ""
"Return a non-zero value if the given :c:type:`Py_tss_t` has been initialized "
"by :c:func:`PyThread_tss_create`."
@@ -2825,7 +2919,7 @@ msgstr ""
"Retorna un valor distinto de cero si :c:type:`Py_tss_t` ha sido inicializado "
"por :c:func:`PyThread_tss_create`."
-#: ../Doc/c-api/init.rst:1749
+#: ../Doc/c-api/init.rst:1823
msgid ""
"Return a zero value on successful initialization of a TSS key. The behavior "
"is undefined if the value pointed to by the *key* argument is not "
@@ -2839,7 +2933,7 @@ msgstr ""
"invocar repetidamente en la misma tecla: llamarla a una tecla ya "
"inicializada es un *no-op* e inmediatamente retorna el éxito."
-#: ../Doc/c-api/init.rst:1758
+#: ../Doc/c-api/init.rst:1832
msgid ""
"Destroy a TSS key to forget the values associated with the key across all "
"threads, and change the key's initialization state to uninitialized. A "
@@ -2853,19 +2947,21 @@ msgstr ""
"c:func:`PyThread_tss_create`. Esta función se puede invocar repetidamente en "
"la misma llave; llamarla en una llave ya destruida es un *no-op*."
-#: ../Doc/c-api/init.rst:1767
+#: ../Doc/c-api/init.rst:1841
+#, fuzzy
msgid ""
-"Return a zero value to indicate successfully associating a :c:type:`void*` "
+"Return a zero value to indicate successfully associating a :c:expr:`void*` "
"value with a TSS key in the current thread. Each thread has a distinct "
-"mapping of the key to a :c:type:`void*` value."
+"mapping of the key to a :c:expr:`void*` value."
msgstr ""
"Retorna un valor cero para indicar la asociación exitosa de un valor a :c:"
"type:`void*` con una clave TSS en el hilo actual. Cada hilo tiene un mapeo "
"distinto de la clave a un valor :c:type:`void*`."
-#: ../Doc/c-api/init.rst:1774
+#: ../Doc/c-api/init.rst:1848
+#, fuzzy
msgid ""
-"Return the :c:type:`void*` value associated with a TSS key in the current "
+"Return the :c:expr:`void*` value associated with a TSS key in the current "
"thread. This returns ``NULL`` if no value is associated with the key in the "
"current thread."
msgstr ""
@@ -2873,11 +2969,11 @@ msgstr ""
"actual. Esto retorna ``NULL`` si no hay ningún valor asociado con la clave "
"en el hilo actual."
-#: ../Doc/c-api/init.rst:1782
+#: ../Doc/c-api/init.rst:1856
msgid "Thread Local Storage (TLS) API"
msgstr "API de almacenamiento local de hilos (TLS, *Thread Local Storage*)"
-#: ../Doc/c-api/init.rst:1784
+#: ../Doc/c-api/init.rst:1858
msgid ""
"This API is superseded by :ref:`Thread Specific Storage (TSS) API `."
@@ -2886,7 +2982,7 @@ msgstr ""
"(TSS, por sus significado en inglés *Thread Specific Storage*) `."
-#: ../Doc/c-api/init.rst:1789
+#: ../Doc/c-api/init.rst:1863
msgid ""
"This version of the API does not support platforms where the native TLS key "
"is defined in a way that cannot be safely cast to ``int``. On such "
@@ -2900,10 +2996,23 @@ msgstr ""
"inmediatamente con un estado de falla, y las otras funciones TLS serán no "
"operativas en tales plataformas."
-#: ../Doc/c-api/init.rst:1794
+#: ../Doc/c-api/init.rst:1868
msgid ""
"Due to the compatibility problem noted above, this version of the API should "
"not be used in new code."
msgstr ""
"Debido al problema de compatibilidad mencionado anteriormente, esta versión "
"de la API no debe usarse en código nuevo."
+
+#~ msgid ""
+#~ "Note that the :c:func:`PyGILState_\\*` functions assume there is only one "
+#~ "global interpreter (created automatically by :c:func:`Py_Initialize`). "
+#~ "Python supports the creation of additional interpreters (using :c:func:"
+#~ "`Py_NewInterpreter`), but mixing multiple interpreters and the :c:func:"
+#~ "`PyGILState_\\*` API is unsupported."
+#~ msgstr ""
+#~ "Tenga en cuenta que las funciones :c:func:`PyGILState_\\*` suponen que "
+#~ "solo hay un intérprete global (creado automáticamente por :c:func:"
+#~ "`Py_Initialize`). Python admite la creación de intérpretes adicionales "
+#~ "(usando :c:func:`Py_NewInterpreter`), pero la mezcla de múltiples "
+#~ "intérpretes y la API :c:func:`PyGILState_\\*` no son compatibles."
diff --git a/c-api/init_config.po b/c-api/init_config.po
index 6cc988f521..1680d4c079 100644
--- a/c-api/init_config.po
+++ b/c-api/init_config.po
@@ -8,16 +8,16 @@ msgid ""
msgstr ""
"Project-Id-Version: Python en Español 3.7\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-16 21:42+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-08-02 01:43+0200\n"
"Last-Translator: Cristián Maureira-Fredes \n"
-"Language-Team: \n"
"Language: es\n"
+"Language-Team: \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.9.1\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/init_config.rst:7
msgid "Python Initialization Configuration"
@@ -38,10 +38,11 @@ msgid "There are two kinds of configuration:"
msgstr "Hay dos tipos de configuración:"
#: ../Doc/c-api/init_config.rst:17
+#, fuzzy
msgid ""
"The :ref:`Python Configuration ` can be used to build a "
"customized Python which behaves as the regular Python. For example, "
-"environments variables and command line arguments are used to configure "
+"environment variables and command line arguments are used to configure "
"Python."
msgstr ""
"La :ref:`Configuración de Python ` se puede utilizar "
@@ -50,11 +51,12 @@ msgstr ""
"comandos se utilizan para configurar Python."
#: ../Doc/c-api/init_config.rst:22
+#, fuzzy
msgid ""
"The :ref:`Isolated Configuration ` can be used to embed "
"Python into an application. It isolates Python from the system. For example, "
-"environments variables are ignored, the LC_CTYPE locale is left unchanged "
-"and no signal handler is registered."
+"environment variables are ignored, the LC_CTYPE locale is left unchanged and "
+"no signal handler is registered."
msgstr ""
"La :ref:`Configuración Aislada ` se puede utilizar para "
"incrustar Python en una aplicación. Aísla a Python del sistema. Por ejemplo, "
@@ -129,11 +131,12 @@ msgstr ""
"Si *index* es mayor o igual que el largo de *list*, agrega *item* a *list*."
#: ../Doc/c-api/init_config.rst:100
-msgid "*index* must be greater than or equal to 0."
+#, fuzzy
+msgid "*index* must be greater than or equal to ``0``."
msgstr "*index* debe ser mayor o igual que 0."
#: ../Doc/c-api/init_config.rst:104 ../Doc/c-api/init_config.rst:124
-#: ../Doc/c-api/init_config.rst:225 ../Doc/c-api/init_config.rst:519
+#: ../Doc/c-api/init_config.rst:225 ../Doc/c-api/init_config.rst:530
msgid "Structure fields:"
msgstr "Campos de estructura:"
@@ -351,9 +354,10 @@ msgstr ""
"preferida del usuario?"
#: ../Doc/c-api/init_config.rst:259
+#, fuzzy
msgid ""
-"If equals to 0, set :c:member:`~PyPreConfig.coerce_c_locale` and :c:member:"
-"`~PyPreConfig.coerce_c_locale_warn` members to 0."
+"If equals to ``0``, set :c:member:`~PyPreConfig.coerce_c_locale` and :c:"
+"member:`~PyPreConfig.coerce_c_locale_warn` members to ``0``."
msgstr ""
"Si es igual a 0, establezca los miembros :c:member:`~PyPreConfig."
"coerce_c_locale` y :c:member:`~PyPreConfig.coerce_c_locale_warn` en 0."
@@ -363,19 +367,22 @@ msgid "See the :term:`locale encoding`."
msgstr "Vea el :term:`locale encoding`."
#: ../Doc/c-api/init_config.rst:264 ../Doc/c-api/init_config.rst:319
-#: ../Doc/c-api/init_config.rst:627
+#: ../Doc/c-api/init_config.rst:670
msgid "Default: ``1`` in Python config, ``0`` in isolated config."
msgstr ""
"Predeterminado: ``1`` en la configuración de Python, ``0`` en la "
"configuración aislada."
#: ../Doc/c-api/init_config.rst:268
-msgid "If equals to 2, coerce the C locale."
+#, fuzzy
+msgid "If equals to ``2``, coerce the C locale."
msgstr "Si es igual a 2, imponga la configuración regional C."
#: ../Doc/c-api/init_config.rst:270
+#, fuzzy
msgid ""
-"If equals to 1, read the LC_CTYPE locale to decide if it should be coerced."
+"If equals to ``1``, read the LC_CTYPE locale to decide if it should be "
+"coerced."
msgstr ""
"Si es igual a 1, lea la configuración regional LC_CTYPE para decidir si debe "
"ser coaccionado."
@@ -393,15 +400,15 @@ msgstr ""
"coaccionada."
#: ../Doc/c-api/init_config.rst:285
+#, fuzzy
msgid ""
-"If non-zero, enables the :ref:`Python Development Mode `: see :c:"
-"member:`PyConfig.dev_mode`."
+":ref:`Python Development Mode `: see :c:member:`PyConfig.dev_mode`."
msgstr ""
"Si es distinto de cero, habilita el :ref:`Modo de desarrollo de Python "
"`: consulte :c:member:`PyConfig.dev_mode`."
-#: ../Doc/c-api/init_config.rst:288 ../Doc/c-api/init_config.rst:633
-#: ../Doc/c-api/init_config.rst:675 ../Doc/c-api/init_config.rst:1094
+#: ../Doc/c-api/init_config.rst:288 ../Doc/c-api/init_config.rst:679
+#: ../Doc/c-api/init_config.rst:721 ../Doc/c-api/init_config.rst:1150
msgid "Default: ``-1`` in Python mode, ``0`` in isolated mode."
msgstr "Por defecto: ``-1`` en modo Python, ``0`` en modo aislado."
@@ -409,7 +416,7 @@ msgstr "Por defecto: ``-1`` en modo Python, ``0`` en modo aislado."
msgid "Isolated mode: see :c:member:`PyConfig.isolated`."
msgstr "Modo aislado: consulte :c:member:`PyConfig.isolated`."
-#: ../Doc/c-api/init_config.rst:294 ../Doc/c-api/init_config.rst:798
+#: ../Doc/c-api/init_config.rst:294 ../Doc/c-api/init_config.rst:846
msgid "Default: ``0`` in Python mode, ``1`` in isolated mode."
msgstr "Por defecto: ``0`` en modo Python, ``1`` en modo aislado."
@@ -437,7 +444,7 @@ msgstr ""
"Inicializado desde valor de variable de entorno :envvar:"
"`PYTHONLEGACYWINDOWSFSENCODING`."
-#: ../Doc/c-api/init_config.rst:307 ../Doc/c-api/init_config.rst:811
+#: ../Doc/c-api/init_config.rst:307 ../Doc/c-api/init_config.rst:859
msgid ""
"Only available on Windows. ``#ifdef MS_WINDOWS`` macro can be used for "
"Windows specific code."
@@ -445,14 +452,14 @@ msgstr ""
"Solo disponible en Windows. La macro ``#ifdef MS_WINDOWS`` se puede usar "
"para el código específico de Windows."
-#: ../Doc/c-api/init_config.rst:310 ../Doc/c-api/init_config.rst:588
-#: ../Doc/c-api/init_config.rst:595 ../Doc/c-api/init_config.rst:646
-#: ../Doc/c-api/init_config.rst:756 ../Doc/c-api/init_config.rst:770
-#: ../Doc/c-api/init_config.rst:784 ../Doc/c-api/init_config.rst:814
-#: ../Doc/c-api/init_config.rst:828 ../Doc/c-api/init_config.rst:881
-#: ../Doc/c-api/init_config.rst:930 ../Doc/c-api/init_config.rst:990
-#: ../Doc/c-api/init_config.rst:1029 ../Doc/c-api/init_config.rst:1058
-#: ../Doc/c-api/init_config.rst:1129
+#: ../Doc/c-api/init_config.rst:310 ../Doc/c-api/init_config.rst:618
+#: ../Doc/c-api/init_config.rst:625 ../Doc/c-api/init_config.rst:692
+#: ../Doc/c-api/init_config.rst:801 ../Doc/c-api/init_config.rst:815
+#: ../Doc/c-api/init_config.rst:829 ../Doc/c-api/init_config.rst:862
+#: ../Doc/c-api/init_config.rst:876 ../Doc/c-api/init_config.rst:936
+#: ../Doc/c-api/init_config.rst:985 ../Doc/c-api/init_config.rst:1045
+#: ../Doc/c-api/init_config.rst:1085 ../Doc/c-api/init_config.rst:1114
+#: ../Doc/c-api/init_config.rst:1187
msgid "Default: ``0``."
msgstr "Predeterminado: ``0``."
@@ -476,7 +483,7 @@ msgstr ""
"¿Utiliza :ref:`variables de entorno `? Consulte :c:member:"
"`PyConfig.use_environment`."
-#: ../Doc/c-api/init_config.rst:326 ../Doc/c-api/init_config.rst:1103
+#: ../Doc/c-api/init_config.rst:326 ../Doc/c-api/init_config.rst:1161
msgid "Default: ``1`` in Python config and ``0`` in isolated config."
msgstr ""
"Predeterminado: ``1`` en la configuración de Python y ``0`` en la "
@@ -487,39 +494,44 @@ msgid "If non-zero, enable the :ref:`Python UTF-8 Mode `."
msgstr "Si es distinto de cero, habilite :ref:`Python UTF-8 Mode `."
#: ../Doc/c-api/init_config.rst:332
+#, fuzzy
msgid ""
-"Set by the :option:`-X utf8 <-X>` command line option and the :envvar:"
-"`PYTHONUTF8` environment variable."
+"Set to ``0`` or ``1`` by the :option:`-X utf8 <-X>` command line option and "
+"the :envvar:`PYTHONUTF8` environment variable."
msgstr ""
"Establecido por la opción de línea de comando :option:`-X utf8 <-X>` y la "
"variable de entorno :envvar:`PYTHONUTF8`."
#: ../Doc/c-api/init_config.rst:335
+msgid "Also set to ``1`` if the ``LC_CTYPE`` locale is ``C`` or ``POSIX``."
+msgstr ""
+
+#: ../Doc/c-api/init_config.rst:337
msgid "Default: ``-1`` in Python config and ``0`` in isolated config."
msgstr ""
"Predeterminado: ``-1`` en la configuración de Python y ``0`` en la "
"configuración aislada."
-#: ../Doc/c-api/init_config.rst:341
+#: ../Doc/c-api/init_config.rst:343
msgid "Preinitialize Python with PyPreConfig"
msgstr "Preinicialización de Python con PyPreConfig"
-#: ../Doc/c-api/init_config.rst:343
+#: ../Doc/c-api/init_config.rst:345
msgid "The preinitialization of Python:"
msgstr "La preinicialización de Python:"
-#: ../Doc/c-api/init_config.rst:345
+#: ../Doc/c-api/init_config.rst:347
msgid "Set the Python memory allocators (:c:member:`PyPreConfig.allocator`)"
msgstr ""
"Establecer los asignadores de memoria de Python (:c:member:`PyPreConfig."
"allocator`)"
-#: ../Doc/c-api/init_config.rst:346
+#: ../Doc/c-api/init_config.rst:348
msgid "Configure the LC_CTYPE locale (:term:`locale encoding`)"
msgstr ""
"Configurar la configuración regional LC_CTYPE (:term:`locale encoding`)"
-#: ../Doc/c-api/init_config.rst:347
+#: ../Doc/c-api/init_config.rst:349
msgid ""
"Set the :ref:`Python UTF-8 Mode ` (:c:member:`PyPreConfig."
"utf8_mode`)"
@@ -527,7 +539,7 @@ msgstr ""
"Establecer el :ref:`Python UTF-8 Mode ` (:c:member:`PyPreConfig."
"utf8_mode`)"
-#: ../Doc/c-api/init_config.rst:350
+#: ../Doc/c-api/init_config.rst:352
msgid ""
"The current preconfiguration (``PyPreConfig`` type) is stored in "
"``_PyRuntime.preconfig``."
@@ -535,21 +547,21 @@ msgstr ""
"La preconfiguración actual (tipo ``PyPreConfig``) se almacena en "
"``_PyRuntime.preconfig``."
-#: ../Doc/c-api/init_config.rst:353
+#: ../Doc/c-api/init_config.rst:355
msgid "Functions to preinitialize Python:"
msgstr "Funciones para preinicializar Python:"
-#: ../Doc/c-api/init_config.rst:357 ../Doc/c-api/init_config.rst:363
-#: ../Doc/c-api/init_config.rst:372
+#: ../Doc/c-api/init_config.rst:359 ../Doc/c-api/init_config.rst:365
+#: ../Doc/c-api/init_config.rst:374
msgid "Preinitialize Python from *preconfig* preconfiguration."
msgstr "Preinicializa Python desde la preconfiguración *preconfig*."
-#: ../Doc/c-api/init_config.rst:359 ../Doc/c-api/init_config.rst:368
-#: ../Doc/c-api/init_config.rst:377
+#: ../Doc/c-api/init_config.rst:361 ../Doc/c-api/init_config.rst:370
+#: ../Doc/c-api/init_config.rst:379
msgid "*preconfig* must not be ``NULL``."
msgstr "*preconfig* no debe ser ``NULL``."
-#: ../Doc/c-api/init_config.rst:365
+#: ../Doc/c-api/init_config.rst:367
msgid ""
"Parse *argv* command line arguments (bytes strings) if :c:member:"
"`~PyPreConfig.parse_argv` of *preconfig* is non-zero."
@@ -557,7 +569,7 @@ msgstr ""
"Analice los argumentos de la línea de comando *argv* (cadenas de bytes) si :"
"c:member:`~PyPreConfig.parse_argv` de *preconfig* no es cero."
-#: ../Doc/c-api/init_config.rst:374
+#: ../Doc/c-api/init_config.rst:376
msgid ""
"Parse *argv* command line arguments (wide strings) if :c:member:"
"`~PyPreConfig.parse_argv` of *preconfig* is non-zero."
@@ -565,7 +577,7 @@ msgstr ""
"Analice los argumentos de la línea de comando *argv* (cadenas anchas) si :c:"
"member:`~PyPreConfig.parse_argv` de *preconfig* no es cero."
-#: ../Doc/c-api/init_config.rst:379 ../Doc/c-api/init_config.rst:1191
+#: ../Doc/c-api/init_config.rst:381 ../Doc/c-api/init_config.rst:1249
msgid ""
"The caller is responsible to handle exceptions (error or exit) using :c:func:"
"`PyStatus_Exception` and :c:func:`Py_ExitStatusException`."
@@ -574,7 +586,7 @@ msgstr ""
"salida) usando :c:func:`PyStatus_Exception` y :c:func:"
"`Py_ExitStatusException`."
-#: ../Doc/c-api/init_config.rst:382
+#: ../Doc/c-api/init_config.rst:384
msgid ""
"For :ref:`Python Configuration ` (:c:func:"
"`PyPreConfig_InitPythonConfig`), if Python is initialized with command line "
@@ -591,7 +603,7 @@ msgstr ""
"comando :option:`-X utf8 <-X>` habilita el :ref:`Python UTF-8 Mode `."
-#: ../Doc/c-api/init_config.rst:389
+#: ../Doc/c-api/init_config.rst:391
msgid ""
"``PyMem_SetAllocator()`` can be called after :c:func:`Py_PreInitialize` and "
"before :c:func:`Py_InitializeFromConfig` to install a custom memory "
@@ -604,7 +616,7 @@ msgstr ""
"`Py_PreInitialize` si :c:member:`PyPreConfig.allocator` está configurado en "
"``PYMEM_ALLOCATOR_NOT_SET``."
-#: ../Doc/c-api/init_config.rst:394
+#: ../Doc/c-api/init_config.rst:396
msgid ""
"Python memory allocation functions like :c:func:`PyMem_RawMalloc` must not "
"be used before the Python preinitialization, whereas calling directly "
@@ -617,7 +629,7 @@ msgstr ""
"seguro. No se debe llamar a :c:func:`Py_DecodeLocale` antes de la "
"preinicialización de Python."
-#: ../Doc/c-api/init_config.rst:399
+#: ../Doc/c-api/init_config.rst:401
msgid ""
"Example using the preinitialization to enable the :ref:`Python UTF-8 Mode "
"`::"
@@ -625,16 +637,16 @@ msgstr ""
"Ejemplo usando la preinicialización para habilitar el :ref:`Python UTF-8 "
"Mode ` ::"
-#: ../Doc/c-api/init_config.rst:421
+#: ../Doc/c-api/init_config.rst:423
msgid "PyConfig"
msgstr "PyConfig"
-#: ../Doc/c-api/init_config.rst:425
+#: ../Doc/c-api/init_config.rst:427
msgid "Structure containing most parameters to configure Python."
msgstr ""
"Estructura que contiene la mayoría de los parámetros para configurar Python."
-#: ../Doc/c-api/init_config.rst:427
+#: ../Doc/c-api/init_config.rst:429
msgid ""
"When done, the :c:func:`PyConfig_Clear` function must be used to release the "
"configuration memory."
@@ -642,11 +654,11 @@ msgstr ""
"Cuando termine, se debe utilizar la función :c:func:`PyConfig_Clear` para "
"liberar la memoria de configuración."
-#: ../Doc/c-api/init_config.rst:430
+#: ../Doc/c-api/init_config.rst:432
msgid "Structure methods:"
msgstr "Métodos de estructura:"
-#: ../Doc/c-api/init_config.rst:434
+#: ../Doc/c-api/init_config.rst:436
msgid ""
"Initialize configuration with the :ref:`Python Configuration `."
@@ -654,7 +666,7 @@ msgstr ""
"Inicialice la configuración con la :ref:`Configuración de Python `."
-#: ../Doc/c-api/init_config.rst:439
+#: ../Doc/c-api/init_config.rst:441
msgid ""
"Initialize configuration with the :ref:`Isolated Configuration `."
@@ -662,17 +674,17 @@ msgstr ""
"Inicialice la configuración con la :ref:`Configuración Aislada `."
-#: ../Doc/c-api/init_config.rst:444
+#: ../Doc/c-api/init_config.rst:446
msgid "Copy the wide character string *str* into ``*config_str``."
msgstr "Copia la cadena de caracteres anchos *str* en ``*config_str``."
-#: ../Doc/c-api/init_config.rst:446 ../Doc/c-api/init_config.rst:453
-#: ../Doc/c-api/init_config.rst:460 ../Doc/c-api/init_config.rst:468
-#: ../Doc/c-api/init_config.rst:474 ../Doc/c-api/init_config.rst:488
+#: ../Doc/c-api/init_config.rst:448 ../Doc/c-api/init_config.rst:455
+#: ../Doc/c-api/init_config.rst:462 ../Doc/c-api/init_config.rst:470
+#: ../Doc/c-api/init_config.rst:476 ../Doc/c-api/init_config.rst:493
msgid ":ref:`Preinitialize Python ` if needed."
msgstr ":ref:`Preinicializa Python ` si es necesario."
-#: ../Doc/c-api/init_config.rst:450
+#: ../Doc/c-api/init_config.rst:452
msgid ""
"Decode *str* using :c:func:`Py_DecodeLocale` and set the result into "
"``*config_str``."
@@ -680,7 +692,7 @@ msgstr ""
"Decodifique *str* usando :c:func:`Py_DecodeLocale` y establezca el resultado "
"en ``*config_str``."
-#: ../Doc/c-api/init_config.rst:457
+#: ../Doc/c-api/init_config.rst:459
msgid ""
"Set command line arguments (:c:member:`~PyConfig.argv` member of *config*) "
"from the *argv* list of wide character strings."
@@ -689,7 +701,7 @@ msgstr ""
"`~PyConfig.argv` de *config*) de la lista *argv* de cadenas de caracteres "
"anchas."
-#: ../Doc/c-api/init_config.rst:464
+#: ../Doc/c-api/init_config.rst:466
msgid ""
"Set command line arguments (:c:member:`~PyConfig.argv` member of *config*) "
"from the *argv* list of bytes strings. Decode bytes using :c:func:"
@@ -699,21 +711,27 @@ msgstr ""
"argv` de *config*) de la lista *argv* de cadenas de bytes. Decodifica bytes "
"usando :c:func:`Py_DecodeLocale`."
-#: ../Doc/c-api/init_config.rst:472
+#: ../Doc/c-api/init_config.rst:474
msgid "Set the list of wide strings *list* to *length* and *items*."
msgstr ""
"Establece la lista de cadenas de caracteres anchas *list* a *length* y "
"*items*."
-#: ../Doc/c-api/init_config.rst:478
+#: ../Doc/c-api/init_config.rst:480
msgid "Read all Python configuration."
msgstr "Lee toda la configuración de Python."
-#: ../Doc/c-api/init_config.rst:480
+#: ../Doc/c-api/init_config.rst:482
msgid "Fields which are already initialized are left unchanged."
msgstr "Los campos que ya están inicializados no se modifican."
-#: ../Doc/c-api/init_config.rst:482 ../Doc/c-api/init_config.rst:910
+#: ../Doc/c-api/init_config.rst:484
+msgid ""
+"Fields for :ref:`path configuration ` are no longer "
+"calculated or modified when calling this function, as of Python 3.11."
+msgstr ""
+
+#: ../Doc/c-api/init_config.rst:487 ../Doc/c-api/init_config.rst:965
msgid ""
"The :c:func:`PyConfig_Read` function only parses :c:member:`PyConfig.argv` "
"arguments once: :c:member:`PyConfig.parse_argv` is set to ``2`` after "
@@ -727,7 +745,7 @@ msgstr ""
"se eliminan de :c:member:`PyConfig.argv`, analizar los argumentos dos veces "
"analizaría las opciones de la aplicación como opciones de Python."
-#: ../Doc/c-api/init_config.rst:490
+#: ../Doc/c-api/init_config.rst:495
msgid ""
"The :c:member:`PyConfig.argv` arguments are now only parsed once, :c:member:"
"`PyConfig.parse_argv` is set to ``2`` after arguments are parsed, and "
@@ -738,11 +756,18 @@ msgstr ""
"argumentos y los argumentos solo se analizan si :c:member:`PyConfig."
"parse_argv` es igual a ``1``."
-#: ../Doc/c-api/init_config.rst:498
+#: ../Doc/c-api/init_config.rst:501
+msgid ""
+":c:func:`PyConfig_Read` no longer calculates all paths, and so fields listed "
+"under :ref:`Python Path Configuration ` may no longer be "
+"updated until :c:func:`Py_InitializeFromConfig` is called."
+msgstr ""
+
+#: ../Doc/c-api/init_config.rst:509
msgid "Release configuration memory."
msgstr "Libera memoria de configuración."
-#: ../Doc/c-api/init_config.rst:500
+#: ../Doc/c-api/init_config.rst:511
msgid ""
"Most ``PyConfig`` methods :ref:`preinitialize Python ` if needed. "
"In that case, the Python preinitialization configuration (:c:type:"
@@ -757,23 +782,23 @@ msgstr ""
"type:`PyPreConfig`, deben establecerse antes de llamar a un método :c:type:"
"`PyConfig`:"
-#: ../Doc/c-api/init_config.rst:506
+#: ../Doc/c-api/init_config.rst:517
msgid ":c:member:`PyConfig.dev_mode`"
msgstr ":c:member:`PyConfig.dev_mode`"
-#: ../Doc/c-api/init_config.rst:507
+#: ../Doc/c-api/init_config.rst:518
msgid ":c:member:`PyConfig.isolated`"
msgstr ":c:member:`PyConfig.isolated`"
-#: ../Doc/c-api/init_config.rst:508
+#: ../Doc/c-api/init_config.rst:519
msgid ":c:member:`PyConfig.parse_argv`"
msgstr ":c:member:`PyConfig.parse_argv`"
-#: ../Doc/c-api/init_config.rst:509
+#: ../Doc/c-api/init_config.rst:520
msgid ":c:member:`PyConfig.use_environment`"
msgstr ":c:member:`PyConfig.use_environment`"
-#: ../Doc/c-api/init_config.rst:511
+#: ../Doc/c-api/init_config.rst:522
msgid ""
"Moreover, if :c:func:`PyConfig_SetArgv` or :c:func:`PyConfig_SetBytesArgv` "
"is used, this method must be called before other methods, since the "
@@ -785,7 +810,7 @@ msgstr ""
"ya que la configuración de preinicialización depende de los argumentos de la "
"línea de comando (si :c:member:`parse_argv` no es cero)."
-#: ../Doc/c-api/init_config.rst:516
+#: ../Doc/c-api/init_config.rst:527
msgid ""
"The caller of these methods is responsible to handle exceptions (error or "
"exit) using ``PyStatus_Exception()`` and ``Py_ExitStatusException()``."
@@ -794,11 +819,11 @@ msgstr ""
"(error o salida) usando ``PyStatus_Exception()`` y "
"``Py_ExitStatusException()``."
-#: ../Doc/c-api/init_config.rst:523
+#: ../Doc/c-api/init_config.rst:534
msgid "Command line arguments: :data:`sys.argv`."
msgstr "Argumentos de la línea de comando: :data:`sys.argv`."
-#: ../Doc/c-api/init_config.rst:525
+#: ../Doc/c-api/init_config.rst:536
msgid ""
"Set :c:member:`~PyConfig.parse_argv` to ``1`` to parse :c:member:`~PyConfig."
"argv` the same way the regular Python parses Python command line arguments "
@@ -809,7 +834,7 @@ msgstr ""
"de la línea de comandos de Python y luego quita los argumentos de Python de :"
"c:member:`~PyConfig.argv`."
-#: ../Doc/c-api/init_config.rst:530
+#: ../Doc/c-api/init_config.rst:541
msgid ""
"If :c:member:`~PyConfig.argv` is empty, an empty string is added to ensure "
"that :data:`sys.argv` always exists and is never empty."
@@ -817,94 +842,138 @@ msgstr ""
"Si :c:member:`~PyConfig.argv` está vacío, se agrega una cadena vacía para "
"garantizar que :data:`sys.argv` siempre exista y nunca esté vacío."
-#: ../Doc/c-api/init_config.rst:533 ../Doc/c-api/init_config.rst:541
-#: ../Doc/c-api/init_config.rst:553 ../Doc/c-api/init_config.rst:561
-#: ../Doc/c-api/init_config.rst:653 ../Doc/c-api/init_config.rst:662
-#: ../Doc/c-api/init_config.rst:745 ../Doc/c-api/init_config.rst:851
-#: ../Doc/c-api/init_config.rst:949 ../Doc/c-api/init_config.rst:967
-#: ../Doc/c-api/init_config.rst:981 ../Doc/c-api/init_config.rst:998
-#: ../Doc/c-api/init_config.rst:1010 ../Doc/c-api/init_config.rst:1018
+#: ../Doc/c-api/init_config.rst:544 ../Doc/c-api/init_config.rst:571
+#: ../Doc/c-api/init_config.rst:583 ../Doc/c-api/init_config.rst:591
+#: ../Doc/c-api/init_config.rst:699 ../Doc/c-api/init_config.rst:708
+#: ../Doc/c-api/init_config.rst:790 ../Doc/c-api/init_config.rst:906
+#: ../Doc/c-api/init_config.rst:1004 ../Doc/c-api/init_config.rst:1022
+#: ../Doc/c-api/init_config.rst:1036 ../Doc/c-api/init_config.rst:1053
+#: ../Doc/c-api/init_config.rst:1066 ../Doc/c-api/init_config.rst:1074
msgid "Default: ``NULL``."
msgstr "Valor predeterminado: ``NULL``."
-#: ../Doc/c-api/init_config.rst:535
+#: ../Doc/c-api/init_config.rst:546
msgid "See also the :c:member:`~PyConfig.orig_argv` member."
msgstr "Consulte también el miembro :c:member:`~PyConfig.orig_argv`."
-#: ../Doc/c-api/init_config.rst:539
+#: ../Doc/c-api/init_config.rst:550
+msgid ""
+"If equals to zero, ``Py_RunMain()`` prepends a potentially unsafe path to :"
+"data:`sys.path` at startup:"
+msgstr ""
+
+#: ../Doc/c-api/init_config.rst:553
+msgid ""
+"If :c:member:`argv[0] ` is equal to ``L\"-m\"`` (``python -m "
+"module``), prepend the current working directory."
+msgstr ""
+
+#: ../Doc/c-api/init_config.rst:555
+msgid ""
+"If running a script (``python script.py``), prepend the script's directory. "
+"If it's a symbolic link, resolve symbolic links."
+msgstr ""
+
+#: ../Doc/c-api/init_config.rst:557
+msgid ""
+"Otherwise (``python -c code`` and ``python``), prepend an empty string, "
+"which means the current working directory."
+msgstr ""
+
+#: ../Doc/c-api/init_config.rst:560
+#, fuzzy
+msgid ""
+"Set to ``1`` by the :option:`-P` command line option and the :envvar:"
+"`PYTHONSAFEPATH` environment variable."
+msgstr ""
+"Establecido en 0 por la opción de línea de comando :option:`-u` y la "
+"variable de entorno :envvar:`PYTHONUNBUFFERED`."
+
+#: ../Doc/c-api/init_config.rst:563
+#, fuzzy
+msgid "Default: ``0`` in Python config, ``1`` in isolated config."
+msgstr ""
+"Predeterminado: ``1`` en la configuración de Python, ``0`` en la "
+"configuración aislada."
+
+#: ../Doc/c-api/init_config.rst:569
msgid ":data:`sys.base_exec_prefix`."
msgstr ":data:`sys.base_exec_prefix`."
-#: ../Doc/c-api/init_config.rst:543 ../Doc/c-api/init_config.rst:555
-#: ../Doc/c-api/init_config.rst:563 ../Doc/c-api/init_config.rst:655
-#: ../Doc/c-api/init_config.rst:664 ../Doc/c-api/init_config.rst:868
-#: ../Doc/c-api/init_config.rst:951
+#: ../Doc/c-api/init_config.rst:573 ../Doc/c-api/init_config.rst:585
+#: ../Doc/c-api/init_config.rst:593 ../Doc/c-api/init_config.rst:701
+#: ../Doc/c-api/init_config.rst:710 ../Doc/c-api/init_config.rst:923
+#: ../Doc/c-api/init_config.rst:1006
msgid "Part of the :ref:`Python Path Configuration ` output."
msgstr ""
"Parte de la salida :ref:`Python Path Configuration `."
-#: ../Doc/c-api/init_config.rst:547
+#: ../Doc/c-api/init_config.rst:577
msgid "Python base executable: :data:`sys._base_executable`."
msgstr "Ejecutable base de Python: :data:`sys._base_executable`."
-#: ../Doc/c-api/init_config.rst:549
+#: ../Doc/c-api/init_config.rst:579
msgid "Set by the :envvar:`__PYVENV_LAUNCHER__` environment variable."
msgstr "Establecido por la variable de entorno :envvar:`__PYVENV_LAUNCHER__`."
-#: ../Doc/c-api/init_config.rst:551
+#: ../Doc/c-api/init_config.rst:581
msgid "Set from :c:member:`PyConfig.executable` if ``NULL``."
msgstr "Establecido desde :c:member:`PyConfig.executable` si ``NULL``."
-#: ../Doc/c-api/init_config.rst:559
+#: ../Doc/c-api/init_config.rst:589
msgid ":data:`sys.base_prefix`."
msgstr ":data:`sys.base_prefix`."
-#: ../Doc/c-api/init_config.rst:567
+#: ../Doc/c-api/init_config.rst:597
+#, fuzzy
msgid ""
-"If equals to 0 and :c:member:`~PyConfig.configure_c_stdio` is non-zero, "
+"If equals to ``0`` and :c:member:`~PyConfig.configure_c_stdio` is non-zero, "
"disable buffering on the C streams stdout and stderr."
msgstr ""
"Si es igual a 0 y :c:member:`~PyConfig.configure_c_stdio` no es cero, "
"deshabilite el almacenamiento en búfer en las secuencias C stdout y stderr."
-#: ../Doc/c-api/init_config.rst:570
+#: ../Doc/c-api/init_config.rst:600
+#, fuzzy
msgid ""
-"Set to 0 by the :option:`-u` command line option and the :envvar:"
+"Set to ``0`` by the :option:`-u` command line option and the :envvar:"
"`PYTHONUNBUFFERED` environment variable."
msgstr ""
"Establecido en 0 por la opción de línea de comando :option:`-u` y la "
"variable de entorno :envvar:`PYTHONUNBUFFERED`."
-#: ../Doc/c-api/init_config.rst:573
+#: ../Doc/c-api/init_config.rst:603
msgid "stdin is always opened in buffered mode."
msgstr "stdin siempre se abre en modo de búfer."
-#: ../Doc/c-api/init_config.rst:575 ../Doc/c-api/init_config.rst:1046
-#: ../Doc/c-api/init_config.rst:1161
+#: ../Doc/c-api/init_config.rst:605 ../Doc/c-api/init_config.rst:638
+#: ../Doc/c-api/init_config.rst:1102 ../Doc/c-api/init_config.rst:1219
msgid "Default: ``1``."
msgstr "Predeterminado: ``1``."
-#: ../Doc/c-api/init_config.rst:579
+#: ../Doc/c-api/init_config.rst:609
+#, fuzzy
msgid ""
-"If equals to 1, issue a warning when comparing :class:`bytes` or :class:"
+"If equals to ``1``, issue a warning when comparing :class:`bytes` or :class:"
"`bytearray` with :class:`str`, or comparing :class:`bytes` with :class:`int`."
msgstr ""
"Si es igual a 1, emite una advertencia al comparar :class:`bytes` o :class:"
"`bytearray` con :class:`str`, o al comparar :class:`bytes` con :class:`int`."
-#: ../Doc/c-api/init_config.rst:583
+#: ../Doc/c-api/init_config.rst:613
+#, fuzzy
msgid ""
-"If equal or greater to 2, raise a :exc:`BytesWarning` exception in these "
+"If equal or greater to ``2``, raise a :exc:`BytesWarning` exception in these "
"cases."
msgstr ""
"Si es igual o mayor a 2, lanza una excepción :exc:`BytesWarning` en estos "
"casos."
-#: ../Doc/c-api/init_config.rst:586
+#: ../Doc/c-api/init_config.rst:616
msgid "Incremented by the :option:`-b` command line option."
msgstr "Incrementado por la opción de línea de comando :option:`-b`."
-#: ../Doc/c-api/init_config.rst:592
+#: ../Doc/c-api/init_config.rst:622
msgid ""
"If non-zero, emit a :exc:`EncodingWarning` warning when :class:`io."
"TextIOWrapper` uses its default encoding. See :ref:`io-encoding-warning` for "
@@ -914,7 +983,23 @@ msgstr ""
"`io.TextIOWrapper` usa su codificación predeterminada. Consulte :ref:`io-"
"encoding-warning` para obtener más detalles."
-#: ../Doc/c-api/init_config.rst:601
+#: ../Doc/c-api/init_config.rst:631
+msgid ""
+"If equals to ``0``, disables the inclusion of the end line and column "
+"mappings in code objects. Also disables traceback printing carets to "
+"specific error locations."
+msgstr ""
+
+#: ../Doc/c-api/init_config.rst:635
+#, fuzzy
+msgid ""
+"Set to ``0`` by the :envvar:`PYTHONNODEBUGRANGES` environment variable and "
+"by the :option:`-X no_debug_ranges <-X>` command line option."
+msgstr ""
+"Establecido en ``0`` por las opciones de línea de comando :option:`-s` y :"
+"option:`-I`."
+
+#: ../Doc/c-api/init_config.rst:644
msgid ""
"Control the validation behavior of hash-based ``.pyc`` files: value of the :"
"option:`--check-hash-based-pycs` command line option."
@@ -923,11 +1008,11 @@ msgstr ""
"hash: valor de la opción de línea de comando :option:`--check-hash-based-"
"pycs`."
-#: ../Doc/c-api/init_config.rst:604
+#: ../Doc/c-api/init_config.rst:647
msgid "Valid values:"
msgstr "Valores válidos:"
-#: ../Doc/c-api/init_config.rst:606
+#: ../Doc/c-api/init_config.rst:649
msgid ""
"``L\"always\"``: Hash the source file for invalidation regardless of value "
"of the 'check_source' flag."
@@ -935,12 +1020,12 @@ msgstr ""
"``L\"always\"``: Calcula el hash el archivo fuente para invalidación "
"independientemente del valor de la marca 'check_source'."
-#: ../Doc/c-api/init_config.rst:608
+#: ../Doc/c-api/init_config.rst:651
msgid "``L\"never\"``: Assume that hash-based pycs always are valid."
msgstr ""
"``L\"never\"``: suponga que los pycs basados en hash siempre son válidos."
-#: ../Doc/c-api/init_config.rst:609
+#: ../Doc/c-api/init_config.rst:652
msgid ""
"``L\"default\"``: The 'check_source' flag in hash-based pycs determines "
"invalidation."
@@ -948,26 +1033,26 @@ msgstr ""
"``L\"default\"``: El indicador 'check_source' en pycs basados en hash "
"determina la invalidación."
-#: ../Doc/c-api/init_config.rst:612
+#: ../Doc/c-api/init_config.rst:655
msgid "Default: ``L\"default\"``."
msgstr "Predeterminado: ``L\"default\"``."
-#: ../Doc/c-api/init_config.rst:614
+#: ../Doc/c-api/init_config.rst:657
msgid "See also :pep:`552` \"Deterministic pycs\"."
msgstr "Consulte también :pep:`552` \"Pycs deterministas\"."
-#: ../Doc/c-api/init_config.rst:618
+#: ../Doc/c-api/init_config.rst:661
msgid "If non-zero, configure C standard streams:"
msgstr "Si es distinto de cero, configure los flujos estándar de C:"
-#: ../Doc/c-api/init_config.rst:620
+#: ../Doc/c-api/init_config.rst:663
msgid ""
"On Windows, set the binary mode (``O_BINARY``) on stdin, stdout and stderr."
msgstr ""
"En Windows, configure el modo binario (``O_BINARY``) en stdin, stdout y "
"stderr."
-#: ../Doc/c-api/init_config.rst:622
+#: ../Doc/c-api/init_config.rst:665
msgid ""
"If :c:member:`~PyConfig.buffered_stdio` equals zero, disable buffering of "
"stdin, stdout and stderr streams."
@@ -975,7 +1060,7 @@ msgstr ""
"Si :c:member:`~PyConfig.buffered_stdio` es igual a cero, deshabilite el "
"almacenamiento en búfer de los flujos stdin, stdout y stderr."
-#: ../Doc/c-api/init_config.rst:624
+#: ../Doc/c-api/init_config.rst:667
msgid ""
"If :c:member:`~PyConfig.interactive` is non-zero, enable stream buffering on "
"stdin and stdout (only stdout on Windows)."
@@ -983,27 +1068,37 @@ msgstr ""
"Si :c:member:`~PyConfig.interactive` no es cero, habilite el almacenamiento "
"en búfer de flujo en stdin y stdout (solo stdout en Windows)."
-#: ../Doc/c-api/init_config.rst:631
+#: ../Doc/c-api/init_config.rst:674
msgid "If non-zero, enable the :ref:`Python Development Mode `."
msgstr ""
"Si es distinto de cero, habilita :ref:`Modo de desarrollo de Python "
"`."
-#: ../Doc/c-api/init_config.rst:637
-msgid "Dump Python refererences?"
+#: ../Doc/c-api/init_config.rst:676
+#, fuzzy
+msgid ""
+"Set to ``1`` by the :option:`-X dev <-X>` option and the :envvar:"
+"`PYTHONDEVMODE` environment variable."
+msgstr ""
+"Configure el ``1`` mediante la opción :option:`-X importtime <-X>` y la "
+"variable de entorno :envvar:`PYTHONPROFILEIMPORTTIME`."
+
+#: ../Doc/c-api/init_config.rst:683
+#, fuzzy
+msgid "Dump Python references?"
msgstr "¿Volcar referencias de Python?"
-#: ../Doc/c-api/init_config.rst:639
+#: ../Doc/c-api/init_config.rst:685
msgid "If non-zero, dump all objects which are still alive at exit."
msgstr ""
"Si no es cero, volcar todos los objetos que aún están vivos en la salida."
-#: ../Doc/c-api/init_config.rst:641
+#: ../Doc/c-api/init_config.rst:687
msgid "Set to ``1`` by the :envvar:`PYTHONDUMPREFS` environment variable."
msgstr ""
"Establecido en ``1`` por la variable de entorno :envvar:`PYTHONDUMPREFS`."
-#: ../Doc/c-api/init_config.rst:643
+#: ../Doc/c-api/init_config.rst:689
msgid ""
"Need a special build of Python with the ``Py_TRACE_REFS`` macro defined: see "
"the :option:`configure --with-trace-refs option <--with-trace-refs>`."
@@ -1012,7 +1107,7 @@ msgstr ""
"definida: consulte la :option:`opción de configure --with-trace-refs option "
"<--with-trace-refs>`."
-#: ../Doc/c-api/init_config.rst:650
+#: ../Doc/c-api/init_config.rst:696
msgid ""
"The site-specific directory prefix where the platform-dependent Python files "
"are installed: :data:`sys.exec_prefix`."
@@ -1020,7 +1115,7 @@ msgstr ""
"El prefijo de directorio específico del sitio donde se instalan los archivos "
"Python dependientes de la plataforma: :data:`sys.exec_prefix`."
-#: ../Doc/c-api/init_config.rst:659
+#: ../Doc/c-api/init_config.rst:705
msgid ""
"The absolute path of the executable binary for the Python interpreter: :data:"
"`sys.executable`."
@@ -1028,15 +1123,15 @@ msgstr ""
"La ruta absoluta del binario ejecutable para el intérprete de Python: :data:"
"`sys.executable`."
-#: ../Doc/c-api/init_config.rst:668
+#: ../Doc/c-api/init_config.rst:714
msgid "Enable faulthandler?"
msgstr "¿Habilitar administrador de fallas?"
-#: ../Doc/c-api/init_config.rst:670
+#: ../Doc/c-api/init_config.rst:716
msgid "If non-zero, call :func:`faulthandler.enable` at startup."
msgstr "Si no es cero, llama a :func:`faulthandler.enable` al inicio."
-#: ../Doc/c-api/init_config.rst:672
+#: ../Doc/c-api/init_config.rst:718
msgid ""
"Set to ``1`` by :option:`-X faulthandler <-X>` and the :envvar:"
"`PYTHONFAULTHANDLER` environment variable."
@@ -1044,7 +1139,7 @@ msgstr ""
"Establecido en ``1`` por :option:`-X faulthandler <-X>` y la variable de "
"entorno :envvar:`PYTHONFAULTHANDLER`."
-#: ../Doc/c-api/init_config.rst:679
+#: ../Doc/c-api/init_config.rst:725
msgid ""
":term:`Filesystem encoding `: :func:"
"`sys.getfilesystemencoding`."
@@ -1052,12 +1147,12 @@ msgstr ""
":term:`Codificación del sistema de archvios `: :func:`sys.getfilesystemencoding`."
-#: ../Doc/c-api/init_config.rst:682
+#: ../Doc/c-api/init_config.rst:728
msgid "On macOS, Android and VxWorks: use ``\"utf-8\"`` by default."
msgstr ""
"En macOS, Android y VxWorks: use ``\"utf-8\"`` de forma predeterminada."
-#: ../Doc/c-api/init_config.rst:684
+#: ../Doc/c-api/init_config.rst:730
msgid ""
"On Windows: use ``\"utf-8\"`` by default, or ``\"mbcs\"`` if :c:member:"
"`~PyPreConfig.legacy_windows_fs_encoding` of :c:type:`PyPreConfig` is non-"
@@ -1067,51 +1162,52 @@ msgstr ""
"c:member:`~PyPreConfig.legacy_windows_fs_encoding` de :c:type:`PyPreConfig` "
"no es cero."
-#: ../Doc/c-api/init_config.rst:688
+#: ../Doc/c-api/init_config.rst:734
msgid "Default encoding on other platforms:"
msgstr "Codificación predeterminada en otras plataformas:"
-#: ../Doc/c-api/init_config.rst:690
+#: ../Doc/c-api/init_config.rst:736
msgid "``\"utf-8\"`` if :c:member:`PyPreConfig.utf8_mode` is non-zero."
msgstr ""
"``\"utf-8\"`` si :c:member:`PyPreConfig.utf8_mode` es distinto de cero."
-#: ../Doc/c-api/init_config.rst:691
+#: ../Doc/c-api/init_config.rst:737
+#, fuzzy
msgid ""
"``\"ascii\"`` if Python detects that ``nl_langinfo(CODESET)`` announces the "
-"ASCII encoding (or Roman8 encoding on HP-UX), whereas the ``mbstowcs()`` "
-"function decodes from a different encoding (usually Latin1)."
+"ASCII encoding, whereas the ``mbstowcs()`` function decodes from a different "
+"encoding (usually Latin1)."
msgstr ""
"``\"ascii\"`` si Python detecta que ``nl_langinfo(CODESET)`` anuncia la "
"codificación ASCII (o la codificación Roman8 en HP-UX), mientras que la "
"función ``mbstowcs()`` descodifica a partir de una codificación diferente "
"(generalmente Latin1)."
-#: ../Doc/c-api/init_config.rst:695
+#: ../Doc/c-api/init_config.rst:740
msgid "``\"utf-8\"`` if ``nl_langinfo(CODESET)`` returns an empty string."
msgstr "``\"utf-8\"`` si ``nl_langinfo(CODESET)`` retorna una cadena vacía."
-#: ../Doc/c-api/init_config.rst:696
+#: ../Doc/c-api/init_config.rst:741
msgid ""
"Otherwise, use the :term:`locale encoding`: ``nl_langinfo(CODESET)`` result."
msgstr ""
"De lo contrario, utilice el resultado :term:`locale encoding`: "
"``nl_langinfo(CODESET)``."
-#: ../Doc/c-api/init_config.rst:699
+#: ../Doc/c-api/init_config.rst:744
msgid ""
"At Python startup, the encoding name is normalized to the Python codec name. "
"For example, ``\"ANSI_X3.4-1968\"`` is replaced with ``\"ascii\"``."
msgstr ""
"Al inicio de Python, el nombre de codificación se normaliza al nombre del "
-"códec de Python. Por ejemplo, ``\"ANSI_X3.4-1968\"`` se reemplaza por ``"
-"\"ascii\"``."
+"códec de Python. Por ejemplo, ``\"ANSI_X3.4-1968\"`` se reemplaza por "
+"``\"ascii\"``."
-#: ../Doc/c-api/init_config.rst:702
+#: ../Doc/c-api/init_config.rst:747
msgid "See also the :c:member:`~PyConfig.filesystem_errors` member."
msgstr "Consulte también el miembro :c:member:`~PyConfig.filesystem_errors`."
-#: ../Doc/c-api/init_config.rst:706
+#: ../Doc/c-api/init_config.rst:751
msgid ""
":term:`Filesystem error handler `: :"
"func:`sys.getfilesystemencodeerrors`."
@@ -1119,47 +1215,47 @@ msgstr ""
":term:`Manejador de errores del sistema de archivos `: :func:`sys.getfilesystemencodeerrors`."
-#: ../Doc/c-api/init_config.rst:709
+#: ../Doc/c-api/init_config.rst:754
msgid ""
"On Windows: use ``\"surrogatepass\"`` by default, or ``\"replace\"`` if :c:"
"member:`~PyPreConfig.legacy_windows_fs_encoding` of :c:type:`PyPreConfig` is "
"non-zero."
msgstr ""
-"En Windows: utilice ``\"surrogatepass\"`` de forma predeterminada o ``"
-"\"replace\"`` si :c:member:`~PyPreConfig.legacy_windows_fs_encoding` de :c:"
+"En Windows: utilice ``\"surrogatepass\"`` de forma predeterminada o "
+"``\"replace\"`` si :c:member:`~PyPreConfig.legacy_windows_fs_encoding` de :c:"
"type:`PyPreConfig` no es cero."
-#: ../Doc/c-api/init_config.rst:713
+#: ../Doc/c-api/init_config.rst:758
msgid "On other platforms: use ``\"surrogateescape\"`` by default."
msgstr ""
"En otras plataformas: utilice ``\"surrogateescape\"`` de forma "
"predeterminada."
-#: ../Doc/c-api/init_config.rst:715
+#: ../Doc/c-api/init_config.rst:760
msgid "Supported error handlers:"
msgstr "Controladores de errores admitidos:"
-#: ../Doc/c-api/init_config.rst:717
+#: ../Doc/c-api/init_config.rst:762
msgid "``\"strict\"``"
msgstr "``\"strict\"``"
-#: ../Doc/c-api/init_config.rst:718
+#: ../Doc/c-api/init_config.rst:763
msgid "``\"surrogateescape\"``"
msgstr "``\"surrogateescape\"``"
-#: ../Doc/c-api/init_config.rst:719
+#: ../Doc/c-api/init_config.rst:764
msgid "``\"surrogatepass\"`` (only supported with the UTF-8 encoding)"
msgstr "``\"surrogatepass\"`` (solo compatible con la codificación UTF-8)"
-#: ../Doc/c-api/init_config.rst:721
+#: ../Doc/c-api/init_config.rst:766
msgid "See also the :c:member:`~PyConfig.filesystem_encoding` member."
msgstr "Consulte también el miembro :c:member:`~PyConfig.filesystem_encoding`."
-#: ../Doc/c-api/init_config.rst:726
+#: ../Doc/c-api/init_config.rst:771
msgid "Randomized hash function seed."
msgstr "Funciones de semillas aleatorias hash."
-#: ../Doc/c-api/init_config.rst:728
+#: ../Doc/c-api/init_config.rst:773
msgid ""
"If :c:member:`~PyConfig.use_hash_seed` is zero, a seed is chosen randomly at "
"Python startup, and :c:member:`~PyConfig.hash_seed` is ignored."
@@ -1167,22 +1263,22 @@ msgstr ""
"Si :c:member:`~PyConfig.use_hash_seed` es cero, se elige una semilla al azar "
"en el inicio de Python y se ignora :c:member:`~PyConfig.hash_seed`."
-#: ../Doc/c-api/init_config.rst:731
+#: ../Doc/c-api/init_config.rst:776
msgid "Set by the :envvar:`PYTHONHASHSEED` environment variable."
msgstr "Establecido por la variable de entorno :envvar:`PYTHONHASHSEED`."
-#: ../Doc/c-api/init_config.rst:733
+#: ../Doc/c-api/init_config.rst:778
msgid ""
"Default *use_hash_seed* value: ``-1`` in Python mode, ``0`` in isolated mode."
msgstr ""
"Valor predeterminado de *use_hash_seed*: ``-1`` en modo Python, ``0`` en "
"modo aislado."
-#: ../Doc/c-api/init_config.rst:738
+#: ../Doc/c-api/init_config.rst:783
msgid "Python home directory."
msgstr "Directorio de inicio de Python."
-#: ../Doc/c-api/init_config.rst:740
+#: ../Doc/c-api/init_config.rst:785
msgid ""
"If :c:func:`Py_SetPythonHome` has been called, use its argument if it is not "
"``NULL``."
@@ -1190,22 +1286,22 @@ msgstr ""
"Si se ha llamado a :c:func:`Py_SetPythonHome`, use su argumento si no es "
"``NULL``."
-#: ../Doc/c-api/init_config.rst:743
+#: ../Doc/c-api/init_config.rst:788
msgid "Set by the :envvar:`PYTHONHOME` environment variable."
msgstr "Establecido por la variable de entorno :envvar:`PYTHONHOME`."
-#: ../Doc/c-api/init_config.rst:747 ../Doc/c-api/init_config.rst:840
-#: ../Doc/c-api/init_config.rst:853 ../Doc/c-api/init_config.rst:942
-#: ../Doc/c-api/init_config.rst:969
+#: ../Doc/c-api/init_config.rst:792 ../Doc/c-api/init_config.rst:888
+#: ../Doc/c-api/init_config.rst:908 ../Doc/c-api/init_config.rst:994
+#: ../Doc/c-api/init_config.rst:1024
msgid "Part of the :ref:`Python Path Configuration ` input."
msgstr ""
"Parte de la entrada :ref:`Python Path Configuration `."
-#: ../Doc/c-api/init_config.rst:751
+#: ../Doc/c-api/init_config.rst:796
msgid "If non-zero, profile import time."
msgstr "Si no es cero, el tiempo de importación del perfil."
-#: ../Doc/c-api/init_config.rst:753
+#: ../Doc/c-api/init_config.rst:798
msgid ""
"Set the ``1`` by the :option:`-X importtime <-X>` option and the :envvar:"
"`PYTHONPROFILEIMPORTTIME` environment variable."
@@ -1213,23 +1309,25 @@ msgstr ""
"Configure el ``1`` mediante la opción :option:`-X importtime <-X>` y la "
"variable de entorno :envvar:`PYTHONPROFILEIMPORTTIME`."
-#: ../Doc/c-api/init_config.rst:760
+#: ../Doc/c-api/init_config.rst:805
msgid "Enter interactive mode after executing a script or a command."
msgstr ""
"Ingresa al modo interactivo después de ejecutar un script o un comando."
-#: ../Doc/c-api/init_config.rst:762
+#: ../Doc/c-api/init_config.rst:807
+#, fuzzy
msgid ""
-"If greater than 0, enable inspect: when a script is passed as first argument "
-"or the -c option is used, enter interactive mode after executing the script "
-"or the command, even when :data:`sys.stdin` does not appear to be a terminal."
+"If greater than ``0``, enable inspect: when a script is passed as first "
+"argument or the -c option is used, enter interactive mode after executing "
+"the script or the command, even when :data:`sys.stdin` does not appear to be "
+"a terminal."
msgstr ""
"Si es mayor que 0, habilite inspeccionar: cuando se pasa una secuencia de "
"comandos como primer argumento o se usa la opción -c, ingrese al modo "
"interactivo después de ejecutar la secuencia de comandos o el comando, "
"incluso cuando :data:`sys.stdin` no parezca ser una terminal."
-#: ../Doc/c-api/init_config.rst:767
+#: ../Doc/c-api/init_config.rst:812
msgid ""
"Incremented by the :option:`-i` command line option. Set to ``1`` if the :"
"envvar:`PYTHONINSPECT` environment variable is non-empty."
@@ -1237,37 +1335,50 @@ msgstr ""
"Incrementado por la opción de línea de comando :option:`-i`. Establecido en "
"``1`` si la variable de entorno :envvar:`PYTHONINSPECT` no está vacía."
-#: ../Doc/c-api/init_config.rst:774
+#: ../Doc/c-api/init_config.rst:819
msgid "Install Python signal handlers?"
msgstr "¿Instalar controladores de señales de Python?"
-#: ../Doc/c-api/init_config.rst:776 ../Doc/c-api/init_config.rst:916
-#: ../Doc/c-api/init_config.rst:940 ../Doc/c-api/init_config.rst:1113
+#: ../Doc/c-api/init_config.rst:821 ../Doc/c-api/init_config.rst:971
+#: ../Doc/c-api/init_config.rst:992 ../Doc/c-api/init_config.rst:1171
msgid "Default: ``1`` in Python mode, ``0`` in isolated mode."
msgstr "Por defecto: ``1`` en modo Python, ``0`` en modo aislado."
-#: ../Doc/c-api/init_config.rst:780
-msgid "If greater than 0, enable the interactive mode (REPL)."
+#: ../Doc/c-api/init_config.rst:825
+#, fuzzy
+msgid "If greater than ``0``, enable the interactive mode (REPL)."
msgstr "Si es mayor que 0, habilita el modo interactivo (REPL)."
-#: ../Doc/c-api/init_config.rst:782
+#: ../Doc/c-api/init_config.rst:827
msgid "Incremented by the :option:`-i` command line option."
msgstr "Incrementado por la opción de línea de comando :option:`-i`."
-#: ../Doc/c-api/init_config.rst:788
-msgid "If greater than 0, enable isolated mode:"
+#: ../Doc/c-api/init_config.rst:833
+#, fuzzy
+msgid "If greater than ``0``, enable isolated mode:"
msgstr "Si es mayor que 0, habilite el modo aislado:"
-#: ../Doc/c-api/init_config.rst:790
+#: ../Doc/c-api/init_config.rst:835
msgid ""
-":data:`sys.path` contains neither the script's directory (computed from "
-"``argv[0]`` or the current directory) nor the user's site-packages directory."
+"Set :c:member:`~PyConfig.safe_path` to ``1``: don't prepend a potentially "
+"unsafe path to :data:`sys.path` at Python startup."
msgstr ""
-":data:`sys.path` no contiene ni el directorio del script (calculado a partir "
-"de ``argv[0]`` o el directorio actual) ni el directorio de paquetes del "
-"sitio del usuario."
-#: ../Doc/c-api/init_config.rst:793
+#: ../Doc/c-api/init_config.rst:838 ../Doc/c-api/init_config.rst:1469
+#, fuzzy
+msgid "Set :c:member:`~PyConfig.use_environment` to ``0``."
+msgstr ":c:member:`PyConfig.use_environment`"
+
+#: ../Doc/c-api/init_config.rst:839
+#, fuzzy
+msgid ""
+"Set :c:member:`~PyConfig.user_site_directory` to ``0``: don't add the user "
+"site directory to :data:`sys.path`."
+msgstr ""
+"Si es distinto de cero, agregue el directorio del sitio del usuario a :data:"
+"`sys.path`."
+
+#: ../Doc/c-api/init_config.rst:841
msgid ""
"Python REPL doesn't import :mod:`readline` nor enable default readline "
"configuration on interactive prompts."
@@ -1275,19 +1386,17 @@ msgstr ""
"Python REPL no importa :mod:`readline` ni habilita la configuración "
"predeterminada de readline en mensajes interactivos."
-#: ../Doc/c-api/init_config.rst:795
-msgid ""
-"Set :c:member:`~PyConfig.use_environment` and :c:member:`~PyConfig."
-"user_site_directory` to 0."
+#: ../Doc/c-api/init_config.rst:844
+#, fuzzy
+msgid "Set to ``1`` by the :option:`-I` command line option."
msgstr ""
-"Establece :c:member:`~PyConfig.use_environment` y :c:member:`~PyConfig."
-"user_site_directory` en 0."
+"Establecido en ``1`` mediante la opción de línea de comando :option:`-x`."
-#: ../Doc/c-api/init_config.rst:800
+#: ../Doc/c-api/init_config.rst:848
msgid "See also :c:member:`PyPreConfig.isolated`."
msgstr "Ver también :c:member:`PyPreConfig.isolated`."
-#: ../Doc/c-api/init_config.rst:804
+#: ../Doc/c-api/init_config.rst:852
msgid ""
"If non-zero, use :class:`io.FileIO` instead of :class:`io.WindowsConsoleIO` "
"for :data:`sys.stdin`, :data:`sys.stdout` and :data:`sys.stderr`."
@@ -1296,7 +1405,7 @@ msgstr ""
"WindowsConsoleIO` para :data:`sys.stdin`, :data:`sys.stdout` y :data:`sys."
"stderr`."
-#: ../Doc/c-api/init_config.rst:808
+#: ../Doc/c-api/init_config.rst:856
msgid ""
"Set to ``1`` if the :envvar:`PYTHONLEGACYWINDOWSSTDIO` environment variable "
"is set to a non-empty string."
@@ -1304,13 +1413,13 @@ msgstr ""
"Establecido en ``1`` si la variable de entorno :envvar:"
"`PYTHONLEGACYWINDOWSSTDIO` está establecida en una cadena no vacía."
-#: ../Doc/c-api/init_config.rst:816
+#: ../Doc/c-api/init_config.rst:864
msgid "See also the :pep:`528` (Change Windows console encoding to UTF-8)."
msgstr ""
"Consulte también :pep:`528` (Cambiar la codificación de la consola de "
"Windows a UTF-8)."
-#: ../Doc/c-api/init_config.rst:820
+#: ../Doc/c-api/init_config.rst:868
msgid ""
"If non-zero, dump statistics on :ref:`Python pymalloc memory allocator "
"` at exit."
@@ -1318,12 +1427,12 @@ msgstr ""
"Si no es cero, volcar las estadísticas en :ref:`Asignador de memoria Python "
"pymalloc ` en la salida."
-#: ../Doc/c-api/init_config.rst:823
+#: ../Doc/c-api/init_config.rst:871
msgid "Set to ``1`` by the :envvar:`PYTHONMALLOCSTATS` environment variable."
msgstr ""
"Establecido en ``1`` por la variable de entorno :envvar:`PYTHONMALLOCSTATS`."
-#: ../Doc/c-api/init_config.rst:825
+#: ../Doc/c-api/init_config.rst:873
msgid ""
"The option is ignored if Python is :option:`configured using the --without-"
"pymalloc option <--without-pymalloc>`."
@@ -1331,27 +1440,36 @@ msgstr ""
"La opción se ignora si Python es :option:`configurado usando la opción --"
"without-pymalloc <--without-pymalloc>`."
-#: ../Doc/c-api/init_config.rst:832
+#: ../Doc/c-api/init_config.rst:880
msgid "Platform library directory name: :data:`sys.platlibdir`."
msgstr ""
"Nombre del directorio de la biblioteca de la plataforma: :data:`sys."
"platlibdir`."
-#: ../Doc/c-api/init_config.rst:834
+#: ../Doc/c-api/init_config.rst:882
msgid "Set by the :envvar:`PYTHONPLATLIBDIR` environment variable."
msgstr "Establecido por la variable de entorno :envvar:`PYTHONPLATLIBDIR`."
-#: ../Doc/c-api/init_config.rst:836
+#: ../Doc/c-api/init_config.rst:884
+#, fuzzy
msgid ""
"Default: value of the ``PLATLIBDIR`` macro which is set by the :option:"
-"`configure --with-platlibdir option <--with-platlibdir>` (default: ``\"lib"
-"\"``)."
+"`configure --with-platlibdir option <--with-platlibdir>` (default: "
+"``\"lib\"``, or ``\"DLLs\"`` on Windows)."
msgstr ""
"Predeterminado: valor de la macro ``PLATLIBDIR`` que establece la :option:"
-"`opción configure --with-platlibdir <--with-platlibdir>` (predeterminado: ``"
-"\"lib\"``)."
+"`opción configure --with-platlibdir <--with-platlibdir>` (predeterminado: "
+"``\"lib\"``)."
+
+#: ../Doc/c-api/init_config.rst:892
+msgid ""
+"This macro is now used on Windows to locate the standard library extension "
+"modules, typically under ``DLLs``. However, for compatibility, note that "
+"this value is ignored for any non-standard layouts, including in-tree builds "
+"and virtual environments."
+msgstr ""
-#: ../Doc/c-api/init_config.rst:846
+#: ../Doc/c-api/init_config.rst:901
msgid ""
"Module search paths (:data:`sys.path`) as a string separated by ``DELIM`` (:"
"data:`os.path.pathsep`)."
@@ -1359,27 +1477,28 @@ msgstr ""
"Rutas de búsqueda de módulos (:data:`sys.path`) como una cadena separada por "
"``DELIM`` (:data:`os.path.pathsep`)."
-#: ../Doc/c-api/init_config.rst:849
+#: ../Doc/c-api/init_config.rst:904
msgid "Set by the :envvar:`PYTHONPATH` environment variable."
msgstr "Establecido por la variable de entorno :envvar:`PYTHONPATH`."
-#: ../Doc/c-api/init_config.rst:858
+#: ../Doc/c-api/init_config.rst:913
msgid "Module search paths: :data:`sys.path`."
msgstr "Rutas de búsqueda del módulo: :data:`sys.path`."
-#: ../Doc/c-api/init_config.rst:860
+#: ../Doc/c-api/init_config.rst:915
+#, fuzzy
msgid ""
-"If :c:member:`~PyConfig.module_search_paths_set` is equal to 0, the function "
-"calculating the :ref:`Python Path Configuration ` "
-"overrides the :c:member:`~PyConfig.module_search_paths` and sets :c:member:"
-"`~PyConfig.module_search_paths_set` to ``1``."
+"If :c:member:`~PyConfig.module_search_paths_set` is equal to ``0``, :c:func:"
+"`Py_InitializeFromConfig` will replace :c:member:`~PyConfig."
+"module_search_paths` and sets :c:member:`~PyConfig.module_search_paths_set` "
+"to ``1``."
msgstr ""
"Si :c:member:`~PyConfig.module_search_paths_set` es igual a 0, la función "
"que calcula :ref:`Python Path Configuration ` anula :c:"
"member:`~PyConfig.module_search_paths` y establece :c:member:`~PyConfig."
"module_search_paths_set` en ``1``."
-#: ../Doc/c-api/init_config.rst:865
+#: ../Doc/c-api/init_config.rst:920
msgid ""
"Default: empty list (``module_search_paths``) and ``0`` "
"(``module_search_paths_set``)."
@@ -1387,24 +1506,24 @@ msgstr ""
"Por defecto: lista vacía (``module_search_paths``) y ``0`` "
"(``module_search_paths_set``)."
-#: ../Doc/c-api/init_config.rst:872
+#: ../Doc/c-api/init_config.rst:927
msgid "Compilation optimization level:"
msgstr "Nivel de optimización de compilación:"
-#: ../Doc/c-api/init_config.rst:874
+#: ../Doc/c-api/init_config.rst:929
msgid "``0``: Peephole optimizer, set ``__debug__`` to ``True``."
msgstr "``0``: Optimizador de mirilla, configure ``__debug__`` en ``True``."
-#: ../Doc/c-api/init_config.rst:875
+#: ../Doc/c-api/init_config.rst:930
msgid "``1``: Level 0, remove assertions, set ``__debug__`` to ``False``."
msgstr ""
"``1``: Nivel 0, elimina las aserciones, establece ``__debug__`` en ``False``."
-#: ../Doc/c-api/init_config.rst:876
+#: ../Doc/c-api/init_config.rst:931
msgid "``2``: Level 1, strip docstrings."
msgstr "``2``: Nivel 1, elimina docstrings."
-#: ../Doc/c-api/init_config.rst:878
+#: ../Doc/c-api/init_config.rst:933
msgid ""
"Incremented by the :option:`-O` command line option. Set to the :envvar:"
"`PYTHONOPTIMIZE` environment variable value."
@@ -1412,7 +1531,7 @@ msgstr ""
"Incrementado por la opción de línea de comando :option:`-O`. Establecido en "
"el valor de la variable de entorno :envvar:`PYTHONOPTIMIZE`."
-#: ../Doc/c-api/init_config.rst:885
+#: ../Doc/c-api/init_config.rst:940
msgid ""
"The list of the original command line arguments passed to the Python "
"executable: :data:`sys.orig_argv`."
@@ -1420,7 +1539,7 @@ msgstr ""
"La lista de los argumentos originales de la línea de comandos pasados al "
"ejecutable de Python: :data:`sys.orig_argv`."
-#: ../Doc/c-api/init_config.rst:888
+#: ../Doc/c-api/init_config.rst:943
msgid ""
"If :c:member:`~PyConfig.orig_argv` list is empty and :c:member:`~PyConfig."
"argv` is not a list only containing an empty string, :c:func:`PyConfig_Read` "
@@ -1434,7 +1553,7 @@ msgstr ""
"orig_argv` antes de modificar :c:member:`~PyConfig.argv` (si :c:member:"
"`~PyConfig.parse_argv` no es cero)."
-#: ../Doc/c-api/init_config.rst:895
+#: ../Doc/c-api/init_config.rst:950
msgid ""
"See also the :c:member:`~PyConfig.argv` member and the :c:func:"
"`Py_GetArgcArgv` function."
@@ -1442,16 +1561,16 @@ msgstr ""
"Consulte también el miembro :c:member:`~PyConfig.argv` y la función :c:func:"
"`Py_GetArgcArgv`."
-#: ../Doc/c-api/init_config.rst:898 ../Doc/c-api/init_config.rst:1148
-#: ../Doc/c-api/init_config.rst:1167
+#: ../Doc/c-api/init_config.rst:953 ../Doc/c-api/init_config.rst:1206
+#: ../Doc/c-api/init_config.rst:1225
msgid "Default: empty list."
msgstr "Predeterminado: lista vacía."
-#: ../Doc/c-api/init_config.rst:904
+#: ../Doc/c-api/init_config.rst:959
msgid "Parse command line arguments?"
msgstr "¿Analizar los argumentos de la línea de comando?"
-#: ../Doc/c-api/init_config.rst:906
+#: ../Doc/c-api/init_config.rst:961
msgid ""
"If equals to ``1``, parse :c:member:`~PyConfig.argv` the same way the "
"regular Python parses :ref:`command line arguments `, and "
@@ -1461,7 +1580,7 @@ msgstr ""
"que Python normal analiza :ref:`argumentos de línea de comando ` y elimina los argumentos de Python de :c:member:`~PyConfig.argv`."
-#: ../Doc/c-api/init_config.rst:918
+#: ../Doc/c-api/init_config.rst:973
msgid ""
"The :c:member:`PyConfig.argv` arguments are now only parsed if :c:member:"
"`PyConfig.parse_argv` equals to ``1``."
@@ -1469,16 +1588,17 @@ msgstr ""
"Los argumentos :c:member:`PyConfig.argv` ahora solo se analizan si :c:member:"
"`PyConfig.parse_argv` es igual a ``1``."
-#: ../Doc/c-api/init_config.rst:924
+#: ../Doc/c-api/init_config.rst:979
+#, fuzzy
msgid ""
-"Parser debug mode. If greater than 0, turn on parser debugging output (for "
-"expert only, depending on compilation options)."
+"Parser debug mode. If greater than ``0``, turn on parser debugging output "
+"(for expert only, depending on compilation options)."
msgstr ""
"Modo de depuración del analizador. Si es mayor que 0, active la salida de "
"depuración del analizador (solo para expertos, según las opciones de "
"compilación)."
-#: ../Doc/c-api/init_config.rst:927
+#: ../Doc/c-api/init_config.rst:982
msgid ""
"Incremented by the :option:`-d` command line option. Set to the :envvar:"
"`PYTHONDEBUG` environment variable value."
@@ -1486,21 +1606,21 @@ msgstr ""
"Incrementado por la opción de línea de comando :option:`-d`. Establecido en "
"el valor de la variable de entorno :envvar:`PYTHONDEBUG`."
-#: ../Doc/c-api/init_config.rst:934
+#: ../Doc/c-api/init_config.rst:989
+#, fuzzy
msgid ""
-"On Unix, if non-zero, calculating the :ref:`Python Path Configuration ` can log warnings into ``stderr``. If equals to 0, suppress "
-"these warnings."
+"If non-zero, calculation of path configuration is allowed to log warnings "
+"into ``stderr``. If equals to ``0``, suppress these warnings."
msgstr ""
"En Unix, si es distinto de cero, el cálculo de :ref:`Python Path "
"Configuration ` puede registrar advertencias en "
"``stderr``. Si es igual a 0, suprima estas advertencias."
-#: ../Doc/c-api/init_config.rst:938
-msgid "It has no effect on Windows."
-msgstr "No tiene ningún efecto en Windows."
+#: ../Doc/c-api/init_config.rst:996
+msgid "Now also applies on Windows."
+msgstr ""
-#: ../Doc/c-api/init_config.rst:946
+#: ../Doc/c-api/init_config.rst:1001
msgid ""
"The site-specific directory prefix where the platform independent Python "
"files are installed: :data:`sys.prefix`."
@@ -1508,7 +1628,7 @@ msgstr ""
"El prefijo de directorio específico del sitio donde se instalan los archivos "
"Python independientes de la plataforma: :data:`sys.prefix`."
-#: ../Doc/c-api/init_config.rst:955
+#: ../Doc/c-api/init_config.rst:1010
msgid ""
"Program name used to initialize :c:member:`~PyConfig.executable` and in "
"early error messages during Python initialization."
@@ -1517,17 +1637,17 @@ msgstr ""
"executable` y en los primeros mensajes de error durante la inicialización de "
"Python."
-#: ../Doc/c-api/init_config.rst:958
+#: ../Doc/c-api/init_config.rst:1013
msgid "If :func:`Py_SetProgramName` has been called, use its argument."
msgstr "Si se ha llamado a :func:`Py_SetProgramName`, usa su argumento."
-#: ../Doc/c-api/init_config.rst:959
+#: ../Doc/c-api/init_config.rst:1014
msgid "On macOS, use :envvar:`PYTHONEXECUTABLE` environment variable if set."
msgstr ""
"En macOS, usa la variable de entorno :envvar:`PYTHONEXECUTABLE` si está "
"configurada."
-#: ../Doc/c-api/init_config.rst:960
+#: ../Doc/c-api/init_config.rst:1015
msgid ""
"If the ``WITH_NEXT_FRAMEWORK`` macro is defined, use :envvar:"
"`__PYVENV_LAUNCHER__` environment variable if set."
@@ -1535,14 +1655,14 @@ msgstr ""
"Si se define la macro ``WITH_NEXT_FRAMEWORK``, utiliza la variable de "
"entorno :envvar:`__PYVENV_LAUNCHER__` si está configurada."
-#: ../Doc/c-api/init_config.rst:962
+#: ../Doc/c-api/init_config.rst:1017
msgid ""
"Use ``argv[0]`` of :c:member:`~PyConfig.argv` if available and non-empty."
msgstr ""
"Utiliza ``argv[0]`` de :c:member:`~PyConfig.argv` si está disponible y no "
"está vacío."
-#: ../Doc/c-api/init_config.rst:964
+#: ../Doc/c-api/init_config.rst:1019
msgid ""
"Otherwise, use ``L\"python\"`` on Windows, or ``L\"python3\"`` on other "
"platforms."
@@ -1550,7 +1670,7 @@ msgstr ""
"De lo contrario, utiliza ``L\"python\"`` en Windows o ``L\"python3\"`` en "
"otras plataformas."
-#: ../Doc/c-api/init_config.rst:973
+#: ../Doc/c-api/init_config.rst:1028
msgid ""
"Directory where cached ``.pyc`` files are written: :data:`sys."
"pycache_prefix`."
@@ -1558,7 +1678,7 @@ msgstr ""
"Directorio donde se escriben los archivos ``.pyc`` almacenados en caché: :"
"data:`sys.pycache_prefix`."
-#: ../Doc/c-api/init_config.rst:976
+#: ../Doc/c-api/init_config.rst:1031
msgid ""
"Set by the :option:`-X pycache_prefix=PATH <-X>` command line option and "
"the :envvar:`PYTHONPYCACHEPREFIX` environment variable."
@@ -1567,62 +1687,70 @@ msgstr ""
"pycache_prefix=PATH <-X>` y la variable de entorno :envvar:"
"`PYTHONPYCACHEPREFIX`."
-#: ../Doc/c-api/init_config.rst:979
+#: ../Doc/c-api/init_config.rst:1034
msgid "If ``NULL``, :data:`sys.pycache_prefix` is set to ``None``."
msgstr "Si ``NULL``, :data:`sys.pycache_prefix` es establecido a ``None``."
-#: ../Doc/c-api/init_config.rst:985
+#: ../Doc/c-api/init_config.rst:1040
+#, fuzzy
msgid ""
-"Quiet mode. If greater than 0, don't display the copyright and version at "
-"Python startup in interactive mode."
+"Quiet mode. If greater than ``0``, don't display the copyright and version "
+"at Python startup in interactive mode."
msgstr ""
"Modo silencioso. Si es mayor que 0, no muestre los derechos de autor y la "
"versión al inicio de Python en modo interactivo."
-#: ../Doc/c-api/init_config.rst:988
+#: ../Doc/c-api/init_config.rst:1043
msgid "Incremented by the :option:`-q` command line option."
msgstr "Incrementado por la opción de línea de comando :option:`-q`."
-#: ../Doc/c-api/init_config.rst:994
+#: ../Doc/c-api/init_config.rst:1049
msgid "Value of the :option:`-c` command line option."
msgstr "Valor de la opción de línea de comando :option:`-c`."
-#: ../Doc/c-api/init_config.rst:996 ../Doc/c-api/init_config.rst:1008
-#: ../Doc/c-api/init_config.rst:1016
+#: ../Doc/c-api/init_config.rst:1051 ../Doc/c-api/init_config.rst:1072
msgid "Used by :c:func:`Py_RunMain`."
msgstr "Usado por :c:func:`Py_RunMain`."
-#: ../Doc/c-api/init_config.rst:1002
+#: ../Doc/c-api/init_config.rst:1057
+#, fuzzy
msgid ""
"Filename passed on the command line: trailing command line argument without :"
-"option:`-c` or :option:`-m`."
+"option:`-c` or :option:`-m`. It is used by the :c:func:`Py_RunMain` function."
msgstr ""
"Nombre de archivo pasado en la línea de comando: argumento de línea de "
"comando final sin :option:`-c` o :option:`-m`."
-#: ../Doc/c-api/init_config.rst:1005
+#: ../Doc/c-api/init_config.rst:1061
+#, fuzzy
msgid ""
"For example, it is set to ``script.py`` by the ``python3 script.py arg`` "
-"command."
+"command line."
msgstr ""
"Por ejemplo, el comando ``python3 script.py arg`` lo establece en ``script."
"py``."
-#: ../Doc/c-api/init_config.rst:1014
+#: ../Doc/c-api/init_config.rst:1064
+#, fuzzy
+msgid "See also the :c:member:`PyConfig.skip_source_first_line` option."
+msgstr "Consulte también el miembro :c:member:`~PyConfig.orig_argv`."
+
+#: ../Doc/c-api/init_config.rst:1070
msgid "Value of the :option:`-m` command line option."
msgstr "Valor de la opción de línea de comando :option:`-m`."
-#: ../Doc/c-api/init_config.rst:1022
+#: ../Doc/c-api/init_config.rst:1078
msgid "Show total reference count at exit?"
msgstr "¿Mostrar el recuento de referencia total en la salida?"
-#: ../Doc/c-api/init_config.rst:1024
-msgid "Set to 1 by :option:`-X showrefcount <-X>` command line option."
+#: ../Doc/c-api/init_config.rst:1080
+#, fuzzy
+msgid "Set to ``1`` by :option:`-X showrefcount <-X>` command line option."
msgstr ""
"Establecido en 1 por la opción de línea de comandos :option:`-X showrefcount "
"<-X>`."
-#: ../Doc/c-api/init_config.rst:1026
+#: ../Doc/c-api/init_config.rst:1082
msgid ""
"Need a :ref:`debug build of Python ` (the ``Py_REF_DEBUG`` "
"macro must be defined)."
@@ -1630,11 +1758,11 @@ msgstr ""
"Necesita una :ref:`compilación de depuración de Python ` (se "
"debe definir la macro ``Py_REF_DEBUG``)."
-#: ../Doc/c-api/init_config.rst:1033
+#: ../Doc/c-api/init_config.rst:1089
msgid "Import the :mod:`site` module at startup?"
msgstr "¿Importar el módulo :mod:`site` al inicio?"
-#: ../Doc/c-api/init_config.rst:1035
+#: ../Doc/c-api/init_config.rst:1091
msgid ""
"If equal to zero, disable the import of the module site and the site-"
"dependent manipulations of :data:`sys.path` that it entails."
@@ -1642,7 +1770,7 @@ msgstr ""
"Si es igual a cero, desactive la importación del sitio del módulo y las "
"manipulaciones dependientes del sitio de :data:`sys.path` que conlleva."
-#: ../Doc/c-api/init_config.rst:1038
+#: ../Doc/c-api/init_config.rst:1094
msgid ""
"Also disable these manipulations if the :mod:`site` module is explicitly "
"imported later (call :func:`site.main` if you want them to be triggered)."
@@ -1650,12 +1778,12 @@ msgstr ""
"También deshabilite estas manipulaciones si el módulo :mod:`site` se importa "
"explícitamente más tarde (llame a :func:`site.main` si desea que se activen)."
-#: ../Doc/c-api/init_config.rst:1041
+#: ../Doc/c-api/init_config.rst:1097
msgid "Set to ``0`` by the :option:`-S` command line option."
msgstr ""
"Establecido en ``0`` mediante la opción de línea de comando :option:`-S`."
-#: ../Doc/c-api/init_config.rst:1043
+#: ../Doc/c-api/init_config.rst:1099
msgid ""
":data:`sys.flags.no_site` is set to the inverted value of :c:member:"
"`~PyConfig.site_import`."
@@ -1663,7 +1791,7 @@ msgstr ""
":data:`sys.flags.no_site` se establece en el valor invertido de :c:member:"
"`~PyConfig.site_import`."
-#: ../Doc/c-api/init_config.rst:1050
+#: ../Doc/c-api/init_config.rst:1106
msgid ""
"If non-zero, skip the first line of the :c:member:`PyConfig.run_filename` "
"source."
@@ -1671,7 +1799,7 @@ msgstr ""
"Si no es cero, omita la primera línea de la fuente :c:member:`PyConfig."
"run_filename`."
-#: ../Doc/c-api/init_config.rst:1053
+#: ../Doc/c-api/init_config.rst:1109
msgid ""
"It allows the usage of non-Unix forms of ``#!cmd``. This is intended for a "
"DOS specific hack only."
@@ -1679,22 +1807,22 @@ msgstr ""
"Permite el uso de formas de ``#!cmd`` que no son Unix. Esto está destinado "
"únicamente a un truco específico de DOS."
-#: ../Doc/c-api/init_config.rst:1056
+#: ../Doc/c-api/init_config.rst:1112
msgid "Set to ``1`` by the :option:`-x` command line option."
msgstr ""
"Establecido en ``1`` mediante la opción de línea de comando :option:`-x`."
-#: ../Doc/c-api/init_config.rst:1063
+#: ../Doc/c-api/init_config.rst:1119
msgid ""
"Encoding and encoding errors of :data:`sys.stdin`, :data:`sys.stdout` and :"
-"data:`sys.stderr` (but :data:`sys.stderr` always uses ``\"backslashreplace"
-"\"`` error handler)."
+"data:`sys.stderr` (but :data:`sys.stderr` always uses "
+"``\"backslashreplace\"`` error handler)."
msgstr ""
"Codificación y errores de codificación de :data:`sys.stdin`, :data:`sys."
"stdout` y :data:`sys.stderr` (pero :data:`sys.stderr` siempre usa el "
"controlador de errores ``\"backslashreplace\"``)."
-#: ../Doc/c-api/init_config.rst:1067
+#: ../Doc/c-api/init_config.rst:1123
msgid ""
"If :c:func:`Py_SetStandardStreamEncoding` has been called, use its *error* "
"and *errors* arguments if they are not ``NULL``."
@@ -1702,34 +1830,34 @@ msgstr ""
"Si se ha llamado a :c:func:`Py_SetStandardStreamEncoding`, utilice sus "
"argumentos *error* y *errors* si no son ``NULL``."
-#: ../Doc/c-api/init_config.rst:1070
+#: ../Doc/c-api/init_config.rst:1126
msgid ""
"Use the :envvar:`PYTHONIOENCODING` environment variable if it is non-empty."
msgstr ""
"Utilice la variable de entorno :envvar:`PYTHONIOENCODING` si no está vacía."
-#: ../Doc/c-api/init_config.rst:1073
+#: ../Doc/c-api/init_config.rst:1129
msgid "Default encoding:"
msgstr "Codificación predeterminada:"
-#: ../Doc/c-api/init_config.rst:1075
+#: ../Doc/c-api/init_config.rst:1131
msgid "``\"UTF-8\"`` if :c:member:`PyPreConfig.utf8_mode` is non-zero."
msgstr ""
"``\"UTF-8\"`` si :c:member:`PyPreConfig.utf8_mode` es distinto de cero."
-#: ../Doc/c-api/init_config.rst:1076
+#: ../Doc/c-api/init_config.rst:1132
msgid "Otherwise, use the :term:`locale encoding`."
msgstr "De lo contrario, usa el :term:`locale encoding`."
-#: ../Doc/c-api/init_config.rst:1078
+#: ../Doc/c-api/init_config.rst:1134
msgid "Default error handler:"
msgstr "Manejador de errores predeterminado:"
-#: ../Doc/c-api/init_config.rst:1080
+#: ../Doc/c-api/init_config.rst:1136
msgid "On Windows: use ``\"surrogateescape\"``."
msgstr "En Windows: use ``\"surrogateescape\"``."
-#: ../Doc/c-api/init_config.rst:1081
+#: ../Doc/c-api/init_config.rst:1137
msgid ""
"``\"surrogateescape\"`` if :c:member:`PyPreConfig.utf8_mode` is non-zero, or "
"if the LC_CTYPE locale is \"C\" or \"POSIX\"."
@@ -1737,19 +1865,19 @@ msgstr ""
"``\"surrogateescape\"`` si :c:member:`PyPreConfig.utf8_mode` no es cero o si "
"la configuración regional LC_CTYPE es \"C\" o \"POSIX\"."
-#: ../Doc/c-api/init_config.rst:1083
+#: ../Doc/c-api/init_config.rst:1139
msgid "``\"strict\"`` otherwise."
msgstr "``\"strict\"`` de lo contrario."
-#: ../Doc/c-api/init_config.rst:1087
+#: ../Doc/c-api/init_config.rst:1143
msgid "Enable tracemalloc?"
msgstr "¿Habilitar tracemalloc?"
-#: ../Doc/c-api/init_config.rst:1089
+#: ../Doc/c-api/init_config.rst:1145
msgid "If non-zero, call :func:`tracemalloc.start` at startup."
msgstr "Si no es cero, llama a :func:`tracemalloc.start` al inicio."
-#: ../Doc/c-api/init_config.rst:1091
+#: ../Doc/c-api/init_config.rst:1147
msgid ""
"Set by :option:`-X tracemalloc=N <-X>` command line option and by the :"
"envvar:`PYTHONTRACEMALLOC` environment variable."
@@ -1757,11 +1885,11 @@ msgstr ""
"Establecido por la opción de línea de comando :option:`-X tracemalloc=N <-"
"X>` y por la variable de entorno :envvar:`PYTHONTRACEMALLOC`."
-#: ../Doc/c-api/init_config.rst:1098
+#: ../Doc/c-api/init_config.rst:1154
msgid "Use :ref:`environment variables `?"
msgstr "¿Utiliza :ref:`variables de entorno `?"
-#: ../Doc/c-api/init_config.rst:1100
+#: ../Doc/c-api/init_config.rst:1156
msgid ""
"If equals to zero, ignore the :ref:`environment variables `."
@@ -1769,26 +1897,33 @@ msgstr ""
"Si es igual a cero, ignora las :ref:`variables de entorno `."
-#: ../Doc/c-api/init_config.rst:1107
+#: ../Doc/c-api/init_config.rst:1159
+#, fuzzy
+msgid "Set to ``0`` by the :option:`-E` environment variable."
+msgstr ""
+"Establecido en ``0`` por la variable de entorno :envvar:`PYTHONNOUSERSITE`."
+
+#: ../Doc/c-api/init_config.rst:1165
msgid "If non-zero, add the user site directory to :data:`sys.path`."
msgstr ""
"Si es distinto de cero, agregue el directorio del sitio del usuario a :data:"
"`sys.path`."
-#: ../Doc/c-api/init_config.rst:1109
+#: ../Doc/c-api/init_config.rst:1167
msgid "Set to ``0`` by the :option:`-s` and :option:`-I` command line options."
msgstr ""
"Establecido en ``0`` por las opciones de línea de comando :option:`-s` y :"
"option:`-I`."
-#: ../Doc/c-api/init_config.rst:1111
+#: ../Doc/c-api/init_config.rst:1169
msgid "Set to ``0`` by the :envvar:`PYTHONNOUSERSITE` environment variable."
msgstr ""
"Establecido en ``0`` por la variable de entorno :envvar:`PYTHONNOUSERSITE`."
-#: ../Doc/c-api/init_config.rst:1117
+#: ../Doc/c-api/init_config.rst:1175
+#, fuzzy
msgid ""
-"Verbose mode. If greater than 0, print a message each time a module is "
+"Verbose mode. If greater than ``0``, print a message each time a module is "
"imported, showing the place (filename or built-in module) from which it is "
"loaded."
msgstr ""
@@ -1796,26 +1931,27 @@ msgstr ""
"importe un módulo, mostrando el lugar (nombre de archivo o módulo integrado) "
"desde el que se carga."
-#: ../Doc/c-api/init_config.rst:1121
+#: ../Doc/c-api/init_config.rst:1179
+#, fuzzy
msgid ""
-"If greater or equal to 2, print a message for each file that is checked for "
-"when searching for a module. Also provides information on module cleanup at "
-"exit."
+"If greater or equal to ``2``, print a message for each file that is checked "
+"for when searching for a module. Also provides information on module cleanup "
+"at exit."
msgstr ""
"Si es mayor o igual a 2, imprima un mensaje para cada archivo que se "
"compruebe al buscar un módulo. También proporciona información sobre la "
"limpieza del módulo al salir."
-#: ../Doc/c-api/init_config.rst:1125
+#: ../Doc/c-api/init_config.rst:1183
msgid "Incremented by the :option:`-v` command line option."
msgstr "Incrementado por la opción de línea de comando :option:`-v`."
-#: ../Doc/c-api/init_config.rst:1127
+#: ../Doc/c-api/init_config.rst:1185
msgid "Set to the :envvar:`PYTHONVERBOSE` environment variable value."
msgstr ""
"Establecido en el valor de la variable de entorno :envvar:`PYTHONVERBOSE`."
-#: ../Doc/c-api/init_config.rst:1133
+#: ../Doc/c-api/init_config.rst:1191
msgid ""
"Options of the :mod:`warnings` module to build warnings filters, lowest to "
"highest priority: :data:`sys.warnoptions`."
@@ -1823,7 +1959,7 @@ msgstr ""
"Opciones del módulo :mod:`warnings` para crear filtros de advertencias, de "
"menor a mayor prioridad: :data:`sys.warnoptions`."
-#: ../Doc/c-api/init_config.rst:1136
+#: ../Doc/c-api/init_config.rst:1194
msgid ""
"The :mod:`warnings` module adds :data:`sys.warnoptions` in the reverse "
"order: the last :c:member:`PyConfig.warnoptions` item becomes the first item "
@@ -1834,7 +1970,7 @@ msgstr ""
"el primer elemento de :data:`warnings.filters` que es verificado primero "
"(máxima prioridad)."
-#: ../Doc/c-api/init_config.rst:1141
+#: ../Doc/c-api/init_config.rst:1199
msgid ""
"The :option:`-W` command line options adds its value to :c:member:`~PyConfig."
"warnoptions`, it can be used multiple times."
@@ -1842,7 +1978,7 @@ msgstr ""
"Las opciones de la línea de comando :option:`-W` agregan su valor a :c:"
"member:`~PyConfig.warnoptions`, se puede usar varias veces."
-#: ../Doc/c-api/init_config.rst:1144
+#: ../Doc/c-api/init_config.rst:1202
msgid ""
"The :envvar:`PYTHONWARNINGS` environment variable can also be used to add "
"warning options. Multiple options can be specified, separated by commas (``,"
@@ -1852,15 +1988,16 @@ msgstr ""
"para agregar opciones de advertencia. Se pueden especificar varias opciones, "
"separadas por comas (``,``)."
-#: ../Doc/c-api/init_config.rst:1152
+#: ../Doc/c-api/init_config.rst:1210
+#, fuzzy
msgid ""
-"If equal to 0, Python won't try to write ``.pyc`` files on the import of "
+"If equal to ``0``, Python won't try to write ``.pyc`` files on the import of "
"source modules."
msgstr ""
"Si es igual a 0, Python no intentará escribir archivos ``.pyc`` en la "
"importación de módulos fuente."
-#: ../Doc/c-api/init_config.rst:1155
+#: ../Doc/c-api/init_config.rst:1213
msgid ""
"Set to ``0`` by the :option:`-B` command line option and the :envvar:"
"`PYTHONDONTWRITEBYTECODE` environment variable."
@@ -1868,7 +2005,7 @@ msgstr ""
"Establecido en ``0`` por la opción de línea de comando :option:`-B` y la "
"variable de entorno :envvar:`PYTHONDONTWRITEBYTECODE`."
-#: ../Doc/c-api/init_config.rst:1158
+#: ../Doc/c-api/init_config.rst:1216
msgid ""
":data:`sys.dont_write_bytecode` is initialized to the inverted value of :c:"
"member:`~PyConfig.write_bytecode`."
@@ -1876,13 +2013,13 @@ msgstr ""
":data:`sys.dont_write_bytecode` se inicializa al valor invertido de :c:"
"member:`~PyConfig.write_bytecode`."
-#: ../Doc/c-api/init_config.rst:1165
+#: ../Doc/c-api/init_config.rst:1223
msgid "Values of the :option:`-X` command line options: :data:`sys._xoptions`."
msgstr ""
"Valores de las opciones de la línea de comando :option:`-X`: :data:`sys."
"_xoptions`."
-#: ../Doc/c-api/init_config.rst:1169
+#: ../Doc/c-api/init_config.rst:1227
msgid ""
"If :c:member:`~PyConfig.parse_argv` is non-zero, :c:member:`~PyConfig.argv` "
"arguments are parsed the same way the regular Python parses :ref:`command "
@@ -1894,7 +2031,7 @@ msgstr ""
"ref:`argumentos de línea de comando `, y los argumentos de "
"Python se eliminan de :c:member:`~PyConfig.argv`."
-#: ../Doc/c-api/init_config.rst:1174
+#: ../Doc/c-api/init_config.rst:1232
msgid ""
"The :c:member:`~PyConfig.xoptions` options are parsed to set other options: "
"see the :option:`-X` command line option."
@@ -1902,23 +2039,23 @@ msgstr ""
"Las opciones de :c:member:`~PyConfig.xoptions` se analizan para establecer "
"otras opciones: consulte la opción de línea de comando :option:`-X`."
-#: ../Doc/c-api/init_config.rst:1179
+#: ../Doc/c-api/init_config.rst:1237
msgid "The ``show_alloc_count`` field has been removed."
msgstr "El campo ``show_alloc_count`` fue removido."
-#: ../Doc/c-api/init_config.rst:1183
+#: ../Doc/c-api/init_config.rst:1241
msgid "Initialization with PyConfig"
msgstr "Inicialización con PyConfig"
-#: ../Doc/c-api/init_config.rst:1185
+#: ../Doc/c-api/init_config.rst:1243
msgid "Function to initialize Python:"
msgstr "Función para inicializar Python:"
-#: ../Doc/c-api/init_config.rst:1189
+#: ../Doc/c-api/init_config.rst:1247
msgid "Initialize Python from *config* configuration."
msgstr "Inicializa Python desde la configuración *config*."
-#: ../Doc/c-api/init_config.rst:1194
+#: ../Doc/c-api/init_config.rst:1252
msgid ""
"If :c:func:`PyImport_FrozenModules`, :c:func:`PyImport_AppendInittab` or :c:"
"func:`PyImport_ExtendInittab` are used, they must be set or called after "
@@ -1933,7 +2070,7 @@ msgstr ""
"llamar a :c:func:`PyImport_AppendInittab` o :c:func:`PyImport_ExtendInittab` "
"antes de cada inicialización de Python."
-#: ../Doc/c-api/init_config.rst:1201
+#: ../Doc/c-api/init_config.rst:1259
msgid ""
"The current configuration (``PyConfig`` type) is stored in "
"``PyInterpreterState.config``."
@@ -1941,23 +2078,24 @@ msgstr ""
"La configuración actual (tipo ``PyConfig``) se almacena en "
"``PyInterpreterState.config``."
-#: ../Doc/c-api/init_config.rst:1204
+#: ../Doc/c-api/init_config.rst:1262
msgid "Example setting the program name::"
msgstr "Ejemplo de configuración del nombre del programa::"
-#: ../Doc/c-api/init_config.rst:1232
+#: ../Doc/c-api/init_config.rst:1290
msgid ""
"More complete example modifying the default configuration, read the "
-"configuration, and then override some parameters::"
+"configuration, and then override some parameters. Note that since 3.11, many "
+"parameters are not calculated until initialization, and so values cannot be "
+"read from the configuration structure. Any values set before initialize is "
+"called will be left unchanged by initialization::"
msgstr ""
-"Ejemplo más completo que modifica la configuración predeterminada, lee la "
-"configuración y luego anula algunos parámetros ::"
-#: ../Doc/c-api/init_config.rst:1283
+#: ../Doc/c-api/init_config.rst:1353
msgid "Isolated Configuration"
msgstr "Configuración aislada"
-#: ../Doc/c-api/init_config.rst:1285
+#: ../Doc/c-api/init_config.rst:1355
msgid ""
":c:func:`PyPreConfig_InitIsolatedConfig` and :c:func:"
"`PyConfig_InitIsolatedConfig` functions create a configuration to isolate "
@@ -1967,9 +2105,10 @@ msgstr ""
"`PyConfig_InitIsolatedConfig` crean una configuración para aislar Python del "
"sistema. Por ejemplo, para incrustar Python en una aplicación."
-#: ../Doc/c-api/init_config.rst:1290
+#: ../Doc/c-api/init_config.rst:1360
+#, fuzzy
msgid ""
-"This configuration ignores global configuration variables, environments "
+"This configuration ignores global configuration variables, environment "
"variables, command line arguments (:c:member:`PyConfig.argv` is not parsed) "
"and user site directory. The C standard streams (ex: ``stdout``) and the "
"LC_CTYPE locale are left unchanged. Signal handlers are not installed."
@@ -1980,23 +2119,18 @@ msgstr ""
"transmisiones estándar C (por ejemplo, ``stdout``) y el entorno local "
"LC_CTYPE no se modifican. Los manejadores de señal no están instalados."
-#: ../Doc/c-api/init_config.rst:1295
+#: ../Doc/c-api/init_config.rst:1365
msgid ""
-"Configuration files are still used with this configuration. Set the :ref:"
-"`Python Path Configuration ` (\"output fields\") to ignore "
-"these configuration files and avoid the function computing the default path "
-"configuration."
+"Configuration files are still used with this configuration to determine "
+"paths that are unspecified. Ensure :c:member:`PyConfig.home` is specified to "
+"avoid computing the default path configuration."
msgstr ""
-"Los archivos de configuración todavía se utilizan con esta configuración. "
-"Configure el :ref:`Python Path Configuration ` (\"campos "
-"de salida\") para ignorar estos archivos de configuración y evitar que la "
-"función calcule la configuración de ruta predeterminada."
-#: ../Doc/c-api/init_config.rst:1304
+#: ../Doc/c-api/init_config.rst:1373
msgid "Python Configuration"
msgstr "Configuración de Python"
-#: ../Doc/c-api/init_config.rst:1306
+#: ../Doc/c-api/init_config.rst:1375
msgid ""
":c:func:`PyPreConfig_InitPythonConfig` and :c:func:"
"`PyConfig_InitPythonConfig` functions create a configuration to build a "
@@ -2006,7 +2140,7 @@ msgstr ""
"`PyConfig_InitPythonConfig` crean una configuración para construir un Python "
"personalizado que se comporta como el Python normal."
-#: ../Doc/c-api/init_config.rst:1310
+#: ../Doc/c-api/init_config.rst:1379
msgid ""
"Environments variables and command line arguments are used to configure "
"Python, whereas global configuration variables are ignored."
@@ -2015,7 +2149,7 @@ msgstr ""
"utilizan para configurar Python, mientras que las variables de configuración "
"global se ignoran."
-#: ../Doc/c-api/init_config.rst:1313
+#: ../Doc/c-api/init_config.rst:1382
msgid ""
"This function enables C locale coercion (:pep:`538`) and :ref:`Python UTF-8 "
"Mode ` (:pep:`540`) depending on the LC_CTYPE locale, :envvar:"
@@ -2026,44 +2160,44 @@ msgstr ""
"regional LC_CTYPE, las variables de entorno :envvar:`PYTHONUTF8` y :envvar:"
"`PYTHONCOERCECLOCALE`."
-#: ../Doc/c-api/init_config.rst:1322
+#: ../Doc/c-api/init_config.rst:1391
msgid "Python Path Configuration"
msgstr "Configuración de la ruta de Python"
-#: ../Doc/c-api/init_config.rst:1324
+#: ../Doc/c-api/init_config.rst:1393
msgid ":c:type:`PyConfig` contains multiple fields for the path configuration:"
msgstr ""
":c:type:`PyConfig` contiene múltiples campos para la configuración de ruta:"
-#: ../Doc/c-api/init_config.rst:1326
+#: ../Doc/c-api/init_config.rst:1395
msgid "Path configuration inputs:"
msgstr "Entradas de configuración de ruta:"
-#: ../Doc/c-api/init_config.rst:1328
+#: ../Doc/c-api/init_config.rst:1397
msgid ":c:member:`PyConfig.home`"
msgstr ":c:member:`PyConfig.home`"
-#: ../Doc/c-api/init_config.rst:1329
+#: ../Doc/c-api/init_config.rst:1398
msgid ":c:member:`PyConfig.platlibdir`"
msgstr ":c:member:`PyConfig.platlibdir`"
-#: ../Doc/c-api/init_config.rst:1330
+#: ../Doc/c-api/init_config.rst:1399
msgid ":c:member:`PyConfig.pathconfig_warnings`"
msgstr ":c:member:`PyConfig.pathconfig_warnings`"
-#: ../Doc/c-api/init_config.rst:1331
+#: ../Doc/c-api/init_config.rst:1400
msgid ":c:member:`PyConfig.program_name`"
msgstr ":c:member:`PyConfig.program_name`"
-#: ../Doc/c-api/init_config.rst:1332
+#: ../Doc/c-api/init_config.rst:1401
msgid ":c:member:`PyConfig.pythonpath_env`"
msgstr ":c:member:`PyConfig.pythonpath_env`"
-#: ../Doc/c-api/init_config.rst:1333
+#: ../Doc/c-api/init_config.rst:1402
msgid "current working directory: to get absolute paths"
msgstr "directorio de trabajo actual: para obtener rutas absolutas"
-#: ../Doc/c-api/init_config.rst:1334
+#: ../Doc/c-api/init_config.rst:1403
msgid ""
"``PATH`` environment variable to get the program full path (from :c:member:"
"`PyConfig.program_name`)"
@@ -2071,45 +2205,45 @@ msgstr ""
"Variable de entorno ``PATH`` para obtener la ruta completa del programa (de :"
"c:member:`PyConfig.program_name`)"
-#: ../Doc/c-api/init_config.rst:1336
+#: ../Doc/c-api/init_config.rst:1405
msgid "``__PYVENV_LAUNCHER__`` environment variable"
msgstr "Variable de entorno ``__PYVENV_LAUNCHER__``"
-#: ../Doc/c-api/init_config.rst:1337
+#: ../Doc/c-api/init_config.rst:1406
msgid ""
-"(Windows only) Application paths in the registry under \"Software\\Python"
-"\\PythonCore\\X.Y\\PythonPath\" of HKEY_CURRENT_USER and HKEY_LOCAL_MACHINE "
-"(where X.Y is the Python version)."
+"(Windows only) Application paths in the registry under "
+"\"Software\\Python\\PythonCore\\X.Y\\PythonPath\" of HKEY_CURRENT_USER and "
+"HKEY_LOCAL_MACHINE (where X.Y is the Python version)."
msgstr ""
-"(Solo Windows) Rutas de aplicación en el registro en \"Software\\Python"
-"\\PythonCore\\X.Y\\PythonPath\" de HKEY_CURRENT_USER y HKEY_LOCAL_MACHINE "
-"(donde X.Y es la versión de Python)."
+"(Solo Windows) Rutas de aplicación en el registro en "
+"\"Software\\Python\\PythonCore\\X.Y\\PythonPath\" de HKEY_CURRENT_USER y "
+"HKEY_LOCAL_MACHINE (donde X.Y es la versión de Python)."
-#: ../Doc/c-api/init_config.rst:1341
+#: ../Doc/c-api/init_config.rst:1410
msgid "Path configuration output fields:"
msgstr "Campos de salida de configuración de ruta:"
-#: ../Doc/c-api/init_config.rst:1343
+#: ../Doc/c-api/init_config.rst:1412
msgid ":c:member:`PyConfig.base_exec_prefix`"
msgstr ":c:member:`PyConfig.base_exec_prefix`"
-#: ../Doc/c-api/init_config.rst:1344
+#: ../Doc/c-api/init_config.rst:1413
msgid ":c:member:`PyConfig.base_executable`"
msgstr ":c:member:`PyConfig.base_executable`"
-#: ../Doc/c-api/init_config.rst:1345
+#: ../Doc/c-api/init_config.rst:1414
msgid ":c:member:`PyConfig.base_prefix`"
msgstr ":c:member:`PyConfig.base_prefix`"
-#: ../Doc/c-api/init_config.rst:1346
+#: ../Doc/c-api/init_config.rst:1415
msgid ":c:member:`PyConfig.exec_prefix`"
msgstr ":c:member:`PyConfig.exec_prefix`"
-#: ../Doc/c-api/init_config.rst:1347
+#: ../Doc/c-api/init_config.rst:1416
msgid ":c:member:`PyConfig.executable`"
msgstr ":c:member:`PyConfig.executable`"
-#: ../Doc/c-api/init_config.rst:1348
+#: ../Doc/c-api/init_config.rst:1417
msgid ""
":c:member:`PyConfig.module_search_paths_set`, :c:member:`PyConfig."
"module_search_paths`"
@@ -2117,32 +2251,28 @@ msgstr ""
":c:member:`PyConfig.module_search_paths_set`, :c:member:`PyConfig."
"module_search_paths`"
-#: ../Doc/c-api/init_config.rst:1350
+#: ../Doc/c-api/init_config.rst:1419
msgid ":c:member:`PyConfig.prefix`"
msgstr ":c:member:`PyConfig.prefix`"
-#: ../Doc/c-api/init_config.rst:1352
+#: ../Doc/c-api/init_config.rst:1421
msgid ""
"If at least one \"output field\" is not set, Python calculates the path "
"configuration to fill unset fields. If :c:member:`~PyConfig."
-"module_search_paths_set` is equal to 0, :c:member:`~PyConfig."
+"module_search_paths_set` is equal to ``0``, :c:member:`~PyConfig."
"module_search_paths` is overridden and :c:member:`~PyConfig."
-"module_search_paths_set` is set to 1."
+"module_search_paths_set` is set to ``1``."
msgstr ""
-"Si no se establece al menos un \"campo de salida\", Python calcula la "
-"configuración de la ruta para completar los campos no definidos. Si :c:"
-"member:`~PyConfig.module_search_paths_set` es igual a 0, :c:member:"
-"`~PyConfig.module_search_paths` se reemplaza y :c:member:`~PyConfig."
-"module_search_paths_set` se establece en 1."
-#: ../Doc/c-api/init_config.rst:1358
+#: ../Doc/c-api/init_config.rst:1427
+#, fuzzy
msgid ""
"It is possible to completely ignore the function calculating the default "
"path configuration by setting explicitly all path configuration output "
"fields listed above. A string is considered as set even if it is non-empty. "
"``module_search_paths`` is considered as set if ``module_search_paths_set`` "
-"is set to 1. In this case, path configuration input fields are ignored as "
-"well."
+"is set to ``1``. In this case, ``module_search_paths`` will be used without "
+"modification."
msgstr ""
"Es posible ignorar por completo la función que calcula la configuración de "
"ruta predeterminada al establecer explícitamente todos los campos de salida "
@@ -2152,17 +2282,18 @@ msgstr ""
"``module_search_paths_set`` se establece en 1. En este caso, los campos de "
"entrada de configuración de ruta también se ignoran."
-#: ../Doc/c-api/init_config.rst:1365
+#: ../Doc/c-api/init_config.rst:1434
+#, fuzzy
msgid ""
-"Set :c:member:`~PyConfig.pathconfig_warnings` to 0 to suppress warnings when "
-"calculating the path configuration (Unix only, Windows does not log any "
+"Set :c:member:`~PyConfig.pathconfig_warnings` to ``0`` to suppress warnings "
+"when calculating the path configuration (Unix only, Windows does not log any "
"warning)."
msgstr ""
"Establezca :c:member:`~PyConfig.pathconfig_warnings` en 0 para suprimir las "
"advertencias al calcular la configuración de la ruta (solo Unix, Windows no "
"registra ninguna advertencia)."
-#: ../Doc/c-api/init_config.rst:1368
+#: ../Doc/c-api/init_config.rst:1437
msgid ""
"If :c:member:`~PyConfig.base_prefix` or :c:member:`~PyConfig."
"base_exec_prefix` fields are not set, they inherit their value from :c:"
@@ -2172,11 +2303,11 @@ msgstr ""
"base_exec_prefix` no están establecidos, heredan su valor de :c:member:"
"`~PyConfig.prefix` y :c:member:`~PyConfig.exec_prefix` respectivamente."
-#: ../Doc/c-api/init_config.rst:1372
+#: ../Doc/c-api/init_config.rst:1441
msgid ":c:func:`Py_RunMain` and :c:func:`Py_Main` modify :data:`sys.path`:"
msgstr ":c:func:`Py_RunMain` y :c:func:`Py_Main` modifican :data:`sys.path`:"
-#: ../Doc/c-api/init_config.rst:1374
+#: ../Doc/c-api/init_config.rst:1443
msgid ""
"If :c:member:`~PyConfig.run_filename` is set and is a directory which "
"contains a ``__main__.py`` script, prepend :c:member:`~PyConfig."
@@ -2186,11 +2317,11 @@ msgstr ""
"que contiene un script ``__main__.py``, anteponga :c:member:`~PyConfig."
"run_filename` a :data:`sys.path`."
-#: ../Doc/c-api/init_config.rst:1377
+#: ../Doc/c-api/init_config.rst:1446
msgid "If :c:member:`~PyConfig.isolated` is zero:"
msgstr "Si :c:member:`~PyConfig.isolated` es cero:"
-#: ../Doc/c-api/init_config.rst:1379
+#: ../Doc/c-api/init_config.rst:1448
msgid ""
"If :c:member:`~PyConfig.run_module` is set, prepend the current directory "
"to :data:`sys.path`. Do nothing if the current directory cannot be read."
@@ -2199,7 +2330,7 @@ msgstr ""
"directorio actual a :data:`sys.path`. No haga nada si el directorio actual "
"no se puede leer."
-#: ../Doc/c-api/init_config.rst:1381
+#: ../Doc/c-api/init_config.rst:1450
msgid ""
"If :c:member:`~PyConfig.run_filename` is set, prepend the directory of the "
"filename to :data:`sys.path`."
@@ -2207,12 +2338,12 @@ msgstr ""
"Si :c:member:`~PyConfig.run_filename` está configurado, anteponga el "
"directorio del nombre del archivo a :data:`sys.path`."
-#: ../Doc/c-api/init_config.rst:1383
+#: ../Doc/c-api/init_config.rst:1452
msgid "Otherwise, prepend an empty string to :data:`sys.path`."
msgstr ""
"De lo contrario, anteponga una cadena de caracteres vacía a :data:`sys.path`."
-#: ../Doc/c-api/init_config.rst:1385
+#: ../Doc/c-api/init_config.rst:1454
msgid ""
"If :c:member:`~PyConfig.site_import` is non-zero, :data:`sys.path` can be "
"modified by the :mod:`site` module. If :c:member:`~PyConfig."
@@ -2226,24 +2357,43 @@ msgstr ""
"usuario existe, el módulo :mod:`site` agrega el directorio del paquete del "
"sitio del usuario a :data:`sys.path`."
-#: ../Doc/c-api/init_config.rst:1391
+#: ../Doc/c-api/init_config.rst:1460
msgid "The following configuration files are used by the path configuration:"
msgstr ""
"La configuración de ruta utiliza los siguientes archivos de configuración:"
-#: ../Doc/c-api/init_config.rst:1393
+#: ../Doc/c-api/init_config.rst:1462
msgid "``pyvenv.cfg``"
msgstr "``pyvenv.cfg``"
-#: ../Doc/c-api/init_config.rst:1394
-msgid "``python._pth`` (Windows only)"
-msgstr "``python._pth`` (sólo Windows)"
+#: ../Doc/c-api/init_config.rst:1463
+msgid "``._pth`` file (ex: ``python._pth``)"
+msgstr ""
-#: ../Doc/c-api/init_config.rst:1395
+#: ../Doc/c-api/init_config.rst:1464
msgid "``pybuilddir.txt`` (Unix only)"
msgstr "``pybuilddir.txt`` (sólo Unix)"
-#: ../Doc/c-api/init_config.rst:1397
+#: ../Doc/c-api/init_config.rst:1466
+msgid "If a ``._pth`` file is present:"
+msgstr ""
+
+#: ../Doc/c-api/init_config.rst:1468
+#, fuzzy
+msgid "Set :c:member:`~PyConfig.isolated` to ``1``."
+msgstr ":c:member:`PyConfig.isolated`"
+
+#: ../Doc/c-api/init_config.rst:1470
+#, fuzzy
+msgid "Set :c:member:`~PyConfig.site_import` to ``0``."
+msgstr "Establezca :c:member:`PyPreConfig.utf8_mode` en ``0``,"
+
+#: ../Doc/c-api/init_config.rst:1471
+#, fuzzy
+msgid "Set :c:member:`~PyConfig.safe_path` to ``1``."
+msgstr "Establezca :c:member:`PyPreConfig.utf8_mode` en ``0``,"
+
+#: ../Doc/c-api/init_config.rst:1473
msgid ""
"The ``__PYVENV_LAUNCHER__`` environment variable is used to set :c:member:"
"`PyConfig.base_executable`"
@@ -2251,11 +2401,11 @@ msgstr ""
"La variable de entorno ``__PYVENV_LAUNCHER__`` se usa para establecer :c:"
"member:`PyConfig.base_executable`"
-#: ../Doc/c-api/init_config.rst:1402
+#: ../Doc/c-api/init_config.rst:1478
msgid "Py_RunMain()"
msgstr "Py_RunMain()"
-#: ../Doc/c-api/init_config.rst:1406
+#: ../Doc/c-api/init_config.rst:1482
msgid ""
"Execute the command (:c:member:`PyConfig.run_command`), the script (:c:"
"member:`PyConfig.run_filename`) or the module (:c:member:`PyConfig."
@@ -2265,11 +2415,11 @@ msgstr ""
"`PyConfig.run_filename`) o el módulo (:c:member:`PyConfig.run_module`) "
"especificado en la línea de comando o en la configuración."
-#: ../Doc/c-api/init_config.rst:1411
+#: ../Doc/c-api/init_config.rst:1487
msgid "By default and when if :option:`-i` option is used, run the REPL."
msgstr "Por defecto y cuando se usa la opción :option:`-i`, ejecuta el REPL."
-#: ../Doc/c-api/init_config.rst:1413
+#: ../Doc/c-api/init_config.rst:1489
msgid ""
"Finally, finalizes Python and returns an exit status that can be passed to "
"the ``exit()`` function."
@@ -2277,7 +2427,7 @@ msgstr ""
"Finalmente, finaliza Python y retorna un estado de salida que se puede pasar "
"a la función ``exit()``."
-#: ../Doc/c-api/init_config.rst:1416
+#: ../Doc/c-api/init_config.rst:1492
msgid ""
"See :ref:`Python Configuration ` for an example of "
"customized Python always running in isolated mode using :c:func:`Py_RunMain`."
@@ -2286,49 +2436,50 @@ msgstr ""
"ejemplo de Python personalizado que siempre se ejecuta en modo aislado "
"usando :c:func:`Py_RunMain`."
-#: ../Doc/c-api/init_config.rst:1422
+#: ../Doc/c-api/init_config.rst:1498
msgid "Py_GetArgcArgv()"
msgstr "Py_GetArgcArgv()"
-#: ../Doc/c-api/init_config.rst:1426
+#: ../Doc/c-api/init_config.rst:1502
msgid "Get the original command line arguments, before Python modified them."
msgstr ""
"Obtiene los argumentos originales de la línea de comandos, antes de que "
"Python los modificara."
-#: ../Doc/c-api/init_config.rst:1428
+#: ../Doc/c-api/init_config.rst:1504
msgid "See also :c:member:`PyConfig.orig_argv` member."
msgstr "Ver también el miembro :c:member:`PyConfig.orig_argv`."
-#: ../Doc/c-api/init_config.rst:1432
+#: ../Doc/c-api/init_config.rst:1508
msgid "Multi-Phase Initialization Private Provisional API"
msgstr "API Provisional Privada de Inicialización Multifásica"
-#: ../Doc/c-api/init_config.rst:1434
+#: ../Doc/c-api/init_config.rst:1510
+#, fuzzy
msgid ""
"This section is a private provisional API introducing multi-phase "
-"initialization, the core feature of the :pep:`432`:"
+"initialization, the core feature of :pep:`432`:"
msgstr ""
"Esta sección es una API provisional privada que presenta la inicialización "
"de múltiples fases, la característica principal de :pep:`432`:"
-#: ../Doc/c-api/init_config.rst:1437
+#: ../Doc/c-api/init_config.rst:1513
msgid "\"Core\" initialization phase, \"bare minimum Python\":"
msgstr "Fase de inicialización \"Core\", \"Python mínimo\":"
-#: ../Doc/c-api/init_config.rst:1439
+#: ../Doc/c-api/init_config.rst:1515
msgid "Builtin types;"
msgstr "Tipos incorporados;"
-#: ../Doc/c-api/init_config.rst:1440
+#: ../Doc/c-api/init_config.rst:1516
msgid "Builtin exceptions;"
msgstr "Excepciones incorporadas;"
-#: ../Doc/c-api/init_config.rst:1441
+#: ../Doc/c-api/init_config.rst:1517
msgid "Builtin and frozen modules;"
msgstr "Módulos incorporados y congelados;"
-#: ../Doc/c-api/init_config.rst:1442
+#: ../Doc/c-api/init_config.rst:1518
msgid ""
"The :mod:`sys` module is only partially initialized (ex: :data:`sys.path` "
"doesn't exist yet)."
@@ -2336,24 +2487,24 @@ msgstr ""
"El módulo :mod:`sys` solo se inicializa parcialmente (por ejemplo :data:`sys."
"path` aún no existe)."
-#: ../Doc/c-api/init_config.rst:1445
+#: ../Doc/c-api/init_config.rst:1521
msgid "\"Main\" initialization phase, Python is fully initialized:"
msgstr ""
"Fase de inicialización \"principal\", Python está completamente inicializado:"
-#: ../Doc/c-api/init_config.rst:1447
+#: ../Doc/c-api/init_config.rst:1523
msgid "Install and configure :mod:`importlib`;"
msgstr "Instala y configura :mod:`importlib`;"
-#: ../Doc/c-api/init_config.rst:1448
+#: ../Doc/c-api/init_config.rst:1524
msgid "Apply the :ref:`Path Configuration `;"
msgstr "Aplique la :ref:`Configuración de ruta `;"
-#: ../Doc/c-api/init_config.rst:1449
+#: ../Doc/c-api/init_config.rst:1525
msgid "Install signal handlers;"
msgstr "Instala manejadores de señal;"
-#: ../Doc/c-api/init_config.rst:1450
+#: ../Doc/c-api/init_config.rst:1526
msgid ""
"Finish :mod:`sys` module initialization (ex: create :data:`sys.stdout` and :"
"data:`sys.path`);"
@@ -2361,34 +2512,35 @@ msgstr ""
"Finaliza la inicialización del módulo :mod:`sys` (por ejemplo: crea :data:"
"`sys.stdout` y :data:`sys.path`);"
-#: ../Doc/c-api/init_config.rst:1452
+#: ../Doc/c-api/init_config.rst:1528
msgid ""
"Enable optional features like :mod:`faulthandler` and :mod:`tracemalloc`;"
msgstr ""
"Habilita características opcionales como :mod:`faulthandler` y :mod:"
"`tracemalloc`;"
-#: ../Doc/c-api/init_config.rst:1453
+#: ../Doc/c-api/init_config.rst:1529
msgid "Import the :mod:`site` module;"
msgstr "Importe el módulo :mod:`site`;"
-#: ../Doc/c-api/init_config.rst:1454
+#: ../Doc/c-api/init_config.rst:1530
msgid "etc."
msgstr "etc."
-#: ../Doc/c-api/init_config.rst:1456
+#: ../Doc/c-api/init_config.rst:1532
msgid "Private provisional API:"
msgstr "API provisional privada:"
-#: ../Doc/c-api/init_config.rst:1458
+#: ../Doc/c-api/init_config.rst:1534
+#, fuzzy
msgid ""
-":c:member:`PyConfig._init_main`: if set to 0, :c:func:"
+":c:member:`PyConfig._init_main`: if set to ``0``, :c:func:"
"`Py_InitializeFromConfig` stops at the \"Core\" initialization phase."
msgstr ""
":c:member:`PyConfig._init_main`: si se establece en 0, :c:func:"
"`Py_InitializeFromConfig` se detiene en la fase de inicialización \"Core\"."
-#: ../Doc/c-api/init_config.rst:1460
+#: ../Doc/c-api/init_config.rst:1536
msgid ""
":c:member:`PyConfig._isolated_interpreter`: if non-zero, disallow threads, "
"subprocesses and fork."
@@ -2396,14 +2548,14 @@ msgstr ""
":c:member:`PyConfig._isolated_interpreter`: si no es cero, no permite hilos, "
"subprocesos y bifurcaciones."
-#: ../Doc/c-api/init_config.rst:1465
+#: ../Doc/c-api/init_config.rst:1541
msgid ""
"Move to the \"Main\" initialization phase, finish the Python initialization."
msgstr ""
"Vaya a la fase de inicialización \"Principal\", finalice la inicialización "
"de Python."
-#: ../Doc/c-api/init_config.rst:1467
+#: ../Doc/c-api/init_config.rst:1543
msgid ""
"No module is imported during the \"Core\" phase and the ``importlib`` module "
"is not configured: the :ref:`Path Configuration ` is only "
@@ -2418,7 +2570,7 @@ msgstr ""
"ruta `, tal vez instale un importador personalizado :data:"
"`sys.meta_path` o un enlace de importación, etc."
-#: ../Doc/c-api/init_config.rst:1473
+#: ../Doc/c-api/init_config.rst:1549
msgid ""
"It may become possible to calculatin the :ref:`Path Configuration ` in Python, after the Core phase and before the Main phase, which is "
@@ -2428,7 +2580,7 @@ msgstr ""
"en Python, después de la fase Core y antes de la fase Main, que es una de "
"las motivaciones :pep:`432`."
-#: ../Doc/c-api/init_config.rst:1477
+#: ../Doc/c-api/init_config.rst:1553
msgid ""
"The \"Core\" phase is not properly defined: what should be and what should "
"not be available at this phase is not specified yet. The API is marked as "
@@ -2441,10 +2593,63 @@ msgstr ""
"incluso eliminar en cualquier momento hasta que se diseñe una API pública "
"adecuada."
-#: ../Doc/c-api/init_config.rst:1482
+#: ../Doc/c-api/init_config.rst:1558
msgid ""
"Example running Python code between \"Core\" and \"Main\" initialization "
"phases::"
msgstr ""
"Ejemplo de ejecución de código Python entre las fases de inicialización "
"\"Core\" y \"Main\"::"
+
+#~ msgid ""
+#~ ":data:`sys.path` contains neither the script's directory (computed from "
+#~ "``argv[0]`` or the current directory) nor the user's site-packages "
+#~ "directory."
+#~ msgstr ""
+#~ ":data:`sys.path` no contiene ni el directorio del script (calculado a "
+#~ "partir de ``argv[0]`` o el directorio actual) ni el directorio de "
+#~ "paquetes del sitio del usuario."
+
+#~ msgid ""
+#~ "Set :c:member:`~PyConfig.use_environment` and :c:member:`~PyConfig."
+#~ "user_site_directory` to 0."
+#~ msgstr ""
+#~ "Establece :c:member:`~PyConfig.use_environment` y :c:member:`~PyConfig."
+#~ "user_site_directory` en 0."
+
+#~ msgid "It has no effect on Windows."
+#~ msgstr "No tiene ningún efecto en Windows."
+
+#~ msgid ""
+#~ "More complete example modifying the default configuration, read the "
+#~ "configuration, and then override some parameters::"
+#~ msgstr ""
+#~ "Ejemplo más completo que modifica la configuración predeterminada, lee la "
+#~ "configuración y luego anula algunos parámetros ::"
+
+#~ msgid ""
+#~ "Configuration files are still used with this configuration. Set the :ref:"
+#~ "`Python Path Configuration ` (\"output fields\") to "
+#~ "ignore these configuration files and avoid the function computing the "
+#~ "default path configuration."
+#~ msgstr ""
+#~ "Los archivos de configuración todavía se utilizan con esta configuración. "
+#~ "Configure el :ref:`Python Path Configuration ` "
+#~ "(\"campos de salida\") para ignorar estos archivos de configuración y "
+#~ "evitar que la función calcule la configuración de ruta predeterminada."
+
+#~ msgid ""
+#~ "If at least one \"output field\" is not set, Python calculates the path "
+#~ "configuration to fill unset fields. If :c:member:`~PyConfig."
+#~ "module_search_paths_set` is equal to 0, :c:member:`~PyConfig."
+#~ "module_search_paths` is overridden and :c:member:`~PyConfig."
+#~ "module_search_paths_set` is set to 1."
+#~ msgstr ""
+#~ "Si no se establece al menos un \"campo de salida\", Python calcula la "
+#~ "configuración de la ruta para completar los campos no definidos. Si :c:"
+#~ "member:`~PyConfig.module_search_paths_set` es igual a 0, :c:member:"
+#~ "`~PyConfig.module_search_paths` se reemplaza y :c:member:`~PyConfig."
+#~ "module_search_paths_set` se establece en 1."
+
+#~ msgid "``python._pth`` (Windows only)"
+#~ msgstr "``python._pth`` (sólo Windows)"
diff --git a/c-api/intro.po b/c-api/intro.po
index 33a43cec52..a0c586b8c8 100644
--- a/c-api/intro.po
+++ b/c-api/intro.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-16 21:42+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-12-09 10:48+0800\n"
"Last-Translator: Rodrigo Tobar \n"
"Language: es\n"
@@ -19,8 +19,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.1\n"
-"X-Generator: Poedit 3.0\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/intro.rst:8
msgid "Introduction"
@@ -230,6 +229,104 @@ msgstr ""
"no es necesariamente una lista completa."
#: ../Doc/c-api/intro.rst:110
+msgid "Return the absolute value of ``x``."
+msgstr "Retorna el valor absoluto de ``x``."
+
+#: ../Doc/c-api/intro.rst:116
+msgid ""
+"Ask the compiler to always inline a static inline function. The compiler can "
+"ignore it and decides to not inline the function."
+msgstr ""
+
+#: ../Doc/c-api/intro.rst:119
+msgid ""
+"It can be used to inline performance critical static inline functions when "
+"building Python in debug mode with function inlining disabled. For example, "
+"MSC disables function inlining when building in debug mode."
+msgstr ""
+
+#: ../Doc/c-api/intro.rst:123
+msgid ""
+"Marking blindly a static inline function with Py_ALWAYS_INLINE can result in "
+"worse performances (due to increased code size for example). The compiler is "
+"usually smarter than the developer for the cost/benefit analysis."
+msgstr ""
+
+#: ../Doc/c-api/intro.rst:127
+msgid ""
+"If Python is :ref:`built in debug mode ` (if the ``Py_DEBUG`` "
+"macro is defined), the :c:macro:`Py_ALWAYS_INLINE` macro does nothing."
+msgstr ""
+
+#: ../Doc/c-api/intro.rst:130
+msgid "It must be specified before the function return type. Usage::"
+msgstr ""
+
+#: ../Doc/c-api/intro.rst:138
+msgid ""
+"Argument must be a character or an integer in the range [-128, 127] or [0, "
+"255]. This macro returns ``c`` cast to an ``unsigned char``."
+msgstr ""
+"El argumento debe ser un carácter o un número entero en el rango [-128, 127] "
+"o [0, 255]. Este macro retorna la conversión ``c`` a un ``unsigned char``."
+
+#: ../Doc/c-api/intro.rst:143
+msgid ""
+"Use this for deprecated declarations. The macro must be placed before the "
+"symbol name."
+msgstr ""
+"Use esto para declaraciones obsoletas. El macro debe colocarse antes del "
+"nombre del símbolo."
+
+#: ../Doc/c-api/intro.rst:146 ../Doc/c-api/intro.rst:232
+#: ../Doc/c-api/intro.rst:250
+msgid "Example::"
+msgstr "Ejemplo::"
+
+#: ../Doc/c-api/intro.rst:150
+msgid "MSVC support was added."
+msgstr "Soporte para MSVC fue agregado."
+
+#: ../Doc/c-api/intro.rst:155
+msgid ""
+"Like ``getenv(s)``, but returns ``NULL`` if :option:`-E` was passed on the "
+"command line (i.e. if ``Py_IgnoreEnvironmentFlag`` is set)."
+msgstr ""
+"Al igual que ``getenv(s)``, pero retorna ``NULL`` si: la opción :option:`-E` "
+"se pasó en la línea de comando (es decir, si se establece "
+"``Py_IgnoreEnvironmentFlag``)."
+
+#: ../Doc/c-api/intro.rst:160
+msgid "Return the maximum value between ``x`` and ``y``."
+msgstr "Retorna el valor máximo entre ``x`` e ``y``."
+
+#: ../Doc/c-api/intro.rst:166
+msgid "Return the size of a structure (``type``) ``member`` in bytes."
+msgstr "Retorna el tamaño de una estructura (``type``) ``member`` en bytes."
+
+#: ../Doc/c-api/intro.rst:172
+msgid "Return the minimum value between ``x`` and ``y``."
+msgstr "Retorna el valor mínimo entre ``x`` e ``y``."
+
+#: ../Doc/c-api/intro.rst:178
+msgid ""
+"Disable inlining on a function. For example, it reduces the C stack "
+"consumption: useful on LTO+PGO builds which heavily inline code (see :issue:"
+"`33720`)."
+msgstr ""
+
+#: ../Doc/c-api/intro.rst:182
+msgid "Usage::"
+msgstr ""
+
+#: ../Doc/c-api/intro.rst:190
+msgid ""
+"Convert ``x`` to a C string. E.g. ``Py_STRINGIFY(123)`` returns ``\"123\"``."
+msgstr ""
+"Convierte ``x`` en una cadena de caracteres C. Por ejemplo, "
+"``Py_STRINGIFY(123)`` retorna ``\"123\"``."
+
+#: ../Doc/c-api/intro.rst:197
msgid ""
"Use this when you have a code path that cannot be reached by design. For "
"example, in the ``default:`` clause in a ``switch`` statement for which all "
@@ -242,7 +339,7 @@ msgstr ""
"declaraciones ``case``. Use esto en lugares donde podría tener la tentación "
"de poner una llamada ``assert(0)`` o ``abort()``."
-#: ../Doc/c-api/intro.rst:115
+#: ../Doc/c-api/intro.rst:202
msgid ""
"In release mode, the macro helps the compiler to optimize the code, and "
"avoids a warning about unreachable code. For example, the macro is "
@@ -253,7 +350,7 @@ msgstr ""
"macro se implementa con ``__builtin_unreachable()`` en GCC en modo de "
"lanzamiento."
-#: ../Doc/c-api/intro.rst:119
+#: ../Doc/c-api/intro.rst:206
msgid ""
"A use for ``Py_UNREACHABLE()`` is following a call a function that never "
"returns but that is not declared :c:macro:`_Py_NO_RETURN`."
@@ -261,7 +358,7 @@ msgstr ""
"Un uso de ``Py_UNREACHABLE()`` es seguir una llamada a una función que nunca "
"retorna pero que no está declarada :c:macro:`_Py_NO_RETURN`."
-#: ../Doc/c-api/intro.rst:122
+#: ../Doc/c-api/intro.rst:209
msgid ""
"If a code path is very unlikely code but can be reached under exceptional "
"case, this macro must not be used. For example, under low memory condition "
@@ -276,47 +373,7 @@ msgstr ""
"persona que llama. Si no se puede informar del error a la persona que llama, "
"se puede utilizar :c:func:`Py_FatalError`."
-#: ../Doc/c-api/intro.rst:132
-msgid "Return the absolute value of ``x``."
-msgstr "Retorna el valor absoluto de ``x``."
-
-#: ../Doc/c-api/intro.rst:138
-msgid "Return the minimum value between ``x`` and ``y``."
-msgstr "Retorna el valor mínimo entre ``x`` e ``y``."
-
-#: ../Doc/c-api/intro.rst:144
-msgid "Return the maximum value between ``x`` and ``y``."
-msgstr "Retorna el valor máximo entre ``x`` e ``y``."
-
-#: ../Doc/c-api/intro.rst:150
-msgid ""
-"Convert ``x`` to a C string. E.g. ``Py_STRINGIFY(123)`` returns ``\"123\"``."
-msgstr ""
-"Convierte ``x`` en una cadena de caracteres C. Por ejemplo, "
-"``Py_STRINGIFY(123)`` retorna ``\"123\"``."
-
-#: ../Doc/c-api/intro.rst:157
-msgid "Return the size of a structure (``type``) ``member`` in bytes."
-msgstr "Retorna el tamaño de una estructura (``type``) ``member`` en bytes."
-
-#: ../Doc/c-api/intro.rst:163
-msgid ""
-"Argument must be a character or an integer in the range [-128, 127] or [0, "
-"255]. This macro returns ``c`` cast to an ``unsigned char``."
-msgstr ""
-"El argumento debe ser un carácter o un número entero en el rango [-128, 127] "
-"o [0, 255]. Este macro retorna la conversión ``c`` a un ``unsigned char``."
-
-#: ../Doc/c-api/intro.rst:168
-msgid ""
-"Like ``getenv(s)``, but returns ``NULL`` if :option:`-E` was passed on the "
-"command line (i.e. if ``Py_IgnoreEnvironmentFlag`` is set)."
-msgstr ""
-"Al igual que ``getenv(s)``, pero retorna ``NULL`` si: la opción :option:`-E` "
-"se pasó en la línea de comando (es decir, si se establece "
-"``Py_IgnoreEnvironmentFlag``)."
-
-#: ../Doc/c-api/intro.rst:173
+#: ../Doc/c-api/intro.rst:219
msgid ""
"Use this for unused arguments in a function definition to silence compiler "
"warnings. Example: ``int func(int a, int Py_UNUSED(b)) { return a; }``."
@@ -325,24 +382,7 @@ msgstr ""
"silenciar las advertencias del compilador. Ejemplo: ``int func(int a, int "
"Py_UNUSED(b)) {return a; }``."
-#: ../Doc/c-api/intro.rst:180
-msgid ""
-"Use this for deprecated declarations. The macro must be placed before the "
-"symbol name."
-msgstr ""
-"Use esto para declaraciones obsoletas. El macro debe colocarse antes del "
-"nombre del símbolo."
-
-#: ../Doc/c-api/intro.rst:183 ../Doc/c-api/intro.rst:198
-#: ../Doc/c-api/intro.rst:216
-msgid "Example::"
-msgstr "Ejemplo::"
-
-#: ../Doc/c-api/intro.rst:187
-msgid "MSVC support was added."
-msgstr "Soporte para MSVC fue agregado."
-
-#: ../Doc/c-api/intro.rst:192
+#: ../Doc/c-api/intro.rst:226
msgid ""
"Creates a variable with name ``name`` that can be used in docstrings. If "
"Python is built without docstrings, the value will be empty."
@@ -350,7 +390,7 @@ msgstr ""
"Crea una variable con el nombre ``name`` que se puede usar en *docstrings*. "
"Si Python se construye sin *docstrings*, el valor estará vacío."
-#: ../Doc/c-api/intro.rst:195
+#: ../Doc/c-api/intro.rst:229
msgid ""
"Use :c:macro:`PyDoc_STRVAR` for docstrings to support building Python "
"without docstrings, as specified in :pep:`7`."
@@ -358,7 +398,7 @@ msgstr ""
"Utilice :c:macro:`PyDoc_STRVAR` para que los *docstrings* admitan la "
"construcción de Python sin *docstrings*, como se especifica en :pep:`7`."
-#: ../Doc/c-api/intro.rst:210
+#: ../Doc/c-api/intro.rst:244
msgid ""
"Creates a docstring for the given input string or an empty string if "
"docstrings are disabled."
@@ -366,7 +406,7 @@ msgstr ""
"Crea un *docstring* para la cadena de caracteres de entrada dada o una "
"cadena vacía si los *docstrings* están deshabilitados."
-#: ../Doc/c-api/intro.rst:213
+#: ../Doc/c-api/intro.rst:247
msgid ""
"Use :c:macro:`PyDoc_STR` in specifying docstrings to support building Python "
"without docstrings, as specified in :pep:`7`."
@@ -374,20 +414,21 @@ msgstr ""
"Utilice :c:macro:`PyDoc_STR` al especificar *docstrings* para admitir la "
"construcción de Python sin *docstrings*, como se especifica en :pep:`7`."
-#: ../Doc/c-api/intro.rst:227
+#: ../Doc/c-api/intro.rst:262
msgid "Objects, Types and Reference Counts"
msgstr "Objetos, tipos y conteos de referencias"
-#: ../Doc/c-api/intro.rst:231
+#: ../Doc/c-api/intro.rst:266
+#, fuzzy
msgid ""
"Most Python/C API functions have one or more arguments as well as a return "
-"value of type :c:type:`PyObject*`. This type is a pointer to an opaque data "
+"value of type :c:expr:`PyObject*`. This type is a pointer to an opaque data "
"type representing an arbitrary Python object. Since all Python object types "
"are treated the same way by the Python language in most situations (e.g., "
"assignments, scope rules, and argument passing), it is only fitting that "
"they should be represented by a single C type. Almost all Python objects "
"live on the heap: you never declare an automatic or static variable of type :"
-"c:type:`PyObject`, only pointer variables of type :c:type:`PyObject*` can "
+"c:type:`PyObject`, only pointer variables of type :c:expr:`PyObject*` can "
"be declared. The sole exception are the type objects; since these must "
"never be deallocated, they are typically static :c:type:`PyTypeObject` "
"objects."
@@ -405,7 +446,7 @@ msgstr ""
"tipo; como nunca deben desasignarse, son típicamente objetos estáticos :c:"
"type:`PyTypeObject`."
-#: ../Doc/c-api/intro.rst:242
+#: ../Doc/c-api/intro.rst:277
msgid ""
"All Python objects (even Python integers) have a :dfn:`type` and a :dfn:"
"`reference count`. An object's type determines what kind of object it is (e."
@@ -424,11 +465,11 @@ msgstr ""
"es verdadero si (y solo si) el objeto al que apunta *a* es una lista de "
"Python."
-#: ../Doc/c-api/intro.rst:253
+#: ../Doc/c-api/intro.rst:288
msgid "Reference Counts"
msgstr "Conteo de Referencias"
-#: ../Doc/c-api/intro.rst:255
+#: ../Doc/c-api/intro.rst:290
msgid ""
"The reference count is important because today's computers have a finite "
"(and often severely limited) memory size; it counts how many different "
@@ -453,7 +494,7 @@ msgstr ""
"objetos que se refieren entre sí aquí; por ahora, la solución es \"no hagas "
"eso\")."
-#: ../Doc/c-api/intro.rst:270
+#: ../Doc/c-api/intro.rst:305
msgid ""
"Reference counts are always manipulated explicitly. The normal way is to "
"use the macro :c:func:`Py_INCREF` to increment an object's reference count "
@@ -486,7 +527,7 @@ msgstr ""
"la memoria virtual (suponiendo ``sizeof(Py_ssize_t) >= sizeof(void*)``). Por "
"lo tanto, el incremento del recuento de referencia es una operación simple."
-#: ../Doc/c-api/intro.rst:284
+#: ../Doc/c-api/intro.rst:319
msgid ""
"It is not necessary to increment an object's reference count for every "
"local variable that contains a pointer to an object. In theory, the "
@@ -517,7 +558,7 @@ msgstr ""
"mecanismo de llamada garantiza mantener una referencia a cada argumento "
"durante la duración de la llamada."
-#: ../Doc/c-api/intro.rst:298
+#: ../Doc/c-api/intro.rst:333
msgid ""
"However, a common pitfall is to extract an object from a list and hold on to "
"it for a while without incrementing its reference count. Some other "
@@ -536,7 +577,7 @@ msgstr ""
"vuelva al usuario desde a :c:func:`Py_DECREF`, por lo que casi cualquier "
"operación es potencialmente peligrosa."
-#: ../Doc/c-api/intro.rst:306
+#: ../Doc/c-api/intro.rst:341
msgid ""
"A safe approach is to always use the generic operations (functions whose "
"name begins with ``PyObject_``, ``PyNumber_``, ``PySequence_`` or "
@@ -552,11 +593,11 @@ msgstr ""
"responsabilidad de llamar :c:func:`Py_DECREF` cuando hayan terminado con el "
"resultado; Esto pronto se convierte en una segunda naturaleza."
-#: ../Doc/c-api/intro.rst:316
+#: ../Doc/c-api/intro.rst:351
msgid "Reference Count Details"
msgstr "Detalles del conteo de referencia"
-#: ../Doc/c-api/intro.rst:318
+#: ../Doc/c-api/intro.rst:353
msgid ""
"The reference count behavior of functions in the Python/C API is best "
"explained in terms of *ownership of references*. Ownership pertains to "
@@ -588,7 +629,7 @@ msgstr ""
"No es necesario hacer nada para obtener una :term:`referencia prestada "
"`."
-#: ../Doc/c-api/intro.rst:331
+#: ../Doc/c-api/intro.rst:366
msgid ""
"Conversely, when a calling function passes in a reference to an object, "
"there are two possibilities: the function *steals* a reference to the "
@@ -602,7 +643,7 @@ msgstr ""
"a una función, esa función asume que ahora posee esa referencia, y usted ya "
"no es responsable de ella."
-#: ../Doc/c-api/intro.rst:341
+#: ../Doc/c-api/intro.rst:376
msgid ""
"Few functions steal references; the two notable exceptions are :c:func:"
"`PyList_SetItem` and :c:func:`PyTuple_SetItem`, which steal a reference to "
@@ -622,7 +663,7 @@ msgstr ""
"(olvidando el manejo de errores por el momento; una mejor manera de "
"codificar esto se muestra a continuación)::"
-#: ../Doc/c-api/intro.rst:356
+#: ../Doc/c-api/intro.rst:391
msgid ""
"Here, :c:func:`PyLong_FromLong` returns a new reference which is immediately "
"stolen by :c:func:`PyTuple_SetItem`. When you want to keep using an object "
@@ -635,7 +676,7 @@ msgstr ""
"para tomar otra referencia antes de llamar a la función de robo de "
"referencias."
-#: ../Doc/c-api/intro.rst:361
+#: ../Doc/c-api/intro.rst:396
msgid ""
"Incidentally, :c:func:`PyTuple_SetItem` is the *only* way to set tuple "
"items; :c:func:`PySequence_SetItem` and :c:func:`PyObject_SetItem` refuse to "
@@ -648,7 +689,7 @@ msgstr ""
"datos inmutable. Solo debe usar :c:func:`PyTuple_SetItem` para las tuplas "
"que está creando usted mismo."
-#: ../Doc/c-api/intro.rst:366
+#: ../Doc/c-api/intro.rst:401
msgid ""
"Equivalent code for populating a list can be written using :c:func:"
"`PyList_New` and :c:func:`PyList_SetItem`."
@@ -656,7 +697,7 @@ msgstr ""
"El código equivalente para llenar una lista se puede escribir usando :c:func:"
"`PyList_New` y :c:func:`PyList_SetItem`."
-#: ../Doc/c-api/intro.rst:369
+#: ../Doc/c-api/intro.rst:404
msgid ""
"However, in practice, you will rarely use these ways of creating and "
"populating a tuple or list. There's a generic function, :c:func:"
@@ -672,7 +713,7 @@ msgstr ""
"reemplazarse por lo siguiente (que también se ocupa de la comprobación de "
"errores)::"
-#: ../Doc/c-api/intro.rst:380
+#: ../Doc/c-api/intro.rst:415
msgid ""
"It is much more common to use :c:func:`PyObject_SetItem` and friends with "
"items whose references you are only borrowing, like arguments that were "
@@ -690,7 +731,7 @@ msgstr ""
"(\"robarla\"). Por ejemplo, esta función establece todos los elementos de "
"una lista (en realidad, cualquier secuencia mutable) en un elemento dado::"
-#: ../Doc/c-api/intro.rst:410
+#: ../Doc/c-api/intro.rst:445
msgid ""
"The situation is slightly different for function return values. While "
"passing a reference to most functions does not change your ownership "
@@ -713,7 +754,7 @@ msgstr ""
"siempre retornan una nueva referencia (la entidad que llama se convierte en "
"el propietario de la referencia)."
-#: ../Doc/c-api/intro.rst:419
+#: ../Doc/c-api/intro.rst:454
msgid ""
"It is important to realize that whether you own a reference returned by a "
"function depends on which function you call only --- *the plumage* (the type "
@@ -731,7 +772,7 @@ msgstr ""
"lista usando :c:func:`PySequence_GetItem` (que toma exactamente los mismos "
"argumentos), usted posee una referencia al objeto retornado."
-#: ../Doc/c-api/intro.rst:431
+#: ../Doc/c-api/intro.rst:466
msgid ""
"Here is an example of how you could write a function that computes the sum "
"of the items in a list of integers; once using :c:func:`PyList_GetItem`, "
@@ -741,15 +782,16 @@ msgstr ""
"de los elementos en una lista de enteros; una vez usando :c:func:"
"`PyList_GetItem`, y una vez usando :c:func:`PySequence_GetItem`. ::"
-#: ../Doc/c-api/intro.rst:495
+#: ../Doc/c-api/intro.rst:530
msgid "Types"
msgstr "Tipos"
-#: ../Doc/c-api/intro.rst:497
+#: ../Doc/c-api/intro.rst:532
+#, fuzzy
msgid ""
"There are few other data types that play a significant role in the Python/C "
-"API; most are simple C types such as :c:type:`int`, :c:type:`long`, :c:type:"
-"`double` and :c:type:`char*`. A few structure types are used to describe "
+"API; most are simple C types such as :c:expr:`int`, :c:expr:`long`, :c:expr:"
+"`double` and :c:expr:`char*`. A few structure types are used to describe "
"static tables used to list the functions exported by a module or the data "
"attributes of a new object type, and another is used to describe the value "
"of a complex number. These will be discussed together with the functions "
@@ -763,11 +805,19 @@ msgstr ""
"objeto, y otro se usa para describir el valor de un número complejo. Estos "
"serán discutidos junto con las funciones que los usan."
-#: ../Doc/c-api/intro.rst:509
+#: ../Doc/c-api/intro.rst:542
+msgid ""
+"A signed integral type such that ``sizeof(Py_ssize_t) == sizeof(size_t)``. "
+"C99 doesn't define such a thing directly (size_t is an unsigned integral "
+"type). See :pep:`353` for details. ``PY_SSIZE_T_MAX`` is the largest "
+"positive value of type :c:type:`Py_ssize_t`."
+msgstr ""
+
+#: ../Doc/c-api/intro.rst:551
msgid "Exceptions"
msgstr "Excepciones"
-#: ../Doc/c-api/intro.rst:511
+#: ../Doc/c-api/intro.rst:553
msgid ""
"The Python programmer only needs to deal with exceptions if specific error "
"handling is required; unhandled exceptions are automatically propagated to "
@@ -781,7 +831,7 @@ msgstr ""
"sucesivamente, hasta que llegan al intérprete de nivel superior, donde se "
"informan al usuario acompañado de un seguimiento de pila (*stack traceback*)."
-#: ../Doc/c-api/intro.rst:519
+#: ../Doc/c-api/intro.rst:561
msgid ""
"For C programmers, however, error checking always has to be explicit. All "
"functions in the Python/C API can raise exceptions, unless an explicit claim "
@@ -808,7 +858,7 @@ msgstr ""
"requieren pruebas explícitas de errores con :c:func:`PyErr_Occurred`. Estas "
"excepciones siempre se documentan explícitamente."
-#: ../Doc/c-api/intro.rst:534
+#: ../Doc/c-api/intro.rst:576
msgid ""
"Exception state is maintained in per-thread storage (this is equivalent to "
"using global storage in an unthreaded application). A thread can be in one "
@@ -831,7 +881,7 @@ msgstr ""
"más general) para establecer el estado de excepción, y :c:func:`PyErr_Clear` "
"borra la excepción estado."
-#: ../Doc/c-api/intro.rst:544
+#: ../Doc/c-api/intro.rst:586
msgid ""
"The full exception state consists of three objects (all of which can be "
"``NULL``): the exception type, the corresponding exception value, and the "
@@ -854,7 +904,7 @@ msgstr ""
"de código de bytes (*bytecode*) de Python, que se encarga de transferirlo a "
"``sys.exc_info()`` y amigos."
-#: ../Doc/c-api/intro.rst:556
+#: ../Doc/c-api/intro.rst:598
msgid ""
"Note that starting with Python 1.5, the preferred, thread-safe way to access "
"the exception state from Python code is to call the function :func:`sys."
@@ -879,7 +929,7 @@ msgstr ""
"También reduce la extensión de vida útil a menudo no deseada para los "
"objetos a los que hacen referencia los marcos de pila en el rastreo."
-#: ../Doc/c-api/intro.rst:567
+#: ../Doc/c-api/intro.rst:609
msgid ""
"As a general principle, a function that calls another function to perform "
"some task should check whether the called function raised an exception, and "
@@ -897,7 +947,7 @@ msgstr ""
"excepción que se acaba de generar y perderá información importante sobre la "
"causa exacta del error."
-#: ../Doc/c-api/intro.rst:576
+#: ../Doc/c-api/intro.rst:618
msgid ""
"A simple example of detecting exceptions and passing them on is shown in "
"the :c:func:`sum_sequence` example above. It so happens that this example "
@@ -912,11 +962,11 @@ msgstr ""
"para recordar por qué le gusta Python, le mostramos el código Python "
"equivalente::"
-#: ../Doc/c-api/intro.rst:591
+#: ../Doc/c-api/intro.rst:633
msgid "Here is the corresponding C code, in all its glory::"
msgstr "Aquí está el código C correspondiente, en todo su esplendor::"
-#: ../Doc/c-api/intro.rst:643
+#: ../Doc/c-api/intro.rst:685
msgid ""
"This example represents an endorsed use of the ``goto`` statement in C! It "
"illustrates the use of :c:func:`PyErr_ExceptionMatches` and :c:func:"
@@ -939,11 +989,11 @@ msgstr ""
"``-1`` (falla) y solo se establece en éxito después de que la última llamada "
"realizada sea exitosa."
-#: ../Doc/c-api/intro.rst:657
+#: ../Doc/c-api/intro.rst:699
msgid "Embedding Python"
msgstr "Integración de Python"
-#: ../Doc/c-api/intro.rst:659
+#: ../Doc/c-api/intro.rst:701
msgid ""
"The one important task that only embedders (as opposed to extension writers) "
"of the Python interpreter have to worry about is the initialization, and "
@@ -956,7 +1006,7 @@ msgstr ""
"de Python. La mayor parte de la funcionalidad del intérprete solo se puede "
"usar después de que el intérprete se haya inicializado."
-#: ../Doc/c-api/intro.rst:672
+#: ../Doc/c-api/intro.rst:714
msgid ""
"The basic initialization function is :c:func:`Py_Initialize`. This "
"initializes the table of loaded modules, and creates the fundamental "
@@ -968,20 +1018,15 @@ msgstr ""
"mod:`builtins`, :mod:`__main__`, y :mod:`sys`. También inicializa la ruta de "
"búsqueda del módulo (``sys.path``)."
-#: ../Doc/c-api/intro.rst:679
+#: ../Doc/c-api/intro.rst:719
msgid ""
":c:func:`Py_Initialize` does not set the \"script argument list\" (``sys."
"argv``). If this variable is needed by Python code that will be executed "
-"later, it must be set explicitly with a call to ``PySys_SetArgvEx(argc, "
-"argv, updatepath)`` after the call to :c:func:`Py_Initialize`."
+"later, setting :c:member:`PyConfig.argv` and :c:member:`PyConfig.parse_argv` "
+"must be set: see :ref:`Python Initialization Configuration `."
msgstr ""
-":c:func:`Py_Initialize` no establece la \"lista de argumentos de script"
-"\" (``sys.argv``). Si el código de Python necesita esta variable que se "
-"ejecutará más adelante, debe establecerse explícitamente con una llamada a "
-"``PySys_SetArgvEx(argc, argv, updatepath)`` después de la llamada a :c:func:"
-"`Py_Initialize`."
-#: ../Doc/c-api/intro.rst:684
+#: ../Doc/c-api/intro.rst:724
msgid ""
"On most systems (in particular, on Unix and Windows, although the details "
"are slightly different), :c:func:`Py_Initialize` calculates the module "
@@ -1002,7 +1047,7 @@ msgstr ""
"encuentra el ejecutable llamado :file:`python` en la ruta de búsqueda del "
"comando *shell* (la variable de entorno :envvar:`PATH`)."
-#: ../Doc/c-api/intro.rst:693
+#: ../Doc/c-api/intro.rst:733
msgid ""
"For instance, if the Python executable is found in :file:`/usr/local/bin/"
"python`, it will assume that the libraries are in :file:`/usr/local/lib/"
@@ -1021,7 +1066,7 @@ msgstr ""
"`PYTHONHOME`, o inserte directorios adicionales delante de la ruta estándar "
"estableciendo :envvar:`PYTHONPATH`."
-#: ../Doc/c-api/intro.rst:708
+#: ../Doc/c-api/intro.rst:748
msgid ""
"The embedding application can steer the search by calling "
"``Py_SetProgramName(file)`` *before* calling :c:func:`Py_Initialize`. Note "
@@ -1039,7 +1084,7 @@ msgstr ""
"`Py_GetPath`, :c:func:`Py_GetPrefix`, :c:func:`Py_GetExecPrefix`, y :c:func:"
"`Py_GetProgramFullPath` (todo definido en :file:`Modules/getpath.c`)."
-#: ../Doc/c-api/intro.rst:718
+#: ../Doc/c-api/intro.rst:758
msgid ""
"Sometimes, it is desirable to \"uninitialize\" Python. For instance, the "
"application may want to start over (make another call to :c:func:"
@@ -1063,11 +1108,11 @@ msgstr ""
"asignada por el intérprete de Python, por ejemplo, la memoria asignada por "
"los módulos de extensión actualmente no se puede liberar."
-#: ../Doc/c-api/intro.rst:732
+#: ../Doc/c-api/intro.rst:772
msgid "Debugging Builds"
msgstr "Depuración de compilaciones"
-#: ../Doc/c-api/intro.rst:734
+#: ../Doc/c-api/intro.rst:774
msgid ""
"Python can be built with several macros to enable extra checks of the "
"interpreter and extension modules. These checks tend to add a large amount "
@@ -1078,13 +1123,14 @@ msgstr ""
"tienden a agregar una gran cantidad de sobrecarga al tiempo de ejecución, "
"por lo que no están habilitadas de forma predeterminada."
-#: ../Doc/c-api/intro.rst:738
+#: ../Doc/c-api/intro.rst:778
+#, fuzzy
msgid ""
"A full list of the various types of debugging builds is in the file :file:"
"`Misc/SpecialBuilds.txt` in the Python source distribution. Builds are "
"available that support tracing of reference counts, debugging the memory "
"allocator, or low-level profiling of the main interpreter loop. Only the "
-"most frequently-used builds will be described in the remainder of this "
+"most frequently used builds will be described in the remainder of this "
"section."
msgstr ""
"Una lista completa de los diversos tipos de compilaciones de depuración se "
@@ -1094,7 +1140,7 @@ msgstr ""
"creación de perfiles de bajo nivel del bucle principal del intérprete. Solo "
"las compilaciones más utilizadas se describirán en el resto de esta sección."
-#: ../Doc/c-api/intro.rst:744
+#: ../Doc/c-api/intro.rst:784
msgid ""
"Compiling the interpreter with the :c:macro:`Py_DEBUG` macro defined "
"produces what is generally meant by :ref:`a debug build of Python `."
@@ -1121,7 +1167,7 @@ msgstr ""
"continuación, se realizan verificaciones adicionales, véase :ref:"
"`compilaciones de depuración `."
-#: ../Doc/c-api/intro.rst:755
+#: ../Doc/c-api/intro.rst:795
msgid ""
"Defining :c:macro:`Py_TRACE_REFS` enables reference tracing (see the :option:"
"`configure --with-trace-refs option <--with-trace-refs>`). When defined, a "
@@ -1138,10 +1184,22 @@ msgstr ""
"imprimen todas las referencias existentes. (En modo interactivo, esto sucede "
"después de cada declaración ejecutada por el intérprete)."
-#: ../Doc/c-api/intro.rst:762
+#: ../Doc/c-api/intro.rst:802
msgid ""
"Please refer to :file:`Misc/SpecialBuilds.txt` in the Python source "
"distribution for more detailed information."
msgstr ""
"Consulte :file:`Misc/SpecialBuilds.txt` en la distribución fuente de Python "
"para obtener información más detallada."
+
+#~ msgid ""
+#~ ":c:func:`Py_Initialize` does not set the \"script argument list\" (``sys."
+#~ "argv``). If this variable is needed by Python code that will be executed "
+#~ "later, it must be set explicitly with a call to ``PySys_SetArgvEx(argc, "
+#~ "argv, updatepath)`` after the call to :c:func:`Py_Initialize`."
+#~ msgstr ""
+#~ ":c:func:`Py_Initialize` no establece la \"lista de argumentos de "
+#~ "script\" (``sys.argv``). Si el código de Python necesita esta variable "
+#~ "que se ejecutará más adelante, debe establecerse explícitamente con una "
+#~ "llamada a ``PySys_SetArgvEx(argc, argv, updatepath)`` después de la "
+#~ "llamada a :c:func:`Py_Initialize`."
diff --git a/c-api/iter.po b/c-api/iter.po
index d90cd201bb..e882d8788c 100644
--- a/c-api/iter.po
+++ b/c-api/iter.po
@@ -10,16 +10,16 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-16 21:42+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-08-16 13:04+0200\n"
"Last-Translator: Cristián Maureira-Fredes \n"
-"Language-Team: python-doc-es\n"
"Language: es\n"
+"Language-Team: python-doc-es\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.9.1\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/iter.rst:6
msgid "Iterator Protocol"
@@ -30,35 +30,39 @@ 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* supports the iterator protocol, 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."
#: ../Doc/c-api/iter.rst:17
+#, fuzzy
msgid ""
-"Returns non-zero if the object 'obj' provides :class:`AsyncIterator` "
-"protocols, and ``0`` otherwise. This function always succeeds."
+"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."
#: ../Doc/c-api/iter.rst:24
+#, fuzzy
msgid ""
-"Return the next value from the iteration *o*. The object must be an "
-"iterator (it is up to the caller to check this). If there are no remaining "
-"values, returns ``NULL`` with no exception set. If an error occurs while "
-"retrieving the item, returns ``NULL`` and passes along the exception."
+"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). "
+"If there are no remaining values, returns ``NULL`` with no exception set. If "
+"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."
-#: ../Doc/c-api/iter.rst:29
+#: ../Doc/c-api/iter.rst:30
msgid ""
"To write a loop which iterates over an iterator, the C code should look "
"something like this::"
@@ -66,32 +70,32 @@ msgstr ""
"Para escribir un bucle que itera sobre un iterador, el código en C debería "
"verse así::"
-#: ../Doc/c-api/iter.rst:58
+#: ../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`."
-#: ../Doc/c-api/iter.rst:65
+#: ../Doc/c-api/iter.rst:66
msgid "Sends the *arg* value into the iterator *iter*. Returns:"
msgstr "Envía el valor *arg* al iterador *iter*. Retorna:"
-#: ../Doc/c-api/iter.rst:67
+#: ../Doc/c-api/iter.rst:68
msgid ""
"``PYGEN_RETURN`` if iterator returns. Return value is returned via *presult*."
msgstr ""
"``PYGEN_RETURN`` si el iterador regresa. El valor de retorno se retorna a "
"través de *presult*."
-#: ../Doc/c-api/iter.rst:68
+#: ../Doc/c-api/iter.rst:69
msgid ""
"``PYGEN_NEXT`` if iterator yields. Yielded value is returned via *presult*."
msgstr ""
"``PYGEN_NEXT`` si el iterador cede. El valor cedido se retorna a través de "
"*presult*."
-#: ../Doc/c-api/iter.rst:69
+#: ../Doc/c-api/iter.rst:70
msgid ""
"``PYGEN_ERROR`` if iterator has raised and exception. *presult* is set to "
"``NULL``."
diff --git a/c-api/list.po b/c-api/list.po
index bad57e1938..3f7a08d860 100644
--- a/c-api/list.po
+++ b/c-api/list.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-03-19 11:16+0100\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-08-01 20:11+0200\n"
"Last-Translator: Cristián Maureira-Fredes \n"
"Language: es\n"
@@ -19,8 +19,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.8.0\n"
-"X-Generator: Poedit 3.0\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/list.rst:6
msgid "List Objects"
@@ -83,7 +82,8 @@ msgstr ""
"``len(list)`` en un objeto lista."
#: ../Doc/c-api/list.rst:56
-msgid "Macro form of :c:func:`PyList_Size` without error checking."
+#, fuzzy
+msgid "Similar to :c:func:`PyList_Size`, but without error checking."
msgstr "Forma macro de :c:func:`PyList_Size` sin comprobación de errores."
#: ../Doc/c-api/list.rst:61
@@ -99,7 +99,8 @@ msgstr ""
"len(list)*), retorna ``NULL`` y establece una excepción :exc:`IndexError`."
#: ../Doc/c-api/list.rst:69
-msgid "Macro form of :c:func:`PyList_GetItem` without error checking."
+#, fuzzy
+msgid "Similar to :c:func:`PyList_GetItem`, but without error checking."
msgstr "Forma macro de :c:func:`PyList_GetItem` sin comprobación de errores."
#: ../Doc/c-api/list.rst:74
diff --git a/c-api/long.po b/c-api/long.po
index d4a8818dba..3b4ba25b60 100644
--- a/c-api/long.po
+++ b/c-api/long.po
@@ -10,16 +10,16 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-16 21:42+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-08-02 01:24+0200\n"
"Last-Translator: Cristián Maureira-Fredes \n"
-"Language-Team: python-doc-es\n"
"Language: es\n"
+"Language-Team: python-doc-es\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.9.1\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/long.rst:6
msgid "Integer Objects"
@@ -79,9 +79,10 @@ msgstr ""
"de error."
#: ../Doc/c-api/long.rst:43
+#, fuzzy
msgid ""
"The current implementation keeps an array of integer objects for all "
-"integers between ``-5`` and ``256``, when you create an int in that range "
+"integers between ``-5`` and ``256``. When you create an int in that range "
"you actually just get back a reference to the existing object."
msgstr ""
"La implementación actual mantiene un arreglo de objetos enteros para todos "
@@ -89,8 +90,9 @@ msgstr ""
"realidad solo obtiene una referencia al objeto existente."
#: ../Doc/c-api/long.rst:50
+#, fuzzy
msgid ""
-"Return a new :c:type:`PyLongObject` object from a C :c:type:`unsigned long`, "
+"Return a new :c:type:`PyLongObject` object from a C :c:expr:`unsigned long`, "
"or ``NULL`` on failure."
msgstr ""
"Retorna un objeto :c:type:`PyLongObject` nuevo desde un C :c:type:`unsigned "
@@ -113,16 +115,18 @@ msgstr ""
"o ``NULL`` en caso de error."
#: ../Doc/c-api/long.rst:68
+#, fuzzy
msgid ""
-"Return a new :c:type:`PyLongObject` object from a C :c:type:`long long`, or "
+"Return a new :c:type:`PyLongObject` object from a C :c:expr:`long long`, or "
"``NULL`` on failure."
msgstr ""
"Retorna un objeto :c:type:`PyLongObject` nuevo desde un C :c:type:`long "
"long`, o ``NULL`` en caso de error."
#: ../Doc/c-api/long.rst:74
+#, fuzzy
msgid ""
-"Return a new :c:type:`PyLongObject` object from a C :c:type:`unsigned long "
+"Return a new :c:type:`PyLongObject` object from a C :c:expr:`unsigned long "
"long`, or ``NULL`` on failure."
msgstr ""
"Retorna un objeto :c:type:`PyLongObject` nuevo desde un C :c:type:`unsigned "
@@ -176,8 +180,9 @@ msgstr ""
"recuperar del valor resultante usando :c:func:`PyLong_AsVoidPtr`."
#: ../Doc/c-api/long.rst:118 ../Doc/c-api/long.rst:136
+#, fuzzy
msgid ""
-"Return a C :c:type:`long` representation of *obj*. If *obj* is not an "
+"Return a C :c:expr:`long` representation of *obj*. If *obj* is not an "
"instance of :c:type:`PyLongObject`, first call its :meth:`__index__` method "
"(if present) to convert it to a :c:type:`PyLongObject`."
msgstr ""
@@ -186,9 +191,10 @@ msgstr ""
"`__index__` (si está presente) para convertirlo en un :c:type:`PyLongObject`."
#: ../Doc/c-api/long.rst:122
+#, fuzzy
msgid ""
"Raise :exc:`OverflowError` if the value of *obj* is out of range for a :c:"
-"type:`long`."
+"expr:`long`."
msgstr ""
"Lanza :exc:`OverflowError` si el valor de *obj* está fuera de rango para un :"
"c:type:`long`."
@@ -227,8 +233,9 @@ msgstr ""
"``-1`` como de costumbre."
#: ../Doc/c-api/long.rst:159 ../Doc/c-api/long.rst:177
+#, fuzzy
msgid ""
-"Return a C :c:type:`long long` representation of *obj*. If *obj* is not an "
+"Return a C :c:expr:`long long` representation of *obj*. If *obj* is not an "
"instance of :c:type:`PyLongObject`, first call its :meth:`__index__` method "
"(if present) to convert it to a :c:type:`PyLongObject`."
msgstr ""
@@ -237,9 +244,10 @@ msgstr ""
"`__index__` (si está presente) para convertirlo en un :c:type:`PyLongObject`."
#: ../Doc/c-api/long.rst:163
+#, fuzzy
msgid ""
"Raise :exc:`OverflowError` if the value of *obj* is out of range for a :c:"
-"type:`long long`."
+"expr:`long long`."
msgstr ""
"Lanza :exc:`OverflowError` si el valor de *obj* está fuera de rango para un :"
"c:type:`long long`."
@@ -274,17 +282,19 @@ msgstr ""
"un :c:type:`Py_ssize_t`."
#: ../Doc/c-api/long.rst:218
+#, fuzzy
msgid ""
-"Return a C :c:type:`unsigned long` representation of *pylong*. *pylong* "
+"Return a C :c:expr:`unsigned long` representation of *pylong*. *pylong* "
"must be an instance of :c:type:`PyLongObject`."
msgstr ""
"Retorna una representación de C :c:type:`unsigned long` de *pylong*. "
"*pylong* debe ser una instancia de :c:type:`PyLongObject`."
#: ../Doc/c-api/long.rst:221
+#, fuzzy
msgid ""
"Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:"
-"type:`unsigned long`."
+"expr:`unsigned long`."
msgstr ""
"Lanza :exc:`OverflowError` si el valor de *pylong* está fuera de rango para "
"un :c:type:`unsigned long`."
@@ -322,17 +332,19 @@ msgstr ""
"desambiguar."
#: ../Doc/c-api/long.rst:249
+#, fuzzy
msgid ""
-"Return a C :c:type:`unsigned long long` representation of *pylong*. "
+"Return a C :c:expr:`unsigned long long` representation of *pylong*. "
"*pylong* must be an instance of :c:type:`PyLongObject`."
msgstr ""
"Retorna una representación de C :c:type:`unsigned long long` de *pylong*. "
"*pylong* debe ser una instancia de :c:type:`PyLongObject`."
#: ../Doc/c-api/long.rst:252
+#, fuzzy
msgid ""
"Raise :exc:`OverflowError` if the value of *pylong* is out of range for an :"
-"c:type:`unsigned long long`."
+"c:expr:`unsigned long long`."
msgstr ""
"Lanza :exc:`OverflowError` si el valor de *pylong* está fuera de rango para "
"un :c:type:`unsigned long long`."
@@ -353,8 +365,9 @@ msgstr ""
"`TypeError`."
#: ../Doc/c-api/long.rst:264
+#, fuzzy
msgid ""
-"Return a C :c:type:`unsigned long` representation of *obj*. If *obj* is not "
+"Return a C :c:expr:`unsigned long` representation of *obj*. If *obj* is not "
"an instance of :c:type:`PyLongObject`, first call its :meth:`__index__` "
"method (if present) to convert it to a :c:type:`PyLongObject`."
msgstr ""
@@ -363,8 +376,9 @@ msgstr ""
"`__index__` (si está presente) para convertirlo en un :c:type:`PyLongObject`."
#: ../Doc/c-api/long.rst:268
+#, fuzzy
msgid ""
-"If the value of *obj* is out of range for an :c:type:`unsigned long`, return "
+"If the value of *obj* is out of range for an :c:expr:`unsigned long`, return "
"the reduction of that value modulo ``ULONG_MAX + 1``."
msgstr ""
"Si el valor de *obj* está fuera del rango para :c:type:`unsigned long`, "
@@ -379,8 +393,9 @@ msgstr ""
"para desambiguar."
#: ../Doc/c-api/long.rst:283
+#, fuzzy
msgid ""
-"Return a C :c:type:`unsigned long long` representation of *obj*. If *obj* "
+"Return a C :c:expr:`unsigned long long` representation of *obj*. If *obj* "
"is not an instance of :c:type:`PyLongObject`, first call its :meth:"
"`__index__` method (if present) to convert it to a :c:type:`PyLongObject`."
msgstr ""
@@ -390,8 +405,9 @@ msgstr ""
"`PyLongObject`."
#: ../Doc/c-api/long.rst:288
+#, fuzzy
msgid ""
-"If the value of *obj* is out of range for an :c:type:`unsigned long long`, "
+"If the value of *obj* is out of range for an :c:expr:`unsigned long long`, "
"return the reduction of that value modulo ``ULLONG_MAX + 1``."
msgstr ""
"Si el valor de *obj* está fuera del rango para :c:type:`unsigned long long`, "
@@ -406,17 +422,19 @@ msgstr ""
"para desambiguar."
#: ../Doc/c-api/long.rst:303
+#, fuzzy
msgid ""
-"Return a C :c:type:`double` representation of *pylong*. *pylong* must be an "
+"Return a C :c:expr:`double` representation of *pylong*. *pylong* must be an "
"instance of :c:type:`PyLongObject`."
msgstr ""
"Retorna una representación de C :c:type:`double` de *pylong*. *pylong* debe "
"ser una instancia de :c:type:`PyLongObject`."
#: ../Doc/c-api/long.rst:306
+#, fuzzy
msgid ""
"Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:"
-"type:`double`."
+"expr:`double`."
msgstr ""
"Lanza :exc:`OverflowError` si el valor de *pylong* está fuera de rango para "
"un :c:type:`double`."
@@ -429,10 +447,11 @@ msgstr ""
"desambiguar."
#: ../Doc/c-api/long.rst:314
+#, fuzzy
msgid ""
-"Convert a Python integer *pylong* to a C :c:type:`void` pointer. If *pylong* "
+"Convert a Python integer *pylong* to a C :c:expr:`void` pointer. If *pylong* "
"cannot be converted, an :exc:`OverflowError` will be raised. This is only "
-"assured to produce a usable :c:type:`void` pointer for values created with :"
+"assured to produce a usable :c:expr:`void` pointer for values created with :"
"c:func:`PyLong_FromVoidPtr`."
msgstr ""
"Convierte un entero Python *pylong* en un puntero C :c:type:`void`. Si "
diff --git a/c-api/mapping.po b/c-api/mapping.po
index 874d0f1840..f72c07e839 100644
--- a/c-api/mapping.po
+++ b/c-api/mapping.po
@@ -10,17 +10,16 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-05-05 12:54+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2020-05-10 02:44+0200\n"
+"Last-Translator: Cristián Maureira-Fredes \n"
+"Language: es\n"
"Language-Team: python-doc-es\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.8.0\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"Last-Translator: Cristián Maureira-Fredes \n"
-"Language: es\n"
-"X-Generator: Poedit 2.3\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/mapping.rst:6
msgid "Mapping Protocol"
@@ -35,11 +34,13 @@ msgstr ""
"func:`PyObject_DelItem`."
#: ../Doc/c-api/mapping.rst:14
+#, fuzzy
msgid ""
-"Return ``1`` if the object provides mapping protocol or supports slicing, "
-"and ``0`` otherwise. Note that it returns ``1`` for Python classes with a :"
-"meth:`__getitem__` method since in general case it is impossible to "
-"determine what type of keys it supports. This function always succeeds."
+"Return ``1`` if the object provides the mapping protocol or supports "
+"slicing, and ``0`` otherwise. Note that it returns ``1`` for Python classes "
+"with a :meth:`__getitem__` method, since in general it is impossible to "
+"determine what type of keys the class supports. This function always "
+"succeeds."
msgstr ""
"Retorna ``1`` si el objeto proporciona el protocolo de mapeo o admite "
"rebanado (*slicing*), y ``0`` de lo contrario. Tenga en cuenta que retorna "
diff --git a/c-api/marshal.po b/c-api/marshal.po
index d506153e52..bb690697fe 100644
--- a/c-api/marshal.po
+++ b/c-api/marshal.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-03-19 11:16+0100\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-08-01 20:28+0200\n"
"Last-Translator: Cristián Maureira-Fredes \n"
"Language: es\n"
@@ -19,8 +19,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.8.0\n"
-"X-Generator: Poedit 3.0\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/marshal.rst:6
msgid "Data marshalling support"
@@ -60,14 +59,10 @@ msgstr ""
#: ../Doc/c-api/marshal.rst:24
msgid ""
-"Marshal a :c:type:`long` integer, *value*, to *file*. This will only write "
+"Marshal a :c:expr:`long` integer, *value*, to *file*. This will only write "
"the least-significant 32 bits of *value*; regardless of the size of the "
-"native :c:type:`long` type. *version* indicates the file format."
+"native :c:expr:`long` type. *version* indicates the file format."
msgstr ""
-"Empaqueta (*marshal*) un entero :c:type:`long`, *value*, a un archivo "
-"*file*. Esto solo escribirá los 32 bits menos significativos de *value*; "
-"independientemente del tamaño del tipo nativo :c:type:`long`. *version* "
-"indica el formato del archivo."
#: ../Doc/c-api/marshal.rst:31
msgid ""
@@ -92,10 +87,11 @@ msgstr ""
"(*marshalled*)."
#: ../Doc/c-api/marshal.rst:46
+#, fuzzy
msgid ""
-"Return a C :c:type:`long` from the data stream in a :c:type:`FILE*` opened "
+"Return a C :c:expr:`long` from the data stream in a :c:expr:`FILE*` opened "
"for reading. Only a 32-bit value can be read in using this function, "
-"regardless of the native size of :c:type:`long`."
+"regardless of the native size of :c:expr:`long`."
msgstr ""
"Retorna un C :c:type:`long` del flujo de datos en un :c:type:`FILE*` abierto "
"para lectura. Solo se puede leer un valor de 32 bits con esta función, "
@@ -110,18 +106,20 @@ msgstr ""
"retorna ``-1``."
#: ../Doc/c-api/marshal.rst:56
+#, fuzzy
msgid ""
-"Return a C :c:type:`short` from the data stream in a :c:type:`FILE*` opened "
+"Return a C :c:expr:`short` from the data stream in a :c:expr:`FILE*` opened "
"for reading. Only a 16-bit value can be read in using this function, "
-"regardless of the native size of :c:type:`short`."
+"regardless of the native size of :c:expr:`short`."
msgstr ""
"Retorna un C :c:type:`short` desde el flujo de datos en un :c:type:`FILE*` "
"abierto para lectura. Solo se puede leer un valor de 16 bits con esta "
"función, independientemente del tamaño nativo de :c:type:`short`."
#: ../Doc/c-api/marshal.rst:66
+#, fuzzy
msgid ""
-"Return a Python object from the data stream in a :c:type:`FILE*` opened for "
+"Return a Python object from the data stream in a :c:expr:`FILE*` opened for "
"reading."
msgstr ""
"Retorna un objeto Python del flujo de datos en un :c:type:`FILE*` abierto "
@@ -137,8 +135,9 @@ msgstr ""
"`ValueError` o :exc:`TypeError`) y retorna ``NULL``."
#: ../Doc/c-api/marshal.rst:75
+#, fuzzy
msgid ""
-"Return a Python object from the data stream in a :c:type:`FILE*` opened for "
+"Return a Python object from the data stream in a :c:expr:`FILE*` opened for "
"reading. Unlike :c:func:`PyMarshal_ReadObjectFromFile`, this function "
"assumes that no further objects will be read from the file, allowing it to "
"aggressively load file data into memory so that the de-serialization can "
@@ -161,3 +160,13 @@ msgid ""
msgstr ""
"Retorna un objeto Python del flujo de datos en un búfer de bytes que "
"contiene *len* bytes a los que apunta *data*."
+
+#~ msgid ""
+#~ "Marshal a :c:type:`long` integer, *value*, to *file*. This will only "
+#~ "write the least-significant 32 bits of *value*; regardless of the size of "
+#~ "the native :c:type:`long` type. *version* indicates the file format."
+#~ msgstr ""
+#~ "Empaqueta (*marshal*) un entero :c:type:`long`, *value*, a un archivo "
+#~ "*file*. Esto solo escribirá los 32 bits menos significativos de *value*; "
+#~ "independientemente del tamaño del tipo nativo :c:type:`long`. *version* "
+#~ "indica el formato del archivo."
diff --git a/c-api/memory.po b/c-api/memory.po
index 50015035ba..02b83720e5 100644
--- a/c-api/memory.po
+++ b/c-api/memory.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-16 21:42+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-10-22 08:58-0300\n"
"Last-Translator: Cristián Maureira-Fredes \n"
"Language: es\n"
@@ -19,8 +19,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.1\n"
-"X-Generator: Poedit 2.2.1\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/memory.rst:8
msgid "Memory Management"
@@ -121,6 +120,7 @@ msgstr ""
"solo participa en la asignación del objeto de bytes retornado como resultado."
#: ../Doc/c-api/memory.rst:72
+#, fuzzy
msgid ""
"In most situations, however, it is recommended to allocate memory from the "
"Python heap specifically because the latter is under control of the Python "
@@ -128,7 +128,7 @@ msgid ""
"extended with new object types written in C. Another reason for using the "
"Python heap is the desire to *inform* the Python memory manager about the "
"memory needs of the extension module. Even when the requested memory is used "
-"exclusively for internal, highly-specific purposes, delegating all memory "
+"exclusively for internal, highly specific purposes, delegating all memory "
"requests to the Python memory manager causes the interpreter to have a more "
"accurate image of its memory footprint as a whole. Consequently, under "
"certain circumstances, the Python memory manager may or may not trigger "
@@ -280,8 +280,9 @@ msgstr ""
#: ../Doc/c-api/memory.rst:144 ../Doc/c-api/memory.rst:215
#: ../Doc/c-api/memory.rst:323
+#, fuzzy
msgid ""
-"Allocates *n* bytes and returns a pointer of type :c:type:`void*` to the "
+"Allocates *n* bytes and returns a pointer of type :c:expr:`void*` to the "
"allocated memory, or ``NULL`` if the request fails."
msgstr ""
"Asigna *n* bytes y retorna un puntero de tipo :c:type:`void*` a la memoria "
@@ -299,9 +300,10 @@ msgstr ""
#: ../Doc/c-api/memory.rst:154 ../Doc/c-api/memory.rst:225
#: ../Doc/c-api/memory.rst:333
+#, fuzzy
msgid ""
"Allocates *nelem* elements each whose size in bytes is *elsize* and returns "
-"a pointer of type :c:type:`void*` to the allocated memory, or ``NULL`` if "
+"a pointer of type :c:expr:`void*` to the allocated memory, or ``NULL`` if "
"the request fails. The memory is initialized to zeros."
msgstr ""
"Asigna *nelem* elementos cada uno cuyo tamaño en bytes es *elsize* y retorna "
@@ -478,9 +480,10 @@ msgstr ""
"Tenga en cuenta que *TYPE* se refiere a cualquier tipo de C."
#: ../Doc/c-api/memory.rst:267
+#, fuzzy
msgid ""
"Same as :c:func:`PyMem_Malloc`, but allocates ``(n * sizeof(TYPE))`` bytes "
-"of memory. Returns a pointer cast to :c:type:`TYPE*`. The memory will not "
+"of memory. Returns a pointer cast to :c:expr:`TYPE*`. The memory will not "
"have been initialized in any way."
msgstr ""
"Igual que :c:func:`PyMem_Malloc`, pero asigna ``(n * sizeof(TYPE))`` bytes "
@@ -488,9 +491,10 @@ msgstr ""
"no se habrá inicializado de ninguna manera."
#: ../Doc/c-api/memory.rst:274
+#, fuzzy
msgid ""
"Same as :c:func:`PyMem_Realloc`, but the memory block is resized to ``(n * "
-"sizeof(TYPE))`` bytes. Returns a pointer cast to :c:type:`TYPE*`. On "
+"sizeof(TYPE))`` bytes. Returns a pointer cast to :c:expr:`TYPE*`. On "
"return, *p* will be a pointer to the new memory area, or ``NULL`` in the "
"event of failure."
msgstr ""
@@ -553,9 +557,10 @@ msgid "Object allocators"
msgstr "Asignadores de objetos"
#: ../Doc/c-api/memory.rst:308
+#, fuzzy
msgid ""
"There is no guarantee that the memory returned by these allocators can be "
-"successfully casted to a Python object when intercepting the allocating "
+"successfully cast to a Python object when intercepting the allocating "
"functions in this domain by the methods described in the :ref:`Customize "
"Memory Allocators ` section."
msgstr ""
@@ -729,7 +734,8 @@ msgstr ""
msgid "``pymalloc``: :ref:`pymalloc memory allocator `."
msgstr "``pymalloc``: :ref:`asignador de memoria pymalloc `."
-# debug hooks se deja como enlaces de depuración ya que en traducciones anteriores se dejó como enlaces
+# debug hooks se deja como enlaces de depuración ya que en traducciones
+# anteriores se dejó como enlaces
#: ../Doc/c-api/memory.rst:392
msgid ""
"\"+ debug\": with :ref:`debug hooks on the Python memory allocators `."
+msgstr ""
+
+#: ../Doc/c-api/memory.rst:484
msgid ""
"Setup :ref:`debug hooks in the Python memory allocators ` "
"to detect memory errors."
@@ -913,14 +926,14 @@ msgstr ""
"Configuración :ref:`enlaces de depuración en los asignadores de memoria de "
"Python ` para detectar errores de memoria."
-#: ../Doc/c-api/memory.rst:489
+#: ../Doc/c-api/memory.rst:491
msgid "Debug hooks on the Python memory allocators"
msgstr ""
"Configurar enlaces para detectar errores en las funciones del asignador de "
"memoria de Python"
# "debug hooks" como se traduciría
-#: ../Doc/c-api/memory.rst:491
+#: ../Doc/c-api/memory.rst:493
msgid ""
"When :ref:`Python is built in debug mode `, the :c:func:"
"`PyMem_SetupDebugHooks` function is called at the :ref:`Python "
@@ -932,7 +945,7 @@ msgstr ""
"de Python ` para configurar los enlaces de depuración en Python "
"asignadores de memoria para detectar errores de memoria."
-#: ../Doc/c-api/memory.rst:496
+#: ../Doc/c-api/memory.rst:498
msgid ""
"The :envvar:`PYTHONMALLOC` environment variable can be used to install debug "
"hooks on a Python compiled in release mode (ex: ``PYTHONMALLOC=debug``)."
@@ -941,7 +954,7 @@ msgstr ""
"instalar enlaces de depuración en un Python compilado en modo de lanzamiento "
"(por ejemplo: ``PYTHONMALLOC=debug``)."
-#: ../Doc/c-api/memory.rst:499
+#: ../Doc/c-api/memory.rst:501
msgid ""
"The :c:func:`PyMem_SetupDebugHooks` function can be used to set debug hooks "
"after calling :c:func:`PyMem_SetAllocator`."
@@ -950,7 +963,7 @@ msgstr ""
"enlaces de depuración después de llamar a :c:func:`PyMem_SetAllocator`."
# hooks como se traduce?
-#: ../Doc/c-api/memory.rst:502
+#: ../Doc/c-api/memory.rst:504
msgid ""
"These debug hooks fill dynamically allocated memory blocks with special, "
"recognizable bit patterns. Newly allocated memory is filled with the byte "
@@ -967,11 +980,11 @@ msgstr ""
"byte ``0xFD`` (``PYMEM_FORBIDDENBYTE``). Es poco probable que las cadenas de "
"estos bytes sean direcciones válidas, flotantes o cadenas ASCII."
-#: ../Doc/c-api/memory.rst:509
+#: ../Doc/c-api/memory.rst:511
msgid "Runtime checks:"
msgstr "Verificaciones de tiempo de ejecución:"
-#: ../Doc/c-api/memory.rst:511
+#: ../Doc/c-api/memory.rst:513
msgid ""
"Detect API violations. For example, detect if :c:func:`PyObject_Free` is "
"called on a memory block allocated by :c:func:`PyMem_Malloc`."
@@ -979,17 +992,17 @@ msgstr ""
"Detecte violaciones de API, por ejemplo: :c:func:`PyObject_Free` llamado en "
"un búfer asignado por :c:func:`PyMem_Malloc`."
-#: ../Doc/c-api/memory.rst:513
+#: ../Doc/c-api/memory.rst:515
msgid "Detect write before the start of the buffer (buffer underflow)."
msgstr ""
"Detectar escritura antes del inicio del búfer (desbordamiento del búfer)"
-#: ../Doc/c-api/memory.rst:514
+#: ../Doc/c-api/memory.rst:516
msgid "Detect write after the end of the buffer (buffer overflow)."
msgstr ""
"Detectar escritura después del final del búfer (desbordamiento del búfer)"
-#: ../Doc/c-api/memory.rst:515
+#: ../Doc/c-api/memory.rst:517
msgid ""
"Check that the :term:`GIL ` is held when allocator "
"functions of :c:data:`PYMEM_DOMAIN_OBJ` (ex: :c:func:`PyObject_Malloc`) and :"
@@ -1000,7 +1013,7 @@ msgstr ""
"`PyObject_Malloc`) y dominios :c:data:`PYMEM_DOMAIN_MEM` (por ejemplo: :c:"
"func:`PyMem_Malloc`) se llaman."
-#: ../Doc/c-api/memory.rst:520
+#: ../Doc/c-api/memory.rst:522
msgid ""
"On error, the debug hooks use the :mod:`tracemalloc` module to get the "
"traceback where a memory block was allocated. The traceback is only "
@@ -1012,14 +1025,14 @@ msgstr ""
"El rastreo solo se muestra si :mod:`tracemalloc` rastrea las asignaciones de "
"memoria de Python y se rastrea el bloque de memoria."
-#: ../Doc/c-api/memory.rst:525
+#: ../Doc/c-api/memory.rst:527
msgid ""
"Let *S* = ``sizeof(size_t)``. ``2*S`` bytes are added at each end of each "
"block of *N* bytes requested. The memory layout is like so, where p "
"represents the address returned by a malloc-like or realloc-like function "
-"(``p[i:j]`` means the slice of bytes from ``*(p+i)`` inclusive up to ``*(p"
-"+j)`` exclusive; note that the treatment of negative indices differs from a "
-"Python slice):"
+"(``p[i:j]`` means the slice of bytes from ``*(p+i)`` inclusive up to "
+"``*(p+j)`` exclusive; note that the treatment of negative indices differs "
+"from a Python slice):"
msgstr ""
"Sea *S*=``sizeof(size_t)``. Se agregan ``2*S`` bytes en cada extremo de cada "
"bloque de *N* bytes solicitados. El diseño de la memoria es así, donde p "
@@ -1028,11 +1041,11 @@ msgstr ""
"``*(p+j)`` exclusivo; tenga en cuenta que el tratamiento de los índices "
"negativos difiere de un segmento de Python):"
-#: ../Doc/c-api/memory.rst:532
+#: ../Doc/c-api/memory.rst:534
msgid "``p[-2*S:-S]``"
msgstr "``p[-2*S:-S]``"
-#: ../Doc/c-api/memory.rst:532
+#: ../Doc/c-api/memory.rst:534
msgid ""
"Number of bytes originally asked for. This is a size_t, big-endian (easier "
"to read in a memory dump)."
@@ -1040,41 +1053,41 @@ msgstr ""
"Número de bytes solicitados originalmente. Este es un size_t, big-endian "
"(más fácil de leer en un volcado de memoria)."
-#: ../Doc/c-api/memory.rst:539
+#: ../Doc/c-api/memory.rst:541
msgid "``p[-S]``"
msgstr "``p[-S]``"
-#: ../Doc/c-api/memory.rst:535
+#: ../Doc/c-api/memory.rst:537
msgid "API identifier (ASCII character):"
msgstr "Identificador de API (carácter ASCII):"
-#: ../Doc/c-api/memory.rst:537
+#: ../Doc/c-api/memory.rst:539
msgid "``'r'`` for :c:data:`PYMEM_DOMAIN_RAW`."
msgstr "``'r'`` para :c:data:`PYMEM_DOMAIN_RAW`."
-#: ../Doc/c-api/memory.rst:538
+#: ../Doc/c-api/memory.rst:540
msgid "``'m'`` for :c:data:`PYMEM_DOMAIN_MEM`."
msgstr "``'m'`` para :c:data:`PYMEM_DOMAIN_MEM`."
-#: ../Doc/c-api/memory.rst:539
+#: ../Doc/c-api/memory.rst:541
msgid "``'o'`` for :c:data:`PYMEM_DOMAIN_OBJ`."
msgstr "``'o'`` para :c:data:`PYMEM_DOMAIN_OBJ`."
-#: ../Doc/c-api/memory.rst:542
+#: ../Doc/c-api/memory.rst:544
msgid "``p[-S+1:0]``"
msgstr "``p[-S+1:0]``"
-#: ../Doc/c-api/memory.rst:542
+#: ../Doc/c-api/memory.rst:544
msgid "Copies of PYMEM_FORBIDDENBYTE. Used to catch under- writes and reads."
msgstr ""
"Copias de PYMEM_FORBIDDENBYTE. Se utiliza para detectar suscripciones y "
"lecturas."
-#: ../Doc/c-api/memory.rst:551
+#: ../Doc/c-api/memory.rst:553
msgid "``p[0:N]``"
msgstr "``p[0:N]``"
-#: ../Doc/c-api/memory.rst:545
+#: ../Doc/c-api/memory.rst:547
msgid ""
"The requested memory, filled with copies of PYMEM_CLEANBYTE, used to catch "
"reference to uninitialized memory. When a realloc-like function is called "
@@ -1093,21 +1106,21 @@ msgstr ""
"similar a la realloc solicitando un bloque de memoria más pequeño, los bytes "
"antiguos sobrantes también se llenan con PYMEM_DEADBYTE."
-#: ../Doc/c-api/memory.rst:554
+#: ../Doc/c-api/memory.rst:556
msgid "``p[N:N+S]``"
msgstr "``p[N:N+S]``"
-#: ../Doc/c-api/memory.rst:554
+#: ../Doc/c-api/memory.rst:556
msgid "Copies of PYMEM_FORBIDDENBYTE. Used to catch over- writes and reads."
msgstr ""
"Copias de PYMEM_FORBIDDENBYTE. Se utiliza para detectar sobrescrituras y "
"lecturas."
-#: ../Doc/c-api/memory.rst:565
+#: ../Doc/c-api/memory.rst:567
msgid "``p[N+S:N+2*S]``"
msgstr "``p[N+S:N+2*S]``"
-#: ../Doc/c-api/memory.rst:557
+#: ../Doc/c-api/memory.rst:559
msgid ""
"Only used if the ``PYMEM_DEBUG_SERIALNO`` macro is defined (not defined by "
"default)."
@@ -1115,7 +1128,7 @@ msgstr ""
"Solo se utiliza si la macro ``PYMEM_DEBUG_SERIALNO`` está definida (no "
"definida por defecto)."
-#: ../Doc/c-api/memory.rst:560
+#: ../Doc/c-api/memory.rst:562
msgid ""
"A serial number, incremented by 1 on each call to a malloc-like or realloc-"
"like function. Big-endian ``size_t``. If \"bad memory\" is detected later, "
@@ -1132,7 +1145,7 @@ msgstr ""
"obmalloc.c es el único lugar donde se incrementa el número de serie, y "
"existe para que pueda establecer un punto de interrupción fácilmente."
-#: ../Doc/c-api/memory.rst:567
+#: ../Doc/c-api/memory.rst:569
msgid ""
"A realloc-like or free-like function first checks that the "
"PYMEM_FORBIDDENBYTE bytes at each end are intact. If they've been altered, "
@@ -1154,7 +1167,7 @@ msgstr ""
"(lo que significa que se está usando la memoria liberada) o PYMEM_CLEANBYTE "
"(que significa que se está usando la memoria no inicializada)."
-#: ../Doc/c-api/memory.rst:576
+#: ../Doc/c-api/memory.rst:578
msgid ""
"The :c:func:`PyMem_SetupDebugHooks` function now also works on Python "
"compiled in release mode. On error, the debug hooks now use :mod:"
@@ -1169,7 +1182,7 @@ msgstr ""
"comprueban si el GIL se mantiene cuando se llaman las funciones de :c:data:"
"`PYMEM_DOMAIN_OBJ` y :c:data:`PYMEM_DOMAIN_MEM` dominios."
-#: ../Doc/c-api/memory.rst:584
+#: ../Doc/c-api/memory.rst:586
msgid ""
"Byte patterns ``0xCB`` (``PYMEM_CLEANBYTE``), ``0xDB`` (``PYMEM_DEADBYTE``) "
"and ``0xFB`` (``PYMEM_FORBIDDENBYTE``) have been replaced with ``0xCD``, "
@@ -1181,11 +1194,11 @@ msgstr ""
"por ``0xCD``, ``0xDD`` y ``0xFD`` para usar los mismos valores que la "
"depuración de Windows CRT ``malloc()`` y ``free()``."
-#: ../Doc/c-api/memory.rst:594
+#: ../Doc/c-api/memory.rst:596
msgid "The pymalloc allocator"
msgstr "El asignador pymalloc"
-#: ../Doc/c-api/memory.rst:596
+#: ../Doc/c-api/memory.rst:598
msgid ""
"Python has a *pymalloc* allocator optimized for small objects (smaller or "
"equal to 512 bytes) with a short lifetime. It uses memory mappings called "
@@ -1199,7 +1212,7 @@ msgstr ""
"Vuelve a :c:func:`PyMem_RawMalloc` y :c:func:`PyMem_RawRealloc` para "
"asignaciones de más de 512 bytes."
-#: ../Doc/c-api/memory.rst:601
+#: ../Doc/c-api/memory.rst:603
msgid ""
"*pymalloc* is the :ref:`default allocator ` of "
"the :c:data:`PYMEM_DOMAIN_MEM` (ex: :c:func:`PyMem_Malloc`) and :c:data:"
@@ -1209,23 +1222,23 @@ msgstr ""
"de :c:data:`PYMEM_DOMAIN_MEM` (por ejemplo: :c:func:`PyMem_Malloc`) y :c:"
"data:`PYMEM_DOMAIN_OBJ` (por ejemplo: :c:func:`PyObject_Malloc`) dominios."
-#: ../Doc/c-api/memory.rst:605
+#: ../Doc/c-api/memory.rst:607
msgid "The arena allocator uses the following functions:"
msgstr "El asignador de arena utiliza las siguientes funciones:"
-#: ../Doc/c-api/memory.rst:607
+#: ../Doc/c-api/memory.rst:609
msgid ":c:func:`VirtualAlloc` and :c:func:`VirtualFree` on Windows,"
msgstr ":c:func:`VirtualAlloc` y :c:func:`VirtualFree` en Windows,"
-#: ../Doc/c-api/memory.rst:608
+#: ../Doc/c-api/memory.rst:610
msgid ":c:func:`mmap` and :c:func:`munmap` if available,"
msgstr ":c:func:`mmap` y :c:func:`munmap` si está disponible,"
-#: ../Doc/c-api/memory.rst:609
+#: ../Doc/c-api/memory.rst:611
msgid ":c:func:`malloc` and :c:func:`free` otherwise."
msgstr ":c:func:`malloc` y :c:func:`free` en caso contrario."
-#: ../Doc/c-api/memory.rst:611
+#: ../Doc/c-api/memory.rst:613
msgid ""
"This allocator is disabled if Python is configured with the :option:`--"
"without-pymalloc` option. It can also be disabled at runtime using the :"
@@ -1236,11 +1249,11 @@ msgstr ""
"ejecución usando la variable de entorno :envvar:`PYTHONMALLOC` (por ejemplo: "
"``PYTHONMALLOC=malloc``)."
-#: ../Doc/c-api/memory.rst:616
+#: ../Doc/c-api/memory.rst:618
msgid "Customize pymalloc Arena Allocator"
msgstr "Personalizar asignador de arena de pymalloc"
-#: ../Doc/c-api/memory.rst:622
+#: ../Doc/c-api/memory.rst:624
msgid ""
"Structure used to describe an arena allocator. The structure has three "
"fields:"
@@ -1248,39 +1261,39 @@ msgstr ""
"Estructura utilizada para describir un asignador de arena. La estructura "
"tiene tres campos:"
-#: ../Doc/c-api/memory.rst:630
+#: ../Doc/c-api/memory.rst:632
msgid "``void* alloc(void *ctx, size_t size)``"
msgstr "``void* alloc(void *ctx, size_t size)``"
-#: ../Doc/c-api/memory.rst:630
+#: ../Doc/c-api/memory.rst:632
msgid "allocate an arena of size bytes"
msgstr "asignar una arena de bytes de tamaño"
-#: ../Doc/c-api/memory.rst:632
+#: ../Doc/c-api/memory.rst:634
msgid "``void free(void *ctx, void *ptr, size_t size)``"
msgstr "``void free(void *ctx, void *ptr, size_t size)``"
-#: ../Doc/c-api/memory.rst:632
+#: ../Doc/c-api/memory.rst:634
msgid "free an arena"
msgstr "liberar la arena"
-#: ../Doc/c-api/memory.rst:637
+#: ../Doc/c-api/memory.rst:639
msgid "Get the arena allocator."
msgstr "Consigue el asignador de arena."
-#: ../Doc/c-api/memory.rst:641
+#: ../Doc/c-api/memory.rst:643
msgid "Set the arena allocator."
msgstr "Establecer el asignador de arena."
-#: ../Doc/c-api/memory.rst:645
+#: ../Doc/c-api/memory.rst:647
msgid "tracemalloc C API"
msgstr "tracemalloc C API"
-#: ../Doc/c-api/memory.rst:651
+#: ../Doc/c-api/memory.rst:653
msgid "Track an allocated memory block in the :mod:`tracemalloc` module."
msgstr "Rastree un bloque de memoria asignado en el módulo :mod:`tracemalloc`."
-#: ../Doc/c-api/memory.rst:653
+#: ../Doc/c-api/memory.rst:655
msgid ""
"Return ``0`` on success, return ``-1`` on error (failed to allocate memory "
"to store the trace). Return ``-2`` if tracemalloc is disabled."
@@ -1289,12 +1302,12 @@ msgstr ""
"asignar memoria para almacenar la traza). Retorna ``-2`` si tracemalloc está "
"deshabilitado."
-#: ../Doc/c-api/memory.rst:656
+#: ../Doc/c-api/memory.rst:658
msgid "If memory block is already tracked, update the existing trace."
msgstr ""
"Si el bloque de memoria ya está rastreado, actualice el rastreo existente."
-#: ../Doc/c-api/memory.rst:660
+#: ../Doc/c-api/memory.rst:662
msgid ""
"Untrack an allocated memory block in the :mod:`tracemalloc` module. Do "
"nothing if the block was not tracked."
@@ -1302,17 +1315,17 @@ msgstr ""
"Descomprima un bloque de memoria asignado en el módulo :mod:`tracemalloc`. "
"No haga nada si el bloque no fue rastreado."
-#: ../Doc/c-api/memory.rst:663
+#: ../Doc/c-api/memory.rst:665
msgid "Return ``-2`` if tracemalloc is disabled, otherwise return ``0``."
msgstr ""
"Retorna ``-2`` si tracemalloc está deshabilitado; de lo contrario, retorna "
"``0``."
-#: ../Doc/c-api/memory.rst:669
+#: ../Doc/c-api/memory.rst:671
msgid "Examples"
msgstr "Ejemplos"
-#: ../Doc/c-api/memory.rst:671
+#: ../Doc/c-api/memory.rst:673
msgid ""
"Here is the example from section :ref:`memoryoverview`, rewritten so that "
"the I/O buffer is allocated from the Python heap by using the first function "
@@ -1322,12 +1335,12 @@ msgstr ""
"el búfer de E/S se asigne desde el montón de Python utilizando el primer "
"conjunto de funciones::"
-#: ../Doc/c-api/memory.rst:684
+#: ../Doc/c-api/memory.rst:686
msgid "The same code using the type-oriented function set::"
msgstr ""
"El mismo código que utiliza el conjunto de funciones orientado a tipos::"
-#: ../Doc/c-api/memory.rst:696
+#: ../Doc/c-api/memory.rst:698
msgid ""
"Note that in the two examples above, the buffer is always manipulated via "
"functions belonging to the same set. Indeed, it is required to use the same "
@@ -1344,7 +1357,7 @@ msgstr ""
"uno de los cuales está etiquetado como *fatal* porque mezcla dos asignadores "
"diferentes que operan en montones diferentes.::"
-#: ../Doc/c-api/memory.rst:711
+#: ../Doc/c-api/memory.rst:713
msgid ""
"In addition to the functions aimed at handling raw memory blocks from the "
"Python heap, objects in Python are allocated and released with :c:func:"
@@ -1354,7 +1367,7 @@ msgstr ""
"del montón de Python, los objetos en Python se asignan y liberan con :c:func:"
"`PyObject_New`, :c:func:`PyObject_NewVar` y :c:func:`PyObject_Del` ."
-#: ../Doc/c-api/memory.rst:715
+#: ../Doc/c-api/memory.rst:717
msgid ""
"These will be explained in the next chapter on defining and implementing new "
"object types in C."
diff --git a/c-api/method.po b/c-api/method.po
index 0d75788c6f..bebf0db8f5 100644
--- a/c-api/method.po
+++ b/c-api/method.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-03-19 11:16+0100\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-08-01 20:26+0200\n"
"Last-Translator: Cristián Maureira-Fredes \n"
"Language: es\n"
@@ -19,8 +19,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.8.0\n"
-"X-Generator: Poedit 3.0\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/method.rst:6
msgid "Instance Method Objects"
@@ -55,8 +54,9 @@ msgstr ""
"función siempre finaliza con éxito."
#: ../Doc/c-api/method.rst:30
+#, fuzzy
msgid ""
-"Return a new instance method object, with *func* being any callable object "
+"Return a new instance method object, with *func* being any callable object. "
"*func* is the function that will be called when the instance method is "
"called."
msgstr ""
diff --git a/c-api/module.po b/c-api/module.po
index 84c692d5aa..41c570ce95 100644
--- a/c-api/module.po
+++ b/c-api/module.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-16 21:42+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-12-09 10:51+0800\n"
"Last-Translator: Rodrigo Tobar \n"
"Language: es\n"
@@ -19,8 +19,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.1\n"
-"X-Generator: Poedit 3.0\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/module.rst:6
msgid "Module Objects"
@@ -91,14 +90,15 @@ msgstr ""
"objeto de módulo), se lanza :exc:`SystemError` y se retorna ``NULL``."
#: ../Doc/c-api/module.rst:67
+#, fuzzy
msgid ""
-"It is recommended extensions use other :c:func:`PyModule_\\*` and :c:func:"
-"`PyObject_\\*` functions rather than directly manipulate a module's :attr:"
-"`~object.__dict__`."
+"It is recommended extensions use other ``PyModule_*`` and ``PyObject_*`` "
+"functions rather than directly manipulate a module's :attr:`~object."
+"__dict__`."
msgstr ""
-"Se recomienda que las extensiones utilicen otras funciones :c:func:`PyModule_"
-"\\*` y :c:func:`PyObject_\\*` en lugar de manipular directamente el módulo :"
-"attr:`~object.__dict__`."
+"Se recomienda que las extensiones utilicen otras funciones :c:func:"
+"`PyModule_\\*` y :c:func:`PyObject_\\*` en lugar de manipular directamente "
+"el módulo :attr:`~object.__dict__`."
#: ../Doc/c-api/module.rst:78
msgid ""
diff --git a/c-api/number.po b/c-api/number.po
index 123e863125..7bd0380510 100644
--- a/c-api/number.po
+++ b/c-api/number.po
@@ -10,16 +10,16 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-16 21:42+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-10-19 02:00+0200\n"
"Last-Translator: Meta Louis-Kosmas \n"
"Language: es\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);nMIME-Version: 1.0\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"
-"Generated-By: Babel 2.9.1\n"
-"X-Generator: Poedit 3.0\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/number.rst:6
msgid "Number Protocol"
@@ -71,20 +71,23 @@ msgstr ""
"``o1 @ o2``."
#: ../Doc/c-api/number.rst:46
+#, fuzzy, python-format
msgid ""
"Return the floor of *o1* divided by *o2*, or ``NULL`` on failure. This is "
-"equivalent to the \"classic\" division of integers."
+"the equivalent of the Python expression ``o1 // o2``."
msgstr ""
-"Retorna el piso (*floor*) de *o1* dividido por *o2*, o ``NULL`` en caso de "
-"falla. Esto es equivalente a la división \"clásica\" de enteros."
+"Retorna el resto de dividir *o1* entre *o2* o ``NULL`` en caso de error. "
+"Este es el equivalente de la expresión de Python ``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\" "
"because binary floating point numbers are approximate; it is not possible to "
"represent all real numbers in base two. This function can return a floating "
-"point value when passed two integers."
+"point value when passed two integers. This is the equivalent of the Python "
+"expression ``o1 / o2``."
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\" "
@@ -250,13 +253,15 @@ msgstr ""
"admite. Este es el equivalente de la declaración de Python ``o1 //= 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\" "
"because binary floating point numbers are approximate; it is not possible to "
"represent all real numbers in base two. This function can return a floating "
"point value when passed two integers. The operation is done *in-place* when "
-"*o1* supports it."
+"*o1* supports it. This is the equivalent of the Python statement ``o1 /= "
+"o2``."
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\" "
@@ -265,7 +270,7 @@ msgstr ""
"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."
-#: ../Doc/c-api/number.rst:187
+#: ../Doc/c-api/number.rst:188
msgid ""
"Returns the remainder of dividing *o1* by *o2*, or ``NULL`` on failure. The "
"operation is done *in-place* when *o1* supports it. This is the equivalent "
@@ -275,7 +280,7 @@ msgstr ""
"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``."
-#: ../Doc/c-api/number.rst:196
+#: ../Doc/c-api/number.rst:197
msgid ""
"See the built-in function :func:`pow`. Returns ``NULL`` on failure. The "
"operation is done *in-place* when *o1* supports it. This is the equivalent "
@@ -292,7 +297,7 @@ msgstr ""
"`Py_None` en su lugar (pasar ``NULL`` para *o3* provocaría un acceso ilegal "
"a la memoria)."
-#: ../Doc/c-api/number.rst:205
+#: ../Doc/c-api/number.rst:206
msgid ""
"Returns the result of left shifting *o1* by *o2* on success, or ``NULL`` on "
"failure. The operation is done *in-place* when *o1* supports it. This is "
@@ -303,7 +308,7 @@ msgstr ""
"(*in-place*) cuando *o1* lo admite. Este es el equivalente de la declaración "
"de Python ``o1 <<= o2``."
-#: ../Doc/c-api/number.rst:212
+#: ../Doc/c-api/number.rst:213
msgid ""
"Returns the result of right shifting *o1* by *o2* on success, or ``NULL`` on "
"failure. The operation is done *in-place* when *o1* supports it. This is "
@@ -314,7 +319,7 @@ msgstr ""
"(*in-place*) cuando *o1* lo admite. Este es el equivalente de la declaración "
"de Python ``o1 >>= o2``."
-#: ../Doc/c-api/number.rst:219
+#: ../Doc/c-api/number.rst:220
msgid ""
"Returns the \"bitwise and\" of *o1* and *o2* on success and ``NULL`` on "
"failure. The operation is done *in-place* when *o1* supports it. This is "
@@ -325,7 +330,7 @@ msgstr ""
"cuando *o1* lo admite. Este es el equivalente de la declaración de Python "
"``o1 &= o2``."
-#: ../Doc/c-api/number.rst:226
+#: ../Doc/c-api/number.rst:227
msgid ""
"Returns the \"bitwise exclusive or\" of *o1* by *o2* on success, or ``NULL`` "
"on failure. The operation is done *in-place* when *o1* supports it. This "
@@ -336,7 +341,7 @@ msgstr ""
"en su lugar (*in-place*) cuando *o1* lo admite. Este es el equivalente de la "
"declaración de Python ``o1 ^= o2``."
-#: ../Doc/c-api/number.rst:233
+#: ../Doc/c-api/number.rst:234
msgid ""
"Returns the \"bitwise or\" of *o1* and *o2* on success, or ``NULL`` on "
"failure. The operation is done *in-place* when *o1* supports it. This is "
@@ -347,7 +352,7 @@ msgstr ""
"cuando *o1* lo admite. Este es el equivalente de la declaración de Python "
"``o1 |= o2``."
-#: ../Doc/c-api/number.rst:242
+#: ../Doc/c-api/number.rst:243
msgid ""
"Returns the *o* converted to an integer object on success, or ``NULL`` on "
"failure. This is the equivalent of the Python expression ``int(o)``."
@@ -355,7 +360,7 @@ msgstr ""
"Retorna el *o* convertido a un objeto entero en caso de éxito, o ``NULL`` en "
"caso de error. Este es el equivalente de la expresión de Python ``int(o)``."
-#: ../Doc/c-api/number.rst:250
+#: ../Doc/c-api/number.rst:251
msgid ""
"Returns the *o* converted to a float object on success, or ``NULL`` on "
"failure. This is the equivalent of the Python expression ``float(o)``."
@@ -364,7 +369,7 @@ msgstr ""
"en caso de error. Este es el equivalente de la expresión de Python "
"``float(o)``."
-#: ../Doc/c-api/number.rst:256
+#: ../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."
@@ -372,7 +377,7 @@ 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."
-#: ../Doc/c-api/number.rst:259
+#: ../Doc/c-api/number.rst:260
msgid ""
"The result always has exact type :class:`int`. Previously, the result could "
"have been an instance of a subclass of ``int``."
@@ -380,7 +385,7 @@ msgstr ""
"El resultado siempre tiene el tipo exacto :class:`int`. Anteriormente, el "
"resultado podía ser una instancia de una subclase de ``int``."
-#: ../Doc/c-api/number.rst:266
+#: ../Doc/c-api/number.rst:267
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 "
@@ -394,19 +399,22 @@ msgstr ""
"``'0b'``', ``'0o'`` o ``'0x'``, respectivamente. Si *n* no es un entero "
"(*int*) Python, primero se convierte con :c:func:`PyNumber_Index`."
-#: ../Doc/c-api/number.rst:275
+#: ../Doc/c-api/number.rst:276
+#, fuzzy
msgid ""
-"Returns *o* converted to a Py_ssize_t value if *o* can be interpreted as an "
-"integer. If the call fails, an exception is raised and ``-1`` is returned."
+"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``."
-#: ../Doc/c-api/number.rst:278
+#: ../Doc/c-api/number.rst:279
+#, fuzzy
msgid ""
-"If *o* can be converted to a Python int but the attempt to convert to a "
-"Py_ssize_t value would raise an :exc:`OverflowError`, then the *exc* "
+"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 "
@@ -419,12 +427,20 @@ msgstr ""
"``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."
-#: ../Doc/c-api/number.rst:288
+#: ../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."
+"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."
+
+#~ msgid ""
+#~ "Return the floor of *o1* divided by *o2*, or ``NULL`` on failure. This "
+#~ "is equivalent to the \"classic\" division of integers."
+#~ msgstr ""
+#~ "Retorna el piso (*floor*) de *o1* dividido por *o2*, o ``NULL`` en caso "
+#~ "de falla. Esto es equivalente a la división \"clásica\" de enteros."
diff --git a/c-api/object.po b/c-api/object.po
index a191c82208..f42c1266aa 100644
--- a/c-api/object.po
+++ b/c-api/object.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-16 21:42+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-10-29 14:59-0300\n"
"Last-Translator: Cristián Maureira-Fredes \n"
"Language: es\n"
@@ -19,8 +19,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.1\n"
-"X-Generator: Poedit 2.3\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/object.rst:6
msgid "Object Protocol"
@@ -125,7 +124,7 @@ msgstr ""
"atributos de instancia, mientras que los descriptores que no son de datos no "
"lo hacen. De lo contrario, se lanza un :exc:`AttributeError`."
-#: ../Doc/c-api/object.rst:79 ../Doc/c-api/object.rst:90
+#: ../Doc/c-api/object.rst:79 ../Doc/c-api/object.rst:91
msgid ""
"Set the value of the attribute named *attr_name*, for object *o*, to the "
"value *v*. Raise an exception and return ``-1`` on failure; return ``0`` on "
@@ -137,22 +136,25 @@ msgstr ""
"``o.attr_name = v``."
#: ../Doc/c-api/object.rst:84
+#, fuzzy
msgid ""
-"If *v* is ``NULL``, the attribute is deleted, however this feature is "
-"deprecated in favour of using :c:func:`PyObject_DelAttr`."
+"If *v* is ``NULL``, the attribute is deleted. This behaviour is deprecated "
+"in favour of using :c:func:`PyObject_DelAttr`, but there are currently no "
+"plans to remove it."
msgstr ""
"Si *v* es ``NULL``, el atributo se elimina, sin embargo, esta característica "
"está obsoleta a favor de usar :c:func:`PyObject_DelAttr`."
-#: ../Doc/c-api/object.rst:95
+#: ../Doc/c-api/object.rst:96
+#, fuzzy
msgid ""
-"If *v* is ``NULL``, the attribute is deleted, however this feature is "
-"deprecated in favour of using :c:func:`PyObject_DelAttrString`."
+"If *v* is ``NULL``, the attribute is deleted, but this feature is deprecated "
+"in favour of using :c:func:`PyObject_DelAttrString`."
msgstr ""
"Si *v* es ``NULL``, el atributo se elimina, sin embargo, esta característica "
"está obsoleta a favor de usar :c:func:`PyObject_DelAttrString`."
-#: ../Doc/c-api/object.rst:101
+#: ../Doc/c-api/object.rst:102
msgid ""
"Generic attribute setter and deleter function that is meant to be put into a "
"type object's :c:member:`~PyTypeObject.tp_setattro` slot. It looks for a "
@@ -172,7 +174,7 @@ msgstr ""
"`~object.__dict__` (si está presente). En caso de éxito, se retorna ``0``; "
"de lo contrario, se lanza un :exc:`AttributeError` y se retorna ``-1``."
-#: ../Doc/c-api/object.rst:113 ../Doc/c-api/object.rst:119
+#: ../Doc/c-api/object.rst:114 ../Doc/c-api/object.rst:120
msgid ""
"Delete attribute named *attr_name*, for object *o*. Returns ``-1`` on "
"failure. This is the equivalent of the Python statement ``del o.attr_name``."
@@ -181,7 +183,7 @@ msgstr ""
"en caso de falla. Este es el equivalente de la declaración de Python ``del o."
"attr_name``."
-#: ../Doc/c-api/object.rst:125
+#: ../Doc/c-api/object.rst:126
msgid ""
"A generic implementation for the getter of a ``__dict__`` descriptor. It "
"creates the dictionary if necessary."
@@ -189,7 +191,20 @@ msgstr ""
"Una implementación genérica para obtener un descriptor ``__dict__``. Crea el "
"diccionario si es necesario."
-#: ../Doc/c-api/object.rst:133
+#: ../Doc/c-api/object.rst:129
+msgid ""
+"This function may also be called to get the :py:attr:`~object.__dict__` of "
+"the object *o*. Pass ``NULL`` for *context* when calling it. Since this "
+"function may need to allocate memory for the dictionary, it may be more "
+"efficient to call :c:func:`PyObject_GetAttr` when accessing an attribute on "
+"the object."
+msgstr ""
+
+#: ../Doc/c-api/object.rst:135
+msgid "On failure, returns ``NULL`` with an exception set."
+msgstr ""
+
+#: ../Doc/c-api/object.rst:142
msgid ""
"A generic implementation for the setter of a ``__dict__`` descriptor. This "
"implementation does not allow the dictionary to be deleted."
@@ -197,7 +212,20 @@ msgstr ""
"Una implementación genérica para el creador de un descriptor ``__dict__``. "
"Esta implementación no permite que se elimine el diccionario."
-#: ../Doc/c-api/object.rst:141
+#: ../Doc/c-api/object.rst:150
+msgid ""
+"Return a pointer to :py:attr:`~object.__dict__` of the object *obj*. If "
+"there is no ``__dict__``, return ``NULL`` without setting an exception."
+msgstr ""
+
+#: ../Doc/c-api/object.rst:153
+msgid ""
+"This function may need to allocate memory for the dictionary, so it may be "
+"more efficient to call :c:func:`PyObject_GetAttr` when accessing an "
+"attribute on the object."
+msgstr ""
+
+#: ../Doc/c-api/object.rst:160
msgid ""
"Compare the values of *o1* and *o2* using the operation specified by *opid*, "
"which must be one of :const:`Py_LT`, :const:`Py_LE`, :const:`Py_EQ`, :const:"
@@ -215,7 +243,7 @@ msgstr ""
"o2``, donde ``op`` es el operador correspondiente a *opid*. Retorna el valor "
"de la comparación en caso de éxito o ``NULL`` en caso de error."
-#: ../Doc/c-api/object.rst:151
+#: ../Doc/c-api/object.rst:170
msgid ""
"Compare the values of *o1* and *o2* using the operation specified by *opid*, "
"which must be one of :const:`Py_LT`, :const:`Py_LE`, :const:`Py_EQ`, :const:"
@@ -233,7 +261,7 @@ msgstr ""
"falso, ``1`` en caso contrario. Este es el equivalente de la expresión de "
"Python ``o1 op o2``, donde ``op`` es el operador correspondiente a *opid*."
-#: ../Doc/c-api/object.rst:160
+#: ../Doc/c-api/object.rst:179
msgid ""
"If *o1* and *o2* are the same object, :c:func:`PyObject_RichCompareBool` "
"will always return ``1`` for :const:`Py_EQ` and ``0`` for :const:`Py_NE`."
@@ -241,7 +269,7 @@ msgstr ""
"Si *o1* y *o2* son el mismo objeto, :c:func:`PyObject_RichCompareBool` "
"siempre retornará ``1`` para :const:`Py_EQ` y ``0`` para :const:`Py_NE`."
-#: ../Doc/c-api/object.rst:167
+#: ../Doc/c-api/object.rst:186
msgid ""
"Compute a string representation of object *o*. Returns the string "
"representation on success, ``NULL`` on failure. This is the equivalent of "
@@ -253,7 +281,7 @@ msgstr ""
"de error. Este es el equivalente de la expresión de Python ``repr(o)``. "
"Llamado por la función incorporada :func:`repr`."
-#: ../Doc/c-api/object.rst:171 ../Doc/c-api/object.rst:195
+#: ../Doc/c-api/object.rst:190 ../Doc/c-api/object.rst:214
msgid ""
"This function now includes a debug assertion to help ensure that it does not "
"silently discard an active exception."
@@ -261,7 +289,7 @@ msgstr ""
"Esta función ahora incluye una afirmación de depuración para ayudar a "
"garantizar que no descarte silenciosamente una excepción activa."
-#: ../Doc/c-api/object.rst:179
+#: ../Doc/c-api/object.rst:198
msgid ""
"As :c:func:`PyObject_Repr`, compute a string representation of object *o*, "
"but escape the non-ASCII characters in the string returned by :c:func:"
@@ -271,12 +299,12 @@ msgid ""
msgstr ""
"Como :c:func:`PyObject_Repr`, calcula una representación de cadena de "
"caracteres del objeto *o*, pero escapa los caracteres no ASCII en la cadena "
-"de caracteres retornada por :c:func:`PyObject_Repr` con ``\\x``, ``\\u`` o ``"
-"\\U`` escapa. Esto genera una cadena de caracteres similar a la que retorna :"
-"c:func:`PyObject_Repr` en Python 2. Llamado por la función incorporada :func:"
-"`ascii`."
+"de caracteres retornada por :c:func:`PyObject_Repr` con ``\\x``, ``\\u`` o "
+"``\\U`` escapa. Esto genera una cadena de caracteres similar a la que "
+"retorna :c:func:`PyObject_Repr` en Python 2. Llamado por la función "
+"incorporada :func:`ascii`."
-#: ../Doc/c-api/object.rst:190
+#: ../Doc/c-api/object.rst:209
msgid ""
"Compute a string representation of object *o*. Returns the string "
"representation on success, ``NULL`` on failure. This is the equivalent of "
@@ -288,7 +316,7 @@ msgstr ""
"de error. Llamado por la función incorporada :func:`str` y, por lo tanto, "
"por la función :func:`print`."
-#: ../Doc/c-api/object.rst:204
+#: ../Doc/c-api/object.rst:223
msgid ""
"Compute a bytes representation of object *o*. ``NULL`` is returned on "
"failure and a bytes object on success. This is equivalent to the Python "
@@ -302,7 +330,7 @@ msgstr ""
"diferencia de ``bytes(o)``, se lanza un TypeError cuando *o* es un entero en "
"lugar de un objeto de bytes con inicialización cero."
-#: ../Doc/c-api/object.rst:213
+#: ../Doc/c-api/object.rst:232
msgid ""
"Return ``1`` if the class *derived* is identical to or derived from the "
"class *cls*, otherwise return ``0``. In case of an error, return ``-1``."
@@ -310,7 +338,7 @@ msgstr ""
"Retorna ``1`` si la clase *derived* es idéntica o derivada de la clase "
"*cls*; de lo contrario, retorna ``0``. En caso de error, retorna ``-1``."
-#: ../Doc/c-api/object.rst:216 ../Doc/c-api/object.rst:235
+#: ../Doc/c-api/object.rst:235 ../Doc/c-api/object.rst:254
msgid ""
"If *cls* is a tuple, the check will be done against every entry in *cls*. "
"The result will be ``1`` when at least one of the checks returns ``1``, "
@@ -320,7 +348,7 @@ msgstr ""
"*cls*. El resultado será ``1`` cuando al menos una de las verificaciones "
"retorne ``1``, de lo contrario será ``0``."
-#: ../Doc/c-api/object.rst:220
+#: ../Doc/c-api/object.rst:239
msgid ""
"If *cls* has a :meth:`~class.__subclasscheck__` method, it will be called to "
"determine the subclass status as described in :pep:`3119`. Otherwise, "
@@ -332,7 +360,7 @@ msgstr ""
"contrario, *derived* es una subclase de *cls* si es una subclase directa o "
"indirecta, es decir, contenida en ``cls.__ mro__``."
-#: ../Doc/c-api/object.rst:225
+#: ../Doc/c-api/object.rst:244
msgid ""
"Normally only class objects, i.e. instances of :class:`type` or a derived "
"class, are considered classes. However, objects can override this by having "
@@ -343,7 +371,7 @@ msgstr ""
"pueden anular esto al tener un atributo :attr:`__bases__` (que debe ser una "
"tupla de clases base)."
-#: ../Doc/c-api/object.rst:232
+#: ../Doc/c-api/object.rst:251
msgid ""
"Return ``1`` if *inst* is an instance of the class *cls* or a subclass of "
"*cls*, or ``0`` if not. On error, returns ``-1`` and sets an exception."
@@ -352,7 +380,7 @@ msgstr ""
"*cls*, o ``0`` si no. En caso de error, retorna ``-1`` y establece una "
"excepción."
-#: ../Doc/c-api/object.rst:239
+#: ../Doc/c-api/object.rst:258
msgid ""
"If *cls* has a :meth:`~class.__instancecheck__` method, it will be called to "
"determine the subclass status as described in :pep:`3119`. Otherwise, "
@@ -363,7 +391,7 @@ msgstr ""
"contrario, *inst* es una instancia de *cls* si su clase es una subclase de "
"*cls*."
-#: ../Doc/c-api/object.rst:243
+#: ../Doc/c-api/object.rst:262
msgid ""
"An instance *inst* can override what is considered its class by having a :"
"attr:`__class__` attribute."
@@ -371,7 +399,7 @@ msgstr ""
"Una instancia *inst* puede anular lo que se considera su clase al tener un "
"atributo :attr:`__class__`."
-#: ../Doc/c-api/object.rst:246
+#: ../Doc/c-api/object.rst:265
msgid ""
"An object *cls* can override if it is considered a class, and what its base "
"classes are, by having a :attr:`__bases__` attribute (which must be a tuple "
@@ -381,7 +409,7 @@ msgstr ""
"clases base, al tener un atributo :attr:`__bases__` (que debe ser una tupla "
"de clases base)."
-#: ../Doc/c-api/object.rst:255
+#: ../Doc/c-api/object.rst:274
msgid ""
"Compute and return the hash value of an object *o*. On failure, return "
"``-1``. This is the equivalent of the Python expression ``hash(o)``."
@@ -389,15 +417,16 @@ msgstr ""
"Calcula y retorna el valor hash de un objeto *o*. En caso de fallo, retorna "
"``-1``. Este es el equivalente de la expresión de Python ``hash(o)``."
-#: ../Doc/c-api/object.rst:258
+#: ../Doc/c-api/object.rst:277
+#, fuzzy
msgid ""
-"The return type is now Py_hash_t. This is a signed integer the same size as "
-"Py_ssize_t."
+"The return type is now Py_hash_t. This is a signed integer the same size "
+"as :c:type:`Py_ssize_t`."
msgstr ""
"El tipo de retorno ahora es *Py_hash_t*. Este es un entero con signo del "
"mismo tamaño que *Py_ssize_t*."
-#: ../Doc/c-api/object.rst:265
+#: ../Doc/c-api/object.rst:284
msgid ""
"Set a :exc:`TypeError` indicating that ``type(o)`` is not hashable and "
"return ``-1``. This function receives special treatment when stored in a "
@@ -409,7 +438,7 @@ msgstr ""
"almacena en una ranura ``tp_hash``, lo que permite que un tipo indique "
"explícitamente al intérprete que no es *hashable*."
-#: ../Doc/c-api/object.rst:273
+#: ../Doc/c-api/object.rst:292
msgid ""
"Returns ``1`` if the object *o* is considered to be true, and ``0`` "
"otherwise. This is equivalent to the Python expression ``not not o``. On "
@@ -419,7 +448,7 @@ msgstr ""
"contrario. Esto es equivalente a la expresión de Python ``not not o``. En "
"caso de error, retorna ``-1``."
-#: ../Doc/c-api/object.rst:280
+#: ../Doc/c-api/object.rst:299
msgid ""
"Returns ``0`` if the object *o* is considered to be true, and ``1`` "
"otherwise. This is equivalent to the Python expression ``not o``. On "
@@ -429,15 +458,16 @@ msgstr ""
"contrario. Esto es equivalente a la expresión de Python ``not o``. En caso "
"de error, retorna ``-1``."
-#: ../Doc/c-api/object.rst:289
+#: ../Doc/c-api/object.rst:308
+#, fuzzy
msgid ""
"When *o* is non-``NULL``, returns a type object corresponding to the object "
"type of object *o*. On failure, raises :exc:`SystemError` and returns "
"``NULL``. This is equivalent to the Python expression ``type(o)``. This "
"function increments the reference count of the return value. There's really "
-"no reason to use this function instead of the common expression ``o-"
-">ob_type``, which returns a pointer of type :c:type:`PyTypeObject*`, except "
-"when the incremented reference count is needed."
+"no reason to use this function instead of the :c:func:`Py_TYPE()` function, "
+"which returns a pointer of type :c:expr:`PyTypeObject*`, except when the "
+"incremented reference count is needed."
msgstr ""
"Cuando *o* no es ``NULL``, retorna un tipo de objeto correspondiente al tipo "
"de objeto del objeto *o*. En caso de falla, lanza :exc:`SystemError` y "
@@ -447,7 +477,7 @@ msgstr ""
"``o->ob_type``, que retorna un puntero de tipo :c:type:`PyTypeObject*`, "
"excepto cuando se necesita el recuento de referencias incrementado."
-#: ../Doc/c-api/object.rst:300
+#: ../Doc/c-api/object.rst:319
msgid ""
"Return non-zero if the object *o* is of type *type* or a subtype of *type*, "
"and ``0`` otherwise. Both parameters must be non-``NULL``."
@@ -456,7 +486,7 @@ msgstr ""
"*type*, y ``0`` en cualquier otro caso. Ninguno de los dos parámetros debe "
"ser ``NULL``."
-#: ../Doc/c-api/object.rst:309
+#: ../Doc/c-api/object.rst:328
msgid ""
"Return the length of object *o*. If the object *o* provides either the "
"sequence and mapping protocols, the sequence length is returned. On error, "
@@ -468,7 +498,7 @@ msgstr ""
"caso de error, se retorna ``-1``. Este es el equivalente a la expresión de "
"Python ``len(o)``."
-#: ../Doc/c-api/object.rst:316
+#: ../Doc/c-api/object.rst:335
msgid ""
"Return an estimated length for the object *o*. First try to return its "
"actual length, then an estimate using :meth:`~object.__length_hint__`, and "
@@ -482,7 +512,7 @@ msgstr ""
"error, retorna ``-1``. Este es el equivalente a la expresión de Python "
"``operator.length_hint(o, defaultvalue)``."
-#: ../Doc/c-api/object.rst:326
+#: ../Doc/c-api/object.rst:345
msgid ""
"Return element of *o* corresponding to the object *key* or ``NULL`` on "
"failure. This is the equivalent of the Python expression ``o[key]``."
@@ -491,7 +521,7 @@ msgstr ""
"``NULL`` en caso de error. Este es el equivalente de la expresión de Python "
"``o[key]``."
-#: ../Doc/c-api/object.rst:332
+#: ../Doc/c-api/object.rst:351
msgid ""
"Map the object *key* to the value *v*. Raise an exception and return ``-1`` "
"on failure; return ``0`` on success. This is the equivalent of the Python "
@@ -502,7 +532,7 @@ msgstr ""
"declaración de Python ``o[key] = v``. Esta función *no* roba una referencia "
"a *v*."
-#: ../Doc/c-api/object.rst:340
+#: ../Doc/c-api/object.rst:359
msgid ""
"Remove the mapping for the object *key* from the object *o*. Return ``-1`` "
"on failure. This is equivalent to the Python statement ``del o[key]``."
@@ -510,7 +540,7 @@ msgstr ""
"Elimina la asignación para el objeto *key* del objeto *o*. Retorna ``-1`` en "
"caso de falla. Esto es equivalente a la declaración de Python ``del o[key]``."
-#: ../Doc/c-api/object.rst:346
+#: ../Doc/c-api/object.rst:365
msgid ""
"This is equivalent to the Python expression ``dir(o)``, returning a "
"(possibly empty) list of strings appropriate for the object argument, or "
@@ -526,7 +556,7 @@ msgstr ""
"locales actuales; en este caso, si no hay un marco de ejecución activo, se "
"retorna ``NULL`` pero :c:func:`PyErr_Occurred` retornará falso."
-#: ../Doc/c-api/object.rst:355
+#: ../Doc/c-api/object.rst:374
msgid ""
"This is equivalent to the Python expression ``iter(o)``. It returns a new "
"iterator for the object argument, or the object itself if the object is "
@@ -538,7 +568,7 @@ msgstr ""
"un iterador. Lanza :exc:`TypeError` y retorna ``NULL`` si el objeto no puede "
"iterarse."
-#: ../Doc/c-api/object.rst:363
+#: ../Doc/c-api/object.rst:382
msgid ""
"This is the equivalent to the Python expression ``aiter(o)``. Takes an :"
"class:`AsyncIterable` object and returns an :class:`AsyncIterator` for it. "
diff --git a/c-api/refcounting.po b/c-api/refcounting.po
index fd0e4265a1..4682d9d5a7 100644
--- a/c-api/refcounting.po
+++ b/c-api/refcounting.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-16 21:42+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-10-30 18:20+0200\n"
"Last-Translator: Cristián Maureira-Fredes \n"
"Language: es\n"
@@ -19,8 +19,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.1\n"
-"X-Generator: Poedit 3.0\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/refcounting.rst:8
msgid "Reference Counting"
@@ -199,19 +198,19 @@ msgstr ""
"referencia de un objeto que pueda atravesarse durante la recolección de "
"basura."
-#: ../Doc/c-api/refcounting.rst:113
+#: ../Doc/c-api/refcounting.rst:114
msgid ""
-"The following functions are for runtime dynamic embedding of Python: "
-"``Py_IncRef(PyObject *o)``, ``Py_DecRef(PyObject *o)``. They are simply "
-"exported function versions of :c:func:`Py_XINCREF` and :c:func:`Py_XDECREF`, "
-"respectively."
+"Increment the reference count for object *o*. A function version of :c:func:"
+"`Py_XINCREF`. It can be used for runtime dynamic embedding of Python."
msgstr ""
-"Las siguientes funciones son para la incorporación dinámica de Python en "
-"tiempo de ejecución: ``Py_IncRef(PyObject *o)``, ``Py_DecRef(PyObject *o)``. "
-"Simplemente son versiones de funciones exportadas de :c:func:`Py_XINCREF` y :"
-"c:func:`Py_XDECREF`, respectivamente."
-#: ../Doc/c-api/refcounting.rst:118
+#: ../Doc/c-api/refcounting.rst:120
+msgid ""
+"Decrement the reference count for object *o*. A function version of :c:func:"
+"`Py_XDECREF`. It can be used for runtime dynamic embedding of Python."
+msgstr ""
+
+#: ../Doc/c-api/refcounting.rst:124
msgid ""
"The following functions or macros are only for use within the interpreter "
"core: :c:func:`_Py_Dealloc`, :c:func:`_Py_ForgetReference`, :c:func:"
@@ -220,3 +219,14 @@ msgstr ""
"Las siguientes funciones o macros son solo para uso dentro del núcleo del "
"intérprete: :c:func:`_Py_Dealloc`, :c:func:`_Py_ForgetReference`, :c:func:"
"`_Py_NewReference`, así como la variable global :c:data:`_Py_RefTotal`."
+
+#~ msgid ""
+#~ "The following functions are for runtime dynamic embedding of Python: "
+#~ "``Py_IncRef(PyObject *o)``, ``Py_DecRef(PyObject *o)``. They are simply "
+#~ "exported function versions of :c:func:`Py_XINCREF` and :c:func:"
+#~ "`Py_XDECREF`, respectively."
+#~ msgstr ""
+#~ "Las siguientes funciones son para la incorporación dinámica de Python en "
+#~ "tiempo de ejecución: ``Py_IncRef(PyObject *o)``, ``Py_DecRef(PyObject "
+#~ "*o)``. Simplemente son versiones de funciones exportadas de :c:func:"
+#~ "`Py_XINCREF` y :c:func:`Py_XDECREF`, respectivamente."
diff --git a/c-api/reflection.po b/c-api/reflection.po
index a41ae03b32..8578c4b6ce 100644
--- a/c-api/reflection.po
+++ b/c-api/reflection.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-16 21:42+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-12-09 10:32+0800\n"
"Last-Translator: Rodrigo Tobar \n"
"Language: es\n"
@@ -19,8 +19,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.1\n"
-"X-Generator: Poedit 3.0\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/reflection.rst:6
msgid "Reflection"
@@ -64,40 +63,6 @@ msgid "See also :c:func:`PyThreadState_GetFrame`."
msgstr "Vea también :c:func:`PyThreadState_GetFrame`."
#: ../Doc/c-api/reflection.rst:36
-msgid "Get the *frame* next outer frame."
-msgstr "Obtiene el *frame* siguiente marco (*frame*) exterior."
-
-#: ../Doc/c-api/reflection.rst:38
-msgid ""
-"Return a :term:`strong reference`, or ``NULL`` if *frame* has no outer frame."
-msgstr ""
-"Devuelve una :term:`referencia fuerte ` o ``NULL`` si "
-"*frame* no tiene un marco exterior."
-
-#: ../Doc/c-api/reflection.rst:40 ../Doc/c-api/reflection.rst:60
-msgid "*frame* must not be ``NULL``."
-msgstr "*frame* no debe ser ``NULL``."
-
-#: ../Doc/c-api/reflection.rst:47
-msgid "Get the *frame* code."
-msgstr "Obtiene el código *frame*."
-
-#: ../Doc/c-api/reflection.rst:49
-msgid "Return a :term:`strong reference`."
-msgstr "Retorna una :term:`referencia fuerte `."
-
-#: ../Doc/c-api/reflection.rst:51
-msgid ""
-"*frame* must not be ``NULL``. The result (frame code) cannot be ``NULL``."
-msgstr ""
-"*frame* no debe ser ``NULL``. El resultado (código del marco) no puede ser "
-"``NULL``."
-
-#: ../Doc/c-api/reflection.rst:58
-msgid "Return the line number that *frame* is currently executing."
-msgstr "Retorna el número de línea que *frame* está ejecutando actualmente."
-
-#: ../Doc/c-api/reflection.rst:65
msgid ""
"Return the name of *func* if it is a function, class or instance object, "
"else the name of *func*\\s type."
@@ -105,7 +70,7 @@ msgstr ""
"Retorna el nombre de *func* si es una función, clase u objeto de instancia; "
"de lo contrario, el nombre del tipo *func*\\s."
-#: ../Doc/c-api/reflection.rst:71
+#: ../Doc/c-api/reflection.rst:42
msgid ""
"Return a description string, depending on the type of *func*. Return values "
"include \"()\" for functions and methods, \" constructor\", \" instance\", "
@@ -116,3 +81,31 @@ msgstr ""
"Los valores de retorno incluyen \"()\" para funciones y métodos, "
"\"constructor\", \"instancia\" y \"objeto\". Concatenado con el resultado "
"de :c:func:`PyEval_GetFuncName`, el resultado será una descripción de *func*."
+
+#~ msgid "Get the *frame* next outer frame."
+#~ msgstr "Obtiene el *frame* siguiente marco (*frame*) exterior."
+
+#~ msgid ""
+#~ "Return a :term:`strong reference`, or ``NULL`` if *frame* has no outer "
+#~ "frame."
+#~ msgstr ""
+#~ "Devuelve una :term:`referencia fuerte ` o ``NULL`` si "
+#~ "*frame* no tiene un marco exterior."
+
+#~ msgid "*frame* must not be ``NULL``."
+#~ msgstr "*frame* no debe ser ``NULL``."
+
+#~ msgid "Get the *frame* code."
+#~ msgstr "Obtiene el código *frame*."
+
+#~ msgid "Return a :term:`strong reference`."
+#~ msgstr "Retorna una :term:`referencia fuerte `."
+
+#~ msgid ""
+#~ "*frame* must not be ``NULL``. The result (frame code) cannot be ``NULL``."
+#~ msgstr ""
+#~ "*frame* no debe ser ``NULL``. El resultado (código del marco) no puede "
+#~ "ser ``NULL``."
+
+#~ msgid "Return the line number that *frame* is currently executing."
+#~ msgstr "Retorna el número de línea que *frame* está ejecutando actualmente."
diff --git a/c-api/sequence.po b/c-api/sequence.po
index 76b8ba74bb..2da91ee853 100644
--- a/c-api/sequence.po
+++ b/c-api/sequence.po
@@ -10,29 +10,29 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-05-05 12:54+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2020-05-17 14:28+0200\n"
+"Last-Translator: Cristián Maureira-Fredes \n"
+"Language: es\n"
"Language-Team: python-doc-es\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.8.0\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"Last-Translator: Cristián Maureira-Fredes \n"
-"Language: es\n"
-"X-Generator: Poedit 2.3\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/sequence.rst:6
msgid "Sequence Protocol"
msgstr "Protocolo de secuencia"
#: ../Doc/c-api/sequence.rst:11
+#, fuzzy
msgid ""
-"Return ``1`` if the object provides sequence protocol, and ``0`` otherwise. "
-"Note that it returns ``1`` for Python classes with a :meth:`__getitem__` "
-"method unless they are :class:`dict` subclasses since in general case it is "
-"impossible to determine what the type of keys it supports. This function "
-"always succeeds."
+"Return ``1`` if the object provides the sequence protocol, and ``0`` "
+"otherwise. Note that it returns ``1`` for Python classes with a :meth:"
+"`__getitem__` method, unless they are :class:`dict` subclasses, since in "
+"general it is impossible to determine what type of keys the class supports. "
+"This function always succeeds."
msgstr ""
"Retorna ``1`` si el objeto proporciona el protocolo de secuencia y ``0`` en "
"caso contrario. Tenga en cuenta que retorna ``1`` para las clases de Python "
@@ -117,9 +117,10 @@ msgstr ""
"una referencia a *v*."
#: ../Doc/c-api/sequence.rst:72
+#, fuzzy
msgid ""
-"If *v* is ``NULL``, the element is deleted, however this feature is "
-"deprecated in favour of using :c:func:`PySequence_DelItem`."
+"If *v* is ``NULL``, the element is deleted, but this feature is deprecated "
+"in favour of using :c:func:`PySequence_DelItem`."
msgstr ""
"Si *v* es ``NULL``, el elemento se elimina, sin embargo, esta característica "
"está en desuso a favor del uso de :c:func:`PySequence_DelItem`."
@@ -232,10 +233,11 @@ msgstr ""
"lista, se retornará."
#: ../Doc/c-api/sequence.rst:148
+#, fuzzy
msgid ""
"Returns the length of *o*, assuming that *o* was returned by :c:func:"
-"`PySequence_Fast` and that *o* is not ``NULL``. The size can also be gotten "
-"by calling :c:func:`PySequence_Size` on *o*, but :c:func:"
+"`PySequence_Fast` and that *o* is not ``NULL``. The size can also be "
+"retrieved by calling :c:func:`PySequence_Size` on *o*, but :c:func:"
"`PySequence_Fast_GET_SIZE` is faster because it can assume *o* is a list or "
"tuple."
msgstr ""
diff --git a/c-api/set.po b/c-api/set.po
index f7bdb844c4..fc9847c069 100644
--- a/c-api/set.po
+++ b/c-api/set.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-16 21:42+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-12-09 10:57+0800\n"
"Last-Translator: Rodrigo Tobar \n"
"Language: es\n"
@@ -19,8 +19,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.1\n"
-"X-Generator: Poedit 3.0\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/set.rst:6
msgid "Set Objects"
@@ -29,37 +28,28 @@ msgstr "Objetos Conjunto"
#: ../Doc/c-api/set.rst:15
msgid ""
"This section details the public API for :class:`set` and :class:`frozenset` "
-"objects. Any functionality not listed below is best accessed using the "
-"either the abstract object protocol (including :c:func:"
-"`PyObject_CallMethod`, :c:func:`PyObject_RichCompareBool`, :c:func:"
-"`PyObject_Hash`, :c:func:`PyObject_Repr`, :c:func:`PyObject_IsTrue`, :c:func:"
-"`PyObject_Print`, and :c:func:`PyObject_GetIter`) or the abstract number "
-"protocol (including :c:func:`PyNumber_And`, :c:func:`PyNumber_Subtract`, :c:"
-"func:`PyNumber_Or`, :c:func:`PyNumber_Xor`, :c:func:`PyNumber_InPlaceAnd`, :"
-"c:func:`PyNumber_InPlaceSubtract`, :c:func:`PyNumber_InPlaceOr`, and :c:func:"
+"objects. Any functionality not listed below is best accessed using either "
+"the abstract object protocol (including :c:func:`PyObject_CallMethod`, :c:"
+"func:`PyObject_RichCompareBool`, :c:func:`PyObject_Hash`, :c:func:"
+"`PyObject_Repr`, :c:func:`PyObject_IsTrue`, :c:func:`PyObject_Print`, and :c:"
+"func:`PyObject_GetIter`) or the abstract number protocol (including :c:func:"
+"`PyNumber_And`, :c:func:`PyNumber_Subtract`, :c:func:`PyNumber_Or`, :c:func:"
+"`PyNumber_Xor`, :c:func:`PyNumber_InPlaceAnd`, :c:func:"
+"`PyNumber_InPlaceSubtract`, :c:func:`PyNumber_InPlaceOr`, and :c:func:"
"`PyNumber_InPlaceXor`)."
msgstr ""
-"Esta sección detalla la API pública para objetos :class:`set` y :class:"
-"`frozenset`. Se puede acceder mejor a cualquier funcionalidad que no se "
-"enumere a continuación utilizando el protocolo de objeto abstracto (que "
-"incluye :c:func:`PyObject_CallMethod`, :c:func:`PyObject_RichCompareBool`, :"
-"c:func:`PyObject_Hash`, :c:func:`PyObject_Repr`, :c:func:`PyObject_IsTrue`, :"
-"c:func:`PyObject_Print`, y :c:func:`PyObject_GetIter`) o el protocolo de "
-"número abstracto (que incluye :c:func:`PyNumber_And`, :c:func:"
-"`PyNumber_Subtract`, :c:func:`PyNumber_Or`, :c:func:`PyNumber_Xor`, :c:func:"
-"`PyNumber_InPlaceAnd`, :c:func:`PyNumber_InPlaceSubtract`, :c:func:"
-"`PyNumber_InPlaceOr`, y :c:func:`PyNumber_InPlaceXor`)."
#: ../Doc/c-api/set.rst:29
+#, fuzzy
msgid ""
"This subtype of :c:type:`PyObject` is used to hold the internal data for "
"both :class:`set` and :class:`frozenset` objects. It is like a :c:type:"
"`PyDictObject` in that it is a fixed size for small sets (much like tuple "
"storage) and will point to a separate, variable sized block of memory for "
"medium and large sized sets (much like list storage). None of the fields of "
-"this structure should be considered public and are subject to change. All "
-"access should be done through the documented API rather than by manipulating "
-"the values in the structure."
+"this structure should be considered public and all are subject to change. "
+"All access should be done through the documented API rather than by "
+"manipulating the values in the structure."
msgstr ""
"Este subtipo de :c:type:`PyObject` se utiliza para contener los datos "
"internos de los objetos :class:`set` y :class:`frozenset`. Es como un :c:"
@@ -211,9 +201,10 @@ msgstr ""
"`set`, :class:`frozenset`, o una instancia de un subtipo."
#: ../Doc/c-api/set.rst:133
+#, fuzzy
msgid ""
"Add *key* to a :class:`set` instance. Also works with :class:`frozenset` "
-"instances (like :c:func:`PyTuple_SetItem` it can be used to fill-in the "
+"instances (like :c:func:`PyTuple_SetItem` it can be used to fill in the "
"values of brand new frozensets before they are exposed to other code). "
"Return ``0`` on success or ``-1`` on failure. Raise a :exc:`TypeError` if "
"the *key* is unhashable. Raise a :exc:`MemoryError` if there is no room to "
@@ -269,3 +260,27 @@ msgstr ""
#: ../Doc/c-api/set.rst:166
msgid "Empty an existing set of all elements."
msgstr "Vacía un conjunto existente de todos los elementos."
+
+#~ msgid ""
+#~ "This section details the public API for :class:`set` and :class:"
+#~ "`frozenset` objects. Any functionality not listed below is best accessed "
+#~ "using the either the abstract object protocol (including :c:func:"
+#~ "`PyObject_CallMethod`, :c:func:`PyObject_RichCompareBool`, :c:func:"
+#~ "`PyObject_Hash`, :c:func:`PyObject_Repr`, :c:func:`PyObject_IsTrue`, :c:"
+#~ "func:`PyObject_Print`, and :c:func:`PyObject_GetIter`) or the abstract "
+#~ "number protocol (including :c:func:`PyNumber_And`, :c:func:"
+#~ "`PyNumber_Subtract`, :c:func:`PyNumber_Or`, :c:func:`PyNumber_Xor`, :c:"
+#~ "func:`PyNumber_InPlaceAnd`, :c:func:`PyNumber_InPlaceSubtract`, :c:func:"
+#~ "`PyNumber_InPlaceOr`, and :c:func:`PyNumber_InPlaceXor`)."
+#~ msgstr ""
+#~ "Esta sección detalla la API pública para objetos :class:`set` y :class:"
+#~ "`frozenset`. Se puede acceder mejor a cualquier funcionalidad que no se "
+#~ "enumere a continuación utilizando el protocolo de objeto abstracto (que "
+#~ "incluye :c:func:`PyObject_CallMethod`, :c:func:"
+#~ "`PyObject_RichCompareBool`, :c:func:`PyObject_Hash`, :c:func:"
+#~ "`PyObject_Repr`, :c:func:`PyObject_IsTrue`, :c:func:`PyObject_Print`, y :"
+#~ "c:func:`PyObject_GetIter`) o el protocolo de número abstracto (que "
+#~ "incluye :c:func:`PyNumber_And`, :c:func:`PyNumber_Subtract`, :c:func:"
+#~ "`PyNumber_Or`, :c:func:`PyNumber_Xor`, :c:func:`PyNumber_InPlaceAnd`, :c:"
+#~ "func:`PyNumber_InPlaceSubtract`, :c:func:`PyNumber_InPlaceOr`, y :c:func:"
+#~ "`PyNumber_InPlaceXor`)."
diff --git a/c-api/structures.po b/c-api/structures.po
index 599ebd69de..2556efbd15 100644
--- a/c-api/structures.po
+++ b/c-api/structures.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-16 21:42+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-10-28 15:10-0500\n"
"Last-Translator: José Luis Salgado Banda \n"
"Language: es\n"
@@ -19,8 +19,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.1\n"
-"X-Generator: Poedit 3.0\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/structures.rst:6
msgid "Common Object Structures"
@@ -56,13 +55,14 @@ msgstr ""
"objetos de Python."
#: ../Doc/c-api/structures.rst:25
+#, fuzzy
msgid ""
"All object types are extensions of this type. This is a type which contains "
"the information Python needs to treat a pointer to an object as an object. "
"In a normal \"release\" build, it contains only the object's reference count "
"and a pointer to the corresponding type object. Nothing is actually declared "
"to be a :c:type:`PyObject`, but every pointer to a Python object can be cast "
-"to a :c:type:`PyObject*`. Access to the members must be done by using the "
+"to a :c:expr:`PyObject*`. Access to the members must be done by using the "
"macros :c:macro:`Py_REFCNT` and :c:macro:`Py_TYPE`."
msgstr ""
"Todos los tipos de objetos son extensiones de este tipo. Este es un tipo que "
@@ -154,12 +154,19 @@ msgid "Return a :term:`borrowed reference`."
msgstr "Retorna una referencia prestada (:term:`borrowed reference`)."
#: ../Doc/c-api/structures.rst:102
-msgid "The :c:func:`Py_SET_TYPE` function must be used to set an object type."
+#, fuzzy
+msgid "Use the :c:func:`Py_SET_TYPE` function to set an object type."
msgstr ""
"Debe utilizarse la función :c:func:`Py_SET_TYPE` para establecer un tipo de "
"objeto."
-#: ../Doc/c-api/structures.rst:107
+#: ../Doc/c-api/structures.rst:104
+msgid ""
+":c:func:`Py_TYPE()` is changed to an inline static function. The parameter "
+"type is no longer :c:expr:`const PyObject*`."
+msgstr ""
+
+#: ../Doc/c-api/structures.rst:111
msgid ""
"Return non-zero if the object *o* type is *type*. Return zero otherwise. "
"Equivalent to: ``Py_TYPE(o) == type``."
@@ -167,41 +174,56 @@ msgstr ""
"Retorna un valor distinto de cero si el objeto *o* tipo es *type*. Retorna "
"cero en caso contrario. Equivalente a: ``Py_TYPE(o) == type``."
-#: ../Doc/c-api/structures.rst:115
+#: ../Doc/c-api/structures.rst:119
msgid "Set the object *o* type to *type*."
msgstr "Establece el tipo del objeto *o* a *type*."
-#: ../Doc/c-api/structures.rst:122
+#: ../Doc/c-api/structures.rst:126
msgid "Get the reference count of the Python object *o*."
msgstr "Obtiene la cuenta de referencias del objeto Python *o*."
-#: ../Doc/c-api/structures.rst:124
+#: ../Doc/c-api/structures.rst:128
+#, fuzzy
msgid ""
-":c:func:`Py_REFCNT()` is changed to the inline static function. Use :c:func:"
-"`Py_SET_REFCNT()` to set an object reference count."
+"Use the :c:func:`Py_SET_REFCNT()` function to set an object reference count."
+msgstr ""
+"Debe utilizarse la función :c:func:`Py_SET_TYPE` para establecer un tipo de "
+"objeto."
+
+#: ../Doc/c-api/structures.rst:130
+msgid "The parameter type is no longer :c:expr:`const PyObject*`."
msgstr ""
-":c:func:`Py_REFCNT()` se cambia a la función estática en línea. Use :c:func:"
-"`Py_SET_REFCNT()` para establecer una cuenta de referencias de objetos."
-#: ../Doc/c-api/structures.rst:131
+#: ../Doc/c-api/structures.rst:133
+msgid ":c:func:`Py_REFCNT()` is changed to the inline static function."
+msgstr ""
+
+#: ../Doc/c-api/structures.rst:139
msgid "Set the object *o* reference counter to *refcnt*."
msgstr "Establece el conteo de referencia del objeto *o* a *refcnt*."
-#: ../Doc/c-api/structures.rst:138
+#: ../Doc/c-api/structures.rst:146
msgid "Get the size of the Python object *o*."
msgstr "Obtiene el tamaño del objeto Python *o*."
-#: ../Doc/c-api/structures.rst:140
-msgid "The :c:func:`Py_SET_SIZE` function must be used to set an object size."
+#: ../Doc/c-api/structures.rst:148
+#, fuzzy
+msgid "Use the :c:func:`Py_SET_SIZE` function to set an object size."
msgstr ""
"Debe utilizarse la función :c:func:`Py_SET_SIZE` para establecer un tamaño "
"de objeto."
-#: ../Doc/c-api/structures.rst:145
+#: ../Doc/c-api/structures.rst:150
+msgid ""
+":c:func:`Py_SIZE()` is changed to an inline static function. The parameter "
+"type is no longer :c:expr:`const PyVarObject*`."
+msgstr ""
+
+#: ../Doc/c-api/structures.rst:157
msgid "Set the object *o* size to *size*."
msgstr "Establece el tamaño del objeto *o* a *size*."
-#: ../Doc/c-api/structures.rst:152
+#: ../Doc/c-api/structures.rst:164
msgid ""
"This is a macro which expands to initialization values for a new :c:type:"
"`PyObject` type. This macro expands to::"
@@ -209,7 +231,7 @@ msgstr ""
"Esta es una macro que se expande para valores de inicialización para un "
"nuevo tipo :c:type:`PyObject`. Esta macro expande::"
-#: ../Doc/c-api/structures.rst:161
+#: ../Doc/c-api/structures.rst:173
msgid ""
"This is a macro which expands to initialization values for a new :c:type:"
"`PyVarObject` type, including the :attr:`ob_size` field. This macro expands "
@@ -219,14 +241,15 @@ msgstr ""
"nuevo tipo :c:type:`PyVarObject`, incluyendo el campo :attr:`ob_size`. Esta "
"macro se expande a::"
-#: ../Doc/c-api/structures.rst:170
+#: ../Doc/c-api/structures.rst:182
msgid "Implementing functions and methods"
msgstr "Implementando funciones y métodos"
-#: ../Doc/c-api/structures.rst:174
+#: ../Doc/c-api/structures.rst:186
+#, fuzzy
msgid ""
"Type of the functions used to implement most Python callables in C. "
-"Functions of this type take two :c:type:`PyObject*` parameters and return "
+"Functions of this type take two :c:expr:`PyObject*` parameters and return "
"one such value. If the return value is ``NULL``, an exception shall have "
"been set. If not ``NULL``, the return value is interpreted as the return "
"value of the function as exposed in Python. The function must return a new "
@@ -239,11 +262,11 @@ msgstr ""
"interpreta como el valor de retorno de la función que se expone en Python. "
"La función debe retornar una nueva referencia."
-#: ../Doc/c-api/structures.rst:181
+#: ../Doc/c-api/structures.rst:193
msgid "The function signature is::"
msgstr "La firma de la función es::"
-#: ../Doc/c-api/structures.rst:188
+#: ../Doc/c-api/structures.rst:200
msgid ""
"Type of the functions used to implement Python callables in C with "
"signature :const:`METH_VARARGS | METH_KEYWORDS`. The function signature is::"
@@ -252,7 +275,7 @@ msgstr ""
"C con la firma :const:`METH_VARARGS | METH_KEYWORDS`. La firma de la función "
"es::"
-#: ../Doc/c-api/structures.rst:199
+#: ../Doc/c-api/structures.rst:211
msgid ""
"Type of the functions used to implement Python callables in C with "
"signature :const:`METH_FASTCALL`. The function signature is::"
@@ -260,7 +283,7 @@ msgstr ""
"Tipo de las funciones que se utilizan para implementar invocables Python en "
"C con la firma :const:`METH_FASTCALL`. La firma de la función es::"
-#: ../Doc/c-api/structures.rst:209
+#: ../Doc/c-api/structures.rst:221
msgid ""
"Type of the functions used to implement Python callables in C with "
"signature :const:`METH_FASTCALL | METH_KEYWORDS`. The function signature is::"
@@ -269,7 +292,7 @@ msgstr ""
"C con la firma :const:`METH_FASTCALL | METH_KEYWORDS`. La firma de la "
"función es::"
-#: ../Doc/c-api/structures.rst:220
+#: ../Doc/c-api/structures.rst:232
msgid ""
"Type of the functions used to implement Python callables in C with "
"signature :const:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS`. The function "
@@ -279,7 +302,7 @@ msgstr ""
"C con la firma :const:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS`. La "
"firma de la función es::"
-#: ../Doc/c-api/structures.rst:235
+#: ../Doc/c-api/structures.rst:247
msgid ""
"Structure used to describe a method of an extension type. This structure "
"has four fields:"
@@ -287,76 +310,77 @@ msgstr ""
"Estructura utiliza para describir un método de un tipo de extensión. Esta "
"estructura tiene cuatro campos:"
-#: ../Doc/c-api/structures.rst:239 ../Doc/c-api/structures.rst:397
-#: ../Doc/c-api/structures.rst:493
+#: ../Doc/c-api/structures.rst:251 ../Doc/c-api/structures.rst:410
+#: ../Doc/c-api/structures.rst:506
msgid "Field"
msgstr "Campo"
-#: ../Doc/c-api/structures.rst:239 ../Doc/c-api/structures.rst:397
-#: ../Doc/c-api/structures.rst:493
+#: ../Doc/c-api/structures.rst:251 ../Doc/c-api/structures.rst:410
+#: ../Doc/c-api/structures.rst:506
msgid "C Type"
msgstr "Tipo C"
-#: ../Doc/c-api/structures.rst:239 ../Doc/c-api/structures.rst:397
-#: ../Doc/c-api/structures.rst:493
+#: ../Doc/c-api/structures.rst:251 ../Doc/c-api/structures.rst:410
+#: ../Doc/c-api/structures.rst:506
msgid "Meaning"
msgstr "Significado"
-#: ../Doc/c-api/structures.rst:241
+#: ../Doc/c-api/structures.rst:253
msgid ":attr:`ml_name`"
msgstr ":attr:`ml_name`"
-#: ../Doc/c-api/structures.rst:241 ../Doc/c-api/structures.rst:249
-#: ../Doc/c-api/structures.rst:399 ../Doc/c-api/structures.rst:412
-#: ../Doc/c-api/structures.rst:428 ../Doc/c-api/structures.rst:495
-#: ../Doc/c-api/structures.rst:503
+#: ../Doc/c-api/structures.rst:253 ../Doc/c-api/structures.rst:261
+#: ../Doc/c-api/structures.rst:412 ../Doc/c-api/structures.rst:425
+#: ../Doc/c-api/structures.rst:441 ../Doc/c-api/structures.rst:508
+#: ../Doc/c-api/structures.rst:516
msgid "const char \\*"
msgstr "const char \\*"
-#: ../Doc/c-api/structures.rst:241
+#: ../Doc/c-api/structures.rst:253
msgid "name of the method"
msgstr "nombre del método"
-#: ../Doc/c-api/structures.rst:243
+#: ../Doc/c-api/structures.rst:255
msgid ":attr:`ml_meth`"
msgstr ":attr:`ml_meth`"
-#: ../Doc/c-api/structures.rst:243
+#: ../Doc/c-api/structures.rst:255
msgid "PyCFunction"
msgstr "PyCFunction"
-#: ../Doc/c-api/structures.rst:243
+#: ../Doc/c-api/structures.rst:255
msgid "pointer to the C implementation"
msgstr "puntero a la implementación en C"
-#: ../Doc/c-api/structures.rst:246
+#: ../Doc/c-api/structures.rst:258
msgid ":attr:`ml_flags`"
msgstr ":attr:`ml_flags`"
-#: ../Doc/c-api/structures.rst:246 ../Doc/c-api/structures.rst:401
-#: ../Doc/c-api/structures.rst:408 ../Doc/c-api/structures.rst:424
+#: ../Doc/c-api/structures.rst:258 ../Doc/c-api/structures.rst:414
+#: ../Doc/c-api/structures.rst:421 ../Doc/c-api/structures.rst:437
msgid "int"
msgstr "int"
-#: ../Doc/c-api/structures.rst:246
+#: ../Doc/c-api/structures.rst:258
msgid "flag bits indicating how the call should be constructed"
msgstr "*flag* bits que indican cómo debe ser construida la llamada"
-#: ../Doc/c-api/structures.rst:249
+#: ../Doc/c-api/structures.rst:261
msgid ":attr:`ml_doc`"
msgstr ":attr:`ml_doc`"
-#: ../Doc/c-api/structures.rst:249 ../Doc/c-api/structures.rst:412
+#: ../Doc/c-api/structures.rst:261 ../Doc/c-api/structures.rst:425
msgid "points to the contents of the docstring"
msgstr "puntos a los contenidos del docstring"
-#: ../Doc/c-api/structures.rst:253
+#: ../Doc/c-api/structures.rst:265
+#, fuzzy
msgid ""
"The :attr:`ml_meth` is a C function pointer. The functions may be of "
-"different types, but they always return :c:type:`PyObject*`. If the "
+"different types, but they always return :c:expr:`PyObject*`. If the "
"function is not of the :c:type:`PyCFunction`, the compiler will require a "
"cast in the method table. Even though :c:type:`PyCFunction` defines the "
-"first parameter as :c:type:`PyObject*`, it is common that the method "
+"first parameter as :c:expr:`PyObject*`, it is common that the method "
"implementation uses the specific C type of the *self* object."
msgstr ""
"El :attr:`ml_meth` es un puntero de función C. Las funciones pueden ser de "
@@ -366,7 +390,7 @@ msgstr ""
"primer parámetro como :c:type:`PyObject*`, es común que la implementación "
"del método utiliza el tipo específico C del objeto *self*."
-#: ../Doc/c-api/structures.rst:260
+#: ../Doc/c-api/structures.rst:272
msgid ""
"The :attr:`ml_flags` field is a bitfield which can include the following "
"flags. The individual flags indicate either a calling convention or a "
@@ -376,14 +400,15 @@ msgstr ""
"siguientes *flags*. Las *flags* individuales indican o bien una convención "
"de llamada o una convención vinculante."
-#: ../Doc/c-api/structures.rst:264
+#: ../Doc/c-api/structures.rst:276
msgid "There are these calling conventions:"
msgstr "Existen estas convenciones de llamada:"
-#: ../Doc/c-api/structures.rst:268
+#: ../Doc/c-api/structures.rst:280
+#, fuzzy
msgid ""
"This is the typical calling convention, where the methods have the type :c:"
-"type:`PyCFunction`. The function expects two :c:type:`PyObject*` values. The "
+"type:`PyCFunction`. The function expects two :c:expr:`PyObject*` values. The "
"first one is the *self* object for methods; for module functions, it is the "
"module object. The second parameter (often called *args*) is a tuple object "
"representing all arguments. This parameter is typically processed using :c:"
@@ -397,7 +422,7 @@ msgstr ""
"procesa típicamente usando :c:func:`PyArg_ParseTuple` o :c:func:"
"`PyArg_UnpackTuple`."
-#: ../Doc/c-api/structures.rst:278
+#: ../Doc/c-api/structures.rst:290
msgid ""
"Methods with these flags must be of type :c:type:`PyCFunctionWithKeywords`. "
"The function expects three parameters: *self*, *args*, *kwargs* where "
@@ -412,11 +437,12 @@ msgstr ""
"clave. Los parámetros se procesan típicamente usando :c:func:"
"`PyArg_ParseTupleAndKeywords`."
-#: ../Doc/c-api/structures.rst:287
+#: ../Doc/c-api/structures.rst:299
+#, fuzzy
msgid ""
"Fast calling convention supporting only positional arguments. The methods "
"have the type :c:type:`_PyCFunctionFast`. The first parameter is *self*, the "
-"second parameter is a C array of :c:type:`PyObject*` values indicating the "
+"second parameter is a C array of :c:expr:`PyObject*` values indicating the "
"arguments and the third parameter is the number of arguments (the length of "
"the array)."
msgstr ""
@@ -426,16 +452,17 @@ msgstr ""
"que indican los argumentos y el tercer parámetro es el número de argumentos "
"(la longitud del arreglo)."
-#: ../Doc/c-api/structures.rst:297
+#: ../Doc/c-api/structures.rst:309
msgid "``METH_FASTCALL`` is now part of the stable ABI."
msgstr "Ahora ``METH_FASTCALL`` es parte de la ABI estable."
-#: ../Doc/c-api/structures.rst:302
+#: ../Doc/c-api/structures.rst:314
+#, fuzzy
msgid ""
"Extension of :const:`METH_FASTCALL` supporting also keyword arguments, with "
"methods of type :c:type:`_PyCFunctionFastWithKeywords`. Keyword arguments "
"are passed the same way as in the :ref:`vectorcall protocol `: "
-"there is an additional fourth :c:type:`PyObject*` parameter which is a tuple "
+"there is an additional fourth :c:expr:`PyObject*` parameter which is a tuple "
"representing the names of the keyword arguments (which are guaranteed to be "
"strings) or possibly ``NULL`` if there are no keywords. The values of the "
"keyword arguments are stored in the *args* array, after the positional "
@@ -450,11 +477,7 @@ msgstr ""
"clave. Los valores de los argumentos de palabras clave se almacenan en el "
"arreglo *args*, después de los argumentos posicionales."
-#: ../Doc/c-api/structures.rst:312
-msgid "This is not part of the :ref:`limited API `."
-msgstr "Esto no es parte de la :ref:`API limitada `."
-
-#: ../Doc/c-api/structures.rst:319
+#: ../Doc/c-api/structures.rst:329
msgid ""
"Extension of :const:`METH_FASTCALL | METH_KEYWORDS` supporting the *defining "
"class*, that is, the class that contains the method in question. The "
@@ -464,7 +487,7 @@ msgstr ""
"definitoria*, es decir, la clase que contiene el método en cuestión. La "
"clase definitoria podría ser una superclase de ``Py_TYPE(self)``."
-#: ../Doc/c-api/structures.rst:323
+#: ../Doc/c-api/structures.rst:333
msgid ""
"The method needs to be of type :c:type:`PyCMethod`, the same as for "
"``METH_FASTCALL | METH_KEYWORDS`` with ``defining_class`` argument added "
@@ -474,7 +497,7 @@ msgstr ""
"``METH_FASTCALL | METH_KEYWORDS`` con el argumento ``defining_clase`` "
"añadido después de ``self``."
-#: ../Doc/c-api/structures.rst:332
+#: ../Doc/c-api/structures.rst:342
msgid ""
"Methods without parameters don't need to check whether arguments are given "
"if they are listed with the :const:`METH_NOARGS` flag. They need to be of "
@@ -488,12 +511,19 @@ msgstr ""
"*self* y llevará a cabo una referencia a la instancia módulo u objeto. En "
"todos los casos el segundo parámetro será ``NULL``."
-#: ../Doc/c-api/structures.rst:341
+#: ../Doc/c-api/structures.rst:348
+msgid ""
+"The function must have 2 parameters. Since the second parameter is unused, :"
+"c:macro:`Py_UNUSED` can be used to prevent a compiler warning."
+msgstr ""
+
+#: ../Doc/c-api/structures.rst:354
+#, fuzzy
msgid ""
"Methods with a single object argument can be listed with the :const:`METH_O` "
"flag, instead of invoking :c:func:`PyArg_ParseTuple` with a ``\"O\"`` "
"argument. They have the type :c:type:`PyCFunction`, with the *self* "
-"parameter, and a :c:type:`PyObject*` parameter representing the single "
+"parameter, and a :c:expr:`PyObject*` parameter representing the single "
"argument."
msgstr ""
"Los métodos con un solo argumento objeto pueden ser listados con el flag :"
@@ -501,7 +531,7 @@ msgstr ""
"argumento ``\"O\"``. Tienen el tipo :c:type:`PyCFunction`, con el parámetro "
"*self*, y un parámetro :c:type:`PyObject*` que representa el único argumento."
-#: ../Doc/c-api/structures.rst:347
+#: ../Doc/c-api/structures.rst:360
msgid ""
"These two constants are not used to indicate the calling convention but the "
"binding when use with methods of classes. These may not be used for "
@@ -513,7 +543,7 @@ msgstr ""
"pueden usar para funciones definidas para módulos. A lo sumo uno de estos "
"*flags* puede establecerse en un método dado."
-#: ../Doc/c-api/structures.rst:357
+#: ../Doc/c-api/structures.rst:370
msgid ""
"The method will be passed the type object as the first parameter rather than "
"an instance of the type. This is used to create *class methods*, similar to "
@@ -524,7 +554,7 @@ msgstr ""
"methods*), similar a lo que se crea cuando se utiliza la función :func:"
"`classmethod` incorporada."
-#: ../Doc/c-api/structures.rst:367
+#: ../Doc/c-api/structures.rst:380
msgid ""
"The method will be passed ``NULL`` as the first parameter rather than an "
"instance of the type. This is used to create *static methods*, similar to "
@@ -535,7 +565,7 @@ msgstr ""
"similar a lo que se crea cuando se utiliza la función :func:`staticmethod` "
"incorporada."
-#: ../Doc/c-api/structures.rst:371
+#: ../Doc/c-api/structures.rst:384
msgid ""
"One other constant controls whether a method is loaded in place of another "
"definition with the same method name."
@@ -543,7 +573,7 @@ msgstr ""
"En otros controles constantes dependiendo si se carga un método en su lugar "
"(*in place*) de otra definición con el mismo nombre del método."
-#: ../Doc/c-api/structures.rst:377
+#: ../Doc/c-api/structures.rst:390
msgid ""
"The method will be loaded in place of existing definitions. Without "
"*METH_COEXIST*, the default is to skip repeated definitions. Since slot "
@@ -565,11 +595,11 @@ msgstr ""
"coexistirá con la ranura. Esto es útil porque las llamadas a PyCFunctions se "
"optimizan más que las llamadas a objetos envolvente."
-#: ../Doc/c-api/structures.rst:389
+#: ../Doc/c-api/structures.rst:402
msgid "Accessing attributes of extension types"
msgstr "Acceder a atributos de tipos de extensión"
-#: ../Doc/c-api/structures.rst:393
+#: ../Doc/c-api/structures.rst:406
msgid ""
"Structure which describes an attribute of a type which corresponds to a C "
"struct member. Its fields are:"
@@ -577,51 +607,51 @@ msgstr ""
"Estructura que describe un atributo de un tipo que corresponde a un miembro "
"de la estructura de C. Sus campos son:"
-#: ../Doc/c-api/structures.rst:399
+#: ../Doc/c-api/structures.rst:412
msgid ":attr:`name`"
msgstr ":attr:`name`"
-#: ../Doc/c-api/structures.rst:399
+#: ../Doc/c-api/structures.rst:412
msgid "name of the member"
msgstr "nombre del miembro"
-#: ../Doc/c-api/structures.rst:401
+#: ../Doc/c-api/structures.rst:414
msgid ":attr:`!type`"
msgstr ":attr:`!type`"
-#: ../Doc/c-api/structures.rst:401
+#: ../Doc/c-api/structures.rst:414
msgid "the type of the member in the C struct"
msgstr "el tipo de miembro en la estructura de C"
-#: ../Doc/c-api/structures.rst:404
+#: ../Doc/c-api/structures.rst:417
msgid ":attr:`offset`"
msgstr ":attr:`offset`"
-#: ../Doc/c-api/structures.rst:404 ../Doc/c-api/structures.rst:440
+#: ../Doc/c-api/structures.rst:417 ../Doc/c-api/structures.rst:453
msgid "Py_ssize_t"
msgstr "Py_ssize_t"
-#: ../Doc/c-api/structures.rst:404
+#: ../Doc/c-api/structures.rst:417
msgid ""
"the offset in bytes that the member is located on the type's object struct"
msgstr ""
"el desplazamiento en bytes que el miembro se encuentra en la estructura de "
"objetos tipo"
-#: ../Doc/c-api/structures.rst:408
+#: ../Doc/c-api/structures.rst:421
msgid ":attr:`flags`"
msgstr ":attr:`flags`"
-#: ../Doc/c-api/structures.rst:408
+#: ../Doc/c-api/structures.rst:421
msgid "flag bits indicating if the field should be read-only or writable"
msgstr ""
"*flags* bits que indican si el campo debe ser de sólo lectura o de escritura"
-#: ../Doc/c-api/structures.rst:412
+#: ../Doc/c-api/structures.rst:425
msgid ":attr:`doc`"
msgstr ":attr:`doc`"
-#: ../Doc/c-api/structures.rst:416
+#: ../Doc/c-api/structures.rst:429
msgid ""
":attr:`!type` can be one of many ``T_`` macros corresponding to various C "
"types. When the member is accessed in Python, it will be converted to the "
@@ -631,136 +661,136 @@ msgstr ""
"diversos tipos C. Cuando se accede al miembro en Python, será convertida al "
"tipo Python equivalente."
-#: ../Doc/c-api/structures.rst:421
+#: ../Doc/c-api/structures.rst:434
msgid "Macro name"
msgstr "Nombre de la macro"
-#: ../Doc/c-api/structures.rst:421
+#: ../Doc/c-api/structures.rst:434
msgid "C type"
msgstr "Tipo C"
-#: ../Doc/c-api/structures.rst:423
+#: ../Doc/c-api/structures.rst:436
msgid "T_SHORT"
msgstr "T_SHORT"
-#: ../Doc/c-api/structures.rst:423
+#: ../Doc/c-api/structures.rst:436
msgid "short"
msgstr "short"
-#: ../Doc/c-api/structures.rst:424
+#: ../Doc/c-api/structures.rst:437
msgid "T_INT"
msgstr "T_INT"
-#: ../Doc/c-api/structures.rst:425
+#: ../Doc/c-api/structures.rst:438
msgid "T_LONG"
msgstr "T_LONG"
-#: ../Doc/c-api/structures.rst:425
+#: ../Doc/c-api/structures.rst:438
msgid "long"
msgstr "long"
-#: ../Doc/c-api/structures.rst:426
+#: ../Doc/c-api/structures.rst:439
msgid "T_FLOAT"
msgstr "T_FLOAT"
-#: ../Doc/c-api/structures.rst:426
+#: ../Doc/c-api/structures.rst:439
msgid "float"
msgstr "float"
-#: ../Doc/c-api/structures.rst:427
+#: ../Doc/c-api/structures.rst:440
msgid "T_DOUBLE"
msgstr "T_DOUBLE"
-#: ../Doc/c-api/structures.rst:427
+#: ../Doc/c-api/structures.rst:440
msgid "double"
msgstr "double"
-#: ../Doc/c-api/structures.rst:428
+#: ../Doc/c-api/structures.rst:441
msgid "T_STRING"
msgstr "T_STRING"
-#: ../Doc/c-api/structures.rst:429
+#: ../Doc/c-api/structures.rst:442
msgid "T_OBJECT"
msgstr "T_OBJECT"
-#: ../Doc/c-api/structures.rst:429 ../Doc/c-api/structures.rst:430
+#: ../Doc/c-api/structures.rst:442 ../Doc/c-api/structures.rst:443
msgid "PyObject \\*"
msgstr "PyObject \\*"
-#: ../Doc/c-api/structures.rst:430
+#: ../Doc/c-api/structures.rst:443
msgid "T_OBJECT_EX"
msgstr "T_OBJECT_EX"
-#: ../Doc/c-api/structures.rst:431
+#: ../Doc/c-api/structures.rst:444
msgid "T_CHAR"
msgstr "T_CHAR"
-#: ../Doc/c-api/structures.rst:431 ../Doc/c-api/structures.rst:432
-#: ../Doc/c-api/structures.rst:437
+#: ../Doc/c-api/structures.rst:444 ../Doc/c-api/structures.rst:445
+#: ../Doc/c-api/structures.rst:450
msgid "char"
msgstr "char"
-#: ../Doc/c-api/structures.rst:432
+#: ../Doc/c-api/structures.rst:445
msgid "T_BYTE"
msgstr "T_BYTE"
-#: ../Doc/c-api/structures.rst:433
+#: ../Doc/c-api/structures.rst:446
msgid "T_UBYTE"
msgstr "T_UBYTE"
-#: ../Doc/c-api/structures.rst:433
+#: ../Doc/c-api/structures.rst:446
msgid "unsigned char"
msgstr "unsigned char"
-#: ../Doc/c-api/structures.rst:434
+#: ../Doc/c-api/structures.rst:447
msgid "T_UINT"
msgstr "T_UINT"
-#: ../Doc/c-api/structures.rst:434
+#: ../Doc/c-api/structures.rst:447
msgid "unsigned int"
msgstr "unsigned int"
-#: ../Doc/c-api/structures.rst:435
+#: ../Doc/c-api/structures.rst:448
msgid "T_USHORT"
msgstr "T_USHORT"
-#: ../Doc/c-api/structures.rst:435
+#: ../Doc/c-api/structures.rst:448
msgid "unsigned short"
msgstr "unsigned short"
-#: ../Doc/c-api/structures.rst:436
+#: ../Doc/c-api/structures.rst:449
msgid "T_ULONG"
msgstr "T_ULONG"
-#: ../Doc/c-api/structures.rst:436
+#: ../Doc/c-api/structures.rst:449
msgid "unsigned long"
msgstr "unsigned long"
-#: ../Doc/c-api/structures.rst:437
+#: ../Doc/c-api/structures.rst:450
msgid "T_BOOL"
msgstr "T_BOOL"
-#: ../Doc/c-api/structures.rst:438
+#: ../Doc/c-api/structures.rst:451
msgid "T_LONGLONG"
msgstr "T_LONGLONG"
-#: ../Doc/c-api/structures.rst:438
+#: ../Doc/c-api/structures.rst:451
msgid "long long"
msgstr "long long"
-#: ../Doc/c-api/structures.rst:439
+#: ../Doc/c-api/structures.rst:452
msgid "T_ULONGLONG"
msgstr "T_ULONGLONG"
-#: ../Doc/c-api/structures.rst:439
+#: ../Doc/c-api/structures.rst:452
msgid "unsigned long long"
msgstr "unsigned long long"
-#: ../Doc/c-api/structures.rst:440
+#: ../Doc/c-api/structures.rst:453
msgid "T_PYSSIZET"
msgstr "T_PYSSIZET"
-#: ../Doc/c-api/structures.rst:443
+#: ../Doc/c-api/structures.rst:456
msgid ""
":c:macro:`T_OBJECT` and :c:macro:`T_OBJECT_EX` differ in that :c:macro:"
"`T_OBJECT` returns ``None`` if the member is ``NULL`` and :c:macro:"
@@ -776,7 +806,7 @@ msgstr ""
"el uso de la declaración :keyword:`del` en ese atributo más correctamente "
"que :c:macro:`T_OBJECT`."
-#: ../Doc/c-api/structures.rst:450
+#: ../Doc/c-api/structures.rst:463
msgid ""
":attr:`flags` can be ``0`` for write and read access or :c:macro:`READONLY` "
"for read-only access. Using :c:macro:`T_STRING` for :attr:`type` implies :c:"
@@ -790,7 +820,7 @@ msgstr ""
"`T_STRING` se interpretan como UTF-8. Sólo se pueden eliminar :c:macro:"
"`T_OBJECT` y miembros :c:macro:`T_OBJECT_EX`. (Se establecen a ``NULL``)."
-#: ../Doc/c-api/structures.rst:458
+#: ../Doc/c-api/structures.rst:471
msgid ""
"Heap allocated types (created using :c:func:`PyType_FromSpec` or similar), "
"``PyMemberDef`` may contain definitions for the special members "
@@ -808,7 +838,7 @@ msgstr ""
"`~PyTypeObject.tp_vectorcall_offset` en objetos de tipo. Estos deben "
"definirse con ``T_PYSSIZET`` y ``READONLY``, por ejemplo::"
-#: ../Doc/c-api/structures.rst:475
+#: ../Doc/c-api/structures.rst:488
msgid ""
"Get an attribute belonging to the object at address *obj_addr*. The "
"attribute is described by ``PyMemberDef`` *m*. Returns ``NULL`` on error."
@@ -817,7 +847,7 @@ msgstr ""
"atributo se describe por ``PyMemberDef`` *m*. Retorna ``NULL`` en caso de "
"error."
-#: ../Doc/c-api/structures.rst:482
+#: ../Doc/c-api/structures.rst:495
msgid ""
"Set an attribute belonging to the object at address *obj_addr* to object "
"*o*. The attribute to set is described by ``PyMemberDef`` *m*. Returns "
@@ -827,7 +857,7 @@ msgstr ""
"objeto *o*. El atributo a establecer se describe por ``PyMemberDef`` *m*. "
"Retorna ``0`` si tiene éxito y un valor negativo si falla."
-#: ../Doc/c-api/structures.rst:489
+#: ../Doc/c-api/structures.rst:502
msgid ""
"Structure to define property-like access for a type. See also description of "
"the :c:member:`PyTypeObject.tp_getset` slot."
@@ -835,35 +865,36 @@ msgstr ""
"Estructura para definir el acceso para un tipo como el de una propiedad. "
"Véase también la descripción de la ranura :c:member:`PyTypeObject.tp_getset`."
-#: ../Doc/c-api/structures.rst:495
+#: ../Doc/c-api/structures.rst:508
msgid "name"
msgstr "nombre"
-#: ../Doc/c-api/structures.rst:495
+#: ../Doc/c-api/structures.rst:508
msgid "attribute name"
msgstr "nombre del atributo"
-#: ../Doc/c-api/structures.rst:497
+#: ../Doc/c-api/structures.rst:510
msgid "get"
msgstr "get"
-#: ../Doc/c-api/structures.rst:497
+#: ../Doc/c-api/structures.rst:510
msgid "getter"
msgstr "getter"
-#: ../Doc/c-api/structures.rst:497
-msgid "C Function to get the attribute"
+#: ../Doc/c-api/structures.rst:510
+#, fuzzy
+msgid "C function to get the attribute"
msgstr "Función C para obtener el atributo"
-#: ../Doc/c-api/structures.rst:499
+#: ../Doc/c-api/structures.rst:512
msgid "set"
msgstr "set"
-#: ../Doc/c-api/structures.rst:499
+#: ../Doc/c-api/structures.rst:512
msgid "setter"
msgstr "setter"
-#: ../Doc/c-api/structures.rst:499
+#: ../Doc/c-api/structures.rst:512
msgid ""
"optional C function to set or delete the attribute, if omitted the attribute "
"is readonly"
@@ -871,38 +902,39 @@ msgstr ""
"función opcional C para establecer o eliminar el atributo, si se omite el "
"atributo es de sólo lectura"
-#: ../Doc/c-api/structures.rst:503
+#: ../Doc/c-api/structures.rst:516
msgid "doc"
msgstr "doc"
-#: ../Doc/c-api/structures.rst:503
+#: ../Doc/c-api/structures.rst:516
msgid "optional docstring"
msgstr "docstring opcional"
-#: ../Doc/c-api/structures.rst:505
+#: ../Doc/c-api/structures.rst:518
msgid "closure"
msgstr "clausura (*closure*)"
-#: ../Doc/c-api/structures.rst:505
+#: ../Doc/c-api/structures.rst:518
msgid "void \\*"
msgstr "void \\*"
-#: ../Doc/c-api/structures.rst:505
+#: ../Doc/c-api/structures.rst:518
msgid ""
"optional function pointer, providing additional data for getter and setter"
msgstr ""
"puntero de función opcional, proporcionar datos adicionales para *getter* y "
"*setter*"
-#: ../Doc/c-api/structures.rst:510
+#: ../Doc/c-api/structures.rst:523
+#, fuzzy
msgid ""
-"The ``get`` function takes one :c:type:`PyObject*` parameter (the instance) "
+"The ``get`` function takes one :c:expr:`PyObject*` parameter (the instance) "
"and a function pointer (the associated ``closure``)::"
msgstr ""
"La función ``get`` toma un parámetro :c:type:`PyObject*` (la instancia) y un "
"puntero de función (el ``closure`` asociado)::"
-#: ../Doc/c-api/structures.rst:515
+#: ../Doc/c-api/structures.rst:528
msgid ""
"It should return a new reference on success or ``NULL`` with a set exception "
"on failure."
@@ -910,16 +942,17 @@ msgstr ""
"Debe retornar una nueva referencia en caso de éxito o ``NULL`` con una "
"excepción establecida en caso de error."
-#: ../Doc/c-api/structures.rst:518
+#: ../Doc/c-api/structures.rst:531
+#, fuzzy
msgid ""
-"``set`` functions take two :c:type:`PyObject*` parameters (the instance and "
+"``set`` functions take two :c:expr:`PyObject*` parameters (the instance and "
"the value to be set) and a function pointer (the associated ``closure``)::"
msgstr ""
"Las funciones ``set`` toman dos parámetros :c:type:`PyObject*` (la instancia "
"y el valor a ser establecido) y un puntero de función (el ``closure`` "
"asociado)::"
-#: ../Doc/c-api/structures.rst:523
+#: ../Doc/c-api/structures.rst:536
msgid ""
"In case the attribute should be deleted the second parameter is ``NULL``. "
"Should return ``0`` on success or ``-1`` with a set exception on failure."
@@ -927,3 +960,14 @@ msgstr ""
"En caso de que el atributo deba suprimirse el segundo parámetro es ``NULL``. "
"Debe retornar ``0`` en caso de éxito o ``-1`` con una excepción explícita en "
"caso de fallo."
+
+#~ msgid ""
+#~ ":c:func:`Py_REFCNT()` is changed to the inline static function. Use :c:"
+#~ "func:`Py_SET_REFCNT()` to set an object reference count."
+#~ msgstr ""
+#~ ":c:func:`Py_REFCNT()` se cambia a la función estática en línea. Use :c:"
+#~ "func:`Py_SET_REFCNT()` para establecer una cuenta de referencias de "
+#~ "objetos."
+
+#~ msgid "This is not part of the :ref:`limited API `."
+#~ msgstr "Esto no es parte de la :ref:`API limitada `."
diff --git a/c-api/sys.po b/c-api/sys.po
index cb18a742b7..00c107f335 100644
--- a/c-api/sys.po
+++ b/c-api/sys.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-16 21:42+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-12-09 10:56+0800\n"
"Last-Translator: Rodrigo Tobar \n"
"Language: es\n"
@@ -19,8 +19,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.1\n"
-"X-Generator: Poedit 3.0\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/sys.rst:6
msgid "Operating System Utilities"
@@ -156,12 +155,13 @@ msgid "This function is superseded by :c:func:`PyOS_AfterFork_Child()`."
msgstr "Esta función es reemplazada por :c:func:`PyOS_AfterFork_Child()`."
#: ../Doc/c-api/sys.rst:97
+#, fuzzy
msgid ""
"Return true when the interpreter runs out of stack space. This is a "
"reliable check, but is only available when :const:`USE_STACKCHECK` is "
-"defined (currently on Windows using the Microsoft Visual C++ compiler). :"
-"const:`USE_STACKCHECK` will be defined automatically; you should never "
-"change the definition in your own code."
+"defined (currently on certain versions of Windows using the Microsoft Visual "
+"C++ compiler). :const:`USE_STACKCHECK` will be defined automatically; you "
+"should never change the definition in your own code."
msgstr ""
"Retorna verdadero cuando el intérprete se queda sin espacio de pila (*stack "
"space*). Esta es una verificación confiable, pero solo está disponible "
@@ -170,11 +170,12 @@ msgstr ""
"automáticamente; nunca debe cambiar la definición en su propio código."
#: ../Doc/c-api/sys.rst:106
+#, fuzzy
msgid ""
"Return the current signal handler for signal *i*. This is a thin wrapper "
"around either :c:func:`sigaction` or :c:func:`signal`. Do not call those "
"functions directly! :c:type:`PyOS_sighandler_t` is a typedef alias for :c:"
-"type:`void (\\*)(int)`."
+"expr:`void (\\*)(int)`."
msgstr ""
"Retorna el controlador de señal actual para la señal *i*. Esta es una "
"pequeña envoltura alrededor de :c:func:`sigaction` o :c:func:`signal`. ¡No "
@@ -182,11 +183,12 @@ msgstr ""
"*typedef* para :c:type:`void (\\*)(int)`."
#: ../Doc/c-api/sys.rst:114
+#, fuzzy
msgid ""
"Set the signal handler for signal *i* to be *h*; return the old signal "
"handler. This is a thin wrapper around either :c:func:`sigaction` or :c:func:"
"`signal`. Do not call those functions directly! :c:type:"
-"`PyOS_sighandler_t` is a typedef alias for :c:type:`void (\\*)(int)`."
+"`PyOS_sighandler_t` is a typedef alias for :c:expr:`void (\\*)(int)`."
msgstr ""
"Configura el controlador de señal para la señal *i* como *h*; retorna el "
"antiguo manejador de señal. Esta es una pequeña envoltura alrededor de :c:"
@@ -218,8 +220,8 @@ msgstr ""
msgid ""
"Decode a byte string from the :term:`filesystem encoding and error handler`. "
"If the error handler is :ref:`surrogateescape error handler "
-"`, undecodable bytes are decoded as characters in range U"
-"+DC80..U+DCFF; and if a byte sequence can be decoded as a surrogate "
+"`, undecodable bytes are decoded as characters in range "
+"U+DC80..U+DCFF; and if a byte sequence can be decoded as a surrogate "
"character, the bytes are escaped using the surrogateescape error handler "
"instead of decoding them."
msgstr ""
@@ -294,7 +296,7 @@ msgstr ""
"La función ahora utiliza la codificación UTF-8 en el :ref:`Modo Python UTF-8 "
"`."
-#: ../Doc/c-api/sys.rst:166 ../Doc/c-api/sys.rst:208
+#: ../Doc/c-api/sys.rst:166
msgid ""
"The function now uses the UTF-8 encoding on Windows if :c:data:"
"`Py_LegacyWindowsFSEncodingFlag` is zero;"
@@ -315,10 +317,11 @@ msgstr ""
"sustituidos en el rango U+DC80..U+DCFF se convierten en bytes 0x80..0xFF."
#: ../Doc/c-api/sys.rst:178
+#, fuzzy
msgid ""
"Return a pointer to a newly allocated byte string, use :c:func:`PyMem_Free` "
"to free the memory. Return ``NULL`` on encoding error or memory allocation "
-"error"
+"error."
msgstr ""
"Retorna un puntero a una cadena de bytes recién asignada, use :c:func:"
"`PyMem_Free` para liberar la memoria. Retorna ``NULL`` en el error de "
@@ -349,6 +352,15 @@ msgstr ""
"Las funciones :c:func:`PyUnicode_EncodeFSDefault` y :c:func:"
"`PyUnicode_EncodeLocale`."
+#: ../Doc/c-api/sys.rst:208
+#, fuzzy
+msgid ""
+"The function now uses the UTF-8 encoding on Windows if :c:data:"
+"`Py_LegacyWindowsFSEncodingFlag` is zero."
+msgstr ""
+"La función ahora usa la codificación UTF-8 en Windows si :c:data:"
+"`Py_LegacyWindowsFSEncodingFlag` es cero;"
+
#: ../Doc/c-api/sys.rst:216
msgid "System Functions"
msgstr "Funciones del Sistema"
@@ -391,7 +403,14 @@ msgstr ""
"Restablece :data:`sys.warnoptions` a una lista vacía. Esta función puede "
"llamarse antes de :c:func:`Py_Initialize`."
-#: ../Doc/c-api/sys.rst:240
+#: ../Doc/c-api/sys.rst:240 ../Doc/c-api/sys.rst:251
+msgid ""
+"This API is kept for backward compatibility: setting :c:member:`PyConfig."
+"warnoptions` should be used instead, see :ref:`Python Initialization "
+"Configuration `."
+msgstr ""
+
+#: ../Doc/c-api/sys.rst:244
msgid ""
"Append *s* to :data:`sys.warnoptions`. This function must be called prior "
"to :c:func:`Py_Initialize` in order to affect the warnings filter list."
@@ -399,11 +418,11 @@ msgstr ""
"Agrega *s* a :data:`sys.warnoptions`. Esta función debe llamarse antes de :c:"
"func:`Py_Initialize` para afectar la lista de filtros de advertencias."
-#: ../Doc/c-api/sys.rst:245
+#: ../Doc/c-api/sys.rst:255
msgid "Append *unicode* to :data:`sys.warnoptions`."
msgstr "Agrega *unicode* a :data:`sys.warnoptions`."
-#: ../Doc/c-api/sys.rst:247
+#: ../Doc/c-api/sys.rst:257
msgid ""
"Note: this function is not currently usable from outside the CPython "
"implementation, as it must be called prior to the implicit import of :mod:"
@@ -417,7 +436,15 @@ msgstr ""
"efectiva, pero no se puede llamar hasta que se haya inicializado suficiente "
"tiempo de ejecución para permitir la creación de objetos Unicode."
-#: ../Doc/c-api/sys.rst:255
+#: ../Doc/c-api/sys.rst:267
+msgid ""
+"This API is kept for backward compatibility: setting :c:member:`PyConfig."
+"module_search_paths` and :c:member:`PyConfig.module_search_paths_set` should "
+"be used instead, see :ref:`Python Initialization Configuration `."
+msgstr ""
+
+#: ../Doc/c-api/sys.rst:272
msgid ""
"Set :data:`sys.path` to a list object of paths found in *path* which should "
"be a list of paths separated with the platform's search path delimiter (``:"
@@ -427,7 +454,7 @@ msgstr ""
"*path*, que debería ser una lista de rutas separadas con el delimitador de "
"ruta de búsqueda de la plataforma (``:`` en Unix, ``;`` en Windows )"
-#: ../Doc/c-api/sys.rst:261
+#: ../Doc/c-api/sys.rst:280
msgid ""
"Write the output string described by *format* to :data:`sys.stdout`. No "
"exceptions are raised, even if truncation occurs (see below)."
@@ -436,7 +463,7 @@ msgstr ""
"`sys.stdout`. No se lanzan excepciones, incluso si se produce el "
"truncamiento (ver más abajo)."
-#: ../Doc/c-api/sys.rst:264
+#: ../Doc/c-api/sys.rst:283
#, python-format
msgid ""
"*format* should limit the total size of the formatted output string to 1000 "
@@ -456,7 +483,7 @@ msgstr ""
"tenga cuidado con \"%f\", que puede imprimir cientos de dígitos para números "
"muy grandes."
-#: ../Doc/c-api/sys.rst:272
+#: ../Doc/c-api/sys.rst:291
msgid ""
"If a problem occurs, or :data:`sys.stdout` is unset, the formatted message "
"is written to the real (C level) *stdout*."
@@ -464,7 +491,7 @@ msgstr ""
"Si ocurre un problema, o :data:`sys.stdout` no está configurado, el mensaje "
"formateado se escribe en el real (nivel C) *stdout*."
-#: ../Doc/c-api/sys.rst:277
+#: ../Doc/c-api/sys.rst:296
msgid ""
"As :c:func:`PySys_WriteStdout`, but write to :data:`sys.stderr` or *stderr* "
"instead."
@@ -472,7 +499,7 @@ msgstr ""
"Como :c:func:`PySys_WriteStdout`, pero escribe a :data:`sys.stderr` o "
"*stderr* en su lugar."
-#: ../Doc/c-api/sys.rst:282
+#: ../Doc/c-api/sys.rst:301
msgid ""
"Function similar to PySys_WriteStdout() but format the message using :c:func:"
"`PyUnicode_FromFormatV` and don't truncate the message to an arbitrary "
@@ -482,7 +509,7 @@ msgstr ""
"func:`PyUnicode_FromFormatV` y no trunca el mensaje a una longitud "
"arbitraria."
-#: ../Doc/c-api/sys.rst:290
+#: ../Doc/c-api/sys.rst:309
msgid ""
"As :c:func:`PySys_FormatStdout`, but write to :data:`sys.stderr` or *stderr* "
"instead."
@@ -490,7 +517,14 @@ msgstr ""
"Como :c:func:`PySys_FormatStdout`, pero escribe a :data:`sys.stderr` o "
"*stderr* en su lugar."
-#: ../Doc/c-api/sys.rst:297
+#: ../Doc/c-api/sys.rst:316
+msgid ""
+"This API is kept for backward compatibility: setting :c:member:`PyConfig."
+"xoptions` should be used instead, see :ref:`Python Initialization "
+"Configuration `."
+msgstr ""
+
+#: ../Doc/c-api/sys.rst:320
msgid ""
"Parse *s* as a set of :option:`-X` options and add them to the current "
"options mapping as returned by :c:func:`PySys_GetXOptions`. This function "
@@ -501,7 +535,7 @@ msgstr ""
"`PySys_GetXOptions`. Esta función puede llamarse antes de :c:func:"
"`Py_Initialize`."
-#: ../Doc/c-api/sys.rst:305
+#: ../Doc/c-api/sys.rst:330
msgid ""
"Return the current dictionary of :option:`-X` options, similarly to :data:"
"`sys._xoptions`. On error, ``NULL`` is returned and an exception is set."
@@ -510,7 +544,7 @@ msgstr ""
"data:`sys._xoptions`. En caso de error, se retorna ``NULL`` y se establece "
"una excepción."
-#: ../Doc/c-api/sys.rst:314
+#: ../Doc/c-api/sys.rst:339
msgid ""
"Raise an auditing event with any active hooks. Return zero for success and "
"non-zero with an exception set on failure."
@@ -518,7 +552,7 @@ msgstr ""
"Lanza un evento de auditoría con cualquier gancho activo. Retorna cero para "
"el éxito y no cero con una excepción establecida en caso de error."
-#: ../Doc/c-api/sys.rst:317
+#: ../Doc/c-api/sys.rst:342
msgid ""
"If any hooks have been added, *format* and other arguments will be used to "
"construct a tuple to pass. Apart from ``N``, the same format characters as "
@@ -536,31 +570,34 @@ msgstr ""
"no hay forma de saber si se consumirán argumentos para esta función, su uso "
"puede causar fugas de referencia)."
-#: ../Doc/c-api/sys.rst:325
+#: ../Doc/c-api/sys.rst:350
+#, fuzzy
msgid ""
-"Note that ``#`` format characters should always be treated as "
-"``Py_ssize_t``, regardless of whether ``PY_SSIZE_T_CLEAN`` was defined."
+"Note that ``#`` format characters should always be treated as :c:type:"
+"`Py_ssize_t`, regardless of whether ``PY_SSIZE_T_CLEAN`` was defined."
msgstr ""
"Tenga en cuenta que los caracteres de formato ``#`` siempre deben tratarse "
"como ``Py_ssize_t``, independientemente de si se definió "
"``PY_SSIZE_T_CLEAN``."
-#: ../Doc/c-api/sys.rst:328
+#: ../Doc/c-api/sys.rst:353
msgid ":func:`sys.audit` performs the same function from Python code."
msgstr ":func:`sys.audit` realiza la misma función del código Python."
-#: ../Doc/c-api/sys.rst:334
+#: ../Doc/c-api/sys.rst:359
+#, fuzzy
msgid ""
-"Require ``Py_ssize_t`` for ``#`` format characters. Previously, an "
+"Require :c:type:`Py_ssize_t` for ``#`` format characters. Previously, an "
"unavoidable deprecation warning was raised."
msgstr ""
"Requiere ``Py_ssize_t`` para los caracteres de formato ``#``. Anteriormente, "
"se lanza una advertencia de deprecación inevitable."
-#: ../Doc/c-api/sys.rst:340
+#: ../Doc/c-api/sys.rst:365
+#, fuzzy
msgid ""
"Append the callable *hook* to the list of active auditing hooks. Return zero "
-"for success and non-zero on failure. If the runtime has been initialized, "
+"on success and non-zero on failure. If the runtime has been initialized, "
"also set an error on failure. Hooks added through this API are called for "
"all interpreters created by the runtime."
msgstr ""
@@ -570,7 +607,7 @@ msgstr ""
"fallo. Los ganchos agregados a través de esta API se llaman para todos los "
"intérpretes creados por el tiempo de ejecución."
-#: ../Doc/c-api/sys.rst:346
+#: ../Doc/c-api/sys.rst:371
msgid ""
"The *userData* pointer is passed into the hook function. Since hook "
"functions may be called from different runtimes, this pointer should not "
@@ -580,7 +617,7 @@ msgstr ""
"enlace pueden llamarse desde diferentes tiempos de ejecución, este puntero "
"no debe referirse directamente al estado de Python."
-#: ../Doc/c-api/sys.rst:350
+#: ../Doc/c-api/sys.rst:375
msgid ""
"This function is safe to call before :c:func:`Py_Initialize`. When called "
"after runtime initialization, existing audit hooks are notified and may "
@@ -593,9 +630,10 @@ msgstr ""
"al generar un error subclasificado de :class:`Excepción` (otros errores no "
"se silenciarán)."
-#: ../Doc/c-api/sys.rst:355
+#: ../Doc/c-api/sys.rst:380
+#, fuzzy
msgid ""
-"The hook function is of type :c:type:`int (*)(const char *event, PyObject "
+"The hook function is of type :c:expr:`int (*)(const char *event, PyObject "
"*args, void *userData)`, where *args* is guaranteed to be a :c:type:"
"`PyTupleObject`. The hook function is always called with the GIL held by the "
"Python interpreter that raised the event."
@@ -605,7 +643,7 @@ msgstr ""
"type:`PyTupleObject`. La función gancho siempre se llama con el GIL en poder "
"del intérprete de Python que lanzó el evento."
-#: ../Doc/c-api/sys.rst:360
+#: ../Doc/c-api/sys.rst:385
msgid ""
"See :pep:`578` for a detailed description of auditing. Functions in the "
"runtime and standard library that raise events are listed in the :ref:`audit "
@@ -616,7 +654,7 @@ msgstr ""
"enumeran en :ref:`table de eventos de auditoria `. Los "
"detalles se encuentran en la documentación de cada función."
-#: ../Doc/c-api/sys.rst:365
+#: ../Doc/c-api/sys.rst:390
msgid ""
"Raises an :ref:`auditing event ` ``sys.addaudithook`` with no "
"arguments."
@@ -624,7 +662,7 @@ msgstr ""
"Lanza un :ref:`evento de auditoria ` ``sys.addaudithook`` sin "
"argumentos."
-#: ../Doc/c-api/sys.rst:367
+#: ../Doc/c-api/sys.rst:392
msgid ""
"If the interpreter is initialized, this function raises a auditing event "
"``sys.addaudithook`` with no arguments. If any existing hooks raise an "
@@ -639,11 +677,11 @@ msgstr ""
"asumir que su gancho ha sido agregado a menos que controlen todos los "
"ganchos existentes."
-#: ../Doc/c-api/sys.rst:379
+#: ../Doc/c-api/sys.rst:404
msgid "Process Control"
msgstr "Control de procesos"
-#: ../Doc/c-api/sys.rst:386
+#: ../Doc/c-api/sys.rst:411
msgid ""
"Print a fatal error message and kill the process. No cleanup is performed. "
"This function should only be invoked when a condition is detected that would "
@@ -659,7 +697,7 @@ msgstr ""
"la función de biblioteca C estándar :c:func:`abort` que intentará producir "
"un archivo :file:`core`."
-#: ../Doc/c-api/sys.rst:393
+#: ../Doc/c-api/sys.rst:418
msgid ""
"The ``Py_FatalError()`` function is replaced with a macro which logs "
"automatically the name of the current function, unless the "
@@ -669,11 +707,11 @@ msgstr ""
"automáticamente el nombre de la función actual, a menos que se defina la "
"macro ``Py_LIMITED_API``."
-#: ../Doc/c-api/sys.rst:397
+#: ../Doc/c-api/sys.rst:422
msgid "Log the function name automatically."
msgstr "Registra el nombre de la función automáticamente."
-#: ../Doc/c-api/sys.rst:407
+#: ../Doc/c-api/sys.rst:432
msgid ""
"Exit the current process. This calls :c:func:`Py_FinalizeEx` and then calls "
"the standard C library function ``exit(status)``. If :c:func:"
@@ -683,11 +721,11 @@ msgstr ""
"la función estándar de la biblioteca C ``exit(status)``. Si :c:func:"
"`Py_FinalizeEx` indica un error, el estado de salida se establece en 120."
-#: ../Doc/c-api/sys.rst:411
+#: ../Doc/c-api/sys.rst:436
msgid "Errors from finalization no longer ignored."
msgstr "Los errores de finalización ya no se ignoran."
-#: ../Doc/c-api/sys.rst:421
+#: ../Doc/c-api/sys.rst:446
msgid ""
"Register a cleanup function to be called by :c:func:`Py_FinalizeEx`. The "
"cleanup function will be called with no arguments and should return no "
diff --git a/c-api/tuple.po b/c-api/tuple.po
index df7a4962b8..2c61d723f4 100644
--- a/c-api/tuple.po
+++ b/c-api/tuple.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-16 21:42+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-12-09 10:31+0800\n"
"Last-Translator: Rodrigo Tobar \n"
"Language: es\n"
@@ -19,8 +19,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.1\n"
-"X-Generator: Poedit 3.0\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/tuple.rst:6
msgid "Tuple Objects"
@@ -135,8 +134,9 @@ msgstr ""
"de errores, y debe *solo* usarse para completar tuplas nuevas."
#: ../Doc/c-api/tuple.rst:94
+#, fuzzy
msgid ""
-"This macro \"steals\" a reference to *o*, and, unlike :c:func:"
+"This function \"steals\" a reference to *o*, and, unlike :c:func:"
"`PyTuple_SetItem`, does *not* discard a reference to any item that is being "
"replaced; any reference in the tuple at position *pos* will be leaked."
msgstr ""
@@ -277,9 +277,10 @@ msgstr ""
"cantidad de campos visibles para el lado de Python (si se usa como tupla)"
#: ../Doc/c-api/tuple.rst:163
+#, fuzzy
msgid ""
"Describes a field of a struct sequence. As a struct sequence is modeled as a "
-"tuple, all fields are typed as :c:type:`PyObject*`. The index in the :attr:"
+"tuple, all fields are typed as :c:expr:`PyObject*`. The index in the :attr:"
"`fields` array of the :c:type:`PyStructSequence_Desc` determines which field "
"of the struct sequence is described."
msgstr ""
@@ -340,10 +341,15 @@ msgstr ""
"el valor *o*. Como :c:func:`PyTuple_SET_ITEM`, esto solo debe usarse para "
"completar instancias nuevas."
-#: ../Doc/c-api/tuple.rst:213 ../Doc/c-api/tuple.rst:222
+#: ../Doc/c-api/tuple.rst:213 ../Doc/c-api/tuple.rst:223
msgid "This function \"steals\" a reference to *o*."
msgstr "Esta función \"roba\" una referencia a *o*."
#: ../Doc/c-api/tuple.rst:218
-msgid "Macro equivalent of :c:func:`PyStructSequence_SetItem`."
-msgstr "Macro equivalente de :c:func:`PyStructSequence_SetItem`."
+msgid ""
+"Similar to :c:func:`PyStructSequence_SetItem`, but implemented as a static "
+"inlined function."
+msgstr ""
+
+#~ msgid "Macro equivalent of :c:func:`PyStructSequence_SetItem`."
+#~ msgstr "Macro equivalente de :c:func:`PyStructSequence_SetItem`."
diff --git a/c-api/type.po b/c-api/type.po
index 46e7f461af..fb7ba5cc65 100644
--- a/c-api/type.po
+++ b/c-api/type.po
@@ -10,16 +10,16 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-16 21:42+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-08-02 01:37+0200\n"
"Last-Translator: Cristián Maureira-Fredes \n"
-"Language-Team: python-doc-es\n"
"Language: es\n"
+"Language-Team: python-doc-es\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.9.1\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/type.rst:6
msgid "Type Objects"
@@ -66,9 +66,10 @@ msgstr ""
"versión actual."
#: ../Doc/c-api/type.rst:42
+#, fuzzy
msgid ""
"Return the :c:member:`~PyTypeObject.tp_flags` member of *type*. This "
-"function is primarily meant for use with `Py_LIMITED_API`; the individual "
+"function is primarily meant for use with ``Py_LIMITED_API``; the individual "
"flag bits are guaranteed to be stable across Python releases, but access to :"
"c:member:`~PyTypeObject.tp_flags` itself is not part of the limited API."
msgstr ""
@@ -175,6 +176,18 @@ msgstr ""
#: ../Doc/c-api/type.rst:111
msgid ""
+"Return the type's name. Equivalent to getting the type's ``__name__`` "
+"attribute."
+msgstr ""
+
+#: ../Doc/c-api/type.rst:117
+msgid ""
+"Return the type's qualified name. Equivalent to getting the type's "
+"``__qualname__`` attribute."
+msgstr ""
+
+#: ../Doc/c-api/type.rst:124
+msgid ""
"Return the function pointer stored in the given slot. If the result is "
"``NULL``, this indicates that either the slot is ``NULL``, or that the "
"function was called with invalid parameters. Callers will typically cast the "
@@ -185,14 +198,14 @@ msgstr ""
"con parámetros no válidos. Las personas que llaman suelen convertir el "
"puntero de resultado en el tipo de función apropiado."
-#: ../Doc/c-api/type.rst:117
+#: ../Doc/c-api/type.rst:130
msgid ""
"See :c:member:`PyType_Slot.slot` for possible values of the *slot* argument."
msgstr ""
"Consulte :c:member:`PyType_Slot.slot` para conocer los posibles valores del "
"argumento *slot*."
-#: ../Doc/c-api/type.rst:121
+#: ../Doc/c-api/type.rst:134
msgid ""
":c:func:`PyType_GetSlot` can now accept all types. Previously, it was "
"limited to :ref:`heap types `."
@@ -200,7 +213,7 @@ msgstr ""
":c:func:`PyType_GetSlot` ahora puede aceptar todos los tipos. Anteriormente, "
"estaba limitado a :ref:`heap types `."
-#: ../Doc/c-api/type.rst:127
+#: ../Doc/c-api/type.rst:140
msgid ""
"Return the module object associated with the given type when the type was "
"created using :c:func:`PyType_FromModuleAndSpec`."
@@ -208,7 +221,7 @@ msgstr ""
"Retorna el objeto módulo asociado con el tipo dado cuando se creó el tipo "
"usando :c:func:`PyType_FromModuleAndSpec`."
-#: ../Doc/c-api/type.rst:130 ../Doc/c-api/type.rst:148
+#: ../Doc/c-api/type.rst:143 ../Doc/c-api/type.rst:163
msgid ""
"If no module is associated with the given type, sets :py:class:`TypeError` "
"and returns ``NULL``."
@@ -216,14 +229,16 @@ msgstr ""
"Si no hay ningún módulo asociado con el tipo dado, establece :py:class:"
"`TypeError` y retorna ``NULL``."
-#: ../Doc/c-api/type.rst:133
+#: ../Doc/c-api/type.rst:146
+#, fuzzy
msgid ""
"This function is usually used to get the module in which a method is "
"defined. Note that in such a method, ``PyType_GetModule(Py_TYPE(self))`` may "
"not return the intended result. ``Py_TYPE(self)`` may be a *subclass* of the "
"intended class, and subclasses are not necessarily defined in the same "
"module as their superclass. See :c:type:`PyCMethod` to get the class that "
-"defines the method."
+"defines the method. See :c:func:`PyType_GetModuleByDef` for cases when "
+"``PyCMethod`` cannot be used."
msgstr ""
"Esta función se suele utilizar para obtener el módulo en el que se define un "
"método. Tenga en cuenta que en un método de este tipo, es posible que "
@@ -233,7 +248,7 @@ msgstr ""
"superclase. Consulte :c:type:`PyCMethod` para obtener la clase que define el "
"método."
-#: ../Doc/c-api/type.rst:144
+#: ../Doc/c-api/type.rst:159
msgid ""
"Return the state of the module object associated with the given type. This "
"is a shortcut for calling :c:func:`PyModule_GetState()` on the result of :c:"
@@ -243,7 +258,7 @@ msgstr ""
"atajo para llamar :c:func:`PyModule_GetState()` en el resultado de :c:func:"
"`PyType_GetModule`."
-#: ../Doc/c-api/type.rst:151
+#: ../Doc/c-api/type.rst:166
msgid ""
"If the *type* has an associated module but its state is ``NULL``, returns "
"``NULL`` without setting an exception."
@@ -251,11 +266,34 @@ msgstr ""
"Si el tipo *type* tiene un módulo asociado pero su estado es ``NULL``, "
"retorna ``NULL`` sin establecer una excepción."
-#: ../Doc/c-api/type.rst:158
+#: ../Doc/c-api/type.rst:173
+msgid ""
+"Find the first superclass whose module was created from the given :c:type:"
+"`PyModuleDef` *def*, and return that module."
+msgstr ""
+
+#: ../Doc/c-api/type.rst:176
+#, fuzzy
+msgid ""
+"If no module is found, raises a :py:class:`TypeError` and returns ``NULL``."
+msgstr ""
+"Si no hay ningún módulo asociado con el tipo dado, establece :py:class:"
+"`TypeError` y retorna ``NULL``."
+
+#: ../Doc/c-api/type.rst:178
+msgid ""
+"This function is intended to be used together with :c:func:"
+"`PyModule_GetState()` to get module state from slot methods (such as :c:"
+"member:`~PyTypeObject.tp_init` or :c:member:`~PyNumberMethods.nb_add`) and "
+"other places where a method's defining class cannot be passed using the :c:"
+"type:`PyCMethod` calling convention."
+msgstr ""
+
+#: ../Doc/c-api/type.rst:188
msgid "Creating Heap-Allocated Types"
msgstr "Crear tipos asignados en montículo (*heap*)"
-#: ../Doc/c-api/type.rst:160
+#: ../Doc/c-api/type.rst:190
msgid ""
"The following functions and structs are used to create :ref:`heap types "
"`."
@@ -263,7 +301,7 @@ msgstr ""
"Las siguientes funciones y estructuras se utilizan para crear :ref:`heap "
"types `."
-#: ../Doc/c-api/type.rst:165
+#: ../Doc/c-api/type.rst:195
msgid ""
"Creates and returns a :ref:`heap type ` from the *spec* (:const:"
"`Py_TPFLAGS_HEAPTYPE`)."
@@ -271,7 +309,7 @@ msgstr ""
"Crea y retorna un :ref:`tipo heap ` a partir del *spec* (:const:"
"`Py_TPFLAGS_HEAPTYPE`)."
-#: ../Doc/c-api/type.rst:168
+#: ../Doc/c-api/type.rst:198
msgid ""
"The *bases* argument can be used to specify base classes; it can either be "
"only one class or a tuple of classes. If *bases* is ``NULL``, the "
@@ -285,7 +323,7 @@ msgstr ""
"la ranura *Py_tp_base* en su lugar. Si también es ``NULL``, el nuevo tipo se "
"deriva de :class:`object`."
-#: ../Doc/c-api/type.rst:174
+#: ../Doc/c-api/type.rst:204
msgid ""
"The *module* argument can be used to record the module in which the new "
"class is defined. It must be a module object or ``NULL``. If not ``NULL``, "
@@ -299,11 +337,11 @@ msgstr ""
"con :c:func:`PyType_GetModule`. El módulo asociado no es heredado por "
"subclases; debe especificarse para cada clase individualmente."
-#: ../Doc/c-api/type.rst:181
+#: ../Doc/c-api/type.rst:211
msgid "This function calls :c:func:`PyType_Ready` on the new type."
msgstr "Esta función llama :c:func:`PyType_Ready` en el tipo nuevo."
-#: ../Doc/c-api/type.rst:187
+#: ../Doc/c-api/type.rst:217
msgid ""
"The function now accepts a single class as the *bases* argument and ``NULL`` "
"as the ``tp_doc`` slot."
@@ -311,24 +349,24 @@ msgstr ""
"La función ahora acepta una sola clase como argumento *bases* y ``NULL`` "
"como ranura ``tp_doc``."
-#: ../Doc/c-api/type.rst:192
+#: ../Doc/c-api/type.rst:222
msgid "Equivalent to ``PyType_FromModuleAndSpec(NULL, spec, bases)``."
msgstr "Equivalente a ``PyType_FromModuleAndSpec(NULL, spec, bases)``."
-#: ../Doc/c-api/type.rst:198
+#: ../Doc/c-api/type.rst:228
msgid "Equivalent to ``PyType_FromSpecWithBases(spec, NULL)``."
msgstr "Equivalente a ``PyType_FromSpecWithBases(spec, NULL)``."
-#: ../Doc/c-api/type.rst:202
+#: ../Doc/c-api/type.rst:232
msgid "Structure defining a type's behavior."
msgstr "Estructura que define el comportamiento de un tipo."
-#: ../Doc/c-api/type.rst:206
+#: ../Doc/c-api/type.rst:236
msgid "Name of the type, used to set :c:member:`PyTypeObject.tp_name`."
msgstr ""
"Nombre del tipo, utilizado para establecer :c:member:`PyTypeObject.tp_name`."
-#: ../Doc/c-api/type.rst:211
+#: ../Doc/c-api/type.rst:241
msgid ""
"Size of the instance in bytes, used to set :c:member:`PyTypeObject."
"tp_basicsize` and :c:member:`PyTypeObject.tp_itemsize`."
@@ -336,13 +374,13 @@ msgstr ""
"Tamaño de la instancia en bytes, utilizado para establecer :c:member:"
"`PyTypeObject.tp_basicsize` y :c:member:`PyTypeObject.tp_itemsize`."
-#: ../Doc/c-api/type.rst:217
+#: ../Doc/c-api/type.rst:247
msgid "Type flags, used to set :c:member:`PyTypeObject.tp_flags`."
msgstr ""
"Banderas (*flags*) del tipo, que se usan para establecer :c:member:"
"`PyTypeObject.tp_flags`."
-#: ../Doc/c-api/type.rst:219
+#: ../Doc/c-api/type.rst:249
msgid ""
"If the ``Py_TPFLAGS_HEAPTYPE`` flag is not set, :c:func:"
"`PyType_FromSpecWithBases` sets it automatically."
@@ -350,7 +388,7 @@ msgstr ""
"Si el indicador ``Py_TPFLAGS_HEAPTYPE`` no está establecido, :c:func:"
"`PyType_FromSpecWithBases` lo establece automáticamente."
-#: ../Doc/c-api/type.rst:224
+#: ../Doc/c-api/type.rst:254
msgid ""
"Array of :c:type:`PyType_Slot` structures. Terminated by the special slot "
"value ``{0, NULL}``."
@@ -358,7 +396,7 @@ msgstr ""
"Arreglo de estructuras :c:type:`PyType_Slot`. Terminado por el valor de "
"ranura especial ``{0, NULL}``."
-#: ../Doc/c-api/type.rst:229
+#: ../Doc/c-api/type.rst:259
msgid ""
"Structure defining optional functionality of a type, containing a slot ID "
"and a value pointer."
@@ -366,11 +404,11 @@ msgstr ""
"Estructura que define la funcionalidad opcional de un tipo, que contiene una "
"ranura ID y un puntero de valor."
-#: ../Doc/c-api/type.rst:234
+#: ../Doc/c-api/type.rst:264
msgid "A slot ID."
msgstr "Una ranura ID."
-#: ../Doc/c-api/type.rst:236
+#: ../Doc/c-api/type.rst:266
msgid ""
"Slot IDs are named like the field names of the structures :c:type:"
"`PyTypeObject`, :c:type:`PyNumberMethods`, :c:type:`PySequenceMethods`, :c:"
@@ -382,20 +420,20 @@ msgstr ""
"`PySequenceMethods`, :c:type:`PyMappingMethods` y :c:type:`PyAsyncMethods` "
"con un prefijo ``Py_`` agregado. Por ejemplo, use:"
-#: ../Doc/c-api/type.rst:242
+#: ../Doc/c-api/type.rst:272
msgid "``Py_tp_dealloc`` to set :c:member:`PyTypeObject.tp_dealloc`"
msgstr "``Py_tp_dealloc`` para establecer :c:member:`PyTypeObject.tp_dealloc`"
-#: ../Doc/c-api/type.rst:243
+#: ../Doc/c-api/type.rst:273
msgid "``Py_nb_add`` to set :c:member:`PyNumberMethods.nb_add`"
msgstr "``Py_nb_add`` para establecer :c:member:`PyNumberMethods.nb_add`"
-#: ../Doc/c-api/type.rst:244
+#: ../Doc/c-api/type.rst:274
msgid "``Py_sq_length`` to set :c:member:`PySequenceMethods.sq_length`"
msgstr ""
"``Py_sq_length`` para establecer :c:member:`PySequenceMethods.sq_length`"
-#: ../Doc/c-api/type.rst:246
+#: ../Doc/c-api/type.rst:276
msgid ""
"The following fields cannot be set at all using :c:type:`PyType_Spec` and :c:"
"type:`PyType_Slot`:"
@@ -403,31 +441,31 @@ msgstr ""
"Los siguientes campos no se pueden configurar en absoluto usando :c:type:"
"`PyType_Spec` y :c:type:`PyType_Slot`:"
-#: ../Doc/c-api/type.rst:249
+#: ../Doc/c-api/type.rst:279
msgid ":c:member:`~PyTypeObject.tp_dict`"
msgstr ":c:member:`~PyTypeObject.tp_dict`"
-#: ../Doc/c-api/type.rst:250
+#: ../Doc/c-api/type.rst:280
msgid ":c:member:`~PyTypeObject.tp_mro`"
msgstr ":c:member:`~PyTypeObject.tp_mro`"
-#: ../Doc/c-api/type.rst:251
+#: ../Doc/c-api/type.rst:281
msgid ":c:member:`~PyTypeObject.tp_cache`"
msgstr ":c:member:`~PyTypeObject.tp_cache`"
-#: ../Doc/c-api/type.rst:252
+#: ../Doc/c-api/type.rst:282
msgid ":c:member:`~PyTypeObject.tp_subclasses`"
msgstr ":c:member:`~PyTypeObject.tp_subclasses`"
-#: ../Doc/c-api/type.rst:253
+#: ../Doc/c-api/type.rst:283
msgid ":c:member:`~PyTypeObject.tp_weaklist`"
msgstr ":c:member:`~PyTypeObject.tp_weaklist`"
-#: ../Doc/c-api/type.rst:254
+#: ../Doc/c-api/type.rst:284
msgid ":c:member:`~PyTypeObject.tp_vectorcall`"
msgstr ":c:member:`~PyTypeObject.tp_vectorcall`"
-#: ../Doc/c-api/type.rst:255
+#: ../Doc/c-api/type.rst:285
msgid ""
":c:member:`~PyTypeObject.tp_weaklistoffset` (see :ref:`PyMemberDef "
"`)"
@@ -435,7 +473,7 @@ msgstr ""
":c:member:`~PyTypeObject.tp_weaklistoffset` (vea :ref:`PyMemberDef "
"`)"
-#: ../Doc/c-api/type.rst:257
+#: ../Doc/c-api/type.rst:287
msgid ""
":c:member:`~PyTypeObject.tp_dictoffset` (see :ref:`PyMemberDef `)"
@@ -443,7 +481,7 @@ msgstr ""
":c:member:`~PyTypeObject.tp_dictoffset` (vea :ref:`PyMemberDef `)"
-#: ../Doc/c-api/type.rst:259
+#: ../Doc/c-api/type.rst:289
msgid ""
":c:member:`~PyTypeObject.tp_vectorcall_offset` (see :ref:`PyMemberDef "
"`)"
@@ -451,23 +489,7 @@ msgstr ""
":c:member:`~PyTypeObject.tp_vectorcall_offset` (vea :ref:`PyMemberDef "
"`)"
-#: ../Doc/c-api/type.rst:262
-msgid ""
-"The following fields cannot be set using :c:type:`PyType_Spec` and :c:type:"
-"`PyType_Slot` under the limited API:"
-msgstr ""
-"Los siguientes campos no se pueden establecer usando :c:type:`PyType_Spec` "
-"y :c:type:`PyType_Slot` cuando se utiliza la API limitada:"
-
-#: ../Doc/c-api/type.rst:265
-msgid ":c:member:`~PyBufferProcs.bf_getbuffer`"
-msgstr ":c:member:`~PyBufferProcs.bf_getbuffer`"
-
-#: ../Doc/c-api/type.rst:266
-msgid ":c:member:`~PyBufferProcs.bf_releasebuffer`"
-msgstr ":c:member:`~PyBufferProcs.bf_releasebuffer`"
-
-#: ../Doc/c-api/type.rst:268
+#: ../Doc/c-api/type.rst:292
msgid ""
"Setting :c:data:`Py_tp_bases` or :c:data:`Py_tp_base` may be problematic on "
"some platforms. To avoid issues, use the *bases* argument of :py:func:"
@@ -477,13 +499,20 @@ msgstr ""
"problemático en algunas plataformas. Para evitar problemas, use el argumento "
"*bases* de :py:func:`PyType_FromSpecWithBases` en su lugar."
-#: ../Doc/c-api/type.rst:275
-msgid "Slots in :c:type:`PyBufferProcs` in may be set in the unlimited API."
+#: ../Doc/c-api/type.rst:299
+#, fuzzy
+msgid "Slots in :c:type:`PyBufferProcs` may be set in the unlimited API."
msgstr ""
"Las ranuras en :c:type:`PyBufferProcs` se pueden configurar en la API "
"ilimitada."
-#: ../Doc/c-api/type.rst:279
+#: ../Doc/c-api/type.rst:301
+msgid ""
+":c:member:`~PyBufferProcs.bf_getbuffer` and :c:member:`~PyBufferProcs."
+"bf_releasebuffer` are now available under the limited API."
+msgstr ""
+
+#: ../Doc/c-api/type.rst:308
msgid ""
"The desired value of the slot. In most cases, this is a pointer to a "
"function."
@@ -491,6 +520,19 @@ msgstr ""
"El valor deseado de la ranura. En la mayoría de los casos, este es un "
"puntero a una función."
-#: ../Doc/c-api/type.rst:282
+#: ../Doc/c-api/type.rst:311
msgid "Slots other than ``Py_tp_doc`` may not be ``NULL``."
msgstr "Las ranuras que no sean ``Py_tp_doc`` pueden no ser ``NULL``."
+
+#~ msgid ""
+#~ "The following fields cannot be set using :c:type:`PyType_Spec` and :c:"
+#~ "type:`PyType_Slot` under the limited API:"
+#~ msgstr ""
+#~ "Los siguientes campos no se pueden establecer usando :c:type:"
+#~ "`PyType_Spec` y :c:type:`PyType_Slot` cuando se utiliza la API limitada:"
+
+#~ msgid ":c:member:`~PyBufferProcs.bf_getbuffer`"
+#~ msgstr ":c:member:`~PyBufferProcs.bf_getbuffer`"
+
+#~ msgid ":c:member:`~PyBufferProcs.bf_releasebuffer`"
+#~ msgstr ":c:member:`~PyBufferProcs.bf_releasebuffer`"
diff --git a/c-api/typehints.po b/c-api/typehints.po
index a122d5faf2..b118013c8d 100644
--- a/c-api/typehints.po
+++ b/c-api/typehints.po
@@ -8,17 +8,16 @@ msgid ""
msgstr ""
"Project-Id-Version: Python en Español 3.10\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-16 21:42+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-11-16 22:14-0600\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.1\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Last-Translator: Erick G. Islas Osuna \n"
-"Language-Team: \n"
"Language: es\n"
-"X-Generator: Poedit 3.0\n"
+"Language-Team: \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"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/typehints.rst:6
msgid "Objects for Type Hinting"
@@ -35,12 +34,13 @@ msgstr ""
"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:type:"
-"`PyTypeObject*`, and *args* can be a :c:type:`PyTupleObject*` or any "
+"``__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 "
diff --git a/c-api/typeobj.po b/c-api/typeobj.po
index e6ea5b6e46..db9ed6c7cb 100644
--- a/c-api/typeobj.po
+++ b/c-api/typeobj.po
@@ -10,30 +10,31 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-16 21:42+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-08-01 20:07+0200\n"
"Last-Translator: Cristián Maureira-Fredes \n"
-"Language-Team: python-doc-es\n"
"Language: es\n"
+"Language-Team: python-doc-es\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.9.1\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/typeobj.rst:6
msgid "Type Objects"
msgstr "Objetos Tipo"
#: ../Doc/c-api/typeobj.rst:8
+#, fuzzy
msgid ""
"Perhaps one of the most important structures of the Python object system is "
"the structure that defines a new type: the :c:type:`PyTypeObject` "
-"structure. Type objects can be handled using any of the :c:func:`PyObject_"
-"\\*` or :c:func:`PyType_\\*` functions, but do not offer much that's "
-"interesting to most Python applications. These objects are fundamental to "
-"how objects behave, so they are very important to the interpreter itself and "
-"to any extension module that implements new types."
+"structure. Type objects can be handled using any of the ``PyObject_*`` or "
+"``PyType_*`` functions, but do not offer much that's interesting to most "
+"Python applications. These objects are fundamental to how objects behave, so "
+"they are very important to the interpreter itself and to any extension "
+"module that implements new types."
msgstr ""
"Quizás una de las estructuras más importantes del sistema de objetos Python "
"es la estructura que define un nuevo tipo: la estructura :c:type:"
@@ -150,8 +151,9 @@ msgstr ":c:member:`~PyTypeObject.tp_basicsize`"
#: ../Doc/c-api/typeobj.rst:48 ../Doc/c-api/typeobj.rst:52
#: ../Doc/c-api/typeobj.rst:99 ../Doc/c-api/typeobj.rst:120
#: ../Doc/c-api/typeobj.rst:408
-msgid "Py_ssize_t"
-msgstr "Py_ssize_t"
+#, fuzzy
+msgid ":c:type:`Py_ssize_t`"
+msgstr ":c:type:`ssizeargfunc`"
#: ../Doc/c-api/typeobj.rst:48
msgid ":c:member:`~PyTypeObject.tp_itemsize`"
@@ -597,8 +599,8 @@ msgid ""
msgstr ""
"Un nombre de ranura entre paréntesis indica que está (efectivamente) en "
"desuso. Los nombres entre paréntesis angulares deben tratarse como de solo "
-"lectura. Los nombres entre corchetes son solo para uso interno. \""
-"\" (como prefijo) significa que el campo es obligatorio (no debe ser "
+"lectura. Los nombres entre corchetes son solo para uso interno. "
+"\"\" (como prefijo) significa que el campo es obligatorio (no debe ser "
"``NULL``)."
#: ../Doc/c-api/typeobj.rst:156
@@ -1173,13 +1175,13 @@ msgid "PyObject Slots"
msgstr "Ranuras (*Slots*) ``PyObject``"
#: ../Doc/c-api/typeobj.rst:478
+#, fuzzy
msgid ""
"The type object structure extends the :c:type:`PyVarObject` structure. The :"
-"attr:`ob_size` field is used for dynamic types (created by :func:"
-"`type_new`, usually called from a class statement). Note that :c:data:"
-"`PyType_Type` (the metatype) initializes :c:member:`~PyTypeObject."
-"tp_itemsize`, which means that its instances (i.e. type objects) *must* have "
-"the :attr:`ob_size` field."
+"attr:`ob_size` field is used for dynamic types (created by :func:`type_new`, "
+"usually called from a class statement). Note that :c:data:`PyType_Type` (the "
+"metatype) initializes :c:member:`~PyTypeObject.tp_itemsize`, which means "
+"that its instances (i.e. type objects) *must* have the :attr:`ob_size` field."
msgstr ""
"La estructura de objeto de tipo extiende la estructura :c:type:"
"`PyVarObject`. El campo :attr:`ob_size` se usa para tipos dinámicos (creado "
@@ -1207,34 +1209,34 @@ msgstr ""
#: ../Doc/c-api/typeobj.rst:494 ../Doc/c-api/typeobj.rst:517
#: ../Doc/c-api/typeobj.rst:539 ../Doc/c-api/typeobj.rst:553
#: ../Doc/c-api/typeobj.rst:597 ../Doc/c-api/typeobj.rst:640
-#: ../Doc/c-api/typeobj.rst:686 ../Doc/c-api/typeobj.rst:730
-#: ../Doc/c-api/typeobj.rst:749 ../Doc/c-api/typeobj.rst:766
-#: ../Doc/c-api/typeobj.rst:784 ../Doc/c-api/typeobj.rst:808
-#: ../Doc/c-api/typeobj.rst:825 ../Doc/c-api/typeobj.rst:837
-#: ../Doc/c-api/typeobj.rst:849 ../Doc/c-api/typeobj.rst:882
-#: ../Doc/c-api/typeobj.rst:900 ../Doc/c-api/typeobj.rst:920
-#: ../Doc/c-api/typeobj.rst:941 ../Doc/c-api/typeobj.rst:967
-#: ../Doc/c-api/typeobj.rst:986 ../Doc/c-api/typeobj.rst:1002
-#: ../Doc/c-api/typeobj.rst:1039 ../Doc/c-api/typeobj.rst:1050
-#: ../Doc/c-api/typeobj.rst:1060 ../Doc/c-api/typeobj.rst:1070
-#: ../Doc/c-api/typeobj.rst:1084 ../Doc/c-api/typeobj.rst:1102
-#: ../Doc/c-api/typeobj.rst:1125 ../Doc/c-api/typeobj.rst:1172
-#: ../Doc/c-api/typeobj.rst:1187 ../Doc/c-api/typeobj.rst:1206
-#: ../Doc/c-api/typeobj.rst:1225 ../Doc/c-api/typeobj.rst:1247
-#: ../Doc/c-api/typeobj.rst:1263 ../Doc/c-api/typeobj.rst:1331
-#: ../Doc/c-api/typeobj.rst:1398 ../Doc/c-api/typeobj.rst:1457
-#: ../Doc/c-api/typeobj.rst:1487 ../Doc/c-api/typeobj.rst:1519
-#: ../Doc/c-api/typeobj.rst:1542 ../Doc/c-api/typeobj.rst:1555
-#: ../Doc/c-api/typeobj.rst:1570 ../Doc/c-api/typeobj.rst:1584
-#: ../Doc/c-api/typeobj.rst:1614 ../Doc/c-api/typeobj.rst:1634
-#: ../Doc/c-api/typeobj.rst:1660 ../Doc/c-api/typeobj.rst:1678
+#: ../Doc/c-api/typeobj.rst:698 ../Doc/c-api/typeobj.rst:736
+#: ../Doc/c-api/typeobj.rst:756 ../Doc/c-api/typeobj.rst:773
+#: ../Doc/c-api/typeobj.rst:791 ../Doc/c-api/typeobj.rst:815
+#: ../Doc/c-api/typeobj.rst:832 ../Doc/c-api/typeobj.rst:844
+#: ../Doc/c-api/typeobj.rst:856 ../Doc/c-api/typeobj.rst:889
+#: ../Doc/c-api/typeobj.rst:907 ../Doc/c-api/typeobj.rst:927
+#: ../Doc/c-api/typeobj.rst:948 ../Doc/c-api/typeobj.rst:974
+#: ../Doc/c-api/typeobj.rst:993 ../Doc/c-api/typeobj.rst:1009
+#: ../Doc/c-api/typeobj.rst:1046 ../Doc/c-api/typeobj.rst:1057
+#: ../Doc/c-api/typeobj.rst:1067 ../Doc/c-api/typeobj.rst:1077
+#: ../Doc/c-api/typeobj.rst:1091 ../Doc/c-api/typeobj.rst:1109
+#: ../Doc/c-api/typeobj.rst:1132 ../Doc/c-api/typeobj.rst:1179
+#: ../Doc/c-api/typeobj.rst:1194 ../Doc/c-api/typeobj.rst:1213
+#: ../Doc/c-api/typeobj.rst:1232 ../Doc/c-api/typeobj.rst:1254
+#: ../Doc/c-api/typeobj.rst:1270 ../Doc/c-api/typeobj.rst:1338
+#: ../Doc/c-api/typeobj.rst:1405 ../Doc/c-api/typeobj.rst:1464
+#: ../Doc/c-api/typeobj.rst:1494 ../Doc/c-api/typeobj.rst:1526
+#: ../Doc/c-api/typeobj.rst:1549 ../Doc/c-api/typeobj.rst:1562
+#: ../Doc/c-api/typeobj.rst:1577 ../Doc/c-api/typeobj.rst:1591
+#: ../Doc/c-api/typeobj.rst:1621 ../Doc/c-api/typeobj.rst:1641
+#: ../Doc/c-api/typeobj.rst:1667 ../Doc/c-api/typeobj.rst:1685
#: ../Doc/c-api/typeobj.rst:1718 ../Doc/c-api/typeobj.rst:1769
#: ../Doc/c-api/typeobj.rst:1786 ../Doc/c-api/typeobj.rst:1827
#: ../Doc/c-api/typeobj.rst:1849 ../Doc/c-api/typeobj.rst:1881
#: ../Doc/c-api/typeobj.rst:1898 ../Doc/c-api/typeobj.rst:1909
#: ../Doc/c-api/typeobj.rst:1919 ../Doc/c-api/typeobj.rst:1928
#: ../Doc/c-api/typeobj.rst:1938 ../Doc/c-api/typeobj.rst:1952
-#: ../Doc/c-api/typeobj.rst:1990 ../Doc/c-api/typeobj.rst:2007
+#: ../Doc/c-api/typeobj.rst:1998 ../Doc/c-api/typeobj.rst:2021
msgid "**Inheritance:**"
msgstr "**Herencia:**"
@@ -1276,12 +1278,12 @@ msgstr ""
"inicializa en el campo :attr:`ob_type` de la clase base. :c:func:"
"`PyType_Ready` no cambiará este campo si no es cero."
-#: ../Doc/c-api/typeobj.rst:519 ../Doc/c-api/typeobj.rst:688
-#: ../Doc/c-api/typeobj.rst:810 ../Doc/c-api/typeobj.rst:902
-#: ../Doc/c-api/typeobj.rst:922 ../Doc/c-api/typeobj.rst:1521
-#: ../Doc/c-api/typeobj.rst:1544 ../Doc/c-api/typeobj.rst:1662
-#: ../Doc/c-api/typeobj.rst:1680 ../Doc/c-api/typeobj.rst:1771
-#: ../Doc/c-api/typeobj.rst:1883 ../Doc/c-api/typeobj.rst:1992
+#: ../Doc/c-api/typeobj.rst:519 ../Doc/c-api/typeobj.rst:700
+#: ../Doc/c-api/typeobj.rst:817 ../Doc/c-api/typeobj.rst:909
+#: ../Doc/c-api/typeobj.rst:929 ../Doc/c-api/typeobj.rst:1528
+#: ../Doc/c-api/typeobj.rst:1551 ../Doc/c-api/typeobj.rst:1669
+#: ../Doc/c-api/typeobj.rst:1687 ../Doc/c-api/typeobj.rst:1771
+#: ../Doc/c-api/typeobj.rst:1883 ../Doc/c-api/typeobj.rst:2000
msgid "This field is inherited by subtypes."
msgstr "Este campo es heredado por subtipos."
@@ -1295,12 +1297,13 @@ msgstr ""
"with-trace-refs>`)."
#: ../Doc/c-api/typeobj.rst:528
+#, fuzzy
msgid ""
"Their initialization to ``NULL`` is taken care of by the "
"``PyObject_HEAD_INIT`` macro. For :ref:`statically allocated objects "
"`, these fields always remain ``NULL``. For :ref:`dynamically "
"allocated objects `, these two fields are used to link the "
-"object into a doubly-linked list of *all* live objects on the heap."
+"object into a doubly linked list of *all* live objects on the heap."
msgstr ""
"La macro ``PyObject_HEAD_INIT`` se encarga de su inicialización a ``NULL``. "
"Para :ref:`objetos asignados estáticamente `, estos campos "
@@ -1576,6 +1579,13 @@ msgstr ""
#: ../Doc/c-api/typeobj.rst:671
msgid ""
+"If the type supports garbage collection (has the :const:`Py_TPFLAGS_HAVE_GC` "
+"flag bit set), the destructor should call :c:func:`PyObject_GC_UnTrack` "
+"before clearing any member fields."
+msgstr ""
+
+#: ../Doc/c-api/typeobj.rst:683
+msgid ""
"Finally, if the type is heap allocated (:const:`Py_TPFLAGS_HEAPTYPE`), the "
"deallocator should decrement the reference count for its type object after "
"calling the type deallocator. In order to avoid dangling pointers, the "
@@ -1586,7 +1596,7 @@ msgstr ""
"referencia para su objeto tipo después de llamar al desasignador del tipo. "
"Para evitar punteros colgantes, la forma recomendada de lograr esto es:"
-#: ../Doc/c-api/typeobj.rst:693
+#: ../Doc/c-api/typeobj.rst:705
msgid ""
"An optional offset to a per-instance function that implements calling the "
"object using the :ref:`vectorcall protocol `, a more efficient "
@@ -1596,7 +1606,7 @@ msgstr ""
"llamada al objeto usando :ref:`vectorcall protocol `, una "
"alternativa más eficiente del simple :c:member:`~PyTypeObject.tp_call`."
-#: ../Doc/c-api/typeobj.rst:698
+#: ../Doc/c-api/typeobj.rst:710
msgid ""
"This field is only used if the flag :const:`Py_TPFLAGS_HAVE_VECTORCALL` is "
"set. If so, this must be a positive integer containing the offset in the "
@@ -1607,7 +1617,7 @@ msgstr ""
"contenga el desplazamiento en la instancia de un puntero :c:type:"
"`vectorcallfunc`."
-#: ../Doc/c-api/typeobj.rst:702
+#: ../Doc/c-api/typeobj.rst:714
msgid ""
"The *vectorcallfunc* pointer may be ``NULL``, in which case the instance "
"behaves as if :const:`Py_TPFLAGS_HAVE_VECTORCALL` was not set: calling the "
@@ -1618,7 +1628,7 @@ msgstr ""
"configurado: llamar a la instancia vuelve a :c:member:`~PyTypeObject."
"tp_call`."
-#: ../Doc/c-api/typeobj.rst:706
+#: ../Doc/c-api/typeobj.rst:718
msgid ""
"Any class that sets ``Py_TPFLAGS_HAVE_VECTORCALL`` must also set :c:member:"
"`~PyTypeObject.tp_call` and make sure its behaviour is consistent with the "
@@ -1630,29 +1640,20 @@ msgstr ""
"comportamiento sea coherente con la función *vectorcallfunc*. Esto se puede "
"hacer configurando *tp_call* en :c:func:`PyVectorcall_Call`."
-#: ../Doc/c-api/typeobj.rst:713
+#: ../Doc/c-api/typeobj.rst:725
+#, fuzzy
msgid ""
-"It is not recommended for :ref:`heap types ` to implement the "
-"vectorcall protocol. When a user sets :attr:`__call__` in Python code, only "
-"*tp_call* is updated, likely making it inconsistent with the vectorcall "
-"function."
+"It is not recommended for :ref:`mutable heap types ` to "
+"implement the vectorcall protocol. When a user sets :attr:`__call__` in "
+"Python code, only *tp_call* is updated, likely making it inconsistent with "
+"the vectorcall function."
msgstr ""
"No se recomienda para :ref:`tipos heap ` para implementar el "
"protocolo vectorcall. Cuando un usuario establece :attr:`__call__` en código "
"Python, solo se actualiza *tp_call*, lo que probablemente lo haga "
"inconsistente con la función vectorcall."
-#: ../Doc/c-api/typeobj.rst:720
-msgid ""
-"The semantics of the ``tp_vectorcall_offset`` slot are provisional and "
-"expected to be finalized in Python 3.9. If you use vectorcall, plan for "
-"updating your code for Python 3.9."
-msgstr ""
-"La semántica de la ranura ``tp_vectorcall_offset`` es provisional y se "
-"espera que finalice en Python 3.9. Si usa *vectorcall*, planifique "
-"actualizar su código para Python 3.9."
-
-#: ../Doc/c-api/typeobj.rst:726
+#: ../Doc/c-api/typeobj.rst:732
msgid ""
"Before version 3.8, this slot was named ``tp_print``. In Python 2.x, it was "
"used for printing to a file. In Python 3.0 to 3.7, it was unused."
@@ -1660,13 +1661,15 @@ msgstr ""
"Antes de la versión 3.8, este slot se llamaba ``tp_print``. En Python 2.x, "
"se usó para imprimir en un archivo. En Python 3.0 a 3.7, no se usó."
-#: ../Doc/c-api/typeobj.rst:732
+#: ../Doc/c-api/typeobj.rst:738
+#, fuzzy
msgid ""
"This field is always inherited. However, the :const:"
"`Py_TPFLAGS_HAVE_VECTORCALL` flag is not always inherited. If it's not, then "
"the subclass won't use :ref:`vectorcall `, except when :c:func:"
-"`PyVectorcall_Call` is explicitly called. This is in particular the case "
-"for :ref:`heap types ` (including subclasses defined in Python)."
+"`PyVectorcall_Call` is explicitly called. This is in particular the case for "
+"types without the :const:`Py_TPFLAGS_IMMUTABLETYPE` flag set (including "
+"subclasses defined in Python)."
msgstr ""
"Este campo siempre se hereda. Sin embargo, la bandera :const:"
"`Py_TPFLAGS_HAVE_VECTORCALL` no siempre se hereda. Si no es así, la subclase "
@@ -1675,13 +1678,13 @@ msgstr ""
"de :ref:`tipos heap ` (incluidas las subclases definidas en "
"Python)."
-#: ../Doc/c-api/typeobj.rst:743
+#: ../Doc/c-api/typeobj.rst:750
msgid "An optional pointer to the get-attribute-string function."
msgstr ""
-"Un puntero opcional a la función \"obtener atributo cadena de caracteres"
-"\" (*get-attribute-string*)."
+"Un puntero opcional a la función \"obtener atributo cadena de "
+"caracteres\" (*get-attribute-string*)."
-#: ../Doc/c-api/typeobj.rst:745
+#: ../Doc/c-api/typeobj.rst:752
msgid ""
"This field is deprecated. When it is defined, it should point to a function "
"that acts the same as the :c:member:`~PyTypeObject.tp_getattro` function, "
@@ -1693,11 +1696,11 @@ msgstr ""
"tomando una cadena de caracteres C en lugar de un objeto de cadena Python "
"para dar el nombre del atributo."
-#: ../Doc/c-api/typeobj.rst:751 ../Doc/c-api/typeobj.rst:943
+#: ../Doc/c-api/typeobj.rst:758 ../Doc/c-api/typeobj.rst:950
msgid "Group: :attr:`tp_getattr`, :attr:`tp_getattro`"
msgstr "Grupo: :attr:`tp_getattr`, :attr:`tp_getattro`"
-#: ../Doc/c-api/typeobj.rst:753
+#: ../Doc/c-api/typeobj.rst:760
msgid ""
"This field is inherited by subtypes together with :c:member:`~PyTypeObject."
"tp_getattro`: a subtype inherits both :c:member:`~PyTypeObject.tp_getattr` "
@@ -1711,12 +1714,12 @@ msgstr ""
"subtipos :c:member:`~PyTypeObject.tp_getattr` y :c:member:`~PyTypeObject."
"tp_getattro` son ambos ``NULL``."
-#: ../Doc/c-api/typeobj.rst:760 ../Doc/c-api/typeobj.rst:956
+#: ../Doc/c-api/typeobj.rst:767 ../Doc/c-api/typeobj.rst:963
msgid ""
"An optional pointer to the function for setting and deleting attributes."
msgstr "Un puntero opcional a la función para configurar y eliminar atributos."
-#: ../Doc/c-api/typeobj.rst:762
+#: ../Doc/c-api/typeobj.rst:769
msgid ""
"This field is deprecated. When it is defined, it should point to a function "
"that acts the same as the :c:member:`~PyTypeObject.tp_setattro` function, "
@@ -1728,11 +1731,11 @@ msgstr ""
"tomando una cadena de caracteres C en lugar de un objeto de cadena Python "
"para dar el nombre del atributo."
-#: ../Doc/c-api/typeobj.rst:768 ../Doc/c-api/typeobj.rst:969
+#: ../Doc/c-api/typeobj.rst:775 ../Doc/c-api/typeobj.rst:976
msgid "Group: :attr:`tp_setattr`, :attr:`tp_setattro`"
msgstr "Grupo: :attr:`tp_setattr`, :attr:`tp_setattro`"
-#: ../Doc/c-api/typeobj.rst:770
+#: ../Doc/c-api/typeobj.rst:777
msgid ""
"This field is inherited by subtypes together with :c:member:`~PyTypeObject."
"tp_setattro`: a subtype inherits both :c:member:`~PyTypeObject.tp_setattr` "
@@ -1746,7 +1749,7 @@ msgstr ""
"subtipos :c:member:`~PyTypeObject.tp_setattr` y :c:member:`~PyTypeObject."
"tp_setattro` son ambos ``NULL``."
-#: ../Doc/c-api/typeobj.rst:777
+#: ../Doc/c-api/typeobj.rst:784
msgid ""
"Pointer to an additional structure that contains fields relevant only to "
"objects which implement :term:`awaitable` and :term:`asynchronous iterator` "
@@ -1757,11 +1760,11 @@ msgstr ""
"y \"iterador asíncrono\" (:term:`asynchronous iterator`) en el nivel C. Ver :"
"ref:`async-structs` para más detalles."
-#: ../Doc/c-api/typeobj.rst:781
+#: ../Doc/c-api/typeobj.rst:788
msgid "Formerly known as ``tp_compare`` and ``tp_reserved``."
msgstr "Anteriormente conocidos como ``tp_compare`` y ``tp_reserved``."
-#: ../Doc/c-api/typeobj.rst:786
+#: ../Doc/c-api/typeobj.rst:793
msgid ""
"The :c:member:`~PyTypeObject.tp_as_async` field is not inherited, but the "
"contained fields are inherited individually."
@@ -1769,7 +1772,7 @@ msgstr ""
"El campo :c:member:`~PyTypeObject.tp_as_async` no se hereda, pero los campos "
"contenidos se heredan individualmente."
-#: ../Doc/c-api/typeobj.rst:794
+#: ../Doc/c-api/typeobj.rst:801
msgid ""
"An optional pointer to a function that implements the built-in function :"
"func:`repr`."
@@ -1777,11 +1780,11 @@ msgstr ""
"Un puntero opcional a una función que implementa la función incorporada :"
"func:`repr`."
-#: ../Doc/c-api/typeobj.rst:797
+#: ../Doc/c-api/typeobj.rst:804
msgid "The signature is the same as for :c:func:`PyObject_Repr`::"
msgstr "La firma es la misma que para :c:func:`PyObject_Repr`::"
-#: ../Doc/c-api/typeobj.rst:801
+#: ../Doc/c-api/typeobj.rst:808
msgid ""
"The function must return a string or a Unicode object. Ideally, this "
"function should return a string that, when passed to :func:`eval`, given a "
@@ -1796,17 +1799,17 @@ msgstr ""
"termine con ``'>'`` desde la cual se puede deducir tanto el tipo como el "
"valor del objeto."
-#: ../Doc/c-api/typeobj.rst:812 ../Doc/c-api/typeobj.rst:924
-#: ../Doc/c-api/typeobj.rst:949 ../Doc/c-api/typeobj.rst:975
-#: ../Doc/c-api/typeobj.rst:1017 ../Doc/c-api/typeobj.rst:1466
-#: ../Doc/c-api/typeobj.rst:1618 ../Doc/c-api/typeobj.rst:1639
+#: ../Doc/c-api/typeobj.rst:819 ../Doc/c-api/typeobj.rst:931
+#: ../Doc/c-api/typeobj.rst:956 ../Doc/c-api/typeobj.rst:982
+#: ../Doc/c-api/typeobj.rst:1024 ../Doc/c-api/typeobj.rst:1473
+#: ../Doc/c-api/typeobj.rst:1625 ../Doc/c-api/typeobj.rst:1646
#: ../Doc/c-api/typeobj.rst:1737 ../Doc/c-api/typeobj.rst:1773
#: ../Doc/c-api/typeobj.rst:1791 ../Doc/c-api/typeobj.rst:1833
#: ../Doc/c-api/typeobj.rst:1854 ../Doc/c-api/typeobj.rst:1885
msgid "**Default:**"
msgstr "**Por defecto:**"
-#: ../Doc/c-api/typeobj.rst:814
+#: ../Doc/c-api/typeobj.rst:821
#, python-format
msgid ""
"When this field is not set, a string of the form ``<%s object at %p>`` is "
@@ -1817,7 +1820,7 @@ msgstr ""
"de la forma ``<%s object at %p>``, donde ``%s`` se reemplaza por el nombre "
"del tipo y ``%p`` por dirección de memoria del objeto."
-#: ../Doc/c-api/typeobj.rst:821
+#: ../Doc/c-api/typeobj.rst:828
msgid ""
"Pointer to an additional structure that contains fields relevant only to "
"objects which implement the number protocol. These fields are documented "
@@ -1827,7 +1830,7 @@ msgstr ""
"objetos que implementan el protocolo numérico. Estos campos están "
"documentados en :ref:`number-structs`."
-#: ../Doc/c-api/typeobj.rst:827
+#: ../Doc/c-api/typeobj.rst:834
msgid ""
"The :c:member:`~PyTypeObject.tp_as_number` field is not inherited, but the "
"contained fields are inherited individually."
@@ -1835,7 +1838,7 @@ msgstr ""
"El campo :c:member:`~PyTypeObject.tp_as_number` no se hereda, pero los "
"campos contenidos se heredan individualmente."
-#: ../Doc/c-api/typeobj.rst:833
+#: ../Doc/c-api/typeobj.rst:840
msgid ""
"Pointer to an additional structure that contains fields relevant only to "
"objects which implement the sequence protocol. These fields are documented "
@@ -1845,7 +1848,7 @@ msgstr ""
"objetos que implementan el protocolo de secuencia. Estos campos están "
"documentados en :ref:`estructuras de secuencia `."
-#: ../Doc/c-api/typeobj.rst:839
+#: ../Doc/c-api/typeobj.rst:846
msgid ""
"The :c:member:`~PyTypeObject.tp_as_sequence` field is not inherited, but the "
"contained fields are inherited individually."
@@ -1853,7 +1856,7 @@ msgstr ""
"El campo :c:member:`~PyTypeObject.tp_as_sequence` no se hereda, pero los "
"campos contenidos se heredan individualmente."
-#: ../Doc/c-api/typeobj.rst:845
+#: ../Doc/c-api/typeobj.rst:852
msgid ""
"Pointer to an additional structure that contains fields relevant only to "
"objects which implement the mapping protocol. These fields are documented "
@@ -1863,7 +1866,7 @@ msgstr ""
"objetos que implementan el protocolo de mapeo. Estos campos están "
"documentados en :ref:`mapping-structs`."
-#: ../Doc/c-api/typeobj.rst:851
+#: ../Doc/c-api/typeobj.rst:858
msgid ""
"The :c:member:`~PyTypeObject.tp_as_mapping` field is not inherited, but the "
"contained fields are inherited individually."
@@ -1871,7 +1874,7 @@ msgstr ""
"El campo :c:member:`~PyTypeObject.tp_as_mapping` no se hereda, pero los "
"campos contenidos se heredan individualmente."
-#: ../Doc/c-api/typeobj.rst:859
+#: ../Doc/c-api/typeobj.rst:866
msgid ""
"An optional pointer to a function that implements the built-in function :"
"func:`hash`."
@@ -1879,11 +1882,11 @@ msgstr ""
"Un puntero opcional a una función que implementa la función incorporada :"
"func:`hash`."
-#: ../Doc/c-api/typeobj.rst:862
+#: ../Doc/c-api/typeobj.rst:869
msgid "The signature is the same as for :c:func:`PyObject_Hash`::"
msgstr "La firma es la misma que para :c:func:`PyObject_Hash`::"
-#: ../Doc/c-api/typeobj.rst:866
+#: ../Doc/c-api/typeobj.rst:873
msgid ""
"The value ``-1`` should not be returned as a normal return value; when an "
"error occurs during the computation of the hash value, the function should "
@@ -1893,7 +1896,7 @@ msgstr ""
"se produce un error durante el cálculo del valor *hash*, la función debe "
"establecer una excepción y retornar ``-1``."
-#: ../Doc/c-api/typeobj.rst:870
+#: ../Doc/c-api/typeobj.rst:877
msgid ""
"When this field is not set (*and* :attr:`tp_richcompare` is not set), an "
"attempt to take the hash of the object raises :exc:`TypeError`. This is the "
@@ -1904,7 +1907,7 @@ msgstr ""
"*hash* del objeto. Esto es lo mismo que establecerlo en :c:func:"
"`PyObject_HashNotImplemented`."
-#: ../Doc/c-api/typeobj.rst:874
+#: ../Doc/c-api/typeobj.rst:881
msgid ""
"This field can be set explicitly to :c:func:`PyObject_HashNotImplemented` to "
"block inheritance of the hash method from a parent type. This is interpreted "
@@ -1923,11 +1926,11 @@ msgstr ""
"el nivel de Python dará como resultado que la ranura ``tp_hash`` se "
"establezca en :c:func:`PyObject_HashNotImplemented`."
-#: ../Doc/c-api/typeobj.rst:884 ../Doc/c-api/typeobj.rst:1459
+#: ../Doc/c-api/typeobj.rst:891 ../Doc/c-api/typeobj.rst:1466
msgid "Group: :attr:`tp_hash`, :attr:`tp_richcompare`"
msgstr "Grupo: :attr:`tp_hash`, :attr:`tp_richcompare`"
-#: ../Doc/c-api/typeobj.rst:886
+#: ../Doc/c-api/typeobj.rst:893
msgid ""
"This field is inherited by subtypes together with :c:member:`~PyTypeObject."
"tp_richcompare`: a subtype inherits both of :c:member:`~PyTypeObject."
@@ -1941,7 +1944,7 @@ msgstr ""
"member:`~PyTypeObject.tp_richcompare` y :c:member:`~PyTypeObject.tp_hash` "
"son ambos ``NULL``."
-#: ../Doc/c-api/typeobj.rst:894
+#: ../Doc/c-api/typeobj.rst:901
msgid ""
"An optional pointer to a function that implements calling the object. This "
"should be ``NULL`` if the object is not callable. The signature is the same "
@@ -1951,7 +1954,7 @@ msgstr ""
"debería ser ``NULL`` si el objeto no es invocable. La firma es la misma que "
"para :c:func:`PyObject_Call`::"
-#: ../Doc/c-api/typeobj.rst:907
+#: ../Doc/c-api/typeobj.rst:914
msgid ""
"An optional pointer to a function that implements the built-in operation :"
"func:`str`. (Note that :class:`str` is a type now, and :func:`str` calls "
@@ -1965,11 +1968,11 @@ msgstr ""
"`PyObject_Str` para hacer el trabajo real, y :c:func:`PyObject_Str` llamará "
"a este controlador.)"
-#: ../Doc/c-api/typeobj.rst:912
+#: ../Doc/c-api/typeobj.rst:919
msgid "The signature is the same as for :c:func:`PyObject_Str`::"
msgstr "La firma es la misma que para :c:func:`PyObject_Str`::"
-#: ../Doc/c-api/typeobj.rst:916
+#: ../Doc/c-api/typeobj.rst:923
msgid ""
"The function must return a string or a Unicode object. It should be a "
"\"friendly\" string representation of the object, as this is the "
@@ -1981,7 +1984,7 @@ msgstr ""
"representación que será utilizada, entre otras cosas, por la función :func:"
"`print`."
-#: ../Doc/c-api/typeobj.rst:926
+#: ../Doc/c-api/typeobj.rst:933
msgid ""
"When this field is not set, :c:func:`PyObject_Repr` is called to return a "
"string representation."
@@ -1989,16 +1992,16 @@ msgstr ""
"Cuando este campo no está configurado, se llama a :c:func:`PyObject_Repr` "
"para retornar una representación de cadena de caracteres."
-#: ../Doc/c-api/typeobj.rst:932
+#: ../Doc/c-api/typeobj.rst:939
msgid "An optional pointer to the get-attribute function."
msgstr ""
"Un puntero opcional a la función \"obtener atributo\" (*get-attribute*)."
-#: ../Doc/c-api/typeobj.rst:934
+#: ../Doc/c-api/typeobj.rst:941
msgid "The signature is the same as for :c:func:`PyObject_GetAttr`::"
msgstr "La firma es la misma que para :c:func:`PyObject_GetAttr`::"
-#: ../Doc/c-api/typeobj.rst:938
+#: ../Doc/c-api/typeobj.rst:945
msgid ""
"It is usually convenient to set this field to :c:func:"
"`PyObject_GenericGetAttr`, which implements the normal way of looking for "
@@ -2008,7 +2011,7 @@ msgstr ""
"`PyObject_GenericGetAttr`, que implementa la forma normal de buscar "
"atributos de objeto."
-#: ../Doc/c-api/typeobj.rst:945
+#: ../Doc/c-api/typeobj.rst:952
msgid ""
"This field is inherited by subtypes together with :c:member:`~PyTypeObject."
"tp_getattr`: a subtype inherits both :c:member:`~PyTypeObject.tp_getattr` "
@@ -2022,15 +2025,15 @@ msgstr ""
"c:member:`~PyTypeObject.tp_getattr` y :c:member:`~PyTypeObject.tp_getattro` "
"son ambos ``NULL``."
-#: ../Doc/c-api/typeobj.rst:951
+#: ../Doc/c-api/typeobj.rst:958
msgid ":c:type:`PyBaseObject_Type` uses :c:func:`PyObject_GenericGetAttr`."
msgstr ":c:type:`PyBaseObject_Type` usa :c:func:`PyObject_GenericGetAttr`."
-#: ../Doc/c-api/typeobj.rst:958
+#: ../Doc/c-api/typeobj.rst:965
msgid "The signature is the same as for :c:func:`PyObject_SetAttr`::"
msgstr "La firma es la misma que para :c:func:`PyObject_SetAttr`::"
-#: ../Doc/c-api/typeobj.rst:962
+#: ../Doc/c-api/typeobj.rst:969
msgid ""
"In addition, setting *value* to ``NULL`` to delete an attribute must be "
"supported. It is usually convenient to set this field to :c:func:"
@@ -2042,7 +2045,7 @@ msgstr ""
"en :c:func:`PyObject_GenericSetAttr`, que implementa la forma normal de "
"establecer los atributos del objeto."
-#: ../Doc/c-api/typeobj.rst:971
+#: ../Doc/c-api/typeobj.rst:978
msgid ""
"This field is inherited by subtypes together with :c:member:`~PyTypeObject."
"tp_setattr`: a subtype inherits both :c:member:`~PyTypeObject.tp_setattr` "
@@ -2056,11 +2059,11 @@ msgstr ""
"c:member:`~PyTypeObject.tp_setattr` y :c:member:`~PyTypeObject.tp_setattro` "
"son ambos ``NULL``."
-#: ../Doc/c-api/typeobj.rst:977
+#: ../Doc/c-api/typeobj.rst:984
msgid ":c:type:`PyBaseObject_Type` uses :c:func:`PyObject_GenericSetAttr`."
msgstr ":c:type:`PyBaseObject_Type` usa :c:func:`PyObject_GenericSetAttr`."
-#: ../Doc/c-api/typeobj.rst:982
+#: ../Doc/c-api/typeobj.rst:989
msgid ""
"Pointer to an additional structure that contains fields relevant only to "
"objects which implement the buffer interface. These fields are documented "
@@ -2070,7 +2073,7 @@ msgstr ""
"objetos que implementan la interfaz del búfer. Estos campos están "
"documentados en :ref:`buffer-structs`."
-#: ../Doc/c-api/typeobj.rst:988
+#: ../Doc/c-api/typeobj.rst:995
msgid ""
"The :c:member:`~PyTypeObject.tp_as_buffer` field is not inherited, but the "
"contained fields are inherited individually."
@@ -2078,7 +2081,7 @@ msgstr ""
"El campo :c:member:`~PyTypeObject.tp_as_buffer` no se hereda, pero los "
"campos contenidos se heredan individualmente."
-#: ../Doc/c-api/typeobj.rst:994
+#: ../Doc/c-api/typeobj.rst:1001
msgid ""
"This field is a bit mask of various flags. Some flags indicate variant "
"semantics for certain situations; others are used to indicate that certain "
@@ -2099,7 +2102,7 @@ msgstr ""
"bandera está claro, no se debe acceder a los campos de tipo que protege y se "
"debe considerar que tienen un valor cero o ``NULL``."
-#: ../Doc/c-api/typeobj.rst:1004
+#: ../Doc/c-api/typeobj.rst:1011
msgid ""
"Inheritance of this field is complicated. Most flag bits are inherited "
"individually, i.e. if the base type has a flag bit set, the subtype inherits "
@@ -2126,18 +2129,18 @@ msgstr ""
"member:`~PyTypeObject.tp_clear` en el subtipo existen y tienen valores "
"``NULL``."
-#: ../Doc/c-api/typeobj.rst:1019
+#: ../Doc/c-api/typeobj.rst:1026
msgid ""
":c:type:`PyBaseObject_Type` uses ``Py_TPFLAGS_DEFAULT | "
"Py_TPFLAGS_BASETYPE``."
msgstr ""
":c:type:`PyBaseObject_Type` usa ``Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE``."
-#: ../Doc/c-api/typeobj.rst:1022
+#: ../Doc/c-api/typeobj.rst:1029
msgid "**Bit Masks:**"
msgstr "**Máscaras de bits:**"
-#: ../Doc/c-api/typeobj.rst:1024
+#: ../Doc/c-api/typeobj.rst:1031
msgid ""
"The following bit masks are currently defined; these can be ORed together "
"using the ``|`` operator to form the value of the :c:member:`~PyTypeObject."
@@ -2151,7 +2154,7 @@ msgstr ""
"un tipo y un valor de banderas, *tp* y *f*, y comprueba si ``tp->tp_flags & "
"f`` no es cero."
-#: ../Doc/c-api/typeobj.rst:1031
+#: ../Doc/c-api/typeobj.rst:1038
msgid ""
"This bit is set when the type object itself is allocated on the heap, for "
"example, types created dynamically using :c:func:`PyType_FromSpec`. In this "
@@ -2169,13 +2172,13 @@ msgstr ""
"aplica a instancias de subtipos; solo el tipo al que hace referencia el "
"*ob_type* de la instancia obtiene INCREF o DECREF)."
-#: ../Doc/c-api/typeobj.rst:1041 ../Doc/c-api/typeobj.rst:1052
-#: ../Doc/c-api/typeobj.rst:1062 ../Doc/c-api/typeobj.rst:1072
-#: ../Doc/c-api/typeobj.rst:1104
+#: ../Doc/c-api/typeobj.rst:1048 ../Doc/c-api/typeobj.rst:1059
+#: ../Doc/c-api/typeobj.rst:1069 ../Doc/c-api/typeobj.rst:1079
+#: ../Doc/c-api/typeobj.rst:1111
msgid "???"
msgstr "???"
-#: ../Doc/c-api/typeobj.rst:1046
+#: ../Doc/c-api/typeobj.rst:1053
msgid ""
"This bit is set when the type can be used as the base type of another type. "
"If this bit is clear, the type cannot be subtyped (similar to a \"final\" "
@@ -2185,7 +2188,7 @@ msgstr ""
"tipo. Si este bit es claro, el tipo no puede subtiparse (similar a una clase "
"\"final\" en Java)."
-#: ../Doc/c-api/typeobj.rst:1057
+#: ../Doc/c-api/typeobj.rst:1064
msgid ""
"This bit is set when the type object has been fully initialized by :c:func:"
"`PyType_Ready`."
@@ -2193,7 +2196,7 @@ msgstr ""
"Este bit se establece cuando el objeto tipo ha sido completamente "
"inicializado por :c:func:`PyType_Ready`."
-#: ../Doc/c-api/typeobj.rst:1067
+#: ../Doc/c-api/typeobj.rst:1074
msgid ""
"This bit is set while :c:func:`PyType_Ready` is in the process of "
"initializing the type object."
@@ -2201,7 +2204,7 @@ msgstr ""
"Este bit se establece mientras :c:func:`PyType_Ready` está en el proceso de "
"inicialización del objeto tipo."
-#: ../Doc/c-api/typeobj.rst:1077
+#: ../Doc/c-api/typeobj.rst:1084
msgid ""
"This bit is set when the object supports garbage collection. If this bit is "
"set, instances must be created using :c:func:`PyObject_GC_New` and destroyed "
@@ -2218,14 +2221,14 @@ msgstr ""
"tp_traverse` y :c:member:`~PyTypeObject.tp_clear` están presentes en el "
"objeto de tipo."
-#: ../Doc/c-api/typeobj.rst:1086 ../Doc/c-api/typeobj.rst:1333
-#: ../Doc/c-api/typeobj.rst:1400
+#: ../Doc/c-api/typeobj.rst:1093 ../Doc/c-api/typeobj.rst:1340
+#: ../Doc/c-api/typeobj.rst:1407
msgid ""
"Group: :const:`Py_TPFLAGS_HAVE_GC`, :attr:`tp_traverse`, :attr:`tp_clear`"
msgstr ""
"Grupo: :const:`Py_TPFLAGS_HAVE_GC`, :attr:`tp_traverse`, :attr:`tp_clear`"
-#: ../Doc/c-api/typeobj.rst:1088
+#: ../Doc/c-api/typeobj.rst:1095
msgid ""
"The :const:`Py_TPFLAGS_HAVE_GC` flag bit is inherited together with the :"
"attr:`tp_traverse` and :attr:`tp_clear` fields, i.e. if the :const:"
@@ -2239,7 +2242,7 @@ msgstr ""
"attr:`tp_traverse` y :attr:`tp_clear` en el subtipo existen y tienen valores "
"``NULL``."
-#: ../Doc/c-api/typeobj.rst:1098
+#: ../Doc/c-api/typeobj.rst:1105
msgid ""
"This is a bitmask of all the bits that pertain to the existence of certain "
"fields in the type object and its extension structures. Currently, it "
@@ -2250,16 +2253,16 @@ msgstr ""
"Actualmente, incluye los siguientes bits: :const:"
"`Py_TPFLAGS_HAVE_STACKLESS_EXTENSION`."
-#: ../Doc/c-api/typeobj.rst:1109
+#: ../Doc/c-api/typeobj.rst:1116
msgid "This bit indicates that objects behave like unbound methods."
msgstr ""
"Este bit indica que los objetos se comportan como métodos independientes."
-#: ../Doc/c-api/typeobj.rst:1111
+#: ../Doc/c-api/typeobj.rst:1118
msgid "If this flag is set for ``type(meth)``, then:"
msgstr "Si este indicador está configurado para ``type(meth)``, entonces:"
-#: ../Doc/c-api/typeobj.rst:1113
+#: ../Doc/c-api/typeobj.rst:1120
msgid ""
"``meth.__get__(obj, cls)(*args, **kwds)`` (with ``obj`` not None) must be "
"equivalent to ``meth(obj, *args, **kwds)``."
@@ -2267,7 +2270,7 @@ msgstr ""
"``meth.__get__(obj, cls)(*args, **kwds)`` (con ``obj`` no ``None``) debe ser "
"equivalente a ``meth(obj, *args, **kwds)``."
-#: ../Doc/c-api/typeobj.rst:1116
+#: ../Doc/c-api/typeobj.rst:1123
msgid ""
"``meth.__get__(None, cls)(*args, **kwds)`` must be equivalent to "
"``meth(*args, **kwds)``."
@@ -2275,7 +2278,7 @@ msgstr ""
"``meth.__get__(None, cls)(*args, **kwds)`` debe ser equivalente a "
"``meth(*args, **kwds)``."
-#: ../Doc/c-api/typeobj.rst:1119
+#: ../Doc/c-api/typeobj.rst:1126
msgid ""
"This flag enables an optimization for typical method calls like ``obj."
"meth()``: it avoids creating a temporary \"bound method\" object for ``obj."
@@ -2285,17 +2288,18 @@ msgstr ""
"típicos como ``obj.meth()``: evita crear un objeto temporal de \"método "
"vinculado\" para ``obj.meth``."
-#: ../Doc/c-api/typeobj.rst:1127
+#: ../Doc/c-api/typeobj.rst:1134
+#, fuzzy
msgid ""
-"This flag is never inherited by :ref:`heap types `. For "
-"extension types, it is inherited whenever :c:member:`~PyTypeObject."
-"tp_descr_get` is inherited."
+"This flag is never inherited by types without the :const:"
+"`Py_TPFLAGS_IMMUTABLETYPE` flag set. For extension types, it is inherited "
+"whenever :c:member:`~PyTypeObject.tp_descr_get` is inherited."
msgstr ""
"Esta bandera nunca es heredada por :ref:`tipos heap `. Para los "
"tipos de extensión, se hereda siempre que se hereda :c:member:`~PyTypeObject."
"tp_descr_get`."
-#: ../Doc/c-api/typeobj.rst:1144
+#: ../Doc/c-api/typeobj.rst:1151
msgid ""
"These flags are used by functions such as :c:func:`PyLong_Check` to quickly "
"determine if a type is a subclass of a built-in type; such specific checks "
@@ -2313,7 +2317,7 @@ msgstr ""
"comportará de manera diferente dependiendo del tipo de verificación que se "
"use."
-#: ../Doc/c-api/typeobj.rst:1155
+#: ../Doc/c-api/typeobj.rst:1162
msgid ""
"This bit is set when the :c:member:`~PyTypeObject.tp_finalize` slot is "
"present in the type structure."
@@ -2321,7 +2325,7 @@ msgstr ""
"Este bit se establece cuando la ranura :c:member:`~PyTypeObject.tp_finalize` "
"está presente en la estructura de tipo."
-#: ../Doc/c-api/typeobj.rst:1160
+#: ../Doc/c-api/typeobj.rst:1167
msgid ""
"This flag isn't necessary anymore, as the interpreter assumes the :c:member:"
"`~PyTypeObject.tp_finalize` slot is always present in the type structure."
@@ -2330,7 +2334,7 @@ msgstr ""
"espacio :c:member:`~PyTypeObject.tp_finalize` siempre está presente en la "
"estructura de tipos."
-#: ../Doc/c-api/typeobj.rst:1168
+#: ../Doc/c-api/typeobj.rst:1175
msgid ""
"This bit is set when the class implements the :ref:`vectorcall protocol "
"`. See :c:member:`~PyTypeObject.tp_vectorcall_offset` for "
@@ -2340,17 +2344,13 @@ msgstr ""
"`. Consulte :c:member:`~PyTypeObject.tp_vectorcall_offset` para "
"obtener más detalles."
-#: ../Doc/c-api/typeobj.rst:1174
+#: ../Doc/c-api/typeobj.rst:1181
msgid ""
-"This bit is inherited for :ref:`static subtypes ` if :c:member:"
-"`~PyTypeObject.tp_call` is also inherited. :ref:`Heap types ` do "
-"not inherit ``Py_TPFLAGS_HAVE_VECTORCALL``."
+"This bit is inherited for types with the :const:`Py_TPFLAGS_IMMUTABLETYPE` "
+"flag set, if :c:member:`~PyTypeObject.tp_call` is also inherited."
msgstr ""
-"Este bit se hereda para :ref:`static subtypes ` si también se "
-"hereda :c:member:`~PyTypeObject.tp_call`. :ref:`Tipos heap ` no "
-"hereda ``Py_TPFLAGS_HAVE_VECTORCALL``."
-#: ../Doc/c-api/typeobj.rst:1182
+#: ../Doc/c-api/typeobj.rst:1189
msgid ""
"This bit is set for type objects that are immutable: type attributes cannot "
"be set nor deleted."
@@ -2358,7 +2358,7 @@ msgstr ""
"Este bit se establece para objetos de tipo que son inmutables: los atributos "
"de tipo no se pueden establecer ni eliminar."
-#: ../Doc/c-api/typeobj.rst:1184
+#: ../Doc/c-api/typeobj.rst:1191
msgid ""
":c:func:`PyType_Ready` automatically applies this flag to :ref:`static types "
"`."
@@ -2366,11 +2366,11 @@ msgstr ""
":c:func:`PyType_Ready` aplica automáticamente este indicador a :ref:`static "
"types `."
-#: ../Doc/c-api/typeobj.rst:1189 ../Doc/c-api/typeobj.rst:1208
+#: ../Doc/c-api/typeobj.rst:1196 ../Doc/c-api/typeobj.rst:1215
msgid "This flag is not inherited."
msgstr "Este flag no se hereda."
-#: ../Doc/c-api/typeobj.rst:1195
+#: ../Doc/c-api/typeobj.rst:1202
msgid ""
"Disallow creating instances of the type: set :c:member:`~PyTypeObject."
"tp_new` to NULL and don't create the ``__new__`` key in the type dictionary."
@@ -2379,7 +2379,7 @@ msgstr ""
"`~PyTypeObject.tp_new` en NULL y no cree la clave ``__new__`` en el "
"diccionario de tipos."
-#: ../Doc/c-api/typeobj.rst:1199
+#: ../Doc/c-api/typeobj.rst:1206
msgid ""
"The flag must be set before creating the type, not after. For example, it "
"must be set before :c:func:`PyType_Ready` is called on the type."
@@ -2388,7 +2388,7 @@ msgstr ""
"ejemplo, debe establecerse antes de que se llame a :c:func:`PyType_Ready` en "
"el tipo."
-#: ../Doc/c-api/typeobj.rst:1202
+#: ../Doc/c-api/typeobj.rst:1209
msgid ""
"The flag is set automatically on :ref:`static types ` if :c:"
"member:`~PyTypeObject.tp_base` is NULL or ``&PyBaseObject_Type`` and :c:"
@@ -2398,7 +2398,7 @@ msgstr ""
"types>` si :c:member:`~PyTypeObject.tp_base` es NULL o "
"``&PyBaseObject_Type`` y :c:member:`~PyTypeObject.tp_new` es NULL."
-#: ../Doc/c-api/typeobj.rst:1215
+#: ../Doc/c-api/typeobj.rst:1222
msgid ""
"This bit indicates that instances of the class may match mapping patterns "
"when used as the subject of a :keyword:`match` block. It is automatically "
@@ -2411,15 +2411,16 @@ msgstr ""
"class:`collections.abc.Mapping`, y se desarma al registrar :class:"
"`collections.abc.Sequence`."
-#: ../Doc/c-api/typeobj.rst:1222 ../Doc/c-api/typeobj.rst:1244
+#: ../Doc/c-api/typeobj.rst:1229 ../Doc/c-api/typeobj.rst:1251
+#, fuzzy
msgid ""
":const:`Py_TPFLAGS_MAPPING` and :const:`Py_TPFLAGS_SEQUENCE` are mutually "
-"exclusive; it is an error enable both flags simultaneously."
+"exclusive; it is an error to enable both flags simultaneously."
msgstr ""
":const:`Py_TPFLAGS_MAPPING` y :const:`Py_TPFLAGS_SEQUENCE` se excluyen "
"mutuamente; es un error habilitar ambos indicadores simultáneamente."
-#: ../Doc/c-api/typeobj.rst:1227
+#: ../Doc/c-api/typeobj.rst:1234
msgid ""
"This flag is inherited by types that do not already set :const:"
"`Py_TPFLAGS_SEQUENCE`."
@@ -2427,11 +2428,11 @@ msgstr ""
"Esta bandera la heredan los tipos que aún no configuran :const:"
"`Py_TPFLAGS_SEQUENCE`."
-#: ../Doc/c-api/typeobj.rst:1230 ../Doc/c-api/typeobj.rst:1252
+#: ../Doc/c-api/typeobj.rst:1237 ../Doc/c-api/typeobj.rst:1259
msgid ":pep:`634` -- Structural Pattern Matching: Specification"
msgstr ":pep:`634` - Coincidencia de patrones estructurales: especificación"
-#: ../Doc/c-api/typeobj.rst:1237
+#: ../Doc/c-api/typeobj.rst:1244
msgid ""
"This bit indicates that instances of the class may match sequence patterns "
"when used as the subject of a :keyword:`match` block. It is automatically "
@@ -2444,7 +2445,7 @@ msgstr ""
"`collections.abc.Sequence`, y se desarma al registrar :class:`collections."
"abc.Mapping`."
-#: ../Doc/c-api/typeobj.rst:1249
+#: ../Doc/c-api/typeobj.rst:1256
msgid ""
"This flag is inherited by types that do not already set :const:"
"`Py_TPFLAGS_MAPPING`."
@@ -2452,7 +2453,7 @@ msgstr ""
"Esta bandera la heredan los tipos que aún no configuran :const:"
"`Py_TPFLAGS_MAPPING`."
-#: ../Doc/c-api/typeobj.rst:1259
+#: ../Doc/c-api/typeobj.rst:1266
msgid ""
"An optional pointer to a NUL-terminated C string giving the docstring for "
"this type object. This is exposed as the :attr:`__doc__` attribute on the "
@@ -2462,11 +2463,11 @@ msgstr ""
"que proporciona la cadena de documentación para este tipo de objeto. Esto se "
"expone como el atributo :attr:`__doc__` en el tipo y las instancias del tipo."
-#: ../Doc/c-api/typeobj.rst:1265
+#: ../Doc/c-api/typeobj.rst:1272
msgid "This field is *not* inherited by subtypes."
msgstr "Este campo es *no* heredado por los subtipos."
-#: ../Doc/c-api/typeobj.rst:1270
+#: ../Doc/c-api/typeobj.rst:1277
msgid ""
"An optional pointer to a traversal function for the garbage collector. This "
"is only used if the :const:`Py_TPFLAGS_HAVE_GC` flag bit is set. The "
@@ -2476,7 +2477,7 @@ msgstr ""
"Esto solo se usa si se establece el bit de la bandera (*flag*) :const:"
"`Py_TPFLAGS_HAVE_GC`. La firma es::"
-#: ../Doc/c-api/typeobj.rst:1275 ../Doc/c-api/typeobj.rst:1395
+#: ../Doc/c-api/typeobj.rst:1282 ../Doc/c-api/typeobj.rst:1402
msgid ""
"More information about Python's garbage collection scheme can be found in "
"section :ref:`supporting-cycle-detection`."
@@ -2484,7 +2485,7 @@ msgstr ""
"Se puede encontrar más información sobre el esquema de recolección de basura "
"de Python en la sección :ref:`supporting-cycle-detection`."
-#: ../Doc/c-api/typeobj.rst:1278
+#: ../Doc/c-api/typeobj.rst:1285
msgid ""
"The :c:member:`~PyTypeObject.tp_traverse` pointer is used by the garbage "
"collector to detect reference cycles. A typical implementation of a :c:"
@@ -2500,7 +2501,7 @@ msgstr ""
"de Python que posee la instancia. Por ejemplo, esta es la función :c:func:"
"`local_traverse` del módulo de extensión :mod:`_thread`::"
-#: ../Doc/c-api/typeobj.rst:1293
+#: ../Doc/c-api/typeobj.rst:1300
msgid ""
"Note that :c:func:`Py_VISIT` is called only on those members that can "
"participate in reference cycles. Although there is also a ``self->key`` "
@@ -2512,7 +2513,7 @@ msgstr ""
"``self->key``, solo puede ser ``NULL`` o una cadena de caracteres de Python "
"y, por lo tanto, no puede ser parte de un ciclo de referencia."
-#: ../Doc/c-api/typeobj.rst:1297
+#: ../Doc/c-api/typeobj.rst:1304
msgid ""
"On the other hand, even if you know a member can never be part of a cycle, "
"as a debugging aid you may want to visit it anyway just so the :mod:`gc` "
@@ -2523,7 +2524,7 @@ msgstr ""
"para que la función :func:`~gc.get_referents` del módulo :mod:`gc` lo "
"incluirá."
-#: ../Doc/c-api/typeobj.rst:1302
+#: ../Doc/c-api/typeobj.rst:1309
msgid ""
"When implementing :c:member:`~PyTypeObject.tp_traverse`, only the members "
"that the instance *owns* (by having :term:`strong references ` hold a reference to "
"their type. Their traversal function must therefore either visit :c:func:"
@@ -2571,7 +2572,7 @@ msgstr ""
"al heap). Si no es así, es posible que el objeto de tipo no se recolecte "
"como basura."
-#: ../Doc/c-api/typeobj.rst:1326
+#: ../Doc/c-api/typeobj.rst:1333
msgid ""
"Heap-allocated types are expected to visit ``Py_TYPE(self)`` in "
"``tp_traverse``. In earlier versions of Python, due to `bug 40217 `_, hacer esto puede provocar fallas en "
"las subclases."
-#: ../Doc/c-api/typeobj.rst:1335
+#: ../Doc/c-api/typeobj.rst:1342
msgid ""
"This field is inherited by subtypes together with :c:member:`~PyTypeObject."
"tp_clear` and the :const:`Py_TPFLAGS_HAVE_GC` flag bit: the flag bit, :c:"
@@ -2594,7 +2595,7 @@ msgstr ""
"bandera, :c:member:`~PyTypeObject.tp_traverse`, y :c:member:`~PyTypeObject."
"tp_clear` se heredan todos del tipo base si todos son cero en el subtipo."
-#: ../Doc/c-api/typeobj.rst:1343
+#: ../Doc/c-api/typeobj.rst:1350
msgid ""
"An optional pointer to a clear function for the garbage collector. This is "
"only used if the :const:`Py_TPFLAGS_HAVE_GC` flag bit is set. The signature "
@@ -2604,7 +2605,7 @@ msgstr ""
"recolector de basura. Esto solo se usa si se establece el bit de bandera :"
"const:`Py_TPFLAGS_HAVE_GC`. La firma es::"
-#: ../Doc/c-api/typeobj.rst:1348
+#: ../Doc/c-api/typeobj.rst:1355
msgid ""
"The :c:member:`~PyTypeObject.tp_clear` member function is used to break "
"reference cycles in cyclic garbage detected by the garbage collector. Taken "
@@ -2631,7 +2632,7 @@ msgstr ""
"tupla. Esto no es inmediatamente obvio, y rara vez hay una buena razón para "
"evitar la implementación de :c:member:`~PyTypeObject.tp_clear`."
-#: ../Doc/c-api/typeobj.rst:1358
+#: ../Doc/c-api/typeobj.rst:1365
msgid ""
"Implementations of :c:member:`~PyTypeObject.tp_clear` should drop the "
"instance's references to those of its members that may be Python objects, "
@@ -2643,7 +2644,7 @@ msgstr ""
"ser objetos de Python, y establecer sus punteros a esos miembros en "
"``NULL``, como en el siguiente ejemplo::"
-#: ../Doc/c-api/typeobj.rst:1372
+#: ../Doc/c-api/typeobj.rst:1379
msgid ""
"The :c:func:`Py_CLEAR` macro should be used, because clearing references is "
"delicate: the reference to the contained object must not be decremented "
@@ -2670,7 +2671,7 @@ msgstr ""
"objeto contenido ya no se puede usar. El macro :c:func:`Py_CLEAR` realiza "
"las operaciones en un orden seguro."
-#: ../Doc/c-api/typeobj.rst:1383
+#: ../Doc/c-api/typeobj.rst:1390
msgid ""
"Note that :c:member:`~PyTypeObject.tp_clear` is not *always* called before "
"an instance is deallocated. For example, when reference counting is enough "
@@ -2683,7 +2684,7 @@ msgstr ""
"recolector de basura cíclico no está involucrado y se llama directamente a :"
"c:member:`~PyTypeObject.tp_dealloc`."
-#: ../Doc/c-api/typeobj.rst:1389
+#: ../Doc/c-api/typeobj.rst:1396
msgid ""
"Because the goal of :c:member:`~PyTypeObject.tp_clear` functions is to break "
"reference cycles, it's not necessary to clear contained objects like Python "
@@ -2699,7 +2700,7 @@ msgstr ""
"objetos Python contenidos y escribir la función :c:member:`~PyTypeObject."
"tp_dealloc` para invocar :c:member:`~PyTypeObject.tp_clear`."
-#: ../Doc/c-api/typeobj.rst:1402
+#: ../Doc/c-api/typeobj.rst:1409
msgid ""
"This field is inherited by subtypes together with :c:member:`~PyTypeObject."
"tp_traverse` and the :const:`Py_TPFLAGS_HAVE_GC` flag bit: the flag bit, :c:"
@@ -2711,13 +2712,13 @@ msgstr ""
"bandera, :c:member:`~PyTypeObject.tp_traverse`, y :c:member:`~PyTypeObject."
"tp_clear` se heredan todos del tipo base si todos son cero en el subtipo."
-#: ../Doc/c-api/typeobj.rst:1410
+#: ../Doc/c-api/typeobj.rst:1417
msgid ""
"An optional pointer to the rich comparison function, whose signature is::"
msgstr ""
"Un puntero opcional a la función de comparación enriquecida, cuya firma es::"
-#: ../Doc/c-api/typeobj.rst:1414
+#: ../Doc/c-api/typeobj.rst:1421
msgid ""
"The first parameter is guaranteed to be an instance of the type that is "
"defined by :c:type:`PyTypeObject`."
@@ -2725,7 +2726,7 @@ msgstr ""
"Se garantiza que el primer parámetro será una instancia del tipo definido "
"por :c:type:`PyTypeObject`."
-#: ../Doc/c-api/typeobj.rst:1417
+#: ../Doc/c-api/typeobj.rst:1424
msgid ""
"The function should return the result of the comparison (usually ``Py_True`` "
"or ``Py_False``). If the comparison is undefined, it must return "
@@ -2737,7 +2738,7 @@ msgstr ""
"retornar ``Py_NotImplemented``, si se produce otro error, debe retornar "
"``NULL`` y establecer una condición de excepción."
-#: ../Doc/c-api/typeobj.rst:1422
+#: ../Doc/c-api/typeobj.rst:1429
msgid ""
"The following constants are defined to be used as the third argument for :c:"
"member:`~PyTypeObject.tp_richcompare` and for :c:func:`PyObject_RichCompare`:"
@@ -2746,70 +2747,70 @@ msgstr ""
"argumento para :c:member:`~PyTypeObject.tp_richcompare` y para :c:func:"
"`PyObject_RichCompare`:"
-#: ../Doc/c-api/typeobj.rst:1426
+#: ../Doc/c-api/typeobj.rst:1433
msgid "Constant"
msgstr "Constante"
-#: ../Doc/c-api/typeobj.rst:1426
+#: ../Doc/c-api/typeobj.rst:1433
msgid "Comparison"
msgstr "Comparación"
-#: ../Doc/c-api/typeobj.rst:1428
+#: ../Doc/c-api/typeobj.rst:1435
msgid ":const:`Py_LT`"
msgstr ":const:`Py_LT`"
-#: ../Doc/c-api/typeobj.rst:1428
+#: ../Doc/c-api/typeobj.rst:1435
msgid "``<``"
msgstr "``<``"
-#: ../Doc/c-api/typeobj.rst:1430
+#: ../Doc/c-api/typeobj.rst:1437
msgid ":const:`Py_LE`"
msgstr ":const:`Py_LE`"
-#: ../Doc/c-api/typeobj.rst:1430
+#: ../Doc/c-api/typeobj.rst:1437
msgid "``<=``"
msgstr "``<=``"
-#: ../Doc/c-api/typeobj.rst:1432
+#: ../Doc/c-api/typeobj.rst:1439
msgid ":const:`Py_EQ`"
msgstr ":const:`Py_EQ`"
-#: ../Doc/c-api/typeobj.rst:1432
+#: ../Doc/c-api/typeobj.rst:1439
msgid "``==``"
msgstr "``==``"
-#: ../Doc/c-api/typeobj.rst:1434
+#: ../Doc/c-api/typeobj.rst:1441
msgid ":const:`Py_NE`"
msgstr ":const:`Py_NE`"
-#: ../Doc/c-api/typeobj.rst:1434
+#: ../Doc/c-api/typeobj.rst:1441
msgid "``!=``"
msgstr "``!=``"
-#: ../Doc/c-api/typeobj.rst:1436
+#: ../Doc/c-api/typeobj.rst:1443
msgid ":const:`Py_GT`"
msgstr ":const:`Py_GT`"
-#: ../Doc/c-api/typeobj.rst:1436
+#: ../Doc/c-api/typeobj.rst:1443
msgid "``>``"
msgstr "``>``"
-#: ../Doc/c-api/typeobj.rst:1438
+#: ../Doc/c-api/typeobj.rst:1445
msgid ":const:`Py_GE`"
msgstr ":const:`Py_GE`"
-#: ../Doc/c-api/typeobj.rst:1438
+#: ../Doc/c-api/typeobj.rst:1445
msgid "``>=``"
msgstr "``>=``"
-#: ../Doc/c-api/typeobj.rst:1441
+#: ../Doc/c-api/typeobj.rst:1448
msgid ""
"The following macro is defined to ease writing rich comparison functions:"
msgstr ""
"El siguiente macro está definido para facilitar la escritura de funciones de "
"comparación enriquecidas:"
-#: ../Doc/c-api/typeobj.rst:1445
+#: ../Doc/c-api/typeobj.rst:1452
msgid ""
"Return ``Py_True`` or ``Py_False`` from the function, depending on the "
"result of a comparison. VAL_A and VAL_B must be orderable by C comparison "
@@ -2822,17 +2823,17 @@ msgstr ""
"tercer argumento especifica la operación solicitada, como por ejemplo :c:"
"func:`PyObject_RichCompare`."
-#: ../Doc/c-api/typeobj.rst:1451
+#: ../Doc/c-api/typeobj.rst:1458
msgid "The return value's reference count is properly incremented."
msgstr ""
"El conteo de referencia del valor de retorno se incrementa correctamente."
-#: ../Doc/c-api/typeobj.rst:1453
+#: ../Doc/c-api/typeobj.rst:1460
msgid "On error, sets an exception and returns ``NULL`` from the function."
msgstr ""
"En caso de error, establece una excepción y retorna ``NULL`` de la función."
-#: ../Doc/c-api/typeobj.rst:1461
+#: ../Doc/c-api/typeobj.rst:1468
msgid ""
"This field is inherited by subtypes together with :c:member:`~PyTypeObject."
"tp_hash`: a subtype inherits :c:member:`~PyTypeObject.tp_richcompare` and :c:"
@@ -2844,7 +2845,7 @@ msgstr ""
"member:`~PyTypeObject.tp_hash` cuando el subtipo :c:member:`~PyTypeObject."
"tp_richcompare` y :c:member:`~PyTypeObject.tp_hash` son ambos ``NULL``."
-#: ../Doc/c-api/typeobj.rst:1468
+#: ../Doc/c-api/typeobj.rst:1475
msgid ""
":c:type:`PyBaseObject_Type` provides a :attr:`tp_richcompare` "
"implementation, which may be inherited. However, if only :attr:`tp_hash` is "
@@ -2856,13 +2857,14 @@ msgstr ""
"attr:`tp_hash`, ni siquiera se utiliza la función heredada y las instancias "
"del tipo no podrán participar en ninguna comparación."
-#: ../Doc/c-api/typeobj.rst:1477
+#: ../Doc/c-api/typeobj.rst:1484
+#, fuzzy
msgid ""
"If the instances of this type are weakly referenceable, this field is "
"greater than zero and contains the offset in the instance structure of the "
"weak reference list head (ignoring the GC header, if present); this offset "
-"is used by :c:func:`PyObject_ClearWeakRefs` and the :c:func:`PyWeakref_\\*` "
-"functions. The instance structure needs to include a field of type :c:type:"
+"is used by :c:func:`PyObject_ClearWeakRefs` and the ``PyWeakref_*`` "
+"functions. The instance structure needs to include a field of type :c:expr:"
"`PyObject*` which is initialized to ``NULL``."
msgstr ""
"Si las instancias de este tipo son débilmente referenciables, este campo es "
@@ -2873,7 +2875,7 @@ msgstr ""
"estructura de la instancia debe incluir un campo de tipo :c:type:`PyObject*` "
"que se inicializa en ``NULL``."
-#: ../Doc/c-api/typeobj.rst:1484
+#: ../Doc/c-api/typeobj.rst:1491
msgid ""
"Do not confuse this field with :c:member:`~PyTypeObject.tp_weaklist`; that "
"is the list head for weak references to the type object itself."
@@ -2881,7 +2883,7 @@ msgstr ""
"No confunda este campo con :c:member:`~PyTypeObject.tp_weaklist`; ese es el "
"encabezado de la lista para referencias débiles al objeto de tipo en sí."
-#: ../Doc/c-api/typeobj.rst:1489
+#: ../Doc/c-api/typeobj.rst:1496
msgid ""
"This field is inherited by subtypes, but see the rules listed below. A "
"subtype may override this offset; this means that the subtype uses a "
@@ -2896,7 +2898,7 @@ msgstr ""
"encuentra a través de :c:member:`~PyTypeObject.tp_weaklistoffset`, esto no "
"debería ser un problema."
-#: ../Doc/c-api/typeobj.rst:1494
+#: ../Doc/c-api/typeobj.rst:1501
msgid ""
"When a type defined by a class statement has no :attr:`~object.__slots__` "
"declaration, and none of its base types are weakly referenceable, the type "
@@ -2911,7 +2913,7 @@ msgstr ""
"y configurando :c:member:`~PyTypeObject.tp_weaklistoffset` del "
"desplazamiento de esa ranura."
-#: ../Doc/c-api/typeobj.rst:1499
+#: ../Doc/c-api/typeobj.rst:1506
msgid ""
"When a type's :attr:`__slots__` declaration contains a slot named :attr:"
"`__weakref__`, that slot becomes the weak reference list head for instances "
@@ -2924,7 +2926,7 @@ msgstr ""
"del espacio se almacena en el tipo :c:member:`~PyTypeObject."
"tp_weaklistoffset`."
-#: ../Doc/c-api/typeobj.rst:1504
+#: ../Doc/c-api/typeobj.rst:1511
msgid ""
"When a type's :attr:`__slots__` declaration does not contain a slot named :"
"attr:`__weakref__`, the type inherits its :c:member:`~PyTypeObject."
@@ -2934,29 +2936,31 @@ msgstr ""
"llamado :attr:`__weakref__`, el tipo hereda su :c:member:`~PyTypeObject."
"tp_weaklistoffset` de su tipo base."
-#: ../Doc/c-api/typeobj.rst:1511
+#: ../Doc/c-api/typeobj.rst:1518
+#, fuzzy
msgid ""
-"An optional pointer to a function that returns an iterator for the object. "
-"Its presence normally signals that the instances of this type are iterable "
-"(although sequences may be iterable without this function)."
+"An optional pointer to a function that returns an :term:`iterator` for the "
+"object. Its presence normally signals that the instances of this type are :"
+"term:`iterable` (although sequences may be iterable without this function)."
msgstr ""
"Un puntero opcional a una función que retorna un iterador para el objeto. Su "
"presencia normalmente indica que las instancias de este tipo son iterables "
"(aunque las secuencias pueden ser iterables sin esta función)."
-#: ../Doc/c-api/typeobj.rst:1515
+#: ../Doc/c-api/typeobj.rst:1522
msgid "This function has the same signature as :c:func:`PyObject_GetIter`::"
msgstr "Esta función tiene la misma firma que :c:func:`PyObject_GetIter`::"
-#: ../Doc/c-api/typeobj.rst:1526
+#: ../Doc/c-api/typeobj.rst:1533
+#, fuzzy
msgid ""
-"An optional pointer to a function that returns the next item in an iterator. "
-"The signature is::"
+"An optional pointer to a function that returns the next item in an :term:"
+"`iterator`. The signature is::"
msgstr ""
"Un puntero opcional a una función que retorna el siguiente elemento en un "
"iterador. La firma es::"
-#: ../Doc/c-api/typeobj.rst:1531
+#: ../Doc/c-api/typeobj.rst:1538
msgid ""
"When the iterator is exhausted, it must return ``NULL``; a :exc:"
"`StopIteration` exception may or may not be set. When another error occurs, "
@@ -2968,7 +2972,7 @@ msgstr ""
"también debe retornar ``NULL``. Su presencia indica que las instancias de "
"este tipo son iteradores."
-#: ../Doc/c-api/typeobj.rst:1536
+#: ../Doc/c-api/typeobj.rst:1543
msgid ""
"Iterator types should also define the :c:member:`~PyTypeObject.tp_iter` "
"function, and that function should return the iterator instance itself (not "
@@ -2978,11 +2982,11 @@ msgstr ""
"`~PyTypeObject.tp_iter`, y esa función debería retornar la instancia de "
"iterador en sí (no una nueva instancia de iterador)."
-#: ../Doc/c-api/typeobj.rst:1540
+#: ../Doc/c-api/typeobj.rst:1547
msgid "This function has the same signature as :c:func:`PyIter_Next`."
msgstr "Esta función tiene la misma firma que :c:func:`PyIter_Next`."
-#: ../Doc/c-api/typeobj.rst:1549
+#: ../Doc/c-api/typeobj.rst:1556
msgid ""
"An optional pointer to a static ``NULL``-terminated array of :c:type:"
"`PyMethodDef` structures, declaring regular methods of this type."
@@ -2990,7 +2994,7 @@ msgstr ""
"Un puntero opcional a un arreglo estático terminado en ``NULL`` de "
"estructuras :c:type:`PyMethodDef`, declarando métodos regulares de este tipo."
-#: ../Doc/c-api/typeobj.rst:1552
+#: ../Doc/c-api/typeobj.rst:1559
msgid ""
"For each entry in the array, an entry is added to the type's dictionary "
"(see :c:member:`~PyTypeObject.tp_dict` below) containing a method descriptor."
@@ -2999,7 +3003,7 @@ msgstr ""
"tipo (ver :c:member:`~PyTypeObject.tp_dict` a continuación) que contiene un "
"descriptor *method*."
-#: ../Doc/c-api/typeobj.rst:1557
+#: ../Doc/c-api/typeobj.rst:1564
msgid ""
"This field is not inherited by subtypes (methods are inherited through a "
"different mechanism)."
@@ -3007,7 +3011,7 @@ msgstr ""
"Los subtipos no heredan este campo (los métodos se heredan mediante un "
"mecanismo diferente)."
-#: ../Doc/c-api/typeobj.rst:1563
+#: ../Doc/c-api/typeobj.rst:1570
msgid ""
"An optional pointer to a static ``NULL``-terminated array of :c:type:"
"`PyMemberDef` structures, declaring regular data members (fields or slots) "
@@ -3017,7 +3021,7 @@ msgstr ""
"estructuras :c:type:`PyMemberDef`, declarando miembros de datos regulares "
"(campos o ranuras) de instancias de este tipo."
-#: ../Doc/c-api/typeobj.rst:1567
+#: ../Doc/c-api/typeobj.rst:1574
msgid ""
"For each entry in the array, an entry is added to the type's dictionary "
"(see :c:member:`~PyTypeObject.tp_dict` below) containing a member descriptor."
@@ -3026,7 +3030,7 @@ msgstr ""
"tipo (ver :c:member:`~PyTypeObject.tp_dict` a continuación) que contiene un "
"descriptor *member*."
-#: ../Doc/c-api/typeobj.rst:1572
+#: ../Doc/c-api/typeobj.rst:1579
msgid ""
"This field is not inherited by subtypes (members are inherited through a "
"different mechanism)."
@@ -3034,7 +3038,7 @@ msgstr ""
"Los subtipos no heredan este campo (los miembros se heredan mediante un "
"mecanismo diferente)."
-#: ../Doc/c-api/typeobj.rst:1578
+#: ../Doc/c-api/typeobj.rst:1585
msgid ""
"An optional pointer to a static ``NULL``-terminated array of :c:type:"
"`PyGetSetDef` structures, declaring computed attributes of instances of this "
@@ -3044,7 +3048,7 @@ msgstr ""
"estructuras :c:type:`PyGetSetDef`, declarando atributos calculados de "
"instancias de este tipo."
-#: ../Doc/c-api/typeobj.rst:1581
+#: ../Doc/c-api/typeobj.rst:1588
msgid ""
"For each entry in the array, an entry is added to the type's dictionary "
"(see :c:member:`~PyTypeObject.tp_dict` below) containing a getset descriptor."
@@ -3053,7 +3057,7 @@ msgstr ""
"tipo (ver :c:member:`~PyTypeObject.tp_dict` a continuación) que contiene un "
"descriptor *getset*."
-#: ../Doc/c-api/typeobj.rst:1586
+#: ../Doc/c-api/typeobj.rst:1593
msgid ""
"This field is not inherited by subtypes (computed attributes are inherited "
"through a different mechanism)."
@@ -3061,7 +3065,7 @@ msgstr ""
"Este campo no es heredado por los subtipos (los atributos computados se "
"heredan a través de un mecanismo diferente)."
-#: ../Doc/c-api/typeobj.rst:1592
+#: ../Doc/c-api/typeobj.rst:1599
msgid ""
"An optional pointer to a base type from which type properties are "
"inherited. At this level, only single inheritance is supported; multiple "
@@ -3072,7 +3076,7 @@ msgstr ""
"tipo. En este nivel, solo se admite una herencia única; La herencia múltiple "
"requiere la creación dinámica de un objeto tipo llamando al metatipo."
-#: ../Doc/c-api/typeobj.rst:1600
+#: ../Doc/c-api/typeobj.rst:1607
msgid ""
"Slot initialization is subject to the rules of initializing globals. C99 "
"requires the initializers to be \"address constants\". Function designators "
@@ -3080,11 +3084,12 @@ msgid ""
"valid C99 address constants."
msgstr ""
"La inicialización de ranuras está sujeta a las reglas de inicialización de "
-"globales. C99 requiere que los inicializadores sean \"constantes de dirección"
-"\". Los designadores de funciones como :c:func:`PyType_GenericNew`, con "
-"conversión implícita a un puntero, son constantes de dirección C99 válidas."
+"globales. C99 requiere que los inicializadores sean \"constantes de "
+"dirección\". Los designadores de funciones como :c:func:`PyType_GenericNew`, "
+"con conversión implícita a un puntero, son constantes de dirección C99 "
+"válidas."
-#: ../Doc/c-api/typeobj.rst:1605
+#: ../Doc/c-api/typeobj.rst:1612
msgid ""
"However, the unary '&' operator applied to a non-static variable like :c:"
"func:`PyBaseObject_Type` is not required to produce an address constant. "
@@ -3097,7 +3102,7 @@ msgstr ""
"Ambos compiladores son estrictamente estándar conforme a este comportamiento "
"particular."
-#: ../Doc/c-api/typeobj.rst:1611
+#: ../Doc/c-api/typeobj.rst:1618
msgid ""
"Consequently, :c:member:`~PyTypeObject.tp_base` should be set in the "
"extension module's init function."
@@ -3105,11 +3110,11 @@ msgstr ""
"En consecuencia, :c:member:`~PyTypeObject.tp_base` debe establecerse en la "
"función *init* del módulo de extensión."
-#: ../Doc/c-api/typeobj.rst:1616
+#: ../Doc/c-api/typeobj.rst:1623
msgid "This field is not inherited by subtypes (obviously)."
msgstr "Este campo no es heredado por los subtipos (obviamente)."
-#: ../Doc/c-api/typeobj.rst:1620
+#: ../Doc/c-api/typeobj.rst:1627
msgid ""
"This field defaults to ``&PyBaseObject_Type`` (which to Python programmers "
"is known as the type :class:`object`)."
@@ -3117,11 +3122,11 @@ msgstr ""
"Este campo predeterminado es ``&PyBaseObject_Type`` (que para los "
"programadores de Python se conoce como el tipo :class:`objeto`)."
-#: ../Doc/c-api/typeobj.rst:1626
+#: ../Doc/c-api/typeobj.rst:1633
msgid "The type's dictionary is stored here by :c:func:`PyType_Ready`."
msgstr "El diccionario del tipo se almacena aquí por :c:func:`PyType_Ready`."
-#: ../Doc/c-api/typeobj.rst:1628
+#: ../Doc/c-api/typeobj.rst:1635
msgid ""
"This field should normally be initialized to ``NULL`` before PyType_Ready is "
"called; it may also be initialized to a dictionary containing initial "
@@ -3136,7 +3141,7 @@ msgstr ""
"agregarse a este diccionario solo si no corresponden a operaciones "
"sobrecargadas (como :meth:`__add__`)."
-#: ../Doc/c-api/typeobj.rst:1636
+#: ../Doc/c-api/typeobj.rst:1643
msgid ""
"This field is not inherited by subtypes (though the attributes defined in "
"here are inherited through a different mechanism)."
@@ -3144,7 +3149,7 @@ msgstr ""
"Este campo no es heredado por los subtipos (aunque los atributos definidos "
"aquí se heredan a través de un mecanismo diferente)."
-#: ../Doc/c-api/typeobj.rst:1641
+#: ../Doc/c-api/typeobj.rst:1648
msgid ""
"If this field is ``NULL``, :c:func:`PyType_Ready` will assign a new "
"dictionary to it."
@@ -3152,7 +3157,7 @@ msgstr ""
"Si este campo es ``NULL``, :c:func:`PyType_Ready` le asignará un nuevo "
"diccionario."
-#: ../Doc/c-api/typeobj.rst:1646
+#: ../Doc/c-api/typeobj.rst:1653
msgid ""
"It is not safe to use :c:func:`PyDict_SetItem` on or otherwise modify :c:"
"member:`~PyTypeObject.tp_dict` with the dictionary C-API."
@@ -3160,18 +3165,18 @@ msgstr ""
"No es seguro usar :c:func:`PyDict_SetItem` en o modificar de otra manera a :"
"c:member:`~PyTypeObject.tp_dict` con el diccionario C-API."
-#: ../Doc/c-api/typeobj.rst:1652
+#: ../Doc/c-api/typeobj.rst:1659
msgid "An optional pointer to a \"descriptor get\" function."
msgstr ""
"Un puntero opcional a una función \"obtener descriptor\" (*descriptor ger*)."
-#: ../Doc/c-api/typeobj.rst:1654 ../Doc/c-api/typeobj.rst:1670
+#: ../Doc/c-api/typeobj.rst:1661 ../Doc/c-api/typeobj.rst:1677
#: ../Doc/c-api/typeobj.rst:1752 ../Doc/c-api/typeobj.rst:1782
#: ../Doc/c-api/typeobj.rst:1806
msgid "The function signature is::"
msgstr "La firma de la función es::"
-#: ../Doc/c-api/typeobj.rst:1667
+#: ../Doc/c-api/typeobj.rst:1674
msgid ""
"An optional pointer to a function for setting and deleting a descriptor's "
"value."
@@ -3179,11 +3184,11 @@ msgstr ""
"Un puntero opcional a una función para configurar y eliminar el valor de un "
"descriptor."
-#: ../Doc/c-api/typeobj.rst:1674
+#: ../Doc/c-api/typeobj.rst:1681
msgid "The *value* argument is set to ``NULL`` to delete the value."
msgstr "El argumento *value* se establece a ``NULL`` para borrar el valor."
-#: ../Doc/c-api/typeobj.rst:1685
+#: ../Doc/c-api/typeobj.rst:1692
msgid ""
"If the instances of this type have a dictionary containing instance "
"variables, this field is non-zero and contains the offset in the instances "
@@ -3195,7 +3200,7 @@ msgstr ""
"instancias del tipo del diccionario de variables de instancia; este "
"desplazamiento es utilizado por :c:func:`PyObject_GenericGetAttr`."
-#: ../Doc/c-api/typeobj.rst:1690
+#: ../Doc/c-api/typeobj.rst:1697
msgid ""
"Do not confuse this field with :c:member:`~PyTypeObject.tp_dict`; that is "
"the dictionary for attributes of the type object itself."
@@ -3203,7 +3208,7 @@ msgstr ""
"No confunda este campo con :c:member:`~PyTypeObject.tp_dict`; ese es el "
"diccionario para los atributos del tipo de objeto en sí."
-#: ../Doc/c-api/typeobj.rst:1693
+#: ../Doc/c-api/typeobj.rst:1700
msgid ""
"If the value of this field is greater than zero, it specifies the offset "
"from the start of the instance structure. If the value is less than zero, "
@@ -3232,30 +3237,14 @@ msgstr ""
"debe establecerse en ``-4`` para indicar que el diccionario está al final de "
"la estructura."
-#: ../Doc/c-api/typeobj.rst:1705
-msgid ""
-"The real dictionary offset in an instance can be computed from a negative :c:"
-"member:`~PyTypeObject.tp_dictoffset` as follows::"
-msgstr ""
-"El desplazamiento real del diccionario en una instancia se puede calcular a "
-"partir de un elemento negativo :c:member:`~PyTypeObject.tp_dictoffset` de la "
-"siguiente manera::"
-
#: ../Doc/c-api/typeobj.rst:1712
msgid ""
-"where :c:member:`~PyTypeObject.tp_basicsize`, :c:member:`~PyTypeObject."
-"tp_itemsize` and :c:member:`~PyTypeObject.tp_dictoffset` are taken from the "
-"type object, and :attr:`ob_size` is taken from the instance. The absolute "
-"value is taken because ints use the sign of :attr:`ob_size` to store the "
-"sign of the number. (There's never a need to do this calculation yourself; "
-"it is done for you by :c:func:`_PyObject_GetDictPtr`.)"
+"The :c:member:`~PyTypeObject.tp_dictoffset` should be regarded as write-"
+"only. To get the pointer to the dictionary call :c:func:"
+"`PyObject_GenericGetDict`. Calling :c:func:`PyObject_GenericGetDict` may "
+"need to allocate memory for the dictionary, so it is may be more efficient "
+"to call :c:func:`PyObject_GetAttr` when accessing an attribute on the object."
msgstr ""
-"donde :c:member:`~PyTypeObject.tp_basicsize`, :c:member:`~PyTypeObject."
-"tp_itemsize` y :c:member:`~PyTypeObject.tp_dictoffset` se toman del objeto "
-"*type*, y :attr:`ob_size` está tomado de la instancia. Se toma el valor "
-"absoluto porque *ints* usa el signo de :attr:`ob_size` para almacenar el "
-"signo del número. (Nunca es necesario hacer este cálculo usted mismo; lo "
-"hace por usted la función :c:func:`_PyObject_GetDictPtr`.)"
#: ../Doc/c-api/typeobj.rst:1720
msgid ""
@@ -3647,38 +3636,6 @@ msgstr ""
#: ../Doc/c-api/typeobj.rst:1987
msgid ""
-"For this field to be taken into account (even through inheritance), you must "
-"also set the :const:`Py_TPFLAGS_HAVE_FINALIZE` flags bit."
-msgstr ""
-"Para que este campo se tenga en cuenta (incluso a través de la herencia), "
-"también debe establecer el bit de banderas :const:`Py_TPFLAGS_HAVE_FINALIZE`."
-
-#: ../Doc/c-api/typeobj.rst:1996
-msgid "\"Safe object finalization\" (:pep:`442`)"
-msgstr "\"Finalización segura de objetos\" (:pep:`442`)"
-
-#: ../Doc/c-api/typeobj.rst:2001
-msgid ""
-"Vectorcall function to use for calls of this type object. In other words, it "
-"is used to implement :ref:`vectorcall ` for ``type.__call__``. "
-"If ``tp_vectorcall`` is ``NULL``, the default call implementation using :"
-"attr:`__new__` and :attr:`__init__` is used."
-msgstr ""
-"Función Vectorcall a utilizar para llamadas de este tipo de objeto. En otras "
-"palabras, se usa para implementar :ref:`vectorcall ` para ``type."
-"__call__``. Si ``tp_vectorcall`` es ``NULL``, se usa la implementación de "
-"llamada predeterminada usando :attr:`__new__` y :attr:`__init__`."
-
-#: ../Doc/c-api/typeobj.rst:2009
-msgid "This field is never inherited."
-msgstr "Este campo nunca se hereda."
-
-#: ../Doc/c-api/typeobj.rst:2011
-msgid "(the field exists since 3.8 but it's only used since 3.9)"
-msgstr "(el campo existe desde 3.8 pero solo se usa desde 3.9)"
-
-#: ../Doc/c-api/typeobj.rst:2014
-msgid ""
"Also, note that, in a garbage collected Python, :c:member:`~PyTypeObject."
"tp_dealloc` may be called from any Python thread, not just the thread which "
"created the object (if the object becomes part of a refcount cycle, that "
@@ -3702,11 +3659,42 @@ msgstr ""
"objetos en el hilo que se llama ``tp_dealloc`` no violará ningún supuesto de "
"la biblioteca."
-#: ../Doc/c-api/typeobj.rst:2028
+#: ../Doc/c-api/typeobj.rst:2006
+msgid ""
+"Before version 3.8 it was necessary to set the :const:"
+"`Py_TPFLAGS_HAVE_FINALIZE` flags bit in order for this field to be used. "
+"This is no longer required."
+msgstr ""
+
+#: ../Doc/c-api/typeobj.rst:2010
+msgid "\"Safe object finalization\" (:pep:`442`)"
+msgstr "\"Finalización segura de objetos\" (:pep:`442`)"
+
+#: ../Doc/c-api/typeobj.rst:2015
+msgid ""
+"Vectorcall function to use for calls of this type object. In other words, it "
+"is used to implement :ref:`vectorcall ` for ``type.__call__``. "
+"If ``tp_vectorcall`` is ``NULL``, the default call implementation using :"
+"attr:`__new__` and :attr:`__init__` is used."
+msgstr ""
+"Función Vectorcall a utilizar para llamadas de este tipo de objeto. En otras "
+"palabras, se usa para implementar :ref:`vectorcall ` para ``type."
+"__call__``. Si ``tp_vectorcall`` es ``NULL``, se usa la implementación de "
+"llamada predeterminada usando :attr:`__new__` y :attr:`__init__`."
+
+#: ../Doc/c-api/typeobj.rst:2023
+msgid "This field is never inherited."
+msgstr "Este campo nunca se hereda."
+
+#: ../Doc/c-api/typeobj.rst:2025
+msgid "(the field exists since 3.8 but it's only used since 3.9)"
+msgstr "(el campo existe desde 3.8 pero solo se usa desde 3.9)"
+
+#: ../Doc/c-api/typeobj.rst:2031
msgid "Static Types"
msgstr "Tipos estáticos"
-#: ../Doc/c-api/typeobj.rst:2030
+#: ../Doc/c-api/typeobj.rst:2033
msgid ""
"Traditionally, types defined in C code are *static*, that is, a static :c:"
"type:`PyTypeObject` structure is defined directly in code and initialized "
@@ -3716,14 +3704,14 @@ msgstr ""
"una estructura estática :c:type:`PyTypeObject` se define directamente en el "
"código y se inicializa usando :c:func:`PyType_Ready`."
-#: ../Doc/c-api/typeobj.rst:2034
+#: ../Doc/c-api/typeobj.rst:2037
msgid ""
"This results in types that are limited relative to types defined in Python:"
msgstr ""
"Esto da como resultado tipos que están limitados en relación con los tipos "
"definidos en Python:"
-#: ../Doc/c-api/typeobj.rst:2036
+#: ../Doc/c-api/typeobj.rst:2039
msgid ""
"Static types are limited to one base, i.e. they cannot use multiple "
"inheritance."
@@ -3731,7 +3719,7 @@ msgstr ""
"Los tipos estáticos están limitados a una base, es decir, no pueden usar "
"herencia múltiple."
-#: ../Doc/c-api/typeobj.rst:2038
+#: ../Doc/c-api/typeobj.rst:2041
msgid ""
"Static type objects (but not necessarily their instances) are immutable. It "
"is not possible to add or modify the type object's attributes from Python."
@@ -3740,7 +3728,7 @@ msgstr ""
"inmutables. No es posible agregar o modificar los atributos del objeto tipo "
"desde Python."
-#: ../Doc/c-api/typeobj.rst:2040
+#: ../Doc/c-api/typeobj.rst:2043
msgid ""
"Static type objects are shared across :ref:`sub-interpreters `, so they should not include any subinterpreter-"
@@ -3750,21 +3738,22 @@ msgstr ""
"interpreter-support>`, por lo que no deben incluir ningún estado específico "
"del sub interpretador."
-#: ../Doc/c-api/typeobj.rst:2044
+#: ../Doc/c-api/typeobj.rst:2047
+#, fuzzy
msgid ""
-"Also, since :c:type:`PyTypeObject` is not part of the :ref:`stable ABI "
-"`, any extension modules using static types must be compiled for a "
-"specific Python minor version."
+"Also, since :c:type:`PyTypeObject` is only part of the :ref:`Limited API "
+"` as an opaque struct, any extension modules using static types must "
+"be compiled for a specific Python minor version."
msgstr ""
"Además, dado que :c:type:`PyTypeObject` no forma parte de :ref:`stable ABI "
"`, cualquier módulo de extensión que use tipos estáticos debe "
"compilarse para una versión menor específica de Python."
-#: ../Doc/c-api/typeobj.rst:2052
+#: ../Doc/c-api/typeobj.rst:2055
msgid "Heap Types"
msgstr "Tipos Heap"
-#: ../Doc/c-api/typeobj.rst:2054
+#: ../Doc/c-api/typeobj.rst:2057
msgid ""
"An alternative to :ref:`static types ` is *heap-allocated "
"types*, or *heap types* for short, which correspond closely to classes "
@@ -3776,7 +3765,7 @@ msgstr ""
"las clases creadas por la declaración ``class`` de Python. Los tipos de heap "
"tienen establecida la bandera :const:`Py_TPFLAGS_HEAPTYPE`."
-#: ../Doc/c-api/typeobj.rst:2059
+#: ../Doc/c-api/typeobj.rst:2062
msgid ""
"This is done by filling a :c:type:`PyType_Spec` structure and calling :c:"
"func:`PyType_FromSpec`, :c:func:`PyType_FromSpecWithBases`, or :c:func:"
@@ -3786,11 +3775,11 @@ msgstr ""
"func:`PyType_FromSpec`, :c:func:`PyType_FromSpecWithBases` o :c:func:"
"`PyType_FromModuleAndSpec`."
-#: ../Doc/c-api/typeobj.rst:2067
+#: ../Doc/c-api/typeobj.rst:2070
msgid "Number Object Structures"
msgstr "Estructuras de Objetos de Números"
-#: ../Doc/c-api/typeobj.rst:2074
+#: ../Doc/c-api/typeobj.rst:2077
msgid ""
"This structure holds pointers to the functions which an object uses to "
"implement the number protocol. Each function is used by the function of "
@@ -3800,11 +3789,11 @@ msgstr ""
"implementar el protocolo numérico. Cada función es utilizada por la función "
"de un nombre similar documentado en la sección :ref:`number`."
-#: ../Doc/c-api/typeobj.rst:2080 ../Doc/c-api/typeobj.rst:2404
+#: ../Doc/c-api/typeobj.rst:2083 ../Doc/c-api/typeobj.rst:2407
msgid "Here is the structure definition::"
msgstr "Aquí está la definición de la estructura::"
-#: ../Doc/c-api/typeobj.rst:2127
+#: ../Doc/c-api/typeobj.rst:2130
msgid ""
"Binary and ternary functions must check the type of all their operands, and "
"implement the necessary conversions (at least one of the operands is an "
@@ -3820,7 +3809,7 @@ msgstr ""
"retornar ``Py_NotImplemented``, si se produce otro error, deben retornar "
"``NULL`` y establecer una excepción."
-#: ../Doc/c-api/typeobj.rst:2136
+#: ../Doc/c-api/typeobj.rst:2139
msgid ""
"The :c:data:`nb_reserved` field should always be ``NULL``. It was "
"previously called :c:data:`nb_long`, and was renamed in Python 3.0.1."
@@ -3828,11 +3817,11 @@ msgstr ""
"El campo :c:data:`nb_reserved` siempre debe ser ``NULL``. Anteriormente se "
"llamaba :c:data:`nb_long`, y se renombró en Python 3.0.1."
-#: ../Doc/c-api/typeobj.rst:2181
+#: ../Doc/c-api/typeobj.rst:2184
msgid "Mapping Object Structures"
msgstr "Estructuras de Objetos Mapeo"
-#: ../Doc/c-api/typeobj.rst:2188
+#: ../Doc/c-api/typeobj.rst:2191
msgid ""
"This structure holds pointers to the functions which an object uses to "
"implement the mapping protocol. It has three members:"
@@ -3840,7 +3829,7 @@ msgstr ""
"Esta estructura contiene punteros a las funciones que utiliza un objeto para "
"implementar el protocolo de mapeo. Tiene tres miembros:"
-#: ../Doc/c-api/typeobj.rst:2193
+#: ../Doc/c-api/typeobj.rst:2196
msgid ""
"This function is used by :c:func:`PyMapping_Size` and :c:func:"
"`PyObject_Size`, and has the same signature. This slot may be set to "
@@ -3850,7 +3839,7 @@ msgstr ""
"`PyObject_Size`, y tiene la misma firma. Esta ranura puede establecerse en "
"``NULL`` si el objeto no tiene una longitud definida."
-#: ../Doc/c-api/typeobj.rst:2199
+#: ../Doc/c-api/typeobj.rst:2202
msgid ""
"This function is used by :c:func:`PyObject_GetItem` and :c:func:"
"`PySequence_GetSlice`, and has the same signature as :c:func:`!"
@@ -3862,7 +3851,7 @@ msgstr ""
"PyObject_GetItem`. Este espacio debe llenarse para que la función :c:func:"
"`PyMapping_Check` retorna ``1``, de lo contrario puede ser ``NULL``."
-#: ../Doc/c-api/typeobj.rst:2207
+#: ../Doc/c-api/typeobj.rst:2210
msgid ""
"This function is used by :c:func:`PyObject_SetItem`, :c:func:"
"`PyObject_DelItem`, :c:func:`PyObject_SetSlice` and :c:func:"
@@ -3878,11 +3867,11 @@ msgstr ""
"Si este espacio es ``NULL``, el objeto no admite la asignación y eliminación "
"de elementos."
-#: ../Doc/c-api/typeobj.rst:2218
+#: ../Doc/c-api/typeobj.rst:2221
msgid "Sequence Object Structures"
msgstr "Estructuras de objetos secuencia"
-#: ../Doc/c-api/typeobj.rst:2225
+#: ../Doc/c-api/typeobj.rst:2228
msgid ""
"This structure holds pointers to the functions which an object uses to "
"implement the sequence protocol."
@@ -3890,7 +3879,7 @@ msgstr ""
"Esta estructura contiene punteros a las funciones que utiliza un objeto para "
"implementar el protocolo de secuencia."
-#: ../Doc/c-api/typeobj.rst:2230
+#: ../Doc/c-api/typeobj.rst:2233
msgid ""
"This function is used by :c:func:`PySequence_Size` and :c:func:"
"`PyObject_Size`, and has the same signature. It is also used for handling "
@@ -3902,7 +3891,7 @@ msgstr ""
"negativos a través de los espacios :c:member:`~PySequenceMethods.sq_item` y :"
"c:member:`~PySequenceMethods.sq_ass_item`."
-#: ../Doc/c-api/typeobj.rst:2237
+#: ../Doc/c-api/typeobj.rst:2240
msgid ""
"This function is used by :c:func:`PySequence_Concat` and has the same "
"signature. It is also used by the ``+`` operator, after trying the numeric "
@@ -3912,7 +3901,7 @@ msgstr ""
"firma. También es utilizado por el operador ``+``, después de intentar la "
"suma numérica a través de la ranura :c:member:`~PyNumberMethods.nb_add`."
-#: ../Doc/c-api/typeobj.rst:2243
+#: ../Doc/c-api/typeobj.rst:2246
msgid ""
"This function is used by :c:func:`PySequence_Repeat` and has the same "
"signature. It is also used by the ``*`` operator, after trying numeric "
@@ -3923,7 +3912,7 @@ msgstr ""
"multiplicación numérica a través de la ranura :c:member:`~PyNumberMethods."
"nb_multiply`."
-#: ../Doc/c-api/typeobj.rst:2249
+#: ../Doc/c-api/typeobj.rst:2252
msgid ""
"This function is used by :c:func:`PySequence_GetItem` and has the same "
"signature. It is also used by :c:func:`PyObject_GetItem`, after trying the "
@@ -3937,7 +3926,7 @@ msgstr ""
"mp_subscript`. Este espacio debe llenarse para que la función :c:func:"
"`PySequence_Check` retorna ``1``, de lo contrario puede ser ``NULL``."
-#: ../Doc/c-api/typeobj.rst:2255
+#: ../Doc/c-api/typeobj.rst:2258
msgid ""
"Negative indexes are handled as follows: if the :attr:`sq_length` slot is "
"filled, it is called and the sequence length is used to compute a positive "
@@ -3949,7 +3938,7 @@ msgstr ""
"para calcular un índice positivo que se pasa a :attr:`sq_item`. Si :attr:"
"`sq_length` es ``NULL``, el índice se pasa como es a la función."
-#: ../Doc/c-api/typeobj.rst:2262
+#: ../Doc/c-api/typeobj.rst:2265
msgid ""
"This function is used by :c:func:`PySequence_SetItem` and has the same "
"signature. It is also used by :c:func:`PyObject_SetItem` and :c:func:"
@@ -3964,7 +3953,7 @@ msgstr ""
"mp_ass_subscript`. Este espacio puede dejarse en ``NULL`` si el objeto no "
"admite la asignación y eliminación de elementos."
-#: ../Doc/c-api/typeobj.rst:2271
+#: ../Doc/c-api/typeobj.rst:2274
msgid ""
"This function may be used by :c:func:`PySequence_Contains` and has the same "
"signature. This slot may be left to ``NULL``, in this case :c:func:`!"
@@ -3975,7 +3964,7 @@ msgstr ""
"`!PySequence_Contains` simplemente atraviesa la secuencia hasta que "
"encuentra una coincidencia."
-#: ../Doc/c-api/typeobj.rst:2278
+#: ../Doc/c-api/typeobj.rst:2281
msgid ""
"This function is used by :c:func:`PySequence_InPlaceConcat` and has the same "
"signature. It should modify its first operand, and return it. This slot "
@@ -3991,7 +3980,7 @@ msgstr ""
"asignación aumentada ``+=``, después de intentar la suma numérica en el "
"lugar a través de la ranura :c:member:`~PyNumberMethods.nb_inplace_add`."
-#: ../Doc/c-api/typeobj.rst:2287
+#: ../Doc/c-api/typeobj.rst:2290
msgid ""
"This function is used by :c:func:`PySequence_InPlaceRepeat` and has the same "
"signature. It should modify its first operand, and return it. This slot "
@@ -4008,11 +3997,11 @@ msgstr ""
"en el lugar a través de la ranura :c:member:`~PyNumberMethods."
"nb_inplace_multiply`."
-#: ../Doc/c-api/typeobj.rst:2298
+#: ../Doc/c-api/typeobj.rst:2301
msgid "Buffer Object Structures"
msgstr "Estructuras de Objetos Búfer"
-#: ../Doc/c-api/typeobj.rst:2306
+#: ../Doc/c-api/typeobj.rst:2309
msgid ""
"This structure holds pointers to the functions required by the :ref:`Buffer "
"protocol `. The protocol defines how an exporter object can "
@@ -4022,13 +4011,13 @@ msgstr ""
"`Buffer protocol `. El protocolo define cómo un objeto "
"exportador puede exponer sus datos internos a objetos de consumo."
-#: ../Doc/c-api/typeobj.rst:2312 ../Doc/c-api/typeobj.rst:2361
-#: ../Doc/c-api/typeobj.rst:2415 ../Doc/c-api/typeobj.rst:2426
-#: ../Doc/c-api/typeobj.rst:2437 ../Doc/c-api/typeobj.rst:2446
+#: ../Doc/c-api/typeobj.rst:2315 ../Doc/c-api/typeobj.rst:2364
+#: ../Doc/c-api/typeobj.rst:2418 ../Doc/c-api/typeobj.rst:2429
+#: ../Doc/c-api/typeobj.rst:2441 ../Doc/c-api/typeobj.rst:2450
msgid "The signature of this function is::"
msgstr "La firma de esta función es::"
-#: ../Doc/c-api/typeobj.rst:2316
+#: ../Doc/c-api/typeobj.rst:2319
msgid ""
"Handle a request to *exporter* to fill in *view* as specified by *flags*. "
"Except for point (3), an implementation of this function MUST take these "
@@ -4038,35 +4027,37 @@ msgstr ""
"especificado por *flags*. Excepto por el punto (3), una implementación de "
"esta función DEBE seguir estos pasos:"
-#: ../Doc/c-api/typeobj.rst:2320
+#: ../Doc/c-api/typeobj.rst:2323
+#, fuzzy
msgid ""
"Check if the request can be met. If not, raise :c:data:`PyExc_BufferError`, "
-"set :c:data:`view->obj` to ``NULL`` and return ``-1``."
+"set :c:expr:`view->obj` to ``NULL`` and return ``-1``."
msgstr ""
"Comprueba si se puede cumplir con la solicitud. Si no, lanza :c:data:"
"`PyExc_BufferError`, establece :c:data:`view->obj` en ``NULL`` y retorna "
"``-1``."
-#: ../Doc/c-api/typeobj.rst:2323
+#: ../Doc/c-api/typeobj.rst:2326
msgid "Fill in the requested fields."
msgstr "Rellene los campos solicitados."
-#: ../Doc/c-api/typeobj.rst:2325
+#: ../Doc/c-api/typeobj.rst:2328
msgid "Increment an internal counter for the number of exports."
msgstr ""
"Incrementa un contador interno para el número de exportaciones (*exports*)."
-#: ../Doc/c-api/typeobj.rst:2327
+#: ../Doc/c-api/typeobj.rst:2330
+#, fuzzy
msgid ""
-"Set :c:data:`view->obj` to *exporter* and increment :c:data:`view->obj`."
+"Set :c:expr:`view->obj` to *exporter* and increment :c:expr:`view->obj`."
msgstr ""
"Establece :c:data:`view->obj` en *exporter* e incremente :c:data:`view->obj`."
-#: ../Doc/c-api/typeobj.rst:2329
+#: ../Doc/c-api/typeobj.rst:2332
msgid "Return ``0``."
msgstr "Retorna ``0``."
-#: ../Doc/c-api/typeobj.rst:2331
+#: ../Doc/c-api/typeobj.rst:2334
msgid ""
"If *exporter* is part of a chain or tree of buffer providers, two main "
"schemes can be used:"
@@ -4074,23 +4065,25 @@ msgstr ""
"Si *exporter* es parte de una cadena o árbol de proveedores de búfer, se "
"pueden usar dos esquemas principales:"
-#: ../Doc/c-api/typeobj.rst:2334
+#: ../Doc/c-api/typeobj.rst:2337
+#, fuzzy
msgid ""
"Re-export: Each member of the tree acts as the exporting object and sets :c:"
-"data:`view->obj` to a new reference to itself."
+"expr:`view->obj` to a new reference to itself."
msgstr ""
"Re-exportación: cada miembro del árbol actúa como el objeto exportador y "
"establece :c:data:`view->obj` en una nueva referencia a sí mismo."
-#: ../Doc/c-api/typeobj.rst:2337
+#: ../Doc/c-api/typeobj.rst:2340
+#, fuzzy
msgid ""
"Redirect: The buffer request is redirected to the root object of the tree. "
-"Here, :c:data:`view->obj` will be a new reference to the root object."
+"Here, :c:expr:`view->obj` will be a new reference to the root object."
msgstr ""
"Redirigir: la solicitud de búfer se redirige al objeto raíz del árbol. Aquí :"
"c:data:`view->obj` será una nueva referencia al objeto raíz."
-#: ../Doc/c-api/typeobj.rst:2341
+#: ../Doc/c-api/typeobj.rst:2344
msgid ""
"The individual fields of *view* are described in section :ref:`Buffer "
"structure `, the rules how an exporter must react to "
@@ -4102,7 +4095,7 @@ msgstr ""
"reaccionar un exportador a solicitudes específicas se encuentran en la "
"sección :ref:`Tipos de solicitud de búfer `."
-#: ../Doc/c-api/typeobj.rst:2346
+#: ../Doc/c-api/typeobj.rst:2349
msgid ""
"All memory pointed to in the :c:type:`Py_buffer` structure belongs to the "
"exporter and must remain valid until there are no consumers left. :c:member:"
@@ -4116,7 +4109,7 @@ msgstr ""
"`~Py_buffer.strides`, :c:member:`~Py_buffer.suboffsets` y :c:member:"
"`~Py_buffer.internal` son de solo lectura para el consumidor."
-#: ../Doc/c-api/typeobj.rst:2353
+#: ../Doc/c-api/typeobj.rst:2356
msgid ""
":c:func:`PyBuffer_FillInfo` provides an easy way of exposing a simple bytes "
"buffer while dealing correctly with all request types."
@@ -4125,7 +4118,7 @@ msgstr ""
"de bytes simple mientras se trata correctamente con todos los tipos de "
"solicitud."
-#: ../Doc/c-api/typeobj.rst:2356
+#: ../Doc/c-api/typeobj.rst:2359
msgid ""
":c:func:`PyObject_GetBuffer` is the interface for the consumer that wraps "
"this function."
@@ -4133,7 +4126,7 @@ msgstr ""
":c:func:`PyObject_GetBuffer` es la interfaz para el consumidor que envuelve "
"esta función."
-#: ../Doc/c-api/typeobj.rst:2365
+#: ../Doc/c-api/typeobj.rst:2368
msgid ""
"Handle a request to release the resources of the buffer. If no resources "
"need to be released, :c:member:`PyBufferProcs.bf_releasebuffer` may be "
@@ -4145,15 +4138,15 @@ msgstr ""
"``NULL``. De lo contrario, una implementación estándar de esta función "
"tomará estos pasos opcionales:"
-#: ../Doc/c-api/typeobj.rst:2370
+#: ../Doc/c-api/typeobj.rst:2373
msgid "Decrement an internal counter for the number of exports."
msgstr "Disminuir un contador interno para el número de exportaciones."
-#: ../Doc/c-api/typeobj.rst:2372
+#: ../Doc/c-api/typeobj.rst:2375
msgid "If the counter is ``0``, free all memory associated with *view*."
msgstr "Si el contador es ``0``, libera toda la memoria asociada con *view*."
-#: ../Doc/c-api/typeobj.rst:2374
+#: ../Doc/c-api/typeobj.rst:2377
msgid ""
"The exporter MUST use the :c:member:`~Py_buffer.internal` field to keep "
"track of buffer-specific resources. This field is guaranteed to remain "
@@ -4165,9 +4158,10 @@ msgstr ""
"que este campo permanecerá constante, mientras que un consumidor PUEDE pasar "
"una copia del búfer original como argumento *view*."
-#: ../Doc/c-api/typeobj.rst:2380
+#: ../Doc/c-api/typeobj.rst:2383
+#, fuzzy
msgid ""
-"This function MUST NOT decrement :c:data:`view->obj`, since that is done "
+"This function MUST NOT decrement :c:expr:`view->obj`, since that is done "
"automatically in :c:func:`PyBuffer_Release` (this scheme is useful for "
"breaking reference cycles)."
msgstr ""
@@ -4175,7 +4169,7 @@ msgstr ""
"automáticamente en :c:func:`PyBuffer_Release` (este esquema es útil para "
"romper los ciclos de referencia)."
-#: ../Doc/c-api/typeobj.rst:2385
+#: ../Doc/c-api/typeobj.rst:2388
msgid ""
":c:func:`PyBuffer_Release` is the interface for the consumer that wraps this "
"function."
@@ -4183,11 +4177,11 @@ msgstr ""
":c:func:`PyBuffer_Release` es la interfaz para el consumidor que envuelve "
"esta función."
-#: ../Doc/c-api/typeobj.rst:2393
+#: ../Doc/c-api/typeobj.rst:2396
msgid "Async Object Structures"
msgstr "Estructuras de objetos asíncronos"
-#: ../Doc/c-api/typeobj.rst:2401
+#: ../Doc/c-api/typeobj.rst:2404
msgid ""
"This structure holds pointers to the functions required to implement :term:"
"`awaitable` and :term:`asynchronous iterator` objects."
@@ -4196,29 +4190,32 @@ msgstr ""
"implementar objetos \"esperable\" (:term:`awaitable`) y \"iterador "
"asincrónico\" (:term:`asynchronous iterator`)."
-#: ../Doc/c-api/typeobj.rst:2419
+#: ../Doc/c-api/typeobj.rst:2422
+#, fuzzy
msgid ""
-"The returned object must be an iterator, i.e. :c:func:`PyIter_Check` must "
-"return ``1`` for it."
+"The returned object must be an :term:`iterator`, i.e. :c:func:`PyIter_Check` "
+"must return ``1`` for it."
msgstr ""
"El objeto retornado debe ser un iterador, es decir :c:func:`PyIter_Check` "
"debe retornar ``1`` para ello."
-#: ../Doc/c-api/typeobj.rst:2422
+#: ../Doc/c-api/typeobj.rst:2425
msgid ""
"This slot may be set to ``NULL`` if an object is not an :term:`awaitable`."
msgstr ""
"Este espacio puede establecerse en ``NULL`` si un objeto no es :term:"
"`awaitable`."
-#: ../Doc/c-api/typeobj.rst:2430
+#: ../Doc/c-api/typeobj.rst:2433
+#, fuzzy
msgid ""
-"Must return an :term:`awaitable` object. See :meth:`__anext__` for details."
+"Must return an :term:`asynchronous iterator` object. See :meth:`__anext__` "
+"for details."
msgstr ""
"Debe retornar un objeto \"esperable\" (:term:`awaitable`). Ver :meth:"
"`__anext__` para más detalles."
-#: ../Doc/c-api/typeobj.rst:2432
+#: ../Doc/c-api/typeobj.rst:2436
msgid ""
"This slot may be set to ``NULL`` if an object does not implement "
"asynchronous iteration protocol."
@@ -4226,7 +4223,7 @@ msgstr ""
"Este espacio puede establecerse en ``NULL`` si un objeto no implementa el "
"protocolo de iteración asincrónica."
-#: ../Doc/c-api/typeobj.rst:2441
+#: ../Doc/c-api/typeobj.rst:2445
msgid ""
"Must return an :term:`awaitable` object. See :meth:`__anext__` for details. "
"This slot may be set to ``NULL``."
@@ -4234,18 +4231,18 @@ msgstr ""
"Debe retornar un objeto \"esperable\" (:term:`awaitable`). Ver :meth:"
"`__anext__` para más detalles. Esta ranura puede establecerse en ``NULL``."
-#: ../Doc/c-api/typeobj.rst:2450
+#: ../Doc/c-api/typeobj.rst:2454
msgid ""
"See :c:func:`PyIter_Send` for details. This slot may be set to ``NULL``."
msgstr ""
"Consulte :c:func:`PyIter_Send` para obtener más detalles. Esta ranura se "
"puede establecer en ``NULL``."
-#: ../Doc/c-api/typeobj.rst:2459
+#: ../Doc/c-api/typeobj.rst:2463
msgid "Slot Type typedefs"
msgstr "Tipo Ranura *typedefs*"
-#: ../Doc/c-api/typeobj.rst:2463
+#: ../Doc/c-api/typeobj.rst:2467
msgid ""
"The purpose of this function is to separate memory allocation from memory "
"initialization. It should return a pointer to a block of memory of adequate "
@@ -4269,7 +4266,7 @@ msgstr ""
"``sizeof(void*)``; de lo contrario, *nitems* no se usa y la longitud del "
"bloque debe ser :c:member:`~PyTypeObject.tp_basicsize`."
-#: ../Doc/c-api/typeobj.rst:2473
+#: ../Doc/c-api/typeobj.rst:2477
msgid ""
"This function should not do any other instance initialization, not even to "
"allocate additional memory; that should be done by :c:member:`~PyTypeObject."
@@ -4279,27 +4276,27 @@ msgstr ""
"siquiera para asignar memoria adicional; eso debe ser realizado por :c:"
"member:`~PyTypeObject.tp_new`."
-#: ../Doc/c-api/typeobj.rst:2480
+#: ../Doc/c-api/typeobj.rst:2484
msgid "See :c:member:`~PyTypeObject.tp_free`."
msgstr "Consulte :c:member:`~PyTypeObject.tp_free`."
-#: ../Doc/c-api/typeobj.rst:2484
+#: ../Doc/c-api/typeobj.rst:2488
msgid "See :c:member:`~PyTypeObject.tp_new`."
msgstr "Consulte :c:member:`~PyTypeObject.tp_new`."
-#: ../Doc/c-api/typeobj.rst:2488
+#: ../Doc/c-api/typeobj.rst:2492
msgid "See :c:member:`~PyTypeObject.tp_init`."
msgstr "Consulte :c:member:`~PyTypeObject.tp_init`."
-#: ../Doc/c-api/typeobj.rst:2492
+#: ../Doc/c-api/typeobj.rst:2496
msgid "See :c:member:`~PyTypeObject.tp_repr`."
msgstr "Consulte :c:member:`~PyTypeObject.tp_repr`."
-#: ../Doc/c-api/typeobj.rst:2496 ../Doc/c-api/typeobj.rst:2505
+#: ../Doc/c-api/typeobj.rst:2500 ../Doc/c-api/typeobj.rst:2509
msgid "Return the value of the named attribute for the object."
msgstr "Retorna el valor del atributo nombrado para el objeto."
-#: ../Doc/c-api/typeobj.rst:2500 ../Doc/c-api/typeobj.rst:2511
+#: ../Doc/c-api/typeobj.rst:2504 ../Doc/c-api/typeobj.rst:2515
msgid ""
"Set the value of the named attribute for the object. The value argument is "
"set to ``NULL`` to delete the attribute."
@@ -4307,47 +4304,49 @@ msgstr ""
"Establece el valor del atributo nombrado para el objeto. El argumento del "
"valor se establece en ``NULL`` para eliminar el atributo."
-#: ../Doc/c-api/typeobj.rst:2507
+#: ../Doc/c-api/typeobj.rst:2511
msgid "See :c:member:`~PyTypeObject.tp_getattro`."
msgstr "Consulte :c:member:`~PyTypeObject.tp_getattro`."
-#: ../Doc/c-api/typeobj.rst:2514
+#: ../Doc/c-api/typeobj.rst:2518
msgid "See :c:member:`~PyTypeObject.tp_setattro`."
msgstr "Consulte :c:member:`~PyTypeObject.tp_setattro`."
-#: ../Doc/c-api/typeobj.rst:2518
-msgid "See :c:member:`~PyTypeObject.tp_descrget`."
+#: ../Doc/c-api/typeobj.rst:2522
+#, fuzzy
+msgid "See :c:member:`~PyTypeObject.tp_descr_get`."
msgstr "Consulte :c:member:`~PyTypeObject.tp_descrget`."
-#: ../Doc/c-api/typeobj.rst:2522
-msgid "See :c:member:`~PyTypeObject.tp_descrset`."
+#: ../Doc/c-api/typeobj.rst:2526
+#, fuzzy
+msgid "See :c:member:`~PyTypeObject.tp_descr_set`."
msgstr "Consulte :c:member:`~PyTypeObject.tp_descrset`."
-#: ../Doc/c-api/typeobj.rst:2526
+#: ../Doc/c-api/typeobj.rst:2530
msgid "See :c:member:`~PyTypeObject.tp_hash`."
msgstr "Consulte :c:member:`~PyTypeObject.tp_hash`."
-#: ../Doc/c-api/typeobj.rst:2530
+#: ../Doc/c-api/typeobj.rst:2534
msgid "See :c:member:`~PyTypeObject.tp_richcompare`."
msgstr "Consulte :c:member:`~PyTypeObject.tp_richcompare`."
-#: ../Doc/c-api/typeobj.rst:2534
+#: ../Doc/c-api/typeobj.rst:2538
msgid "See :c:member:`~PyTypeObject.tp_iter`."
msgstr "Consulte :c:member:`~PyTypeObject.tp_iter`."
-#: ../Doc/c-api/typeobj.rst:2538
+#: ../Doc/c-api/typeobj.rst:2542
msgid "See :c:member:`~PyTypeObject.tp_iternext`."
msgstr "Consulte :c:member:`~PyTypeObject.tp_iternext`."
-#: ../Doc/c-api/typeobj.rst:2552
+#: ../Doc/c-api/typeobj.rst:2556
msgid "See :c:member:`~PyAsyncMethods.am_send`."
msgstr "Consulte :c:member:`~PyAsyncMethods.am_send`."
-#: ../Doc/c-api/typeobj.rst:2568
+#: ../Doc/c-api/typeobj.rst:2572
msgid "Examples"
msgstr "Ejemplos"
-#: ../Doc/c-api/typeobj.rst:2570
+#: ../Doc/c-api/typeobj.rst:2574
msgid ""
"The following are simple examples of Python type definitions. They include "
"common usage you may encounter. Some demonstrate tricky corner cases. For "
@@ -4360,11 +4359,11 @@ msgstr ""
"un tutorial, consulte \"definiendo nuevos tipos\" (:ref:`defining-new-"
"types`) y \"tópicos de nuevos tipos (:ref:`new-types-topics`)."
-#: ../Doc/c-api/typeobj.rst:2575
+#: ../Doc/c-api/typeobj.rst:2579
msgid "A basic :ref:`static type `::"
msgstr "Un :ref:`tipo estático ` básico:"
-#: ../Doc/c-api/typeobj.rst:2592
+#: ../Doc/c-api/typeobj.rst:2596
msgid ""
"You may also find older code (especially in the CPython code base) with a "
"more verbose initializer::"
@@ -4372,13 +4371,13 @@ msgstr ""
"También puede encontrar código más antiguo (especialmente en la base de "
"código CPython) con un inicializador más detallado::"
-#: ../Doc/c-api/typeobj.rst:2636
+#: ../Doc/c-api/typeobj.rst:2640
msgid "A type that supports weakrefs, instance dicts, and hashing::"
msgstr ""
"Un tipo que admite referencias débiles, instancias de diccionarios (*dicts*) "
"y *hashing*::"
-#: ../Doc/c-api/typeobj.rst:2663
+#: ../Doc/c-api/typeobj.rst:2667
msgid ""
"A str subclass that cannot be subclassed and cannot be called to create "
"instances (e.g. uses a separate factory func) using :c:data:"
@@ -4388,17 +4387,70 @@ msgstr ""
"crear instancias (por ejemplo, usa una función de fábrica separada) usando "
"el indicador :c:data:`Py_TPFLAGS_DISALLOW_INSTANTIATION`:"
-#: ../Doc/c-api/typeobj.rst:2682
+#: ../Doc/c-api/typeobj.rst:2686
msgid ""
"The simplest :ref:`static type ` with fixed-length instances::"
msgstr ""
"El :ref:`tipo estático ` más simple con instancias de longitud "
"fija:"
-#: ../Doc/c-api/typeobj.rst:2693
+#: ../Doc/c-api/typeobj.rst:2697
msgid ""
"The simplest :ref:`static type ` with variable-length "
"instances::"
msgstr ""
"El :ref:`tipo estático ` más simple con instancias de longitud "
"variable:"
+
+#~ msgid "Py_ssize_t"
+#~ msgstr "Py_ssize_t"
+
+#~ msgid ""
+#~ "The semantics of the ``tp_vectorcall_offset`` slot are provisional and "
+#~ "expected to be finalized in Python 3.9. If you use vectorcall, plan for "
+#~ "updating your code for Python 3.9."
+#~ msgstr ""
+#~ "La semántica de la ranura ``tp_vectorcall_offset`` es provisional y se "
+#~ "espera que finalice en Python 3.9. Si usa *vectorcall*, planifique "
+#~ "actualizar su código para Python 3.9."
+
+#~ msgid ""
+#~ "This bit is inherited for :ref:`static subtypes ` if :c:"
+#~ "member:`~PyTypeObject.tp_call` is also inherited. :ref:`Heap types ` do not inherit ``Py_TPFLAGS_HAVE_VECTORCALL``."
+#~ msgstr ""
+#~ "Este bit se hereda para :ref:`static subtypes ` si también "
+#~ "se hereda :c:member:`~PyTypeObject.tp_call`. :ref:`Tipos heap ` no hereda ``Py_TPFLAGS_HAVE_VECTORCALL``."
+
+#~ msgid ""
+#~ "The real dictionary offset in an instance can be computed from a "
+#~ "negative :c:member:`~PyTypeObject.tp_dictoffset` as follows::"
+#~ msgstr ""
+#~ "El desplazamiento real del diccionario en una instancia se puede calcular "
+#~ "a partir de un elemento negativo :c:member:`~PyTypeObject.tp_dictoffset` "
+#~ "de la siguiente manera::"
+
+#~ msgid ""
+#~ "where :c:member:`~PyTypeObject.tp_basicsize`, :c:member:`~PyTypeObject."
+#~ "tp_itemsize` and :c:member:`~PyTypeObject.tp_dictoffset` are taken from "
+#~ "the type object, and :attr:`ob_size` is taken from the instance. The "
+#~ "absolute value is taken because ints use the sign of :attr:`ob_size` to "
+#~ "store the sign of the number. (There's never a need to do this "
+#~ "calculation yourself; it is done for you by :c:func:"
+#~ "`_PyObject_GetDictPtr`.)"
+#~ msgstr ""
+#~ "donde :c:member:`~PyTypeObject.tp_basicsize`, :c:member:`~PyTypeObject."
+#~ "tp_itemsize` y :c:member:`~PyTypeObject.tp_dictoffset` se toman del "
+#~ "objeto *type*, y :attr:`ob_size` está tomado de la instancia. Se toma el "
+#~ "valor absoluto porque *ints* usa el signo de :attr:`ob_size` para "
+#~ "almacenar el signo del número. (Nunca es necesario hacer este cálculo "
+#~ "usted mismo; lo hace por usted la función :c:func:`_PyObject_GetDictPtr`.)"
+
+#~ msgid ""
+#~ "For this field to be taken into account (even through inheritance), you "
+#~ "must also set the :const:`Py_TPFLAGS_HAVE_FINALIZE` flags bit."
+#~ msgstr ""
+#~ "Para que este campo se tenga en cuenta (incluso a través de la herencia), "
+#~ "también debe establecer el bit de banderas :const:"
+#~ "`Py_TPFLAGS_HAVE_FINALIZE`."
diff --git a/c-api/unicode.po b/c-api/unicode.po
index 4ce4dc23f3..4432028a4c 100644
--- a/c-api/unicode.po
+++ b/c-api/unicode.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-16 21:42+0200\n"
+"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-10-30 20:53-0300\n"
"Last-Translator: Cristián Maureira-Fredes \n"
"Language: es\n"
@@ -20,8 +20,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.1\n"
-"X-Generator: Poedit 3.0\n"
+"Generated-By: Babel 2.10.3\n"
#: ../Doc/c-api/unicode.rst:6
msgid "Unicode Objects and Codecs"
@@ -49,9 +48,10 @@ msgstr ""
"rango completo de Unicode)."
#: ../Doc/c-api/unicode.rst:20
+#, fuzzy
msgid ""
-":c:type:`Py_UNICODE*` and UTF-8 representations are created on demand and "
-"cached in the Unicode object. The :c:type:`Py_UNICODE*` representation is "
+":c:expr:`Py_UNICODE*` and UTF-8 representations are created on demand and "
+"cached in the Unicode object. The :c:expr:`Py_UNICODE*` representation is "
"deprecated and inefficient."
msgstr ""
":c:type:`Py_UNICODE *` y las representaciones UTF-8 se crean a pedido y se "
@@ -79,9 +79,10 @@ msgstr ""
"la implementación."
#: ../Doc/c-api/unicode.rst:31
+#, fuzzy
msgid ""
"\"legacy\" Unicode objects have been created through one of the deprecated "
-"APIs (typically :c:func:`PyUnicode_FromUnicode`) and only bear the :c:type:"
+"APIs (typically :c:func:`PyUnicode_FromUnicode`) and only bear the :c:expr:"
"`Py_UNICODE*` representation; you will have to call :c:func:"
"`PyUnicode_READY` on them before calling any other API."
msgstr ""
@@ -124,8 +125,9 @@ msgstr ""
"con caracteres Unicode individuales, use :c:type:`Py_UCS4`."
#: ../Doc/c-api/unicode.rst:61
+#, fuzzy
msgid ""
-"This is a typedef of :c:type:`wchar_t`, which is a 16-bit type or 32-bit "
+"This is a typedef of :c:expr:`wchar_t`, which is a 16-bit type or 32-bit "
"type depending on the platform."
msgstr ""
"Este es una definición de tipo (*typedef*) de :c:type:`wchar_t`, que es un "
@@ -161,9 +163,10 @@ msgstr ""
"Está expuesto al código de Python como ``str``."
#: ../Doc/c-api/unicode.rst:87
+#, fuzzy
msgid ""
-"The following APIs are really C macros and can be used to do fast checks and "
-"to access internal read-only data of Unicode objects:"
+"The following APIs are C macros and static inlined functions for fast checks "
+"and access to internal read-only data of Unicode objects:"
msgstr ""
"Las siguientes API son realmente macros de C y se pueden utilizar para "
"realizar comprobaciones rápidas y acceder a datos internos de solo lectura "
@@ -246,8 +249,8 @@ msgid ""
msgstr ""
"Retorna una de las constantes de tipo ``PyUnicode`` (ver arriba) que indican "
"cuántos bytes por carácter utiliza este objeto Unicode para almacenar sus "
-"datos. *o* tiene que ser un objeto Unicode en la representación \"canónica"
-"\" (no marcada)."
+"datos. *o* tiene que ser un objeto Unicode en la representación "
+"\"canónica\" (no marcada)."
#: ../Doc/c-api/unicode.rst:165
msgid ""
@@ -258,12 +261,13 @@ msgstr ""
"objeto Unicode en la representación \"canónica\" (no marcada)."
#: ../Doc/c-api/unicode.rst:174
+#, fuzzy
msgid ""
"Write into a canonical representation *data* (as obtained with :c:func:"
-"`PyUnicode_DATA`). This macro does not do any sanity checks and is intended "
+"`PyUnicode_DATA`). This function performs no sanity checks, and is intended "
"for usage in loops. The caller should cache the *kind* value and *data* "
-"pointer as obtained from other macro calls. *index* is the index in the "
-"string (starts at 0) and *value* is the new code point value which should be "
+"pointer as obtained from other calls. *index* is the index in the string "
+"(starts at 0) and *value* is the new code point value which should be "
"written to that location."
msgstr ""
"Escribe en una representación canónica *data* (como se obtiene con :c:func:"
@@ -274,7 +278,7 @@ msgstr ""
"y *value* es el nuevo valor del punto de código que debe escribirse en esa "
"ubicación."
-#: ../Doc/c-api/unicode.rst:186
+#: ../Doc/c-api/unicode.rst:187
msgid ""
"Read a code point from a canonical representation *data* (as obtained with :"
"c:func:`PyUnicode_DATA`). No checks or ready calls are performed."
@@ -283,17 +287,17 @@ msgstr ""
"c:func:`PyUnicode_DATA`). No se realizan verificaciones ni llamadas "
"preparadas."
-#: ../Doc/c-api/unicode.rst:194
+#: ../Doc/c-api/unicode.rst:195
msgid ""
-"Read a character from a Unicode object *o*, which must be in the \"canonical"
-"\" representation. This is less efficient than :c:func:`PyUnicode_READ` if "
-"you do multiple consecutive reads."
+"Read a character from a Unicode object *o*, which must be in the "
+"\"canonical\" representation. This is less efficient than :c:func:"
+"`PyUnicode_READ` if you do multiple consecutive reads."
msgstr ""
"Lee un carácter de un objeto Unicode *o*, que debe estar en la "
"representación \"canónica\". Esto es menos eficiente que :c:func:"
"`PyUnicode_READ` si realiza varias lecturas consecutivas."
-#: ../Doc/c-api/unicode.rst:203
+#: ../Doc/c-api/unicode.rst:204
msgid ""
"Return the maximum code point that is suitable for creating another string "
"based on *o*, which must be in the \"canonical\" representation. This is "
@@ -304,7 +308,7 @@ msgstr ""
"Esto siempre es una aproximación pero más eficiente que iterar sobre la "
"cadena."
-#: ../Doc/c-api/unicode.rst:212
+#: ../Doc/c-api/unicode.rst:213
msgid ""
"Return the size of the deprecated :c:type:`Py_UNICODE` representation, in "
"code units (this includes surrogate pairs as 2 units). *o* has to be a "
@@ -314,8 +318,8 @@ msgstr ""
"unidades de código (esto incluye pares sustitutos como 2 unidades). *o* "
"tiene que ser un objeto Unicode (no marcado)."
-#: ../Doc/c-api/unicode.rst:218 ../Doc/c-api/unicode.rst:228
-#: ../Doc/c-api/unicode.rst:756
+#: ../Doc/c-api/unicode.rst:219 ../Doc/c-api/unicode.rst:229
+#: ../Doc/c-api/unicode.rst:752
msgid ""
"Part of the old-style Unicode API, please migrate to using :c:func:"
"`PyUnicode_GET_LENGTH`."
@@ -323,7 +327,7 @@ msgstr ""
"Parte de la API Unicode de estilo antiguo, por favor migrar para usar :c:"
"func:`PyUnicode_GET_LENGTH`."
-#: ../Doc/c-api/unicode.rst:223
+#: ../Doc/c-api/unicode.rst:224
msgid ""
"Return the size of the deprecated :c:type:`Py_UNICODE` representation in "
"bytes. *o* has to be a Unicode object (not checked)."
@@ -331,13 +335,14 @@ msgstr ""
"Retorna el tamaño de la representación en desuso :c:type:`Py_UNICODE` en "
"bytes. *o* tiene que ser un objeto Unicode (no marcado)."
-#: ../Doc/c-api/unicode.rst:234
+#: ../Doc/c-api/unicode.rst:235
+#, fuzzy
msgid ""
"Return a pointer to a :c:type:`Py_UNICODE` representation of the object. "
"The returned buffer is always terminated with an extra null code point. It "
"may also contain embedded null code points, which would cause the string to "
"be truncated when used in most C functions. The ``AS_DATA`` form casts the "
-"pointer to :c:type:`const char *`. The *o* argument has to be a Unicode "
+"pointer to :c:expr:`const char *`. The *o* argument has to be a Unicode "
"object (not checked)."
msgstr ""
"Retorna un puntero a una representación :c:type:`Py_UNICODE` del objeto. El "
@@ -347,9 +352,10 @@ msgstr ""
"funciones de C. La forma ``AS_DATA`` arroja el puntero a :c:type:`const char "
"*`. El argumento *o* tiene que ser un objeto Unicode (no marcado)."
-#: ../Doc/c-api/unicode.rst:241
+#: ../Doc/c-api/unicode.rst:242
+#, fuzzy
msgid ""
-"This macro is now inefficient -- because in many cases the :c:type:"
+"This function is now inefficient -- because in many cases the :c:type:"
"`Py_UNICODE` representation does not exist and needs to be created -- and "
"can fail (return ``NULL`` with an exception set). Try to port the code to "
"use the new :c:func:`PyUnicode_nBYTE_DATA` macros or use :c:func:"
@@ -361,7 +367,7 @@ msgstr ""
"las nuevas macros :c:func:`PyUnicode_nBYTE_DATA` o use :c:func:"
"`PyUnicode_WRITE` o :c:func:`PyUnicode_READ`."
-#: ../Doc/c-api/unicode.rst:250
+#: ../Doc/c-api/unicode.rst:251
msgid ""
"Part of the old-style Unicode API, please migrate to using the :c:func:"
"`PyUnicode_nBYTE_DATA` family of macros."
@@ -369,7 +375,7 @@ msgstr ""
"Parte de la antigua API Unicode, por favor migre para usar la familia de "
"macros :c:func:`PyUnicode_nBYTE_DATA`."
-#: ../Doc/c-api/unicode.rst:255
+#: ../Doc/c-api/unicode.rst:256
msgid ""
"Return ``1`` if the string is a valid identifier according to the language "
"definition, section :ref:`identifiers`. Return ``0`` otherwise."
@@ -378,7 +384,7 @@ msgstr ""
"acuerdo con la definición del lenguaje, sección :ref:`identifiers`. Retorna "
"``0`` de lo contrario."
-#: ../Doc/c-api/unicode.rst:258
+#: ../Doc/c-api/unicode.rst:259
msgid ""
"The function does not call :c:func:`Py_FatalError` anymore if the string is "
"not ready."
@@ -386,11 +392,11 @@ msgstr ""
"La función ya no llama a :c:func:`Py_FatalError` si la cadena de caracteres "
"no está lista."
-#: ../Doc/c-api/unicode.rst:264
+#: ../Doc/c-api/unicode.rst:265
msgid "Unicode Character Properties"
msgstr "Propiedades de caracteres Unicode"
-#: ../Doc/c-api/unicode.rst:266
+#: ../Doc/c-api/unicode.rst:267
msgid ""
"Unicode provides many different character properties. The most often needed "
"ones are available through these macros which are mapped to C functions "
@@ -400,66 +406,66 @@ msgstr ""
"necesitan con mayor frecuencia están disponibles a través de estas macros "
"que se asignan a las funciones de C según la configuración de Python."
-#: ../Doc/c-api/unicode.rst:273
+#: ../Doc/c-api/unicode.rst:274
msgid ""
"Return ``1`` or ``0`` depending on whether *ch* is a whitespace character."
msgstr ""
"Retorna ``1`` o ``0`` dependiendo de si *ch* es un carácter de espacio en "
"blanco."
-#: ../Doc/c-api/unicode.rst:278
+#: ../Doc/c-api/unicode.rst:279
msgid ""
"Return ``1`` or ``0`` depending on whether *ch* is a lowercase character."
msgstr ""
"Retorna ``1`` o ``0`` dependiendo de si *ch* es un carácter en minúscula."
-#: ../Doc/c-api/unicode.rst:283
+#: ../Doc/c-api/unicode.rst:284
msgid ""
"Return ``1`` or ``0`` depending on whether *ch* is an uppercase character."
msgstr ""
"Retorna ``1`` o ``0`` dependiendo de si *ch* es un carácter en mayúscula."
-#: ../Doc/c-api/unicode.rst:288
+#: ../Doc/c-api/unicode.rst:289
msgid ""
"Return ``1`` or ``0`` depending on whether *ch* is a titlecase character."
msgstr ""
"Retorna ``1`` o ``0`` dependiendo de si *ch* es un carácter en caso de "
"título (*titlecase*)."
-#: ../Doc/c-api/unicode.rst:293
+#: ../Doc/c-api/unicode.rst:294
msgid ""
"Return ``1`` or ``0`` depending on whether *ch* is a linebreak character."
msgstr ""
"Retorna ``1`` o ``0`` dependiendo de si *ch* es un carácter de salto de "
"línea."
-#: ../Doc/c-api/unicode.rst:298
+#: ../Doc/c-api/unicode.rst:299
msgid "Return ``1`` or ``0`` depending on whether *ch* is a decimal character."
msgstr ""
"Retorna ``1`` o ``0`` dependiendo de si *ch* es un carácter decimal o no."
-#: ../Doc/c-api/unicode.rst:303
+#: ../Doc/c-api/unicode.rst:304
msgid "Return ``1`` or ``0`` depending on whether *ch* is a digit character."
msgstr ""
"Retorna ``1`` o ``0`` dependiendo de si *ch* es un carácter de dígitos."
-#: ../Doc/c-api/unicode.rst:308
+#: ../Doc/c-api/unicode.rst:309
msgid "Return ``1`` or ``0`` depending on whether *ch* is a numeric character."
msgstr "Retorna ``1`` o ``0`` dependiendo de si *ch* es un carácter numérico."
-#: ../Doc/c-api/unicode.rst:313
+#: ../Doc/c-api/unicode.rst:314
msgid ""
"Return ``1`` or ``0`` depending on whether *ch* is an alphabetic character."
msgstr ""
"Retorna ``1`` o ``0`` dependiendo de si *ch* es un carácter alfabético."
-#: ../Doc/c-api/unicode.rst:318
+#: ../Doc/c-api/unicode.rst:319
msgid ""
"Return ``1`` or ``0`` depending on whether *ch* is an alphanumeric character."
msgstr ""
"Retorna ``1`` o ``0`` dependiendo de si *ch* es un carácter alfanumérico."
-#: ../Doc/c-api/unicode.rst:323
+#: ../Doc/c-api/unicode.rst:324
msgid ""
"Return ``1`` or ``0`` depending on whether *ch* is a printable character. "
"Nonprintable characters are those characters defined in the Unicode "
@@ -478,29 +484,29 @@ msgstr ""
"con el manejo de cadenas de caracteres escritas en :data:`sys.stdout` o :"
"data:`sys.stderr`.)"
-#: ../Doc/c-api/unicode.rst:332
+#: ../Doc/c-api/unicode.rst:333
msgid "These APIs can be used for fast direct character conversions:"
msgstr ""
"Estas API se pueden usar para conversiones caracteres rápidas y directos:"
-#: ../Doc/c-api/unicode.rst:337
+#: ../Doc/c-api/unicode.rst:338
msgid "Return the character *ch* converted to lower case."
msgstr "Retorna el carácter *ch* convertido a minúsculas."
-#: ../Doc/c-api/unicode.rst:339 ../Doc/c-api/unicode.rst:347
-#: ../Doc/c-api/unicode.rst:355
+#: ../Doc/c-api/unicode.rst:340 ../Doc/c-api/unicode.rst:348
+#: ../Doc/c-api/unicode.rst:356
msgid "This function uses simple case mappings."
msgstr "Esta función utiliza conversiones simples."
-#: ../Doc/c-api/unicode.rst:345
+#: ../Doc/c-api/unicode.rst:346
msgid "Return the character *ch* converted to upper case."
msgstr "Retorna el carácter *ch* convertido a mayúsculas."
-#: ../Doc/c-api/unicode.rst:353
+#: ../Doc/c-api/unicode.rst:354
msgid "Return the character *ch* converted to title case."
msgstr "Retorna el carácter *ch* convertido a formato de título (*titlecase*)."
-#: ../Doc/c-api/unicode.rst:361
+#: ../Doc/c-api/unicode.rst:362
msgid ""
"Return the character *ch* converted to a decimal positive integer. Return "
"``-1`` if this is not possible. This macro does not raise exceptions."
@@ -508,7 +514,7 @@ msgstr ""
"Retorna el carácter *ch* convertido a un entero positivo decimal. Retorna "
"``-1`` si esto no es posible. Esta macro no lanza excepciones."
-#: ../Doc/c-api/unicode.rst:367
+#: ../Doc/c-api/unicode.rst:368
msgid ""
"Return the character *ch* converted to a single digit integer. Return ``-1`` "
"if this is not possible. This macro does not raise exceptions."
@@ -516,7 +522,7 @@ msgstr ""
"Retorna el carácter *ch* convertido a un entero de un solo dígito. Retorna "
"``-1`` si esto no es posible. Esta macro no lanza excepciones."
-#: ../Doc/c-api/unicode.rst:373
+#: ../Doc/c-api/unicode.rst:374
msgid ""
"Return the character *ch* converted to a double. Return ``-1.0`` if this is "
"not possible. This macro does not raise exceptions."
@@ -524,23 +530,23 @@ msgstr ""
"Retorna el carácter *ch* convertido a doble. retorne ``-1.0`` si esto no es "
"posible. Esta macro no lanza excepciones."
-#: ../Doc/c-api/unicode.rst:377
+#: ../Doc/c-api/unicode.rst:378
msgid "These APIs can be used to work with surrogates:"
msgstr "Estas API se pueden usar para trabajar con sustitutos:"
-#: ../Doc/c-api/unicode.rst:381
+#: ../Doc/c-api/unicode.rst:382
msgid "Check if *ch* is a surrogate (``0xD800 <= ch <= 0xDFFF``)."
msgstr "Comprueba si *ch* es un sustituto (``0xD800 <= ch <= 0xDFFF``)."
-#: ../Doc/c-api/unicode.rst:385
+#: ../Doc/c-api/unicode.rst:386
msgid "Check if *ch* is a high surrogate (``0xD800 <= ch <= 0xDBFF``)."
msgstr "Comprueba si *ch* es un sustituto alto (``0xD800 <= ch <= 0xDFFF``)."
-#: ../Doc/c-api/unicode.rst:389
+#: ../Doc/c-api/unicode.rst:390
msgid "Check if *ch* is a low surrogate (``0xDC00 <= ch <= 0xDFFF``)."
msgstr "Comprueba si *ch* es un sustituto bajo (``0xD800 <= ch <= 0xDFFF``)."
-#: ../Doc/c-api/unicode.rst:393
+#: ../Doc/c-api/unicode.rst:394
msgid ""
"Join two surrogate characters and return a single Py_UCS4 value. *high* and "
"*low* are respectively the leading and trailing surrogates in a surrogate "
@@ -550,11 +556,11 @@ msgstr ""
"*low* son respectivamente los sustitutos iniciales y finales en un par "
"sustituto."
-#: ../Doc/c-api/unicode.rst:399
+#: ../Doc/c-api/unicode.rst:400
msgid "Creating and accessing Unicode strings"
msgstr "Creando y accediendo a cadenas de caracteres Unicode"
-#: ../Doc/c-api/unicode.rst:401
+#: ../Doc/c-api/unicode.rst:402
msgid ""
"To create Unicode objects and access their basic sequence properties, use "
"these APIs:"
@@ -562,7 +568,7 @@ msgstr ""
"Para crear objetos Unicode y acceder a sus propiedades de secuencia básicas, "
"use estas API:"
-#: ../Doc/c-api/unicode.rst:406
+#: ../Doc/c-api/unicode.rst:407
msgid ""
"Create a new Unicode object. *maxchar* should be the true maximum code "
"point to be placed in the string. As an approximation, it can be rounded up "
@@ -572,7 +578,7 @@ msgstr ""
"que se colocará en la cadena de caracteres. Como una aproximación, se puede "
"redondear al valor más cercano en la secuencia 127, 255, 65535, 1114111."
-#: ../Doc/c-api/unicode.rst:410
+#: ../Doc/c-api/unicode.rst:411
msgid ""
"This is the recommended way to allocate a new Unicode object. Objects "
"created using this function are not resizable."
@@ -580,7 +586,7 @@ msgstr ""
"Esta es la forma recomendada de asignar un nuevo objeto Unicode. Los objetos "
"creados con esta función no se pueden redimensionar."
-#: ../Doc/c-api/unicode.rst:419
+#: ../Doc/c-api/unicode.rst:420
msgid ""
"Create a new Unicode object with the given *kind* (possible values are :c:"
"macro:`PyUnicode_1BYTE_KIND` etc., as returned by :c:func:"
@@ -592,7 +598,15 @@ msgstr ""
"`PyUnicode_KIND`). El *búfer* debe apuntar a un vector (*array*) de *tamaño* "
"unidades de 1, 2 o 4 bytes por carácter, según el tipo."
-#: ../Doc/c-api/unicode.rst:429
+#: ../Doc/c-api/unicode.rst:425
+msgid ""
+"If necessary, the input *buffer* is copied and transformed into the "
+"canonical representation. For example, if the *buffer* is a UCS4 string (:c:"
+"macro:`PyUnicode_4BYTE_KIND`) and it consists only of codepoints in the UCS1 "
+"range, it will be transformed into UCS1 (:c:macro:`PyUnicode_1BYTE_KIND`)."
+msgstr ""
+
+#: ../Doc/c-api/unicode.rst:436
msgid ""
"Create a Unicode object from the char buffer *u*. The bytes will be "
"interpreted as being UTF-8 encoded. The buffer is copied into the new "
@@ -604,7 +618,7 @@ msgstr ""
"objeto. Si el búfer no es ``NULL``, el valor de retorno podría ser un objeto "
"compartido, es decir, no se permite la modificación de los datos."
-#: ../Doc/c-api/unicode.rst:434
+#: ../Doc/c-api/unicode.rst:441
msgid ""
"If *u* is ``NULL``, this function behaves like :c:func:"
"`PyUnicode_FromUnicode` with the buffer set to ``NULL``. This usage is "
@@ -615,14 +629,14 @@ msgstr ""
"`PyUnicode_FromUnicode` con el búfer establecido en ``NULL``. Este uso se "
"considera obsoleto (*deprecated*) en favor de :c:func:`PyUnicode_New`."
-#: ../Doc/c-api/unicode.rst:441
+#: ../Doc/c-api/unicode.rst:448
msgid ""
"Create a Unicode object from a UTF-8 encoded null-terminated char buffer *u*."
msgstr ""
"Crea un objeto Unicode a partir de un búfer *u* de caracteres terminado en "
"nulo y codificado en UTF-8."
-#: ../Doc/c-api/unicode.rst:447
+#: ../Doc/c-api/unicode.rst:454
msgid ""
"Take a C :c:func:`printf`\\ -style *format* string and a variable number of "
"arguments, calculate the size of the resulting Python Unicode string and "
@@ -638,253 +652,253 @@ msgstr ""
"caracteres *format* codificada en ASCII. Se permiten los siguientes "
"caracteres de formato:"
-#: ../Doc/c-api/unicode.rst:462
+#: ../Doc/c-api/unicode.rst:469
msgid "Format Characters"
msgstr "Formatear caracteres"
-#: ../Doc/c-api/unicode.rst:462
+#: ../Doc/c-api/unicode.rst:469
msgid "Type"
msgstr "Tipo"
-#: ../Doc/c-api/unicode.rst:462
+#: ../Doc/c-api/unicode.rst:469
msgid "Comment"
msgstr "Comentario"
-#: ../Doc/c-api/unicode.rst:464
+#: ../Doc/c-api/unicode.rst:471
#, python-format
msgid ":attr:`%%`"
msgstr ":attr:`%%`"
-#: ../Doc/c-api/unicode.rst:464
+#: ../Doc/c-api/unicode.rst:471
msgid "*n/a*"
msgstr "*n/a*"
-#: ../Doc/c-api/unicode.rst:464
+#: ../Doc/c-api/unicode.rst:471
#, python-format
msgid "The literal % character."
msgstr "El carácter literal %."
-#: ../Doc/c-api/unicode.rst:466
+#: ../Doc/c-api/unicode.rst:473
#, python-format
msgid ":attr:`%c`"
msgstr ":attr:`%c`"
-#: ../Doc/c-api/unicode.rst:466 ../Doc/c-api/unicode.rst:469
-#: ../Doc/c-api/unicode.rst:502 ../Doc/c-api/unicode.rst:505
+#: ../Doc/c-api/unicode.rst:473 ../Doc/c-api/unicode.rst:476
+#: ../Doc/c-api/unicode.rst:509 ../Doc/c-api/unicode.rst:512
msgid "int"
msgstr "int"
-#: ../Doc/c-api/unicode.rst:466
+#: ../Doc/c-api/unicode.rst:473
msgid "A single character, represented as a C int."
msgstr "Un solo carácter, representado como un entero (*int*) de C."
-#: ../Doc/c-api/unicode.rst:469
+#: ../Doc/c-api/unicode.rst:476
#, python-format
msgid ":attr:`%d`"
msgstr ":attr:`%d`"
-#: ../Doc/c-api/unicode.rst:469
+#: ../Doc/c-api/unicode.rst:476
#, python-format
msgid "Equivalent to ``printf(\"%d\")``. [1]_"
msgstr "Equivalente a ``printf(\"%d\")``. [1]_"
-#: ../Doc/c-api/unicode.rst:472
+#: ../Doc/c-api/unicode.rst:479
#, python-format
msgid ":attr:`%u`"
msgstr ":attr:`%u`"
-#: ../Doc/c-api/unicode.rst:472
+#: ../Doc/c-api/unicode.rst:479
msgid "unsigned int"
msgstr "unsigned int"
-#: ../Doc/c-api/unicode.rst:472
+#: ../Doc/c-api/unicode.rst:479
#, python-format
msgid "Equivalent to ``printf(\"%u\")``. [1]_"
msgstr "Equivalente a ``printf(\"%u\")``. [1]_"
-#: ../Doc/c-api/unicode.rst:475
+#: ../Doc/c-api/unicode.rst:482
#, python-format
msgid ":attr:`%ld`"
msgstr ":attr:`%ld`"
-#: ../Doc/c-api/unicode.rst:475 ../Doc/c-api/unicode.rst:478
+#: ../Doc/c-api/unicode.rst:482 ../Doc/c-api/unicode.rst:485
msgid "long"
msgstr "long"
-#: ../Doc/c-api/unicode.rst:475
+#: ../Doc/c-api/unicode.rst:482
#, python-format
msgid "Equivalent to ``printf(\"%ld\")``. [1]_"
msgstr "Equivalente a ``printf(\"%ld\")``. [1]_"
-#: ../Doc/c-api/unicode.rst:478
+#: ../Doc/c-api/unicode.rst:485
#, python-format
msgid ":attr:`%li`"
msgstr ":attr:`%li`"
-#: ../Doc/c-api/unicode.rst:478
+#: ../Doc/c-api/unicode.rst:485
#, python-format
msgid "Equivalent to ``printf(\"%li\")``. [1]_"
msgstr "Equivalente a ``printf(\"%li\")``. [1]_"
-#: ../Doc/c-api/unicode.rst:481
+#: ../Doc/c-api/unicode.rst:488
#, python-format
msgid ":attr:`%lu`"
msgstr ":attr:`%lu`"
-#: ../Doc/c-api/unicode.rst:481
+#: ../Doc/c-api/unicode.rst:488
msgid "unsigned long"
msgstr "unsigned long"
-#: ../Doc/c-api/unicode.rst:481
+#: ../Doc/c-api/unicode.rst:488
#, python-format
msgid "Equivalent to ``printf(\"%lu\")``. [1]_"
msgstr "Equivalente a ``printf(\"%lu\")``. [1]_"
-#: ../Doc/c-api/unicode.rst:484
+#: ../Doc/c-api/unicode.rst:491
msgid ":attr:`%lld`"
msgstr ":attr:`%lld`"
-#: ../Doc/c-api/unicode.rst:484 ../Doc/c-api/unicode.rst:487
+#: ../Doc/c-api/unicode.rst:491 ../Doc/c-api/unicode.rst:494
msgid "long long"
msgstr "long long"
-#: ../Doc/c-api/unicode.rst:484
+#: ../Doc/c-api/unicode.rst:491
msgid "Equivalent to ``printf(\"%lld\")``. [1]_"
msgstr "Equivalente a ``printf(\"%lld\")``. [1]_"
-#: ../Doc/c-api/unicode.rst:487
+#: ../Doc/c-api/unicode.rst:494
msgid ":attr:`%lli`"
msgstr ":attr:`%lli`"
-#: ../Doc/c-api/unicode.rst:487
+#: ../Doc/c-api/unicode.rst:494
msgid "Equivalent to ``printf(\"%lli\")``. [1]_"
msgstr "Equivalente a ``printf(\"%lli\")``. [1]_"
-#: ../Doc/c-api/unicode.rst:490
+#: ../Doc/c-api/unicode.rst:497
msgid ":attr:`%llu`"
msgstr ":attr:`%llu`"
-#: ../Doc/c-api/unicode.rst:490
+#: ../Doc/c-api/unicode.rst:497
msgid "unsigned long long"
msgstr "unsigned long long"
-#: ../Doc/c-api/unicode.rst:490
+#: ../Doc/c-api/unicode.rst:497
msgid "Equivalent to ``printf(\"%llu\")``. [1]_"
msgstr "Equivalente a ``printf(\"%llu\")``. [1]_"
-#: ../Doc/c-api/unicode.rst:493
+#: ../Doc/c-api/unicode.rst:500
msgid ":attr:`%zd`"
msgstr ":attr:`%zd`"
-#: ../Doc/c-api/unicode.rst:493 ../Doc/c-api/unicode.rst:496
-msgid "Py_ssize_t"
-msgstr "Py_ssize_t"
+#: ../Doc/c-api/unicode.rst:500 ../Doc/c-api/unicode.rst:503
+msgid ":c:type:`\\ Py_ssize_t`"
+msgstr ""
-#: ../Doc/c-api/unicode.rst:493
+#: ../Doc/c-api/unicode.rst:500
msgid "Equivalent to ``printf(\"%zd\")``. [1]_"
msgstr "Equivalente a ``printf(\"%zd\")``. [1]_"
-#: ../Doc/c-api/unicode.rst:496
+#: ../Doc/c-api/unicode.rst:503
msgid ":attr:`%zi`"
msgstr ":attr:`%zi`"
-#: ../Doc/c-api/unicode.rst:496
+#: ../Doc/c-api/unicode.rst:503
msgid "Equivalent to ``printf(\"%zi\")``. [1]_"
msgstr "Equivalente a ``printf(\"%zi\")``. [1]_"
-#: ../Doc/c-api/unicode.rst:499
+#: ../Doc/c-api/unicode.rst:506
msgid ":attr:`%zu`"
msgstr ":attr:`%zu`"
-#: ../Doc/c-api/unicode.rst:499
+#: ../Doc/c-api/unicode.rst:506
msgid "size_t"
msgstr "size_t"
-#: ../Doc/c-api/unicode.rst:499
+#: ../Doc/c-api/unicode.rst:506
msgid "Equivalent to ``printf(\"%zu\")``. [1]_"
msgstr "Equivalente a ``printf(\"%zu\")``. [1]_"
-#: ../Doc/c-api/unicode.rst:502
+#: ../Doc/c-api/unicode.rst:509
#, python-format
msgid ":attr:`%i`"
msgstr ":attr:`%i`"
-#: ../Doc/c-api/unicode.rst:502
+#: ../Doc/c-api/unicode.rst:509
#, python-format
msgid "Equivalent to ``printf(\"%i\")``. [1]_"
msgstr "Equivalente a ``printf(\"%i\")``. [1]_"
-#: ../Doc/c-api/unicode.rst:505
+#: ../Doc/c-api/unicode.rst:512
#, python-format
msgid ":attr:`%x`"
msgstr ":attr:`%x`"
-#: ../Doc/c-api/unicode.rst:505
+#: ../Doc/c-api/unicode.rst:512
#, python-format
msgid "Equivalent to ``printf(\"%x\")``. [1]_"
msgstr "Equivalente a ``printf(\"%x\")``. [1]_"
-#: ../Doc/c-api/unicode.rst:508
+#: ../Doc/c-api/unicode.rst:515
#, python-format
msgid ":attr:`%s`"
msgstr ":attr:`%s`"
-#: ../Doc/c-api/unicode.rst:508
+#: ../Doc/c-api/unicode.rst:515
msgid "const char\\*"
msgstr "const char\\*"
-#: ../Doc/c-api/unicode.rst:508
+#: ../Doc/c-api/unicode.rst:515
msgid "A null-terminated C character array."
msgstr "Un arreglo de caracteres de C terminada en nulo."
-#: ../Doc/c-api/unicode.rst:511
+#: ../Doc/c-api/unicode.rst:518
msgid ":attr:`%p`"
msgstr ":attr:`%p`"
-#: ../Doc/c-api/unicode.rst:511
+#: ../Doc/c-api/unicode.rst:518
msgid "const void\\*"
msgstr "const void\\*"
-#: ../Doc/c-api/unicode.rst:511
+#: ../Doc/c-api/unicode.rst:518
msgid ""
-"The hex representation of a C pointer. Mostly equivalent to ``printf(\"%p"
-"\")`` except that it is guaranteed to start with the literal ``0x`` "
-"regardless of what the platform's ``printf`` yields."
+"The hex representation of a C pointer. Mostly equivalent to "
+"``printf(\"%p\")`` except that it is guaranteed to start with the literal "
+"``0x`` regardless of what the platform's ``printf`` yields."
msgstr ""
"La representación hexadecimal de un puntero en C. Principalmente equivalente "
"a ``printf(\"%p\")`` excepto que se garantiza que comience con el literal "
"``0x``, independiente de lo que produzca el ``printf`` de la plataforma."
-#: ../Doc/c-api/unicode.rst:519
+#: ../Doc/c-api/unicode.rst:526
msgid ":attr:`%A`"
msgstr ":attr:`%A`"
-#: ../Doc/c-api/unicode.rst:519 ../Doc/c-api/unicode.rst:522
-#: ../Doc/c-api/unicode.rst:531 ../Doc/c-api/unicode.rst:534
+#: ../Doc/c-api/unicode.rst:526 ../Doc/c-api/unicode.rst:529
+#: ../Doc/c-api/unicode.rst:538 ../Doc/c-api/unicode.rst:541
msgid "PyObject\\*"
msgstr "PyObject\\*"
-#: ../Doc/c-api/unicode.rst:519
+#: ../Doc/c-api/unicode.rst:526
msgid "The result of calling :func:`ascii`."
msgstr "El resultado de llamar :func:`ascii`."
-#: ../Doc/c-api/unicode.rst:522
+#: ../Doc/c-api/unicode.rst:529
msgid ":attr:`%U`"
msgstr ":attr:`%U`"
-#: ../Doc/c-api/unicode.rst:522
+#: ../Doc/c-api/unicode.rst:529
msgid "A Unicode object."
msgstr "Un objeto Unicode."
-#: ../Doc/c-api/unicode.rst:524
+#: ../Doc/c-api/unicode.rst:531
msgid ":attr:`%V`"
msgstr ":attr:`%V`"
-#: ../Doc/c-api/unicode.rst:524
+#: ../Doc/c-api/unicode.rst:531
msgid "PyObject\\*, const char\\*"
msgstr "PyObject\\*, const char\\*"
-#: ../Doc/c-api/unicode.rst:524
+#: ../Doc/c-api/unicode.rst:531
msgid ""
"A Unicode object (which may be ``NULL``) and a null-terminated C character "
"array as a second parameter (which will be used, if the first parameter is "
@@ -894,23 +908,23 @@ msgstr ""
"terminada en nulo como segundo parámetro (que se utilizará, si el primer "
"parámetro es ``NULL``)."
-#: ../Doc/c-api/unicode.rst:531
+#: ../Doc/c-api/unicode.rst:538
msgid ":attr:`%S`"
msgstr ":attr:`%S`"
-#: ../Doc/c-api/unicode.rst:531
+#: ../Doc/c-api/unicode.rst:538
msgid "The result of calling :c:func:`PyObject_Str`."
msgstr "El resultado de llamar :c:func:`PyObject_Str`."
-#: ../Doc/c-api/unicode.rst:534
+#: ../Doc/c-api/unicode.rst:541
msgid ":attr:`%R`"
msgstr ":attr:`%R`"
-#: ../Doc/c-api/unicode.rst:534
+#: ../Doc/c-api/unicode.rst:541
msgid "The result of calling :c:func:`PyObject_Repr`."
msgstr "El resultado de llamar :c:func:`PyObject_Repr`."
-#: ../Doc/c-api/unicode.rst:538
+#: ../Doc/c-api/unicode.rst:545
msgid ""
"An unrecognized format character causes all the rest of the format string to "
"be copied as-is to the result string, and any extra arguments discarded."
@@ -919,7 +933,7 @@ msgstr ""
"formato se copie tal cual a la cadena de resultado y se descartan los "
"argumentos adicionales."
-#: ../Doc/c-api/unicode.rst:542
+#: ../Doc/c-api/unicode.rst:549
#, python-format
msgid ""
"The width formatter unit is number of characters rather than bytes. The "
@@ -929,12 +943,12 @@ msgid ""
"``PyObject*`` argument is not ``NULL``)."
msgstr ""
"La unidad del formateador de ancho es el número de caracteres en lugar de "
-"bytes. La unidad del formateador de precisión es la cantidad de bytes para ``"
-"\"%s\"`` y ``\"%V\" `` (si el argumento ``PyObject*`` es ``NULL``), y una "
+"bytes. La unidad del formateador de precisión es la cantidad de bytes para "
+"``\"%s\"`` y ``\"%V\" `` (si el argumento ``PyObject*`` es ``NULL``), y una "
"cantidad de caracteres para ``\"%A\"``, ``\"%U\"``, ``\"%S\"``, ``\"%R\"`` y "
"``\"%V\"`` (si el argumento ``PyObject*`` no es ``NULL``)."
-#: ../Doc/c-api/unicode.rst:548
+#: ../Doc/c-api/unicode.rst:555
msgid ""
"For integer specifiers (d, u, ld, li, lu, lld, lli, llu, zd, zi, zu, i, x): "
"the 0-conversion flag has effect even when a precision is given."
@@ -943,25 +957,25 @@ msgstr ""
"zu, i, x)*: el indicador de conversión 0 tiene efecto incluso cuando se "
"proporciona una precisión."
-#: ../Doc/c-api/unicode.rst:551
+#: ../Doc/c-api/unicode.rst:558
msgid "Support for ``\"%lld\"`` and ``\"%llu\"`` added."
msgstr "Soporte agregado para ``\"%lld\"`` y ``\"%llu\"``."
-#: ../Doc/c-api/unicode.rst:554
+#: ../Doc/c-api/unicode.rst:561
#, python-format
msgid "Support for ``\"%li\"``, ``\"%lli\"`` and ``\"%zi\"`` added."
msgstr "Soporte agregado para ``\"%li\"``, ``\"%lli\"`` y ``\"%zi\"``."
-#: ../Doc/c-api/unicode.rst:557
+#: ../Doc/c-api/unicode.rst:564
#, python-format
msgid ""
-"Support width and precision formatter for ``\"%s\"``, ``\"%A\"``, ``\"%U"
-"\"``, ``\"%V\"``, ``\"%S\"``, ``\"%R\"`` added."
+"Support width and precision formatter for ``\"%s\"``, ``\"%A\"``, "
+"``\"%U\"``, ``\"%V\"``, ``\"%S\"``, ``\"%R\"`` added."
msgstr ""
"Soporte agregado para formateadores de anchura y precisión para ``\"%s\"``, "
"``\"%A\"``, ``\"%U\"``, ``\"%V\"``, ``\"%S\"``, ``\"%R\"``."
-#: ../Doc/c-api/unicode.rst:564
+#: ../Doc/c-api/unicode.rst:571
msgid ""
"Identical to :c:func:`PyUnicode_FromFormat` except that it takes exactly two "
"arguments."
@@ -969,11 +983,11 @@ msgstr ""
"Idéntico a :c:func:`PyUnicode_FromFormat` excepto que toma exactamente dos "
"argumentos."
-#: ../Doc/c-api/unicode.rst:571
+#: ../Doc/c-api/unicode.rst:578
msgid "Decode an encoded object *obj* to a Unicode object."
msgstr "Decodifica un objeto codificado *obj* en un objeto Unicode."
-#: ../Doc/c-api/unicode.rst:573
+#: ../Doc/c-api/unicode.rst:580
msgid ""
":class:`bytes`, :class:`bytearray` and other :term:`bytes-like objects "
"` are decoded according to the given *encoding* and using "
@@ -986,7 +1000,7 @@ msgstr ""
"``NULL`` para que la interfaz use los valores predeterminados (ver :ref:"
"`builtincodecs` para más detalles)."
-#: ../Doc/c-api/unicode.rst:579
+#: ../Doc/c-api/unicode.rst:586
msgid ""
"All other objects, including Unicode objects, cause a :exc:`TypeError` to be "
"set."
@@ -994,7 +1008,7 @@ msgstr ""
"Todos los demás objetos, incluidos los objetos Unicode, hacen que se "
"establezca un :exc:`TypeError`."
-#: ../Doc/c-api/unicode.rst:582
+#: ../Doc/c-api/unicode.rst:589
msgid ""
"The API returns ``NULL`` if there was an error. The caller is responsible "
"for decref'ing the returned objects."
@@ -1002,11 +1016,11 @@ msgstr ""
"La API retorna ``NULL`` si hubo un error. La entidad que hace la llamadas es "
"la responsable de desreferenciar los objetos retornados."
-#: ../Doc/c-api/unicode.rst:588
+#: ../Doc/c-api/unicode.rst:595
msgid "Return the length of the Unicode object, in code points."
msgstr "Retorna la longitud del objeto Unicode, en puntos de código."
-#: ../Doc/c-api/unicode.rst:599
+#: ../Doc/c-api/unicode.rst:606
msgid ""
"Copy characters from one Unicode object into another. This function "
"performs character conversion when necessary and falls back to :c:func:"
@@ -1018,15 +1032,15 @@ msgstr ""
"es posible. Retorna ``-1`` y establece una excepción en caso de error; de lo "
"contrario, retorna el número de caracteres copiados."
-#: ../Doc/c-api/unicode.rst:610
+#: ../Doc/c-api/unicode.rst:617
msgid ""
-"Fill a string with a character: write *fill_char* into ``unicode[start:start"
-"+length]``."
+"Fill a string with a character: write *fill_char* into ``unicode[start:"
+"start+length]``."
msgstr ""
"Rellena una cadena con un carácter: escriba *fill_char* en ``unicode[inicio:"
"inicio+longitud]``."
-#: ../Doc/c-api/unicode.rst:613
+#: ../Doc/c-api/unicode.rst:620
msgid ""
"Fail if *fill_char* is bigger than the string maximum character, or if the "
"string has more than 1 reference."
@@ -1034,7 +1048,7 @@ msgstr ""
"Falla si *fill_char* es más grande que el carácter máximo de la cadena, o si "
"la cadena tiene más de 1 referencia."
-#: ../Doc/c-api/unicode.rst:616
+#: ../Doc/c-api/unicode.rst:623
msgid ""
"Return the number of written character, or return ``-1`` and raise an "
"exception on error."
@@ -1042,7 +1056,7 @@ msgstr ""
"Retorna el número de caracteres escritos o retorna ``-1`` y lanza una "
"excepción en caso de error."
-#: ../Doc/c-api/unicode.rst:625
+#: ../Doc/c-api/unicode.rst:632
msgid ""
"Write a character to a string. The string must have been created through :c:"
"func:`PyUnicode_New`. Since Unicode strings are supposed to be immutable, "
@@ -1053,7 +1067,7 @@ msgstr ""
"cadenas de caracteres Unicode son inmutables, la cadena no debe compartirse "
"o no se ha cifrado todavía."
-#: ../Doc/c-api/unicode.rst:629
+#: ../Doc/c-api/unicode.rst:636
msgid ""
"This function checks that *unicode* is a Unicode object, that the index is "
"not out of bounds, and that the object can be modified safely (i.e. that it "
@@ -1063,17 +1077,18 @@ msgstr ""
"está fuera de los límites y que el objeto se puede modificar de forma segura "
"(es decir, si su número de referencia es uno)."
-#: ../Doc/c-api/unicode.rst:638
+#: ../Doc/c-api/unicode.rst:645
+#, fuzzy
msgid ""
"Read a character from a string. This function checks that *unicode* is a "
-"Unicode object and the index is not out of bounds, in contrast to the macro "
-"version :c:func:`PyUnicode_READ_CHAR`."
+"Unicode object and the index is not out of bounds, in contrast to :c:func:"
+"`PyUnicode_READ_CHAR`, which performs no error checking."
msgstr ""
"Lee un carácter de una cadena de caracteres. Esta función verifica que "
"*unicode* es un objeto Unicode y que el índice no está fuera de límites, en "
"contraste con la versión de macro :c:func:`PyUnicode_READ_CHAR`."
-#: ../Doc/c-api/unicode.rst:648
+#: ../Doc/c-api/unicode.rst:655
msgid ""
"Return a substring of *str*, from character index *start* (included) to "
"character index *end* (excluded). Negative indices are not supported."
@@ -1082,7 +1097,7 @@ msgstr ""
"*start* (incluido) al índice de caracteres *end* (excluido). Los índices "
"negativos no son compatibles."
-#: ../Doc/c-api/unicode.rst:657
+#: ../Doc/c-api/unicode.rst:664
msgid ""
"Copy the string *u* into a UCS4 buffer, including a null character, if "
"*copy_null* is set. Returns ``NULL`` and sets an exception on error (in "
@@ -1094,7 +1109,7 @@ msgstr ""
"excepción en caso de error (en particular, a :exc:`SystemError` si *buflen* "
"es menor que la longitud de *u*). *buffer* se retorna en caso de éxito."
-#: ../Doc/c-api/unicode.rst:667
+#: ../Doc/c-api/unicode.rst:674
msgid ""
"Copy the string *u* into a new UCS4 buffer that is allocated using :c:func:"
"`PyMem_Malloc`. If this fails, ``NULL`` is returned with a :exc:"
@@ -1106,11 +1121,11 @@ msgstr ""
"exc:`MemoryError` establecido. El búfer retornado siempre tiene un punto de "
"código nulo adicional agregado."
-#: ../Doc/c-api/unicode.rst:676
+#: ../Doc/c-api/unicode.rst:683
msgid "Deprecated Py_UNICODE APIs"
msgstr "APIs de Py_UNICODE deprecadas"
-#: ../Doc/c-api/unicode.rst:680
+#: ../Doc/c-api/unicode.rst:687
msgid ""
"These API functions are deprecated with the implementation of :pep:`393`. "
"Extension modules can continue using them, as they will not be removed in "
@@ -1122,7 +1137,7 @@ msgstr ""
"Python 3.x, pero deben ser conscientes de que su uso ahora puede causar "
"problemas de rendimiento y memoria."
-#: ../Doc/c-api/unicode.rst:687
+#: ../Doc/c-api/unicode.rst:694
msgid ""
"Create a Unicode object from the Py_UNICODE buffer *u* of the given size. "
"*u* may be ``NULL`` which causes the contents to be undefined. It is the "
@@ -1134,7 +1149,7 @@ msgstr ""
"responsabilidad del usuario completar los datos necesarios. El búfer se "
"copia en el nuevo objeto."
-#: ../Doc/c-api/unicode.rst:692
+#: ../Doc/c-api/unicode.rst:699
msgid ""
"If the buffer is not ``NULL``, the return value might be a shared object. "
"Therefore, modification of the resulting Unicode object is only allowed when "
@@ -1144,7 +1159,7 @@ msgstr ""
"compartido. Por lo tanto, la modificación del objeto Unicode resultante solo "
"se permite cuando *u* es ``NULL``."
-#: ../Doc/c-api/unicode.rst:696
+#: ../Doc/c-api/unicode.rst:703
msgid ""
"If the buffer is ``NULL``, :c:func:`PyUnicode_READY` must be called once the "
"string content has been filled before using any of the access macros such "
@@ -1154,7 +1169,7 @@ msgstr ""
"que se haya llenado el contenido de la cadena de caracteres antes de usar "
"cualquiera de las macros de acceso, como :c:func:`PyUnicode_KIND`."
-#: ../Doc/c-api/unicode.rst:703
+#: ../Doc/c-api/unicode.rst:710
msgid ""
"Part of the old-style Unicode API, please migrate to using :c:func:"
"`PyUnicode_FromKindAndData`, :c:func:`PyUnicode_FromWideChar`, or :c:func:"
@@ -1163,10 +1178,11 @@ msgstr ""
"Por favor migrar para usar :c:func:`PyUnicode_FromKindAndData`, :c:func:"
"`PyUnicode_FromWideChar` o :c:func:`PyUnicode_New`."
-#: ../Doc/c-api/unicode.rst:708
+#: ../Doc/c-api/unicode.rst:715
+#, fuzzy
msgid ""
"Return a read-only pointer to the Unicode object's internal :c:type:"
-"`Py_UNICODE` buffer, or ``NULL`` on error. This will create the :c:type:"
+"`Py_UNICODE` buffer, or ``NULL`` on error. This will create the :c:expr:"
"`Py_UNICODE*` representation of the object if it is not yet available. The "
"buffer is always terminated with an extra null code point. Note that the "
"resulting :c:type:`Py_UNICODE` string may also contain embedded null code "
@@ -1181,7 +1197,7 @@ msgstr ""
"de código nulo incrustados, lo que provocaría que la cadena se truncara "
"cuando se usara en la mayoría de las funciones de C."
-#: ../Doc/c-api/unicode.rst:719 ../Doc/c-api/unicode.rst:746
+#: ../Doc/c-api/unicode.rst:726 ../Doc/c-api/unicode.rst:742
msgid ""
"Part of the old-style Unicode API, please migrate to using :c:func:"
"`PyUnicode_AsUCS4`, :c:func:`PyUnicode_AsWideChar`, :c:func:"
@@ -1191,29 +1207,12 @@ msgstr ""
"func:`PyUnicode_AsUCS4`, :c:func:`PyUnicode_AsWideChar`, :c:func:"
"`PyUnicode_ReadChar` o APIs nuevas similares."
-#: ../Doc/c-api/unicode.rst:724
-msgid ""
-"Create a Unicode object by replacing all decimal digits in :c:type:"
-"`Py_UNICODE` buffer of the given *size* by ASCII digits 0--9 according to "
-"their decimal value. Return ``NULL`` if an exception occurs."
-msgstr ""
-"Crea un objeto Unicode reemplazando todos los dígitos decimales en el búfer :"
-"c:type:`Py_UNICODE` del *size* dado por dígitos ASCII 0--9 de acuerdo con su "
-"valor decimal. Retorna ``NULL`` si ocurre una excepción."
-
-#: ../Doc/c-api/unicode.rst:730
-msgid ""
-"Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:"
-"func:`Py_UNICODE_TODECIMAL`."
-msgstr ""
-"Parte del estilo antiguo de la API :c:type:`Py_UNICODE`; por favor migrar "
-"para usar :c:func:`Py_UNICODE_TODECIMAL`."
-
-#: ../Doc/c-api/unicode.rst:735
+#: ../Doc/c-api/unicode.rst:731
+#, fuzzy
msgid ""
"Like :c:func:`PyUnicode_AsUnicode`, but also saves the :c:func:`Py_UNICODE` "
"array length (excluding the extra null terminator) in *size*. Note that the "
-"resulting :c:type:`Py_UNICODE*` string may contain embedded null code "
+"resulting :c:expr:`Py_UNICODE*` string may contain embedded null code "
"points, which would cause the string to be truncated when used in most C "
"functions."
msgstr ""
@@ -1224,7 +1223,7 @@ msgstr ""
"provocaría que la cadena se truncara cuando se usara en la mayoría de las "
"funciones de C."
-#: ../Doc/c-api/unicode.rst:751
+#: ../Doc/c-api/unicode.rst:747
msgid ""
"Return the size of the deprecated :c:type:`Py_UNICODE` representation, in "
"code units (this includes surrogate pairs as 2 units)."
@@ -1232,7 +1231,7 @@ msgstr ""
"Retorna el tamaño de la representación en desuso :c:type:`Py_UNICODE`, en "
"unidades de código (esto incluye pares sustitutos como 2 unidades)."
-#: ../Doc/c-api/unicode.rst:761
+#: ../Doc/c-api/unicode.rst:757
msgid ""
"Copy an instance of a Unicode subtype to a new true Unicode object if "
"necessary. If *obj* is already a true Unicode object (not a subtype), return "
@@ -1242,17 +1241,17 @@ msgstr ""
"verdadero si es necesario. Si *obj* ya es un verdadero objeto Unicode (no un "
"subtipo), retorna la referencia con un recuento incrementado."
-#: ../Doc/c-api/unicode.rst:765
+#: ../Doc/c-api/unicode.rst:761
msgid ""
"Objects other than Unicode or its subtypes will cause a :exc:`TypeError`."
msgstr ""
"Los objetos que no sean Unicode o sus subtipos causarán un :exc:`TypeError`."
-#: ../Doc/c-api/unicode.rst:769
+#: ../Doc/c-api/unicode.rst:765
msgid "Locale Encoding"
msgstr "Codificación regional"
-#: ../Doc/c-api/unicode.rst:771
+#: ../Doc/c-api/unicode.rst:767
msgid ""
"The current locale encoding can be used to decode text from the operating "
"system."
@@ -1260,22 +1259,22 @@ msgstr ""
"La codificación local actual se puede utilizar para decodificar texto del "
"sistema operativo."
-#: ../Doc/c-api/unicode.rst:778
+#: ../Doc/c-api/unicode.rst:774
msgid ""
"Decode a string from UTF-8 on Android and VxWorks, or from the current "
-"locale encoding on other platforms. The supported error handlers are ``"
-"\"strict\"`` and ``\"surrogateescape\"`` (:pep:`383`). The decoder uses ``"
-"\"strict\"`` error handler if *errors* is ``NULL``. *str* must end with a "
+"locale encoding on other platforms. The supported error handlers are "
+"``\"strict\"`` and ``\"surrogateescape\"`` (:pep:`383`). The decoder uses "
+"``\"strict\"`` error handler if *errors* is ``NULL``. *str* must end with a "
"null character but cannot contain embedded null characters."
msgstr ""
"Decodifica una cadena de caracteres UTF-8 en Android y VxWorks, o de la "
"codificación de configuración regional actual en otras plataformas. Los "
-"manejadores de errores admitidos son ``\"estricto\"`` y ``\"subrogateescape"
-"\"`` (:pep:`383`). El decodificador usa el controlador de errores ``"
-"\"estricto\"`` si *errors* es``NULL``. *str* debe terminar con un carácter "
-"nulo pero no puede contener caracteres nulos incrustados."
+"manejadores de errores admitidos son ``\"estricto\"`` y "
+"``\"subrogateescape\"`` (:pep:`383`). El decodificador usa el controlador de "
+"errores ``\"estricto\"`` si *errors* es``NULL``. *str* debe terminar con un "
+"carácter nulo pero no puede contener caracteres nulos incrustados."
-#: ../Doc/c-api/unicode.rst:785
+#: ../Doc/c-api/unicode.rst:781
msgid ""
"Use :c:func:`PyUnicode_DecodeFSDefaultAndSize` to decode a string from :c:"
"data:`Py_FileSystemDefaultEncoding` (the locale encoding read at Python "
@@ -1285,15 +1284,15 @@ msgstr ""
"cadena de :c:data:`Py_FileSystemDefaultEncoding` (la codificación de la "
"configuración regional leída al iniciar Python)."
-#: ../Doc/c-api/unicode.rst:789 ../Doc/c-api/unicode.rst:825
+#: ../Doc/c-api/unicode.rst:785 ../Doc/c-api/unicode.rst:821
msgid "This function ignores the :ref:`Python UTF-8 Mode `."
msgstr "Esta función ignora el :ref:`modo Python UTF-8 `."
-#: ../Doc/c-api/unicode.rst:793 ../Doc/c-api/unicode.rst:896
+#: ../Doc/c-api/unicode.rst:789 ../Doc/c-api/unicode.rst:892
msgid "The :c:func:`Py_DecodeLocale` function."
msgstr "La función :c:func:`Py_DecodeLocale`."
-#: ../Doc/c-api/unicode.rst:797
+#: ../Doc/c-api/unicode.rst:793
msgid ""
"The function now also uses the current locale encoding for the "
"``surrogateescape`` error handler, except on Android. Previously, :c:func:"
@@ -1306,7 +1305,7 @@ msgstr ""
"``subrogateescape``, y la codificación local actual se usaba para "
"``estricto``."
-#: ../Doc/c-api/unicode.rst:806
+#: ../Doc/c-api/unicode.rst:802
msgid ""
"Similar to :c:func:`PyUnicode_DecodeLocaleAndSize`, but compute the string "
"length using :c:func:`strlen`."
@@ -1314,13 +1313,13 @@ msgstr ""
"Similar a :c:func:`PyUnicode_DecodeLocaleAndSize`, pero calcula la longitud "
"de la cadena de caracteres usando :c:func:`strlen`."
-#: ../Doc/c-api/unicode.rst:814
+#: ../Doc/c-api/unicode.rst:810
msgid ""
"Encode a Unicode object to UTF-8 on Android and VxWorks, or to the current "
-"locale encoding on other platforms. The supported error handlers are ``"
-"\"strict\"`` and ``\"surrogateescape\"`` (:pep:`383`). The encoder uses ``"
-"\"strict\"`` error handler if *errors* is ``NULL``. Return a :class:`bytes` "
-"object. *unicode* cannot contain embedded null characters."
+"locale encoding on other platforms. The supported error handlers are "
+"``\"strict\"`` and ``\"surrogateescape\"`` (:pep:`383`). The encoder uses "
+"``\"strict\"`` error handler if *errors* is ``NULL``. Return a :class:"
+"`bytes` object. *unicode* cannot contain embedded null characters."
msgstr ""
"Codifica un objeto Unicode UTF-8 en Android y VxWorks, o en la codificación "
"local actual en otras plataformas. Los manejadores de errores admitidos son "
@@ -1329,7 +1328,7 @@ msgstr ""
"Retorna un objeto :class:`bytes`. *unicode* no puede contener caracteres "
"nulos incrustados."
-#: ../Doc/c-api/unicode.rst:821
+#: ../Doc/c-api/unicode.rst:817
msgid ""
"Use :c:func:`PyUnicode_EncodeFSDefault` to encode a string to :c:data:"
"`Py_FileSystemDefaultEncoding` (the locale encoding read at Python startup)."
@@ -1338,11 +1337,11 @@ msgstr ""
"caracteres en :c:data:`Py_FileSystemDefaultEncoding` (la codificación de la "
"configuración regional leída al iniciar Python)."
-#: ../Doc/c-api/unicode.rst:829 ../Doc/c-api/unicode.rst:932
+#: ../Doc/c-api/unicode.rst:825 ../Doc/c-api/unicode.rst:928
msgid "The :c:func:`Py_EncodeLocale` function."
msgstr "La función :c:func:`Py_EncodeLocale`."
-#: ../Doc/c-api/unicode.rst:833
+#: ../Doc/c-api/unicode.rst:829
msgid ""
"The function now also uses the current locale encoding for the "
"``surrogateescape`` error handler, except on Android. Previously, :c:func:"
@@ -1355,11 +1354,11 @@ msgstr ""
"``subrogateescape``, y la codificación local actual se usaba para "
"``estricto``."
-#: ../Doc/c-api/unicode.rst:842
+#: ../Doc/c-api/unicode.rst:838
msgid "File System Encoding"
msgstr "Codificación del sistema de archivos"
-#: ../Doc/c-api/unicode.rst:844
+#: ../Doc/c-api/unicode.rst:840
msgid ""
"To encode and decode file names and other environment strings, :c:data:"
"`Py_FileSystemDefaultEncoding` should be used as the encoding, and :c:data:"
@@ -1376,12 +1375,13 @@ msgstr ""
"debe usar el convertidor ``\"O&\"``, pasando :c:func:`PyUnicode_FSConverter` "
"como la función de conversión:"
-#: ../Doc/c-api/unicode.rst:853
+#: ../Doc/c-api/unicode.rst:849
+#, fuzzy
msgid ""
"ParseTuple converter: encode :class:`str` objects -- obtained directly or "
"through the :class:`os.PathLike` interface -- to :class:`bytes` using :c:"
"func:`PyUnicode_EncodeFSDefault`; :class:`bytes` objects are output as-is. "
-"*result* must be a :c:type:`PyBytesObject*` which must be released when it "
+"*result* must be a :c:expr:`PyBytesObject*` which must be released when it "
"is no longer used."
msgstr ""
"Convertidor *ParseTuple* : codificar objetos :class:`str` -- obtenidos "
@@ -1390,11 +1390,11 @@ msgstr ""
"emiten tal cual. *result* debe ser un :c:type:`PyBytesObject*` que debe "
"liberarse cuando ya no se use."
-#: ../Doc/c-api/unicode.rst:861 ../Doc/c-api/unicode.rst:878
+#: ../Doc/c-api/unicode.rst:857 ../Doc/c-api/unicode.rst:874
msgid "Accepts a :term:`path-like object`."
msgstr "Acepta un objeto similar a una ruta (:term:`path-like object`)."
-#: ../Doc/c-api/unicode.rst:864
+#: ../Doc/c-api/unicode.rst:860
msgid ""
"To decode file names to :class:`str` during argument parsing, the ``\"O&\"`` "
"converter should be used, passing :c:func:`PyUnicode_FSDecoder` as the "
@@ -1404,12 +1404,13 @@ msgstr ""
"argumentos, se debe usar el convertidor ``\"O&\"``, pasando :c:func:"
"`PyUnicode_FSDecoder` como la función de conversión:"
-#: ../Doc/c-api/unicode.rst:870
+#: ../Doc/c-api/unicode.rst:866
+#, fuzzy
msgid ""
"ParseTuple converter: decode :class:`bytes` objects -- obtained either "
"directly or indirectly through the :class:`os.PathLike` interface -- to :"
"class:`str` using :c:func:`PyUnicode_DecodeFSDefaultAndSize`; :class:`str` "
-"objects are output as-is. *result* must be a :c:type:`PyUnicodeObject*` "
+"objects are output as-is. *result* must be a :c:expr:`PyUnicodeObject*` "
"which must be released when it is no longer used."
msgstr ""
"Conversor ``ParseTuple``: decodifica objetos :class:`bytes` -- obtenidos "
@@ -1418,14 +1419,14 @@ msgstr ""
"class:`str` se generan tal cual. *result* debe ser :c:type:"
"`PyUnicodeObject*` que debe liberarse cuando ya no se use."
-#: ../Doc/c-api/unicode.rst:884
+#: ../Doc/c-api/unicode.rst:880
msgid "Decode a string from the :term:`filesystem encoding and error handler`."
msgstr ""
"Decodifica una cadena desde el :term:`codificador de sistema de archivos y "
"gestor de errores `."
-#: ../Doc/c-api/unicode.rst:886 ../Doc/c-api/unicode.rst:907
-#: ../Doc/c-api/unicode.rst:923
+#: ../Doc/c-api/unicode.rst:882 ../Doc/c-api/unicode.rst:903
+#: ../Doc/c-api/unicode.rst:919
msgid ""
"If :c:data:`Py_FileSystemDefaultEncoding` is not set, fall back to the "
"locale encoding."
@@ -1433,7 +1434,7 @@ msgstr ""
"Si :c:data:`Py_FileSystemDefaultEncoding` no está configurado, recurre a la "
"codificación de configuración regional."
-#: ../Doc/c-api/unicode.rst:889
+#: ../Doc/c-api/unicode.rst:885
msgid ""
":c:data:`Py_FileSystemDefaultEncoding` is initialized at startup from the "
"locale encoding and cannot be modified later. If you need to decode a string "
@@ -1445,13 +1446,13 @@ msgstr ""
"decodificar una cadena de caracteres de la codificación local actual, "
"utilice :c:func:`PyUnicode_DecodeLocaleAndSize`."
-#: ../Doc/c-api/unicode.rst:898 ../Doc/c-api/unicode.rst:912
-#: ../Doc/c-api/unicode.rst:936
+#: ../Doc/c-api/unicode.rst:894 ../Doc/c-api/unicode.rst:908
+#: ../Doc/c-api/unicode.rst:932
msgid "Use :c:data:`Py_FileSystemDefaultEncodeErrors` error handler."
msgstr ""
"Utilice el controlador de errores :c:data:`Py_FileSystemDefaultEncodeErrors`."
-#: ../Doc/c-api/unicode.rst:904
+#: ../Doc/c-api/unicode.rst:900
msgid ""
"Decode a null-terminated string from the :term:`filesystem encoding and "
"error handler`."
@@ -1460,14 +1461,14 @@ msgstr ""
"sistema de archivos y gestor de errores `."
-#: ../Doc/c-api/unicode.rst:910
+#: ../Doc/c-api/unicode.rst:906
msgid ""
"Use :c:func:`PyUnicode_DecodeFSDefaultAndSize` if you know the string length."
msgstr ""
"Utilice :c:func:`PyUnicode_DecodeFSDefaultAndSize` si conoce la longitud de "
"la cadena."
-#: ../Doc/c-api/unicode.rst:918
+#: ../Doc/c-api/unicode.rst:914
msgid ""
"Encode a Unicode object to :c:data:`Py_FileSystemDefaultEncoding` with the :"
"c:data:`Py_FileSystemDefaultEncodeErrors` error handler, and return :class:"
@@ -1479,7 +1480,7 @@ msgstr ""
"retorna :class:`bytes`. Tenga en cuenta que el objeto resultante :class:"
"`bytes` puede contener bytes nulos."
-#: ../Doc/c-api/unicode.rst:926
+#: ../Doc/c-api/unicode.rst:922
msgid ""
":c:data:`Py_FileSystemDefaultEncoding` is initialized at startup from the "
"locale encoding and cannot be modified later. If you need to encode a string "
@@ -1490,17 +1491,19 @@ msgstr ""
"una cadena a la codificación local actual, utilice :c:func:"
"`PyUnicode_EncodeLocale`."
-#: ../Doc/c-api/unicode.rst:940
+#: ../Doc/c-api/unicode.rst:936
msgid "wchar_t Support"
msgstr "soporte wchar_t"
-#: ../Doc/c-api/unicode.rst:942
-msgid ":c:type:`wchar_t` support for platforms which support it:"
+#: ../Doc/c-api/unicode.rst:938
+#, fuzzy
+msgid ":c:expr:`wchar_t` support for platforms which support it:"
msgstr "soporte :c:type:`wchar_t` para plataformas que lo soportan:"
-#: ../Doc/c-api/unicode.rst:946
+#: ../Doc/c-api/unicode.rst:942
+#, fuzzy
msgid ""
-"Create a Unicode object from the :c:type:`wchar_t` buffer *w* of the given "
+"Create a Unicode object from the :c:expr:`wchar_t` buffer *w* of the given "
"*size*. Passing ``-1`` as the *size* indicates that the function must itself "
"compute the length, using wcslen. Return ``NULL`` on failure."
msgstr ""
@@ -1508,37 +1511,28 @@ msgstr ""
"*size* dado. Pasar ``-1`` como *size* indica que la función debe calcular la "
"longitud, usando ``wcslen``. Retorna ``NULL`` en caso de falla."
-#: ../Doc/c-api/unicode.rst:954
+#: ../Doc/c-api/unicode.rst:950
msgid ""
-"Copy the Unicode object contents into the :c:type:`wchar_t` buffer *w*. At "
-"most *size* :c:type:`wchar_t` characters are copied (excluding a possibly "
-"trailing null termination character). Return the number of :c:type:"
+"Copy the Unicode object contents into the :c:expr:`wchar_t` buffer *w*. At "
+"most *size* :c:expr:`wchar_t` characters are copied (excluding a possibly "
+"trailing null termination character). Return the number of :c:expr:"
"`wchar_t` characters copied or ``-1`` in case of an error. Note that the "
-"resulting :c:type:`wchar_t*` string may or may not be null-terminated. It "
-"is the responsibility of the caller to make sure that the :c:type:`wchar_t*` "
+"resulting :c:expr:`wchar_t*` string may or may not be null-terminated. It "
+"is the responsibility of the caller to make sure that the :c:expr:`wchar_t*` "
"string is null-terminated in case this is required by the application. Also, "
-"note that the :c:type:`wchar_t*` string might contain null characters, which "
+"note that the :c:expr:`wchar_t*` string might contain null characters, which "
"would cause the string to be truncated when used with most C functions."
msgstr ""
-"Copia el contenido del objeto Unicode en el búfer :c:type:`wchar_t` *w*. A "
-"lo sumo *size* se copian los caracteres :c:type:`wchar_t` (excluyendo un "
-"posible carácter de terminación nulo final). Retorna el número de "
-"caracteres :c:type:`wchar_t` copiados o ``-1`` en caso de error. Tenga en "
-"cuenta que la cadena resultante :c:type:`wchar_t*` puede o no tener "
-"terminación nula. Es responsabilidad de la persona que llama asegurarse de "
-"que la cadena :c:type:`wchar_t*` tenga una terminación nula en caso de que "
-"la aplicación lo requiera. Además, tenga en cuenta que la cadena :c:type:"
-"`wchar_t*` podría contener caracteres nulos, lo que provocaría que la cadena "
-"se truncara cuando se usara con la mayoría de las funciones de C."
-#: ../Doc/c-api/unicode.rst:967
+#: ../Doc/c-api/unicode.rst:963
+#, fuzzy
msgid ""
"Convert the Unicode object to a wide character string. The output string "
"always ends with a null character. If *size* is not ``NULL``, write the "
"number of wide characters (excluding the trailing null termination "
-"character) into *\\*size*. Note that the resulting :c:type:`wchar_t` string "
+"character) into *\\*size*. Note that the resulting :c:expr:`wchar_t` string "
"might contain null characters, which would cause the string to be truncated "
-"when used with most C functions. If *size* is ``NULL`` and the :c:type:"
+"when used with most C functions. If *size* is ``NULL`` and the :c:expr:"
"`wchar_t*` string contains null characters a :exc:`ValueError` is raised."
msgstr ""
"Convierte el objeto Unicode en una cadena de caracteres ancha. La cadena de "
@@ -1550,11 +1544,11 @@ msgstr ""
"funciones de C. Si *size* es ``NULL`` y la cadena :c:type:`wchar_t*` "
"contiene caracteres nulos un :exc:`ValueError` aparece."
-#: ../Doc/c-api/unicode.rst:975
+#: ../Doc/c-api/unicode.rst:971
msgid ""
"Returns a buffer allocated by :c:func:`PyMem_Alloc` (use :c:func:"
-"`PyMem_Free` to free it) on success. On error, returns ``NULL`` and *"
-"\\*size* is undefined. Raises a :exc:`MemoryError` if memory allocation is "
+"`PyMem_Free` to free it) on success. On error, returns ``NULL`` and "
+"*\\*size* is undefined. Raises a :exc:`MemoryError` if memory allocation is "
"failed."
msgstr ""
"Retorna un búfer asignado por :c:func:`PyMem_Alloc` (utilice :c:func:"
@@ -1562,19 +1556,20 @@ msgstr ""
"``NULL`` y *\\*size* no está definido. Provoca un :exc:`MemoryError` si "
"falla la asignación de memoria."
-#: ../Doc/c-api/unicode.rst:982
+#: ../Doc/c-api/unicode.rst:978
+#, fuzzy
msgid ""
-"Raises a :exc:`ValueError` if *size* is ``NULL`` and the :c:type:`wchar_t*` "
+"Raises a :exc:`ValueError` if *size* is ``NULL`` and the :c:expr:`wchar_t*` "
"string contains null characters."
msgstr ""
"Provoca un :exc:`ValueError` si *size* es ``NULL`` y la cadena :c:type:"
"`wchar_t*` contiene caracteres nulos."
-#: ../Doc/c-api/unicode.rst:990
+#: ../Doc/c-api/unicode.rst:986
msgid "Built-in Codecs"
msgstr "Códecs incorporados"
-#: ../Doc/c-api/unicode.rst:992
+#: ../Doc/c-api/unicode.rst:988
msgid ""
"Python provides a set of built-in codecs which are written in C for speed. "
"All of these codecs are directly usable via the following functions."
@@ -1583,7 +1578,7 @@ msgstr ""
"para mayor velocidad. Todos estos códecs se pueden usar directamente a "
"través de las siguientes funciones."
-#: ../Doc/c-api/unicode.rst:995
+#: ../Doc/c-api/unicode.rst:991
msgid ""
"Many of the following APIs take two arguments encoding and errors, and they "
"have the same semantics as the ones of the built-in :func:`str` string "
@@ -1593,7 +1588,7 @@ msgstr ""
"y tienen la misma semántica que las del constructor de objetos de cadena "
"incorporado :func:`str`."
-#: ../Doc/c-api/unicode.rst:999
+#: ../Doc/c-api/unicode.rst:995
msgid ""
"Setting encoding to ``NULL`` causes the default encoding to be used which is "
"UTF-8. The file system calls should use :c:func:`PyUnicode_FSConverter` for "
@@ -1612,7 +1607,7 @@ msgstr ""
"cambiará en tiempo de ejecución (como cuando la aplicación invoca "
"*setlocale*)."
-#: ../Doc/c-api/unicode.rst:1007
+#: ../Doc/c-api/unicode.rst:1003
msgid ""
"Error handling is set by errors which may also be set to ``NULL`` meaning to "
"use the default handling defined for the codec. Default error handling for "
@@ -1623,23 +1618,24 @@ msgstr ""
"definido para el códec. El manejo de errores predeterminado para todos los "
"códecs integrados es \"estricto\" (se lanza :exc:`ValueError`)."
-#: ../Doc/c-api/unicode.rst:1011
+#: ../Doc/c-api/unicode.rst:1007
+#, fuzzy
msgid ""
-"The codecs all use a similar interface. Only deviation from the following "
+"The codecs all use a similar interface. Only deviations from the following "
"generic ones are documented for simplicity."
msgstr ""
"Todos los códecs usan una interfaz similar. Solo la desviación de las "
"siguientes genéricas se documenta por simplicidad."
-#: ../Doc/c-api/unicode.rst:1016
+#: ../Doc/c-api/unicode.rst:1012
msgid "Generic Codecs"
msgstr "Códecs genéricos"
-#: ../Doc/c-api/unicode.rst:1018
+#: ../Doc/c-api/unicode.rst:1014
msgid "These are the generic codec APIs:"
msgstr "Estas son las APIs de códecs genéricos:"
-#: ../Doc/c-api/unicode.rst:1024
+#: ../Doc/c-api/unicode.rst:1020
msgid ""
"Create a Unicode object by decoding *size* bytes of the encoded string *s*. "
"*encoding* and *errors* have the same meaning as the parameters of the same "
@@ -1653,7 +1649,7 @@ msgstr ""
"utilizará se busca utilizando el registro de códec Python. Retorna ``NULL`` "
"si el códec provocó una excepción."
-#: ../Doc/c-api/unicode.rst:1034
+#: ../Doc/c-api/unicode.rst:1030
msgid ""
"Encode a Unicode object and return the result as Python bytes object. "
"*encoding* and *errors* have the same meaning as the parameters of the same "
@@ -1667,37 +1663,15 @@ msgstr ""
"utilizará se busca utilizando el registro de códec Python. Retorna ``NULL`` "
"si el códec provocó una excepción."
-#: ../Doc/c-api/unicode.rst:1044
-msgid ""
-"Encode the :c:type:`Py_UNICODE` buffer *s* of the given *size* and return a "
-"Python bytes object. *encoding* and *errors* have the same meaning as the "
-"parameters of the same name in the Unicode :meth:`~str.encode` method. The "
-"codec to be used is looked up using the Python codec registry. Return "
-"``NULL`` if an exception was raised by the codec."
-msgstr ""
-"Codifica el búfer :c:type:`Py_UNICODE` *s* del tamaño *size* dado y retorna "
-"un objeto de bytes de Python. *encoding* y *errors* tienen el mismo "
-"significado que los parámetros del mismo nombre en el método Unicode :meth:"
-"`~str.encode`. El códec que se utilizará se busca utilizando el registro de "
-"códec Python. Retorna ``NULL`` si el códec provocó una excepción."
-
-#: ../Doc/c-api/unicode.rst:1052 ../Doc/c-api/unicode.rst:1312
-msgid ""
-"Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:"
-"func:`PyUnicode_AsEncodedString`."
-msgstr ""
-"Parte del viejo estilo de la API :c:type:`Py_UNICODE`; por favor migrar para "
-"usar :c:func:`PyUnicode_AsEncodedString`."
-
-#: ../Doc/c-api/unicode.rst:1056
+#: ../Doc/c-api/unicode.rst:1038
msgid "UTF-8 Codecs"
msgstr "Códecs UTF-8"
-#: ../Doc/c-api/unicode.rst:1058
+#: ../Doc/c-api/unicode.rst:1040
msgid "These are the UTF-8 codec APIs:"
msgstr "Estas son las APIs del códec UTF-8:"
-#: ../Doc/c-api/unicode.rst:1063
+#: ../Doc/c-api/unicode.rst:1045
msgid ""
"Create a Unicode object by decoding *size* bytes of the UTF-8 encoded string "
"*s*. Return ``NULL`` if an exception was raised by the codec."
@@ -1705,7 +1679,7 @@ msgstr ""
"Crea un objeto Unicode decodificando *size* bytes de la cadena codificada "
"UTF-8 *s*. Retorna ``NULL`` si el códec provocó una excepción."
-#: ../Doc/c-api/unicode.rst:1070
+#: ../Doc/c-api/unicode.rst:1052
msgid ""
"If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeUTF8`. If "
"*consumed* is not ``NULL``, trailing incomplete UTF-8 byte sequences will "
@@ -1717,7 +1691,7 @@ msgstr ""
"se tratarán como un error. Esos bytes no serán decodificados y la cantidad "
"de bytes que han sido decodificados se almacenará en *consumed*."
-#: ../Doc/c-api/unicode.rst:1078
+#: ../Doc/c-api/unicode.rst:1060
msgid ""
"Encode a Unicode object using UTF-8 and return the result as Python bytes "
"object. Error handling is \"strict\". Return ``NULL`` if an exception was "
@@ -1727,7 +1701,7 @@ msgstr ""
"objeto de bytes de Python. El manejo de errores es \"estricto\". Retorna "
"``NULL`` si el códec provocó una excepción."
-#: ../Doc/c-api/unicode.rst:1085
+#: ../Doc/c-api/unicode.rst:1067
msgid ""
"Return a pointer to the UTF-8 encoding of the Unicode object, and store the "
"size of the encoded representation (in bytes) in *size*. The *size* "
@@ -1741,7 +1715,7 @@ msgstr ""
"retornado siempre tiene un byte nulo adicional agregado (no incluido en "
"*size*), independientemente de si hay otros puntos de código nulo."
-#: ../Doc/c-api/unicode.rst:1091
+#: ../Doc/c-api/unicode.rst:1073
msgid ""
"In the case of an error, ``NULL`` is returned with an exception set and no "
"*size* is stored."
@@ -1749,57 +1723,40 @@ msgstr ""
"En caso de error, se retorna ``NULL`` con un conjunto de excepciones y no se "
"almacena *size*."
-#: ../Doc/c-api/unicode.rst:1094
+#: ../Doc/c-api/unicode.rst:1076
+#, fuzzy
msgid ""
"This caches the UTF-8 representation of the string in the Unicode object, "
"and subsequent calls will return a pointer to the same buffer. The caller "
-"is not responsible for deallocating the buffer."
+"is not responsible for deallocating the buffer. The buffer is deallocated "
+"and pointers to it become invalid when the Unicode object is garbage "
+"collected."
msgstr ""
"Esto almacena en caché la representación UTF-8 de la cadena en el objeto "
"Unicode, y las llamadas posteriores retornarán un puntero al mismo búfer. La "
"persona que llama no es responsable de desasignar el búfer."
-#: ../Doc/c-api/unicode.rst:1100 ../Doc/c-api/unicode.rst:1113
+#: ../Doc/c-api/unicode.rst:1083 ../Doc/c-api/unicode.rst:1096
msgid "The return type is now ``const char *`` rather of ``char *``."
msgstr "El tipo de retorno ahora es ``const char *`` en lugar de ``char *``."
-#: ../Doc/c-api/unicode.rst:1103
+#: ../Doc/c-api/unicode.rst:1086
msgid "This function is a part of the :ref:`limited API