From 84dfa775b0b1a31e90a80bdf59ae2f1a7cd5d478 Mon Sep 17 00:00:00 2001
From: Yennifer Herrera
Date: Tue, 14 Nov 2023 15:14:13 -0500
Subject: [PATCH 001/136] Traducido `howto/enum.po` (#2741)
Closes #2390
---
howto/enum.po | 118 ++++++++++++++++++++++++++++++++------------------
1 file changed, 77 insertions(+), 41 deletions(-)
diff --git a/howto/enum.po b/howto/enum.po
index 39304f3bf5..6b611034ec 100644
--- a/howto/enum.po
+++ b/howto/enum.po
@@ -4,19 +4,20 @@
# 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: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: LANGUAGE \n"
+"PO-Revision-Date: 2023-11-13 00:32-0500\n"
+"Last-Translator: \n"
+"Language-Team: python-doc-es\n"
+"Language: es_US\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.13.0\n"
+"X-Generator: Poedit 3.0.1\n"
#: ../Doc/howto/enum.rst:3
msgid "Enum HOWTO"
@@ -58,16 +59,17 @@ msgid "Case of Enum Members"
msgstr "Caso de miembros de Enum"
#: ../Doc/howto/enum.rst:39
-#, fuzzy
msgid ""
"Because Enums are used to represent constants, and to help avoid issues with "
"name clashes between mixin-class methods/attributes and enum names, we "
"strongly recommend using UPPER_CASE names for members, and will be using "
"that style in our examples."
msgstr ""
-"Debido a que las enumeraciones se usan para representar constantes, "
-"recomendamos usar nombres en MAYÚSCULAS para los miembros, y usaremos ese "
-"estilo en nuestros ejemplos."
+"Dado que las enumeraciones se utilizan para representar constantes y para "
+"evitar problemas con conflictos de nombres entre los métodos/atributos de "
+"las clases mixin y los nombres de las enumeraciones, recomendamos "
+"encarecidamente utilizar nombres en MAYÚSCULAS para los miembros, y "
+"utilizaremos ese estilo en nuestros ejemplos."
#: ../Doc/howto/enum.rst:44
msgid ""
@@ -304,6 +306,8 @@ msgid ""
"Note that the aliases ``Shape.ALIAS_FOR_SQUARE`` and ``Weekday.WEEKEND`` "
"aren't shown."
msgstr ""
+"Note que los alias ``Shape.ALIAS_FOR_SQUARE`` y ``Weekday.WEEKEND`` no se "
+"muestran."
#: ../Doc/howto/enum.rst:318
msgid ""
@@ -329,10 +333,12 @@ msgid ""
"Aliases for flags include values with multiple flags set, such as ``3``, and "
"no flags set, i.e. ``0``."
msgstr ""
+"Los alias para las banderas incluyen valores con múltiples banderas "
+"establecidas, como ``3``, y ningún conjunto de banderas, es decir, ``0``."
#: ../Doc/howto/enum.rst:343
msgid "Comparisons"
-msgstr "comparaciones"
+msgstr "Comparaciones"
#: ../Doc/howto/enum.rst:345
msgid "Enumeration members are compared by identity::"
@@ -367,6 +373,9 @@ msgid ""
"they will be recreated, and the new members may not compare identical/equal "
"to the original members."
msgstr ""
+"Es posible recargar módulos; si un módulo recargado contiene enumeraciones, "
+"estas se crearán de nuevo y los nuevos miembros pueden no compararse como "
+"idénticos/iguales a los miembros originales."
#: ../Doc/howto/enum.rst:385
msgid "Allowed members and attributes of enumerations"
@@ -417,18 +426,16 @@ msgstr ""
"attr:`_ignore_`."
#: ../Doc/howto/enum.rst:429
-#, fuzzy
msgid ""
"Note: if your enumeration defines :meth:`__new__` and/or :meth:`__init__`, "
"any value(s) given to the enum member will be passed into those methods. See "
"`Planet`_ for an example."
msgstr ""
-"Nota: si su enumeración define :meth:`__new__` y/o :meth:`__init__`, "
-"cualquier valor dado al miembro de la enumeración se pasará a esos métodos. "
-"Consulte `Planet`_ para ver un ejemplo."
+"Nota: si su enumeración define :meth:`__new__` y/o :meth:`__init__`, "
+"cualquier valor(es) dado(s) al miembro de la enumeración se pasará a esos "
+"métodos. Consulte `Planet`_ para ver un ejemplo."
#: ../Doc/howto/enum.rst:435
-#, fuzzy
msgid ""
"The :meth:`__new__` method, if defined, is used during creation of the Enum "
"members; it is then replaced by Enum's :meth:`__new__` which is used after "
@@ -437,7 +444,8 @@ msgid ""
msgstr ""
"El método :meth:`__new__`, si está definido, se usa durante la creación de "
"los miembros de Enum; luego se reemplaza por :meth:`__new__` de Enum, que se "
-"usa después de la creación de clases para buscar miembros existentes."
+"usa después de la creación de clases para buscar miembros existentes. "
+"Consulte :ref:`new-vs-init` para obtener más detalles."
#: ../Doc/howto/enum.rst:442
msgid "Restricted Enum subclassing"
@@ -451,7 +459,7 @@ msgid ""
msgstr ""
"Una nueva clase :class:`Enum` debe tener una clase de enumeración base, "
"hasta un tipo de datos concreto y tantas clases mixtas basadas en :class:"
-"`object` como sea necesario. El orden de estas clases base es:"
+"`object` como sea necesario. El orden de estas clases base es:"
#: ../Doc/howto/enum.rst:451
msgid ""
@@ -480,25 +488,31 @@ msgstr ""
#: ../Doc/howto/enum.rst:481
msgid "Dataclass support"
-msgstr ""
+msgstr "Soporte de Dataclass"
#: ../Doc/howto/enum.rst:483
msgid ""
"When inheriting from a :class:`~dataclasses.dataclass`, the :meth:`~Enum."
"__repr__` omits the inherited class' name. For example::"
msgstr ""
+"Cuando se hereda de una :class:`~dataclasses.dataclass`, el :meth:`~Enum."
+"__repr__` omite el nombre de la clase heredada. Por ejemplo::"
#: ../Doc/howto/enum.rst:499
msgid ""
"Use the :func:`!dataclass` argument ``repr=False`` to use the standard :func:"
"`repr`."
msgstr ""
+"Utilice el argumento ``repr=False`` de :func:`!dataclass` para utilizar el :"
+"func:`repr` estándar."
#: ../Doc/howto/enum.rst:502
msgid ""
"Only the dataclass fields are shown in the value area, not the dataclass' "
"name."
msgstr ""
+"Solo se muestran los campos de la dataclass en el área de valores, no el "
+"nombre de la dataclass."
#: ../Doc/howto/enum.rst:508
msgid "Pickling"
@@ -527,7 +541,6 @@ msgstr ""
"enumeraciones anidadas en otras clases."
#: ../Doc/howto/enum.rst:526
-#, fuzzy
msgid ""
"It is possible to modify how enum members are pickled/unpickled by defining :"
"meth:`__reduce_ex__` in the enumeration class. The default method is by-"
@@ -535,13 +548,16 @@ msgid ""
msgstr ""
"Es posible modificar la forma en que los miembros de la enumeración se "
"serialicen / deserialicen definiendo :meth:`__reduce_ex__` en la clase de "
-"enumeración."
+"enumeración. El método predeterminado es por valor, pero las enumeraciones "
+"con valores complicados pueden querer utilizar por nombre::"
#: ../Doc/howto/enum.rst:535
msgid ""
"Using by-name for flags is not recommended, as unnamed aliases will not "
"unpickle."
msgstr ""
+"No se recomienda usar banderas por nombre , ya que los alias sin nombre no "
+"se desempaquetarán."
#: ../Doc/howto/enum.rst:540
msgid "Functional API"
@@ -872,13 +888,12 @@ msgstr ""
"es :data:`False`::"
#: ../Doc/howto/enum.rst:818
-#, fuzzy
msgid ""
"Individual flags should have values that are powers of two (1, 2, 4, "
"8, ...), while combinations of flags will not::"
msgstr ""
"Las banderas individuales deben tener valores que sean potencias de dos (1, "
-"2, 4, 8, ...), mientras que las combinaciones de banderas no:"
+"2, 4, 8, ...), mientras que las combinaciones de banderas no::"
#: ../Doc/howto/enum.rst:830
msgid ""
@@ -984,6 +999,8 @@ msgid ""
"A ``data type`` is a mixin that defines :meth:`__new__`, or a :class:"
"`~dataclasses.dataclass`"
msgstr ""
+"Un ``data type`` es un mixin que define :meth:`__new__`, o una :class:"
+"`~dataclasses.dataclass`"
#: ../Doc/howto/enum.rst:892
#, python-format
@@ -1006,16 +1023,15 @@ msgstr ""
"`format` usarán el método :meth:`__str__` de la enumeración."
#: ../Doc/howto/enum.rst:900
-#, fuzzy
msgid ""
"Because :class:`IntEnum`, :class:`IntFlag`, and :class:`StrEnum` are "
"designed to be drop-in replacements for existing constants, their :meth:"
"`__str__` method has been reset to their data types' :meth:`__str__` method."
msgstr ""
-"Debido a que :class:`IntEnum`, :class:`IntFlag` y :class:`StrEnum` están "
+"Dado que :class:`IntEnum`, :class:`IntFlag` y :class:`StrEnum` están "
"diseñados para ser reemplazos directos de constantes existentes, su método :"
-"meth:`__str__` se ha restablecido a su método de tipos de datos :meth:"
-"`__str__`."
+"meth:`__str__` se ha restablecido al método :meth:`__str__` de sus tipos de "
+"datos."
#: ../Doc/howto/enum.rst:908
msgid "When to use :meth:`__new__` vs. :meth:`__init__`"
@@ -1044,6 +1060,8 @@ msgid ""
"*Do not* call ``super().__new__()``, as the lookup-only ``__new__`` is the "
"one that is found; instead, use the data type directly."
msgstr ""
+"*No* llame a ``super().__new__()``, ya que encontrará el ``__new__`` de solo "
+"búsqueda; en su lugar, utilice directamente el tipo de datos."
#: ../Doc/howto/enum.rst:946
msgid "Finer Points"
@@ -1101,8 +1119,8 @@ msgid ""
"`str`, that will not be transformed into members, and will be removed from "
"the final class"
msgstr ""
-"``_ignore_``: una lista de nombres, ya sea como :class:`list` o :class:"
-"`str`, que no se transformarán en miembros y se eliminarán de la clase final."
+"``_ignore_`` -- una lista de nombres, ya sea como :class:`list` o :class:"
+"`str`, que no se transformarán en miembros y se eliminarán de la clase final"
#: ../Doc/howto/enum.rst:970
msgid ""
@@ -1154,7 +1172,7 @@ msgid ""
msgstr ""
"Para ayudar a mantener sincronizado el código de Python 2/Python 3, se puede "
"proporcionar un atributo :attr:`_order_`. Se comparará con el orden real de "
-"la enumeración y generará un error si los dos no coinciden:"
+"la enumeración y lanzará un error si los dos no coinciden:"
#: ../Doc/howto/enum.rst:1005
msgid ""
@@ -1189,6 +1207,13 @@ msgid ""
"names and attributes/methods from mixed-in classes, upper-case names are "
"strongly recommended."
msgstr ""
+"Los miembros de una enumeración son instancias de su clase de enumeración y "
+"se acceden normalmente como ``EnumClass.member``. En ciertas situaciones, "
+"como al escribir comportamiento personalizado para una enumeración, es útil "
+"poder acceder a un miembro directamente desde otro, y esto está soportado; "
+"sin embargo, para evitar conflictos de nombres entre los nombres de los "
+"miembros y los atributos/métodos de las clases mezcladas, se recomienda "
+"encarecidamente utilizar nombres en mayúsculas."
#: ../Doc/howto/enum.rst:1032
msgid "Creating members that are mixed with other data types"
@@ -1293,7 +1318,7 @@ msgstr ""
#: ../Doc/howto/enum.rst:1130
msgid "multi-bit flags, aka aliases, can be returned from operations::"
msgstr ""
-"Las banderas de varios bits, también conocidas como alias, se pueden "
+"las banderas de varios bits, también conocidas como alias, se pueden "
"devolver desde las operaciones:"
#: ../Doc/howto/enum.rst:1141
@@ -1301,7 +1326,7 @@ msgid ""
"membership / containment checking: zero-valued flags are always considered "
"to be contained::"
msgstr ""
-"Comprobación de pertenencia / contención: las banderas de valor cero siempre "
+"comprobación de pertenencia / contención: las banderas de valor cero siempre "
"se consideran contenidas:"
#: ../Doc/howto/enum.rst:1147
@@ -1322,7 +1347,7 @@ msgstr ""
#: ../Doc/howto/enum.rst:1159
msgid "STRICT --> raises an exception when presented with invalid values"
-msgstr "STRICT --> genera una excepción cuando se presentan valores no válidos"
+msgstr "STRICT --> lanza una excepción cuando se presentan valores no válidos"
#: ../Doc/howto/enum.rst:1160
msgid "CONFORM --> discards any invalid bits"
@@ -1362,9 +1387,9 @@ msgstr ""
"necesita ``KEEP``)."
#: ../Doc/howto/enum.rst:1175
-#, fuzzy
msgid "How are Enums and Flags different?"
-msgstr "¿En qué se diferencian las enumeraciones?"
+msgstr ""
+"¿En qué se diferencian las Enumeraciones (Enums) y las Banderas (Flags)?"
#: ../Doc/howto/enum.rst:1177
msgid ""
@@ -1397,9 +1422,8 @@ msgstr ""
"meth:`__str__` y :meth:`__repr__`)."
#: ../Doc/howto/enum.rst:1193
-#, fuzzy
msgid "Flag Classes"
-msgstr "Clases de enumeración"
+msgstr "Clases de Banderas"
#: ../Doc/howto/enum.rst:1195
msgid ""
@@ -1409,6 +1433,11 @@ msgid ""
"a. ``0``) or with more than one power-of-two value (e.g. ``3``) is "
"considered an alias."
msgstr ""
+"Las banderas tienen una vista ampliada de la creación de alias: para ser "
+"canónico, el valor de una bandera debe ser un valor de potencia de dos y no "
+"un nombre duplicado. Por lo tanto, además de la definición de alias de :"
+"class:`Enum`, una bandera sin valor (también conocida como ``0``) o con más "
+"de un valor de potencia de dos (por ejemplo, ``3``) se considera un alias."
#: ../Doc/howto/enum.rst:1201
msgid "Enum Members (aka instances)"
@@ -1430,34 +1459,40 @@ msgstr ""
#: ../Doc/howto/enum.rst:1209
msgid "Flag Members"
-msgstr ""
+msgstr "Miembros de Banderas"
#: ../Doc/howto/enum.rst:1211
msgid ""
"Flag members can be iterated over just like the :class:`Flag` class, and "
"only the canonical members will be returned. For example::"
msgstr ""
+"Los miembros de las Banderas se pueden recorrer de la misma manera que la "
+"clase :class:`Flag`, y solo se devolverán los miembros canónicos. Por "
+"ejemplo::"
#: ../Doc/howto/enum.rst:1217
msgid "(Note that ``BLACK``, ``PURPLE``, and ``WHITE`` do not show up.)"
-msgstr ""
+msgstr "(Note que ``BLACK``, ``PURPLE``, y ``WHITE`` no se muestran.)"
#: ../Doc/howto/enum.rst:1219
msgid ""
"Inverting a flag member returns the corresponding positive value, rather "
"than a negative value --- for example::"
msgstr ""
+"Invertir un miembro de la bandera devuelve el valor positivo "
+"correspondiente, en lugar de un valor negativo --- por ejemplo::"
#: ../Doc/howto/enum.rst:1225
msgid ""
"Flag members have a length corresponding to the number of power-of-two "
"values they contain. For example::"
msgstr ""
+"Los miembros de las Banderas tienen una longitud que corresponde al número "
+"de valores de potencia de dos que contienen. Por ejemplo::"
#: ../Doc/howto/enum.rst:1235
-#, fuzzy
msgid "Enum Cookbook"
-msgstr "HOWTO - Enum"
+msgstr "Recetario de Enumeraciones"
#: ../Doc/howto/enum.rst:1238
msgid ""
@@ -1585,6 +1620,8 @@ msgid ""
"*Do not* call ``super().__new__()``, as the lookup-only ``__new__`` is the "
"one that is found; instead, use the data type directly -- e.g.::"
msgstr ""
+"*No* llame a ``super().__new__()``, ya que encontrará el ``__new__`` de solo "
+"búsqueda; en su lugar, utilice directamente el tipo de datos -- por ejemplo::"
#: ../Doc/howto/enum.rst:1379
msgid "OrderedEnum"
@@ -1605,12 +1642,11 @@ msgid "DuplicateFreeEnum"
msgstr "DuplicateFreeEnum"
#: ../Doc/howto/enum.rst:1417
-#, fuzzy
msgid ""
"Raises an error if a duplicate member value is found instead of creating an "
"alias::"
msgstr ""
-"Genera un error si se encuentra un nombre de miembro duplicado en lugar de "
+"Lanza un error si se encuentra un nombre de miembro duplicado en lugar de "
"crear un alias::"
#: ../Doc/howto/enum.rst:1442
From a7616332e39dbd53a2719a105e2339630712b9b2 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 15 Nov 2023 04:57:57 +0800
Subject: [PATCH 002/136] Bump tj-actions/changed-files from 39 to 40 (#2743)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bumps
[tj-actions/changed-files](https://github.com/tj-actions/changed-files)
from 39 to 40.
Release notes
Sourced from tj-actions/changed-files's
releases.
v40
Changes in v40.1.1
What's Changed
Full Changelog: https://github.com/tj-actions/changed-files/compare/v40...v40.1.1
Changes in v40.1.0
What's Changed
Full Changelog: https://github.com/tj-actions/changed-files/compare/v40...v40.1.0
Changes in v40.0.2
What's Changed
Full Changelog: https://github.com/tj-actions/changed-files/compare/v40...v40.0.2
Changes in v40.0.1
What's Changed
... (truncated)
Changelog
Sourced from tj-actions/changed-files's
changelog.
Changelog
40.1.1
- (2023-11-08)
➕ Add
- Added missing changes and modified dist assets.
(e981e53)
- (GitHub Action)
⚙️ Miscellaneous Tasks
- deps: Update dependency
@types/node
to v20.9.0 (25ef392)
- (renovate[bot])
- deps: Update dependency
@types/lodash
to v4.14.201 (4d33bd5)
- (renovate[bot])
- deps: Update dependency
@types/micromatch to v4.0.5 (f25e472)
- (renovate[bot])
- deps: Update dependency
@types/uuid
to v9.0.7 (a3c4ccb)
- (renovate[bot])
- deps: Update dependency
@types/jest
to v29.5.8 (b114534)
- (renovate[bot])
- deps: Update typescript-eslint monorepo to v6.10.0
(303f064)
- (renovate[bot])
- deps: Lock file maintenance (d850ef9)
- (renovate[bot])
- deps: Update dependency eslint to v8.53.0 (8701b58)
- (renovate[bot])
⬆️ Upgrades
- Upgraded to v40.1.0 (#1695)
Co-authored-by: jackton1 jackton1@users.noreply.github.com
(9b1ba9a)
- (tj-actions[bot])
40.1.0
- (2023-11-03)
🚀 Features
- Add support for controlling the pattern order (#1693)
(892553a)
- (Tonye Jack)
🐛 Bug Fixes
- deps: Update dependency yaml to v2.3.4 (c300d15)
- (renovate[bot])
➕ Add
- Added missing changes and modified dist assets.
(50a9cc9)
- (GitHub Action)
🔄 Update
- Updated README.md (#1694)
Co-authored-by: repo-ranger[bot] (18c8a4e)
- (tj-actions[bot])
⬆️ Upgrades
- Upgraded to v40.0.2 (#1689)
... (truncated)
Commits
25ef392
chore(deps): update dependency @types/node to v20.9.0
4d33bd5
chore(deps): update dependency @types/lodash to
v4.14.201
f25e472
chore(deps): update dependency @types/micromatch to
v4.0.5
a3c4ccb
chore(deps): update dependency @types/uuid to v9.0.7
b114534
chore(deps): update dependency @types/jest to v29.5.8
303f064
chore(deps): update typescript-eslint monorepo to v6.10.0
e981e53
Added missing changes and modified dist assets.
d850ef9
chore(deps): lock file maintenance
8701b58
chore(deps): update dependency eslint to v8.53.0
9b1ba9a
Upgraded to v40.1.0 (#1695)
- Additional commits viewable in compare
view
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/pr-comment.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/pr-comment.yml b/.github/workflows/pr-comment.yml
index 7be6faccd1..bd143fe446 100644
--- a/.github/workflows/pr-comment.yml
+++ b/.github/workflows/pr-comment.yml
@@ -22,7 +22,7 @@ jobs:
python -m pip install -r requirements.txt
- name: Obtiene lista de archivos con cambios
id: changed-files
- uses: tj-actions/changed-files@v39
+ uses: tj-actions/changed-files@v40
with:
files: |
**/*.po
From 87f4069339ee76154ef811be6eb6d1f40b81af67 Mon Sep 17 00:00:00 2001
From: Luis Gonzalez
Date: Wed, 15 Nov 2023 16:54:12 -0500
Subject: [PATCH 003/136] traduccion library-runpy (#2737)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Closes #2595
Buen día, primer PRs de este archivo
---
library/runpy.po | 166 +++++++++++++++++++++++------------------------
1 file changed, 82 insertions(+), 84 deletions(-)
diff --git a/library/runpy.po b/library/runpy.po
index e750507f84..ef5fd6138e 100644
--- a/library/runpy.po
+++ b/library/runpy.po
@@ -11,19 +11,20 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: 2020-10-08 06:30-0500\n"
+"PO-Revision-Date: 2023-11-15 10:22-0500\n"
"Last-Translator: \n"
-"Language: es_EC\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es_EC\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
+"X-Generator: Poedit 3.4.1\n"
#: ../Doc/library/runpy.rst:2
msgid ":mod:`runpy` --- Locating and executing Python modules"
-msgstr ":mod:`runpy` --- Localización y ejecución de módulos *Python*"
+msgstr ":mod:`runpy` --- Localización y ejecución de módulos Python"
#: ../Doc/library/runpy.rst:9
msgid "**Source code:** :source:`Lib/runpy.py`"
@@ -36,9 +37,9 @@ msgid ""
"line switch that allows scripts to be located using the Python module "
"namespace rather than the filesystem."
msgstr ""
-"El modulo :mod:`runpy` es usado para localizar y correr módulos *Python* "
-"sin importarlo primero. Su uso principal es implementar la opción :option:`-"
-"m` cambiando la linea de comando que permite que los scripts se ubiquen "
+"El modulo :mod:`runpy` es usado para localizar y correr módulos Python sin "
+"importarlo primero. Su uso principal es implementar la opción :option:`-m` "
+"cambiando la línea de comando que permite que los scripts se ubiquen "
"utilizando el espacio de nombres del módulo de Python en lugar del sistema "
"de archivos."
@@ -48,7 +49,7 @@ msgid ""
"current process, and any side effects (such as cached imports of other "
"modules) will remain in place after the functions have returned."
msgstr ""
-"Tenga en cuenta que este *no* es un módulo de espacio aislado - Todo el "
+"Tenga en cuenta que este *no* es un módulo de espacio aislado - todo el "
"código es ejecutado en el proceso actual, y cualquier efecto secundario "
"(como las importaciones en cache de otros módulos) permanecerán en su lugar "
"después de que las funciones hayan retornado."
@@ -77,14 +78,13 @@ msgid ""
"import mechanism (refer to :pep:`302` for details) and then executed in a "
"fresh module namespace."
msgstr ""
-"Ejecute el código del módulo especificado y devuelva el diccionario de "
-"globales de módulo resultante. El código del módulo se encuentra primero "
+"Ejecuta el código del módulo especificado y devuelve el diccionario de "
+"globales del módulo resultante. El código del módulo se encuentra primero "
"mediante el mecanismo de importación estándar (consulte :pep:`302` para "
-"obtener más información) y, a continuación, se ejecuta en un espacio de "
+"obtener más información) y a continuación, se ejecuta en un espacio de "
"nombres de módulo nuevo."
#: ../Doc/library/runpy.rst:40
-#, fuzzy
msgid ""
"The *mod_name* argument should be an absolute module name. If the module "
"name refers to a package rather than a normal module, then that package is "
@@ -92,9 +92,9 @@ msgid ""
"executed and the resulting module globals dictionary returned."
msgstr ""
"El argumento *mod_name* debe ser un nombre de módulo absoluto. Si el nombre "
-"del paquete se refiere a un paquete en lugar de un módulo normal, entonces "
-"ese paquete es importado y el submódulo ``__main__`` dentro de ese paquete "
-"luego se ejecuta y se devuelve el diccionario global del módulo resultante."
+"del módulo se refiere a un paquete en lugar de a un módulo normal, entonces "
+"ese paquete se importa y el submódulo :mod:`__main__` dentro de ese paquete "
+"se ejecuta y se devuelve el diccionario de globales del módulo resultante."
#: ../Doc/library/runpy.rst:46
msgid ""
@@ -143,15 +143,16 @@ msgid ""
msgstr ""
"``__spec__`` se configura apropiadamente para el modulo *realmente* "
"importado (es decir, ``__spec__.name`` siempre será un *mod_name* o "
-"``mod_name + ‘.__main__``, jamas *run_name*)."
+"``mod_name + ‘.__main__``, nunca *run_name*)."
#: ../Doc/library/runpy.rst:66
msgid ""
"``__file__``, ``__cached__``, ``__loader__`` and ``__package__`` are :ref:"
"`set as normal ` based on the module spec."
msgstr ""
-"``__file__``, ``__cached__``, ``__loader__`` y ``__package__`` son basados "
-"en la especificación del modulo :ref:`set as normal `."
+"``__file__``, ``__cached__``, ``__loader__`` y ``__package__`` son :ref:"
+"`establecidos de forma normal ` basados en la "
+"especificación del módulo."
#: ../Doc/library/runpy.rst:69
msgid ""
@@ -169,33 +170,31 @@ msgstr ""
"retorno de la función."
#: ../Doc/library/runpy.rst:75
-#, fuzzy
msgid ""
"Note that this manipulation of :mod:`sys` is not thread-safe. Other threads "
"may see the partially initialised module, as well as the altered list of "
"arguments. It is recommended that the ``sys`` module be left alone when "
"invoking this function from threaded code."
msgstr ""
-"Tenga en cuenta que esta manipulación de :mod:`sys` no es segura para "
-"subprocesos. Otros subprocesos pueden ver el módulo parcialmente "
-"inicializado, así como la lista alterada de argumentos. Se recomienda que el "
-"módulo :mod:`sys` se deje solo al invocar esta función desde código roscado."
+"Tenga en cuenta que esta manipulación de :mod:`sys` no es segura para los "
+"hilos. Otros hilos pueden ver el módulo parcialmente inicializado, así como "
+"la lista de argumentos alterada. Se recomienda no utilizar el módulo ``sys`` "
+"cuando se invoque a esta función desde código con hilos."
#: ../Doc/library/runpy.rst:81
msgid ""
"The :option:`-m` option offering equivalent functionality from the command "
"line."
msgstr ""
-"La opción :option:`-m` ofrece una funcionalidad equivalente desde la linea "
+"La opción :option:`-m` ofrece una funcionalidad equivalente desde la línea "
"de comandos."
#: ../Doc/library/runpy.rst:84
-#, fuzzy
msgid ""
"Added ability to execute packages by looking for a :mod:`__main__` submodule."
msgstr ""
-"Se agrego la capacidad de ejecutar paquetes buscando un submódulo "
-"``__main__``."
+"Se agrego la capacidad de ejecutar paquetes buscando un submódulo :mod:"
+"`__main__`."
#: ../Doc/library/runpy.rst:87
msgid "Added ``__cached__`` global variable (see :pep:`3147`)."
@@ -208,20 +207,22 @@ msgid ""
"well as ensuring the real module name is always accessible as ``__spec__."
"name``."
msgstr ""
-"Se ha actualizado para aprovechar la función de especificación de módulo "
-"agregada por :pep:`451`. Esto permite que ``__cached__`` se establezca "
+"Se ha actualizado para aprovechar la función de especificación de módulos "
+"añadida por :pep:`451`. Esto permite que ``__cached__`` se establezca "
"correctamente para que los módulos se ejecuten de esta manera, así como "
-"asegurarse de que el nombre real del módulo siempre sea accesible como "
-"``__spec__.name``."
+"asegurar que el nombre real del módulo siempre sea accesible como ``__spec__."
+"name``."
#: ../Doc/library/runpy.rst:96
msgid ""
"The setting of ``__cached__``, ``__loader__``, and ``__package__`` are "
"deprecated. See :class:`~importlib.machinery.ModuleSpec` for alternatives."
msgstr ""
+"El establecimiento de ``__cached__``, ``__loader__``, y ``__package__`` "
+"están obsoletos. Véase :class:`~importlib.machinery.ModuleSpec` para "
+"alternativas."
#: ../Doc/library/runpy.rst:106
-#, fuzzy
msgid ""
"Execute the code at the named filesystem location and return the resulting "
"module globals dictionary. As with a script name supplied to the CPython "
@@ -230,16 +231,15 @@ msgid ""
"`__main__` module (e.g. a zipfile containing a top-level ``__main__.py`` "
"file)."
msgstr ""
-"Ejecute el código en la ubicación del sistema de archivos con nombre y "
-"devuelva el diccionario de globales de módulo resultante. Al igual que con "
-"un nombre de script proporcionado a la línea de comandos de CPython, la ruta "
-"de acceso proporcionada puede hacer referencia a un archivo de origen de "
-"Python, un archivo de código de bytes compilado o una entrada sys.path "
-"válida que contiene un módulo ``__main__`` (por ejemplo, un archivo zip que "
-"contiene un archivo ``__main__.py`` de nivel superior)."
+"Ejecuta el código en la ubicación del sistema de ficheros indicada y "
+"devuelve el diccionario global del módulo resultante. Al igual que con un "
+"nombre de script suministrado a la línea de comandos de CPython, la ruta "
+"suministrada puede referirse a un archivo fuente de Python, un archivo de "
+"código de bytes compilado o una entrada :data:`sys.path` válida que contenga "
+"un módulo :mod:`__main__` (por ejemplo, un archivo zip que contenga un "
+"archivo de nivel superior ``__main__.py``)."
#: ../Doc/library/runpy.rst:113
-#, fuzzy
msgid ""
"For a simple script, the specified code is simply executed in a fresh module "
"namespace. For a valid :data:`sys.path` entry (typically a zipfile or "
@@ -249,14 +249,14 @@ msgid ""
"existing ``__main__`` entry located elsewhere on ``sys.path`` if there is no "
"such module at the specified location."
msgstr ""
-"Para un *script* simple, el código especificado se ejecuta simplemente en un "
-"espacio de nombres de un módulo nuevo. Para un entrada *sys.path* valida "
-"(comúnmente es un archivo *zip* o un directorio), la entrada se agrega "
-"primero al comienzo de ``sys.path``. La función busca y ejecuta un modulo :"
-"mod:`__main__` usando la ruta actualizada. Tenga en cuenta que no existe una "
-"protección especial contra la invocación de una entrada existente :mod:"
-"`__main__` ubicada en otro lugar en ``sys.path`` si no hay tal módulo en la "
-"ubicación especificada."
+"Para un script simple, el código especificado simplemente se ejecuta en un "
+"espacio de nombres de módulo nuevo. Para una entrada :data:`sys.path` válida "
+"(normalmente un archivo zip o directorio), la entrada se añade primero al "
+"principio de ``sys.path``. A continuación, la función busca y ejecuta un "
+"módulo :mod:`__main__` utilizando la ruta actualizada. Tenga en cuenta que "
+"no hay ninguna protección especial contra la invocación de una entrada "
+"``__main__`` existente ubicada en otro lugar de ``sys.path`` si no existe "
+"tal módulo en la ubicación especificada."
#: ../Doc/library/runpy.rst:121
msgid ""
@@ -287,13 +287,12 @@ msgid ""
"path, and ``__spec__``, ``__cached__``, ``__loader__`` and ``__package__`` "
"will all be set to :const:`None`."
msgstr ""
-"Si la ruta proporcionada hace referencia a un archivo *script* (ya sea como "
-"fuente o un código de *byte* precompilado), entonces ``__file__`` se "
+"Si la ruta proporcionada hace referencia a un archivo script (ya sea como "
+"fuente o un código de bytes precompilado), entonces ``__file__`` se "
"establecerá en la ruta proporcionada, y ``__spec__``, ``__cached__``, "
"``__loader__`` y ``__package__`` se establecerán todos en :const:`None`."
#: ../Doc/library/runpy.rst:141
-#, fuzzy
msgid ""
"If the supplied path is a reference to a valid :data:`sys.path` entry, then "
"``__spec__`` will be set appropriately for the imported :mod:`__main__` "
@@ -301,15 +300,14 @@ msgid ""
"``__file__``, ``__cached__``, ``__loader__`` and ``__package__`` will be :"
"ref:`set as normal ` based on the module spec."
msgstr ""
-"Si la ruta proporciona es una referencia a una entrada *sys.path* valida, "
-"entonces ``__spec__`` se establece apropiadamente para la importación del "
-"modulo ``__main__`` (es decir, ``__spec__.name`` siempre deberá ser "
-"``__main__``). ``__file__``, ``__cached__``, ``__loader__`` y "
-"``__package__`` estarán basadas en la especificación del modulo :ref:"
-"`establecidas como normal `."
+"Si la ruta proporcionada es una referencia a una entrada válida de :data:"
+"`sys.path`, entonces ``__spec__`` se establecerá apropiadamente para el "
+"módulo importado :mod:`__main__` (es decir, ``__spec__.name`` siempre será "
+"``__main__``). ``__file__``, ``__cached__``, ``__loader__`` y "
+"``__package__`` serán :ref:`establecidos de forma normal ` "
+"basándose en la especificación del módulo."
#: ../Doc/library/runpy.rst:147
-#, fuzzy
msgid ""
"A number of alterations are also made to the :mod:`sys` module. Firstly, :"
"data:`sys.path` may be altered as described above. ``sys.argv[0]`` is "
@@ -318,15 +316,14 @@ msgid ""
"modifications to items in :mod:`sys` are reverted before the function "
"returns."
msgstr ""
-"También se realizan una serie de alteraciones en el módulo :mod:`sys`. En "
-"primer lugar, ``sys.path`` puede ser alterado como se describió "
-"anteriormente. ``sys.argv[0]`` se actualiza con el valor de ``file_path`` y "
-"``sys.modules[__name__]`` se actualiza con un objeto de módulo temporal para "
-"el módulo que se está ejecutando. Todas las modificaciones de los elementos "
-"de :mod:`sys` se revierten antes de que se devuelva la función."
+"También se realizan una serie de modificaciones en el módulo :mod:`sys`. En "
+"primer lugar, :data:`sys.path` puede alterarse como se ha descrito "
+"anteriormente. Se actualiza ``sys.argv[0]`` con el valor de ``path_name``` y "
+"se actualiza ``sys.modules[__name__]`` con un objeto módulo temporal para el "
+"módulo que se está ejecutando. Todas las modificaciones a los elementos en :"
+"mod:`sys` son revertidas antes de que la función retorne."
#: ../Doc/library/runpy.rst:154
-#, fuzzy
msgid ""
"Note that, unlike :func:`run_module`, the alterations made to :mod:`sys` are "
"not optional in this function as these adjustments are essential to allowing "
@@ -334,12 +331,12 @@ msgid ""
"still apply, use of this function in threaded code should be either "
"serialised with the import lock or delegated to a separate process."
msgstr ""
-"Tenga en cuenta que, diferente a :func:`run_module`, las alteraciones hecha "
-"a :mod:`sys` no son opcionales en esta función ya que estos ajustes son "
-"esenciales para permitir la ejecución de entradas *sys.path*. Como aún se "
-"aplican las limitaciones de seguridad de los subprocesos, el uso de esta "
-"función en un código procesado debe serializarse con el bloqueo de "
-"importación o delegarse a un proceso separado."
+"Tenga en cuenta que, a diferencia de :func:`run_module`, las alteraciones "
+"realizadas en :mod:`sys` no son opcionales en esta función, ya que estos "
+"ajustes son esenciales para permitir la ejecución de las entradas de :data:"
+"`sys.path`. Como las limitaciones de seguridad de hilos aún se aplican, el "
+"uso de esta función en código con hilos debe ser serializado con el bloqueo "
+"de importación o delegado a un proceso separado."
#: ../Doc/library/runpy.rst:161
msgid ""
@@ -347,34 +344,35 @@ msgid ""
"command line (``python path/to/script``)."
msgstr ""
":ref:`using-on-interface-options` para una funcionalidad equivalente en la "
-"linea de comandos (``python path/to/script``)."
+"línea de comandos (``python path/to/script``)."
#: ../Doc/library/runpy.rst:166
-#, fuzzy
msgid ""
"Updated to take advantage of the module spec feature added by :pep:`451`. "
"This allows ``__cached__`` to be set correctly in the case where "
"``__main__`` is imported from a valid :data:`sys.path` entry rather than "
"being executed directly."
msgstr ""
-"Actualizado para aprovechar la función de especificación del módulo agregada "
-"por :pep:`451`. Esto permite que ``__cached__`` se configure correctamente "
-"en el caso de que ``__main__`` se importe de una entrada *sys.path* valida "
-"en lugar de ejecutarse directamente."
+"Se ha actualizado para aprovechar la función de especificación de módulos "
+"añadida por :pep:`451`. Esto permite que ``__cached__`` se establezca "
+"correctamente en el caso de que ``__main__`` se importe desde una entrada :"
+"data:`sys.path` válida en lugar de ejecutarse directamente."
#: ../Doc/library/runpy.rst:172
msgid ""
"The setting of ``__cached__``, ``__loader__``, and ``__package__`` are "
"deprecated."
msgstr ""
+"El establecimiento de ``__cached__``, ``__loader__`` y ``__package__`` están "
+"en desuso."
#: ../Doc/library/runpy.rst:179
msgid ":pep:`338` -- Executing modules as scripts"
-msgstr ":pep:`338` -- Ejecutando módulos como *scripts*"
+msgstr ":pep:`338` -- Ejecutando módulos como scripts"
#: ../Doc/library/runpy.rst:179 ../Doc/library/runpy.rst:182
msgid "PEP written and implemented by Nick Coghlan."
-msgstr "*PEP* escrito y implementado por *Nick Coghlan*."
+msgstr "PEP escrito e implementado por Nick Coghlan."
#: ../Doc/library/runpy.rst:182
msgid ":pep:`366` -- Main module explicit relative imports"
@@ -382,15 +380,15 @@ msgstr ":pep:`366` -- Importaciones relativas explícitas del módulo principal"
#: ../Doc/library/runpy.rst:185
msgid ":pep:`451` -- A ModuleSpec Type for the Import System"
-msgstr ":pep:`451` — Un tipo *ModuleSpec* para el sistema de Importación"
+msgstr ":pep:`451` — Un tipo ModuleSpec para el sistema de Importación"
#: ../Doc/library/runpy.rst:185
msgid "PEP written and implemented by Eric Snow"
-msgstr "*PEP* escrito y implementado por *Eric Snow*"
+msgstr "PEP escrito e implementado por Eric Snow"
#: ../Doc/library/runpy.rst:187
msgid ":ref:`using-on-general` - CPython command line details"
-msgstr ":ref:`using-on-general` - Detalles de la linea de comandos *CPython*"
+msgstr ":ref:`using-on-general` - Detalles de la línea de comandos CPython"
#: ../Doc/library/runpy.rst:189
msgid "The :func:`importlib.import_module` function"
@@ -398,8 +396,8 @@ msgstr "La función :func:`importlib.import_module`"
#: ../Doc/library/runpy.rst:32 ../Doc/library/runpy.rst:103
msgid "module"
-msgstr ""
+msgstr "module"
#: ../Doc/library/runpy.rst:32 ../Doc/library/runpy.rst:103
msgid "__main__"
-msgstr ""
+msgstr "__main__"
From ff4d861df1cb9b9ea68151897441f0d95e9aaf44 Mon Sep 17 00:00:00 2001
From: Yennifer Herrera
Date: Sat, 18 Nov 2023 03:20:24 -0500
Subject: [PATCH 004/136] Traducido `library/faulthandler.po` (#2747)
Closes #2596
---
library/faulthandler.po | 17 +++++++++++------
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/library/faulthandler.po b/library/faulthandler.po
index 81e40707cd..d10632b18a 100644
--- a/library/faulthandler.po
+++ b/library/faulthandler.po
@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: 2021-11-09 10:30+0100\n"
+"PO-Revision-Date: 2023-11-17 23:45-0500\n"
"Last-Translator: Cristián Maureira-Fredes \n"
-"Language: es\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
+"X-Generator: Poedit 3.0.1\n"
#: ../Doc/library/faulthandler.rst:2
msgid ":mod:`faulthandler` --- Dump the Python traceback"
@@ -125,21 +126,23 @@ msgstr ""
#: ../Doc/library/faulthandler.rst:49
msgid "Module :mod:`pdb`"
-msgstr ""
+msgstr "Módulo :mod:`pdb`"
#: ../Doc/library/faulthandler.rst:49
msgid "Interactive source code debugger for Python programs."
-msgstr ""
+msgstr "Depurador interactivo de código fuente para programas en Python."
#: ../Doc/library/faulthandler.rst:51
msgid "Module :mod:`traceback`"
-msgstr ""
+msgstr "Módulo :mod:`traceback`"
#: ../Doc/library/faulthandler.rst:52
msgid ""
"Standard interface to extract, format and print stack traces of Python "
"programs."
msgstr ""
+"Interfaz estándar para extraer, formatear e imprimir trazas de pila de "
+"programas en Python."
#: ../Doc/library/faulthandler.rst:55
msgid "Dumping the traceback"
@@ -157,6 +160,8 @@ msgstr ""
msgid ""
":func:`traceback.print_tb`, which can be used to print a traceback object."
msgstr ""
+":func:`traceback.print_tb`, que se puede utilizar para imprimir un objeto de "
+"traza de pila."
#: ../Doc/library/faulthandler.rst:64 ../Doc/library/faulthandler.rst:82
#: ../Doc/library/faulthandler.rst:124 ../Doc/library/faulthandler.rst:146
From 063cbee18daf9d20f8479eb90c1833b9ac5e27bd Mon Sep 17 00:00:00 2001
From: Yennifer Herrera
Date: Sat, 18 Nov 2023 03:23:33 -0500
Subject: [PATCH 005/136] Traducido `library/zoneinfo.po` (#2742)
Closes #2593
Co-authored-by: rtobar
---
library/zoneinfo.po | 21 ++++++++++-----------
1 file changed, 10 insertions(+), 11 deletions(-)
diff --git a/library/zoneinfo.po b/library/zoneinfo.po
index 1fe1381ce7..c0717f023a 100644
--- a/library/zoneinfo.po
+++ b/library/zoneinfo.po
@@ -9,15 +9,16 @@ msgstr ""
"Project-Id-Version: Python en Español 3.9\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: 2022-11-27 19:57-0300\n"
+"PO-Revision-Date: 2023-11-13 12:55-0500\n"
"Last-Translator: \n"
-"Language: es\n"
"Language-Team: \n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
+"X-Generator: Poedit 3.0.1\n"
#: ../Doc/library/zoneinfo.rst:2
msgid ":mod:`zoneinfo` --- IANA time zone support"
@@ -25,7 +26,7 @@ msgstr ":mod:`zoneinfo` --- Soporte de zona horaria IANA"
#: ../Doc/library/zoneinfo.rst:12
msgid "**Source code:** :source:`Lib/zoneinfo`"
-msgstr ""
+msgstr "**Código fuente:** :source:`Lib/zoneinfo`"
#: ../Doc/library/zoneinfo.rst:16
msgid ""
@@ -67,9 +68,8 @@ msgstr ""
"para suministrar datos de zonas horarias a través de PyPI."
#: ../Doc/includes/wasm-notavail.rst:3
-#, fuzzy
msgid ":ref:`Availability `: not Emscripten, not WASI."
-msgstr ":ref:`Availability `: ni Emscripten, ni WASI."
+msgstr ":ref:`Disponibilidad `: no Emscripten, no WASI."
#: ../Doc/includes/wasm-notavail.rst:5
msgid ""
@@ -414,16 +414,15 @@ msgstr ""
"``only_keys`` pero que no se encuentran en la caché se ignoran."
#: ../Doc/library/zoneinfo.rst:243
-#, fuzzy
msgid ""
"Invoking this function may change the semantics of datetimes using "
"``ZoneInfo`` in surprising ways; this modifies module state and thus may "
"have wide-ranging effects. Only use it if you know that you need to."
msgstr ""
-"La invocación de esta función puede cambiar la semántica de las fechas "
-"utilizando ``ZoneInfo`` de forma sorprendente; esto modifica el estado "
-"global del proceso y por lo tanto puede tener efectos de gran alcance. "
-"Utilícela sólo si sabe que lo necesita."
+"Invocar esta función puede cambiar la semántica de las fechas y horas que "
+"utilizan ``ZoneInfo`` de formas sorprendentes; esto modifica el estado del "
+"módulo y, por lo tanto, puede tener efectos de gran alcance. Utilícela solo "
+"si sabe que la necesita."
#: ../Doc/library/zoneinfo.rst:248
msgid "The class has one attribute:"
From 7b9360b9bae19255fda9c11e2163bd324e80fcf0 Mon Sep 17 00:00:00 2001
From: AlfonsoAreizaG <63620799+Alfareiza@users.noreply.github.com>
Date: Sun, 19 Nov 2023 15:02:09 -0300
Subject: [PATCH 006/136] Traduccion de howto perf_profiling.po (#2744)
close #2392
---------
Co-authored-by: rtobar
---
howto/perf_profiling.po | 80 ++++++++++++++++++++++++++++++++---------
1 file changed, 64 insertions(+), 16 deletions(-)
diff --git a/howto/perf_profiling.po b/howto/perf_profiling.po
index 74a45722a2..68c0abec2e 100644
--- a/howto/perf_profiling.po
+++ b/howto/perf_profiling.po
@@ -4,33 +4,33 @@
# package.
# FIRST AUTHOR , 2023.
#
-#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python en Español 3.12\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME \n"
-"Language: es\n"
+"PO-Revision-Date: 2023-11-13 17:54-0300\n"
+"Last-Translator: Alfonso Areiza Guerra \n"
"Language-Team: es \n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
+"X-Generator: Poedit 3.4\n"
#: ../Doc/howto/perf_profiling.rst:7
msgid "Python support for the Linux ``perf`` profiler"
-msgstr ""
+msgstr "Soporte de Python para el perfilador ``perf`` de Linux"
#: ../Doc/howto/perf_profiling.rst
msgid "author"
-msgstr ""
+msgstr "autor"
#: ../Doc/howto/perf_profiling.rst:9
msgid "Pablo Galindo"
-msgstr ""
+msgstr "Pablo Galindo"
#: ../Doc/howto/perf_profiling.rst:11
msgid ""
@@ -39,6 +39,11 @@ msgid ""
"of your application. ``perf`` also has a very vibrant ecosystem of tools "
"that aid with the analysis of the data that it produces."
msgstr ""
+"`El perfilador perf de Linux `_ es una "
+"herramienta muy poderosa que le permite crear perfiles y obtener información "
+"sobre el rendimiento de su aplicación. ``perf`` también tiene un ecosistema "
+"muy vibrante de herramientas que ayudan con el análisis de los datos que "
+"produce."
#: ../Doc/howto/perf_profiling.rst:17
msgid ""
@@ -48,6 +53,11 @@ msgid ""
"and file names of Python functions in your code will not appear in the "
"output of ``perf``."
msgstr ""
+"El principal problema con el uso del perfilador ``perf`` con aplicaciones "
+"Python es que ``perf`` sólo obtiene información sobre símbolos nativos, es "
+"decir, los nombres de funciones y procedimientos escritos en C. Esto "
+"significa que los nombres y nombres de archivos de las funciones de Python "
+"en su código no aparecerán en la salida de ``perf``."
#: ../Doc/howto/perf_profiling.rst:22
msgid ""
@@ -58,6 +68,13 @@ msgid ""
"will teach ``perf`` the relationship between this piece of code and the "
"associated Python function using :doc:`perf map files <../c-api/perfmaps>`."
msgstr ""
+"Desde Python 3.12, el intérprete puede ejecutarse en un modo especial que "
+"permite que las funciones de Python aparezcan en la salida del perfilador "
+"``perf``. Cuando este modo está habilitado, el intérprete interpondrá un "
+"pequeño fragmento de código compilado sobre la marcha antes de la ejecución "
+"de cada función de Python y enseñará a ``perf`` la relación entre este "
+"fragmento de código y la función de Python asociada usando :doc:`perf map "
+"files <../c-api/perfmaps>`."
#: ../Doc/howto/perf_profiling.rst:31
msgid ""
@@ -66,18 +83,24 @@ msgid ""
"check the output of ``python -m sysconfig | grep HAVE_PERF_TRAMPOLINE`` to "
"see if your system is supported."
msgstr ""
+"Actualmente, el soporte para el perfilador ``perf`` solo está disponible "
+"para Linux en arquitecturas seleccionadas. Verifique el resultado del paso "
+"de compilación ``configure`` o verifique el resultado de ``python -m "
+"sysconfig | grep HAVE_PERF_TRAMPOLINE`` para ver si su sistema es compatible."
#: ../Doc/howto/perf_profiling.rst:36
msgid "For example, consider the following script:"
-msgstr ""
+msgstr "Por ejemplo, considere el siguiente script:"
#: ../Doc/howto/perf_profiling.rst:55
msgid "We can run ``perf`` to sample CPU stack traces at 9999 hertz::"
msgstr ""
+"Podemos ejecutar ``perf`` para obtener un registro de los seguimientos de la "
+"pila de CPU a 9999 hercios::"
#: ../Doc/howto/perf_profiling.rst:59
msgid "Then we can use ``perf report`` to analyze the data:"
-msgstr ""
+msgstr "Luego podemos usar ``perf report`` para analizar los datos:"
#: ../Doc/howto/perf_profiling.rst:100
msgid ""
@@ -87,15 +110,23 @@ msgid ""
"functions use the same C function to evaluate bytecode so we cannot know "
"which Python function corresponds to which bytecode-evaluating function."
msgstr ""
+"Como puede ver, las funciones de Python no se muestran en la salida, solo "
+"aparece ``_Py_Eval_EvalFrameDefault`` (la función que evalúa el código de "
+"bytes de Python). Desafortunadamente, eso no es muy útil porque todas las "
+"funciones de Python usan la misma función de C para evaluar el código de "
+"bytes, por lo que no podemos saber qué función de Python corresponde a qué "
+"función de evaluación de código de bytes."
#: ../Doc/howto/perf_profiling.rst:105
msgid ""
"Instead, if we run the same experiment with ``perf`` support enabled we get:"
msgstr ""
+"En cambio, si ejecutamos el mismo experimento con el soporte ``perf`` "
+"habilitado obtenemos:"
#: ../Doc/howto/perf_profiling.rst:152
msgid "How to enable ``perf`` profiling support"
-msgstr ""
+msgstr "Cómo habilitar el soporte de creación de perfiles ``perf``"
#: ../Doc/howto/perf_profiling.rst:154
msgid ""
@@ -104,32 +135,38 @@ msgid ""
"X>` option, or dynamically using :func:`sys.activate_stack_trampoline` and :"
"func:`sys.deactivate_stack_trampoline`."
msgstr ""
+"El soporte de creación de perfiles ``perf`` se puede habilitar desde el "
+"principio usando la variable de entorno :envvar:`PYTHONPERFSUPPORT` o la "
+"opción :option:`-X perf <-X>`, o dinámicamente usando :func:`sys."
+"activate_stack_trampoline` y :func:`sys.deactivate_stack_trampoline`."
#: ../Doc/howto/perf_profiling.rst:160
msgid ""
"The :mod:`!sys` functions take precedence over the :option:`!-X` option, "
"the :option:`!-X` option takes precedence over the environment variable."
msgstr ""
+"Las funciones :mod:`!sys` tienen prioridad sobre la opción :option:`!-X`, la "
+"opción :option:`!-X` tiene prioridad sobre la variable de entorno."
#: ../Doc/howto/perf_profiling.rst:163
msgid "Example, using the environment variable::"
-msgstr ""
+msgstr "Ejemplo, usando la variable de entorno::"
#: ../Doc/howto/perf_profiling.rst:169
msgid "Example, using the :option:`!-X` option::"
-msgstr ""
+msgstr "Ejemplo, usando la opción :option:`!-X`::"
#: ../Doc/howto/perf_profiling.rst:174
msgid "Example, using the :mod:`sys` APIs in file :file:`example.py`:"
-msgstr ""
+msgstr "Ejemplo, usando las API :mod:`sys` en el archivo :file:`example.py`:"
#: ../Doc/howto/perf_profiling.rst:186
msgid "...then::"
-msgstr ""
+msgstr "...entonces::"
#: ../Doc/howto/perf_profiling.rst:193
msgid "How to obtain the best results"
-msgstr ""
+msgstr "Cómo obtener los mejores resultados"
#: ../Doc/howto/perf_profiling.rst:195
msgid ""
@@ -140,11 +177,19 @@ msgid ""
"dynamically generated it doesn't have any DWARF debugging information "
"available."
msgstr ""
+"Para obtener mejores resultados, Python debe compilarse con ``CFLAGS=\"-fno-"
+"omit-frame-pointer -mno-omit-leaf-frame-pointer\"`` ya que esto permite a "
+"los perfiladores desenrollarse usando solo el puntero del marco y no en la "
+"información de depuración de DWARF. Esto se debe a que como el código que se "
+"interpone para permitir el soporte ``perf`` se genera dinámicamente, no "
+"tiene ninguna información de depuración DWARF disponible."
#: ../Doc/howto/perf_profiling.rst:202
msgid ""
"You can check if your system has been compiled with this flag by running::"
msgstr ""
+"Puede verificar si su sistema ha sido compilado con este indicador "
+"ejecutando::"
#: ../Doc/howto/perf_profiling.rst:206
msgid ""
@@ -152,3 +197,6 @@ msgid ""
"compiled with frame pointers and therefore it may not be able to show Python "
"functions in the output of ``perf``."
msgstr ""
+"Si no ve ningún resultado, significa que su intérprete no ha sido compilado "
+"con punteros de marco y, por lo tanto, es posible que no pueda mostrar "
+"funciones de Python en el resultado de ``perf``."
From 97502d708d630e86b463d0c8750759f2d9e960cb Mon Sep 17 00:00:00 2001
From: rtobar
Date: Mon, 20 Nov 2023 02:12:55 +0800
Subject: [PATCH 007/136] =?UTF-8?q?Traducci=C3=B3n=20library/zipapp.po=20(?=
=?UTF-8?q?#2692)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Closes #2613
---------
Signed-off-by: Rodrigo Tobar
---
library/zipapp.po | 134 +++-------------------------------------------
1 file changed, 6 insertions(+), 128 deletions(-)
diff --git a/library/zipapp.po b/library/zipapp.po
index 8752520c2b..e7b710b322 100644
--- a/library/zipapp.po
+++ b/library/zipapp.po
@@ -370,7 +370,6 @@ msgstr ""
"archivador modificado, utilizando la función :func:`create_archive`::"
#: ../Doc/library/zipapp.rst:218
-#, fuzzy
msgid ""
"To update the file in place, do the replacement in memory using a :class:"
"`~io.BytesIO` object, and then overwrite the source afterwards. Note that "
@@ -380,11 +379,11 @@ msgid ""
"if the archive fits in memory::"
msgstr ""
"Para actualizar el archivo en el lugar, reemplaza en memoria utilizando un "
-"objeto :class:`BytesIO`, y luego sobreescribe el origen (*source*). Nótese "
-"que hay un riesgo al sobreescribir un archivo en el lugar, ya que un error "
-"resultará en la pérdida del archivo original. Este código no ofrece "
-"protección contra este tipo de errores, sino que el código de producción "
-"debería hacerlo. Además, este método solamente funcionará si el archivador "
+"objeto :class:`~io.BytesIO`, y luego sobreescribe el origen (*source*). "
+"Nótese que hay un riesgo al sobreescribir un archivo en el lugar, ya que un "
+"error resultará en la pérdida del archivo original. Este código no ofrece "
+"protección contra este tipo de errores, pero los códigos de producción "
+"deberían hacerlo. Además, este método solamente funcionará si el archivador "
"cabe en la memoria::"
#: ../Doc/library/zipapp.rst:236
@@ -642,125 +641,4 @@ msgstr ""
#: ../Doc/library/zipapp.rst:11
msgid "Executable Zip Files"
-msgstr ""
-
-#~ msgid ""
-#~ "Optionally, delete the ``.dist-info`` directories created by pip in the "
-#~ "``myapp`` directory. These hold metadata for pip to manage the packages, "
-#~ "and as you won't be making any further use of pip they aren't required - "
-#~ "although it won't do any harm if you leave them."
-#~ msgstr ""
-#~ "Opcionalmente, borra los directorios ``.dist-info`` creados por pip en el "
-#~ "directorio ``myapp``. Éstos tienen metadatos para que pip gestione los "
-#~ "paquetes, y como ya no se utilizará pip, no hace falta que permanezcan "
-#~ "(aunque no causará ningún problema si los dejas)."
-
-#~ msgid "Making a Windows executable"
-#~ msgstr "Hacer un ejecutable para Windows"
-
-#~ msgid ""
-#~ "On Windows, registration of the ``.pyz`` extension is optional, and "
-#~ "furthermore, there are certain places that don't recognise registered "
-#~ "extensions \"transparently\" (the simplest example is that ``subprocess."
-#~ "run(['myapp'])`` won't find your application - you need to explicitly "
-#~ "specify the extension)."
-#~ msgstr ""
-#~ "En Windows, registrar la extensión ``.pyz`` es opcional, y además hay "
-#~ "ciertos sitios que no reconocen las extensiones registradas de manera "
-#~ "\"transparente\" (el ejemplo más simple es que ``subprocess."
-#~ "run(['myapp'])`` no va a encontrar la aplicación, es necesario "
-#~ "especificar explícitamente la extensión)."
-
-#~ msgid ""
-#~ "On Windows, therefore, it is often preferable to create an executable "
-#~ "from the zipapp. This is relatively easy, although it does require a C "
-#~ "compiler. The basic approach relies on the fact that zipfiles can have "
-#~ "arbitrary data prepended, and Windows exe files can have arbitrary data "
-#~ "appended. So by creating a suitable launcher and tacking the ``.pyz`` "
-#~ "file onto the end of it, you end up with a single-file executable that "
-#~ "runs your application."
-#~ msgstr ""
-#~ "Por lo tanto, en Windows, suele ser preferible crear un ejecutable a "
-#~ "partir del zipapp. Esto es relativamente fácil, aunque requiere un "
-#~ "compilador de C. La estrategia básica se basa en que los archivos zip "
-#~ "pueden tener datos arbitrarios antepuestos, y los archivos exe de Windows "
-#~ "pueden tener datos arbitrarios agregados. Entonces, si se crea un "
-#~ "lanzador adecuado mudando el archivo ``.pyz`` al final del mismo, se "
-#~ "obtiene un solo archivo ejecutable que corre la aplicación."
-
-#~ msgid "A suitable launcher can be as simple as the following::"
-#~ msgstr "Un lanzador adecuado puede ser así de simple::"
-
-#~ msgid ""
-#~ "If you define the ``WINDOWS`` preprocessor symbol, this will generate a "
-#~ "GUI executable, and without it, a console executable."
-#~ msgstr ""
-#~ "Si se define el símbolo de preprocesador ``WINDOWS``, se generará una GUI "
-#~ "(interfaz gráfica de usuario) ejecutable, y sin este símbolo, un "
-#~ "ejecutable de consola."
-
-#~ msgid ""
-#~ "To compile the executable, you can either just use the standard MSVC "
-#~ "command line tools, or you can take advantage of the fact that distutils "
-#~ "knows how to compile Python source::"
-#~ msgstr ""
-#~ "Para compilar el ejecutable, se puede usar únicamente la línea de comando "
-#~ "estándar MSVC, o se puede aprovechar la ventaja de que distutils sabe "
-#~ "cómo compilar código fuente Python::"
-
-#~ msgid ""
-#~ "The resulting launcher uses the \"Limited ABI\", so it will run unchanged "
-#~ "with any version of Python 3.x. All it needs is for Python (``python3."
-#~ "dll``) to be on the user's ``PATH``."
-#~ msgstr ""
-#~ "El lanzador resultante utiliza \"Limited ABI\", así que correrá sin "
-#~ "cambios con cualquier versión de Python 3.x. Todo lo que necesita es que "
-#~ "Python (``python3.dll``) esté en el ``PATH`` del usuario."
-
-#~ msgid ""
-#~ "For a fully standalone distribution, you can distribute the launcher with "
-#~ "your application appended, bundled with the Python \"embedded\" "
-#~ "distribution. This will run on any PC with the appropriate architecture "
-#~ "(32 bit or 64 bit)."
-#~ msgstr ""
-#~ "Para una distribución completamente independiente, se puede distribuir el "
-#~ "lanzador con la aplicación incluida, empaquetada con la distribución "
-#~ "\"*embedded*\" de Python. Va a funcionar en cualquier PC con la "
-#~ "arquitectura adecuada (32 o 64 bits)."
-
-#~ msgid ""
-#~ "There are some limitations to the process of bundling your application "
-#~ "into a single file. In most, if not all, cases they can be addressed "
-#~ "without needing major changes to your application."
-#~ msgstr ""
-#~ "Hay algunas limitaciones para empaquetar la aplicación en un solo "
-#~ "archivo. In la mayoría, si no en todos los casos, se pueden abordar sin "
-#~ "que haga falta ningún cambio importante en la aplicación."
-
-#~ msgid ""
-#~ "If you are shipping a Windows executable as described above, you either "
-#~ "need to ensure that your users have ``python3.dll`` on their PATH (which "
-#~ "is not the default behaviour of the installer) or you should bundle your "
-#~ "application with the embedded distribution."
-#~ msgstr ""
-#~ "Al distribuir ejecutables Windows tal como se describe más arriba, hay "
-#~ "que asegurarse de que los usuarios tienen ``python3.dll`` en su PATH (lo "
-#~ "cual no es una opción por defecto en el instalador), o bien empaquetar la "
-#~ "aplicación con la distribución *embedded*."
-
-#~ msgid ""
-#~ "The suggested launcher above uses the Python embedding API. This means "
-#~ "that in your application, ``sys.executable`` will be your application, "
-#~ "and *not* a conventional Python interpreter. Your code and its "
-#~ "dependencies need to be prepared for this possibility. For example, if "
-#~ "your application uses the :mod:`multiprocessing` module, it will need to "
-#~ "call :func:`multiprocessing.set_executable` to let the module know where "
-#~ "to find the standard Python interpreter."
-#~ msgstr ""
-#~ "El lanzador que se sugiere más arriba, utiliza la API de incrustación de "
-#~ "Python (*Python embedding API*). Esto significa que ``sys.executable`` "
-#~ "será la aplicación, y *no* el intérprete Python convencional. El código y "
-#~ "sus dependencias deben estar preparados para esta posibilidad. Por "
-#~ "ejemplo, si la aplicación utiliza el módulo :mod:`multiprocessing`, "
-#~ "necesitará invocar a :func:`multiprocessing.set_executable` para permitir "
-#~ "que el módulo sepa dónde encontrar el intérprete Python estándar."
+msgstr "Archivos Zip Ejecutables"
From 77826f00bcf48a1bb21b85732d2992f4ed4e2d80 Mon Sep 17 00:00:00 2001
From: Yennifer Herrera
Date: Mon, 20 Nov 2023 10:49:33 -0500
Subject: [PATCH 008/136] Traducido `library/asyncio-policy.po` (#2750)
Closes #2604
---
library/asyncio-policy.po | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/library/asyncio-policy.po b/library/asyncio-policy.po
index 681a431f41..f2f57fccd4 100644
--- a/library/asyncio-policy.po
+++ b/library/asyncio-policy.po
@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: 2023-04-02 04:14-0300\n"
+"PO-Revision-Date: 2023-11-19 13:55-0500\n"
"Last-Translator: Cristián Maureira-Fredes \n"
-"Language: es\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
+"X-Generator: Poedit 3.0.1\n"
#: ../Doc/library/asyncio-policy.rst:8
msgid "Policies"
@@ -185,6 +186,10 @@ msgid ""
"decides to create one. In some future Python release this will become an "
"error."
msgstr ""
+"El método :meth:`get_event_loop` de la política asyncio predeterminada ahora "
+"emite una :exc:`DeprecationWarning` si no hay un bucle de eventos actual "
+"configurado y decide crear uno. En alguna versión futura de Python, esto se "
+"convertirá en un error."
#: ../Doc/library/asyncio-policy.rst:128
msgid ""
From ef8153505b3e5a355eb7b50b5e339aefeee86248 Mon Sep 17 00:00:00 2001
From: Yennifer Herrera
Date: Mon, 20 Nov 2023 10:52:11 -0500
Subject: [PATCH 009/136] Traducido `library/email.utils.po` (#2748)
Closes #2588
---
library/email.utils.po | 27 ++++++++++++---------------
1 file changed, 12 insertions(+), 15 deletions(-)
diff --git a/library/email.utils.po b/library/email.utils.po
index d90a9a8bc2..79827ac687 100644
--- a/library/email.utils.po
+++ b/library/email.utils.po
@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: 2020-10-29 22:58+0100\n"
+"PO-Revision-Date: 2023-11-18 00:09-0500\n"
"Last-Translator: Juan C. Tello \n"
-"Language: es\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
+"X-Generator: Poedit 3.0.1\n"
#: ../Doc/library/email.utils.rst:2
msgid ":mod:`email.utils`: Miscellaneous utilities"
@@ -38,7 +39,6 @@ msgstr ""
"utils`:"
#: ../Doc/library/email.utils.rst:16
-#, fuzzy
msgid ""
"Return local time as an aware datetime object. If called without arguments, "
"return current time. Otherwise *dt* argument should be a :class:`~datetime."
@@ -47,20 +47,17 @@ msgid ""
"``None``), it is assumed to be in local time. The *isdst* parameter is "
"ignored."
msgstr ""
-"Retorna el tiempo local como un objeto datetime consciente. Si se llama sin "
-"argumentos, retorna el tiempo actual. De lo contrario, el argumento *dt* "
-"debe ser una instancia :class:`~datetime.datetime`, y es convertida a la "
-"zona horaria local de acuerdo a la base de datos de zonas horarias del "
-"sistema. Si *dt* es naíf (*naif*, es decir, ``dt.tzinfo`` es ``None``), se "
-"asume que está en tiempo local. En este caso, un valor positivo o cero para "
-"*isdst* hace que ``localtime`` asuma inicialmente que el horario de verano "
-"está o no (respectivamente) en efecto para el tiempo especificado. Un valor "
-"negativo para *isdst* hace que el ``localtime`` intente determinar si el "
-"horario de verano está en efecto para el tiempo especificado."
+"Retorna la hora local como un objeto datetime consciente. Si se llama sin "
+"argumentos, retorna la hora actual. De lo contrario, el argumento *dt* debe "
+"ser una instancia de :class:`~datetime.datetime`, y se convierte a la zona "
+"horaria local según la base de datos de la zona horaria del sistema. Si "
+"*dt* no tiene información de zona horaria (es decir, ``dt.tzinfo`` es "
+"``None``), se asume que está en la hora local. El parámetro *isdst* se "
+"ignora."
#: ../Doc/library/email.utils.rst:26
msgid "The *isdst* parameter."
-msgstr ""
+msgstr "El parámetro *isdst*."
#: ../Doc/library/email.utils.rst:30
msgid ""
From ca3cc7433e4e3907087cc8e81c5de601d64f581e Mon Sep 17 00:00:00 2001
From: Luis Gonzalez
Date: Mon, 20 Nov 2023 14:18:46 -0500
Subject: [PATCH 010/136] traduccion de library-bisect (#2735)
Closes #2598
---------
Co-authored-by: rtobar
Co-authored-by: Marcos Medrano <786907+mmmarcos@users.noreply.github.com>
---
library/bisect.po | 107 ++++++++++++++++++++++------------------------
1 file changed, 52 insertions(+), 55 deletions(-)
diff --git a/library/bisect.po b/library/bisect.po
index 23dc174e50..fc1987dbc2 100644
--- a/library/bisect.po
+++ b/library/bisect.po
@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: 2023-04-03 15:39-0600\n"
+"PO-Revision-Date: 2023-11-20 09:49-0500\n"
"Last-Translator: \n"
-"Language: es\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
+"X-Generator: Poedit 3.4.1\n"
#: ../Doc/library/bisect.rst:2
msgid ":mod:`bisect` --- Array bisection algorithm"
@@ -30,7 +31,6 @@ msgid "**Source code:** :source:`Lib/bisect.py`"
msgstr "**Código fuente:** :source:`Lib/bisect.py`"
#: ../Doc/library/bisect.rst:14
-#, fuzzy
msgid ""
"This module provides support for maintaining a list in sorted order without "
"having to sort the list after each insertion. For long lists of items with "
@@ -39,11 +39,8 @@ msgid ""
msgstr ""
"Este módulo brinda soporte para mantener una lista ordenada sin tener que "
"reordenar la lista tras cada nueva inserción. Para listas largas de "
-"elementos que tienen operaciones de comparación costosas, será una mejora "
-"respecto a la estrategia más habitual. El módulo se llama :mod:`bisect` "
-"porque usa un algoritmo de bisección básico para lograr su objetivo. El "
-"código fuente puede ser útil como ejemplo del algoritmo en funcionamiento "
-"(¡las precondiciones ya están bien de antemano!)."
+"elementos que tienen operaciones de comparación costosas, esto puede suponer "
+"una mejora con respecto a las búsquedas lineales o el reordenado frecuente."
#: ../Doc/library/bisect.rst:19
msgid ""
@@ -55,6 +52,13 @@ msgid ""
"only call the :meth:`__lt__` method and will return an insertion point "
"between values in an array."
msgstr ""
+"El módulo se llama :mod:`bisect` porque utiliza un algoritmo básico de "
+"bisección para realizar su trabajo. A diferencia de otras herramientas de "
+"bisección que buscan un valor específico, las funciones de este módulo están "
+"diseñadas para localizar un punto de inserción. En consecuencia, las "
+"funciones nunca llaman a un método :meth:`__eq__` para determinar si se ha "
+"encontrado un valor. En su lugar, las funciones sólo llaman al método :meth:"
+"`__lt__` y devolverán un punto de inserción entre valores de un arreglo."
#: ../Doc/library/bisect.rst:29
msgid "The following functions are provided:"
@@ -71,23 +75,23 @@ msgid ""
msgstr ""
"Ubicar el punto de inserción para *x* en *a* para mantener el ordenamiento. "
"Los parámetros *lo* (inferior) y *hi* (superior) pueden utilizarse para "
-"especificar un subconjunto (*subset*) de la lista que debería considerarse. "
-"Por defecto, se utiliza la lista completa. Si *x* ya está presente en *a*, "
-"el punto de inserción será antes (a la izquierda de) cualquier elemento "
-"existente. El valor de retorno es adecuado para que se utilice como primer "
-"parámetro para ``list.insert()``, suponiendo que *a* ya está ordenada."
+"especificar un subconjunto de la lista que debería considerarse; por defecto "
+"se utiliza la lista completa. Si *x* ya está presente en *a*, el punto de "
+"inserción será antes (a la izquierda) de cualquier elemento existente. El "
+"valor de retorno es adecuado para que se utilice como primer parámetro para "
+"``list.insert()``, suponiendo que *a* ya está ordenada."
#: ../Doc/library/bisect.rst:41
-#, fuzzy
msgid ""
"The returned insertion point *ip* partitions the array *a* into two slices "
"such that ``all(elem < x for elem in a[lo : ip])`` is true for the left "
"slice and ``all(elem >= x for elem in a[ip : hi])`` is true for the right "
"slice."
msgstr ""
-"El punto de inserción retornado *i* divide el arreglo *a* en dos mitades, de "
-"modo que ``all(val < x for val in a[lo : i])`` para el lado izquierdo y "
-"``all(val >= x for val in a[i : hi])`` para el lado derecho."
+"El punto de inserción retornado *ip* divide el arreglo *a* en dos partes, de "
+"modo que ``all(elem < x for elem in a[lo : ip])`` es verdadero para el lado "
+"izquierdo y ``all(elem >= x for elem in a[ip : hi])`` es verdadero para el "
+"lado derecho."
#: ../Doc/library/bisect.rst:46
msgid ""
@@ -100,13 +104,12 @@ msgstr ""
"clave no se aplica a *x* para facilitar la búsqueda de registros complejos."
#: ../Doc/library/bisect.rst:50
-#, fuzzy
msgid ""
"If *key* is ``None``, the elements are compared directly and no key function "
"is called."
msgstr ""
-"Si *key* es ``None``, los elementos son comparados directamente sin "
-"intervención de una función."
+"Si *key* es ``None``, los elementos se comparan directamente y ninguna "
+"función clave es llamada."
#: ../Doc/library/bisect.rst:53 ../Doc/library/bisect.rst:67
#: ../Doc/library/bisect.rst:85 ../Doc/library/bisect.rst:105
@@ -114,40 +117,39 @@ msgid "Added the *key* parameter."
msgstr "Se agregó el parámetro *key*."
#: ../Doc/library/bisect.rst:60
-#, fuzzy
msgid ""
"Similar to :py:func:`~bisect.bisect_left`, but returns an insertion point "
"which comes after (to the right of) any existing entries of *x* in *a*."
msgstr ""
-"Similar a :func:`bisect_left`, pero retorna un punto de inserción que viene "
-"después (a la derecha de) cualquier entrada de *x* en *a*."
+"Similar a :py:func:`~bisect.bisect_left`, pero retorna un punto de inserción "
+"que viene después (a la derecha) de cualquier entrada existente de *x* en "
+"*a*."
#: ../Doc/library/bisect.rst:63
-#, fuzzy
msgid ""
"The returned insertion point *ip* partitions the array *a* into two slices "
"such that ``all(elem <= x for elem in a[lo : ip])`` is true for the left "
"slice and ``all(elem > x for elem in a[ip : hi])`` is true for the right "
"slice."
msgstr ""
-"El punto de inserción retornado *i* divide el arreglo *a* en dos mitades, de "
-"modo que ``all(val <= x for val in a[lo : i])`` para el lado izquierdo y "
-"``all(val > x for val in a[i : hi])`` para el lado derecho."
+"El punto de inserción retornado *ip* divide el arreglo *a* en dos partes, de "
+"modo que ``all(elem <= x for elem in a[lo : ip])`` es verdadero para el "
+"lado izquierdo y ``all(elem > x for elem in a[ip : hi])`` es verdadero para "
+"el lado derecho."
#: ../Doc/library/bisect.rst:73
msgid "Insert *x* in *a* in sorted order."
msgstr "Inserte *x* en *a* en orden ordenado."
#: ../Doc/library/bisect.rst:75
-#, fuzzy
msgid ""
"This function first runs :py:func:`~bisect.bisect_left` to locate an "
"insertion point. Next, it runs the :meth:`insert` method on *a* to insert "
"*x* at the appropriate position to maintain sort order."
msgstr ""
-"Esta función primero ejecuta :func:`bisect_left` para localizar un punto de "
-"inserción. A continuación, ejecuta el método :meth:`insert` en *a* para "
-"insertar *x* en la posición adecuada para mantener el orden de clasificación."
+"Esta función ejecuta primero :py:func:`~bisect.bisect_left` para localizar "
+"un punto de inserción. A continuación, ejecuta el método :meth:`insert` en "
+"*a* para insertar *x* en la posición adecuada para mantener el orden."
#: ../Doc/library/bisect.rst:79 ../Doc/library/bisect.rst:99
msgid ""
@@ -164,27 +166,25 @@ msgid ""
"insertion step."
msgstr ""
"Tenga en cuenta que la búsqueda ``O(log n)`` está dominada por el lento paso "
-"de inserción O (n)."
+"de inserción O(n)."
#: ../Doc/library/bisect.rst:92
-#, fuzzy
msgid ""
"Similar to :py:func:`~bisect.insort_left`, but inserting *x* in *a* after "
"any existing entries of *x*."
msgstr ""
-"Similar a :func:`insort_left`, pero inserta *x* en *a* después de cualquier "
-"entrada *x* existente."
+"Similar a :py:func:`~bisect.insort_left`, pero inserta *x* en *a* después de "
+"cualquier entrada de *x* existente."
#: ../Doc/library/bisect.rst:95
-#, fuzzy
msgid ""
"This function first runs :py:func:`~bisect.bisect_right` to locate an "
"insertion point. Next, it runs the :meth:`insert` method on *a* to insert "
"*x* at the appropriate position to maintain sort order."
msgstr ""
-"Esta función primero ejecuta :func:`bisect_right` para localizar un punto de "
-"inserción. A continuación, ejecuta el método :meth:`insert` en *a* para "
-"insertar *x* en la posición adecuada para mantener el orden de clasificación."
+"Esta función primero ejecuta :py:func:`~bisect.bisect_right` para localizar "
+"un punto de inserción. A continuación, ejecuta el método :meth:`insert` en "
+"*a* para insertar *x* en la posición adecuada para mantener el orden."
#: ../Doc/library/bisect.rst:110
msgid "Performance Notes"
@@ -215,7 +215,6 @@ msgstr ""
"está dominado por el paso de inserción de tiempo lineal."
#: ../Doc/library/bisect.rst:121
-#, fuzzy
msgid ""
"The search functions are stateless and discard key function results after "
"they are used. Consequently, if the search functions are used in a loop, "
@@ -226,9 +225,9 @@ msgid ""
"shown in the examples section below)."
msgstr ""
"Las funciones de búsqueda no tienen estado y descartan los resultados de las "
-"funciones clave después de su uso. En consecuencia, si las funciones de "
+"funciones clave después de ser usadas. En consecuencia, si las funciones de "
"búsqueda se utilizan en un bucle, la función clave se puede llamar una y "
-"otra vez en los mismos elementos del arreglo. Si la función clave no es "
+"otra vez en los mismos elementos del arreglo. Si la función clave no es "
"rápida, considere envolverla con :func:`functools.cache` para evitar "
"cálculos duplicados. Alternativamente, considere buscar un arreglo de claves "
"precalculadas para ubicar el punto de inserción (como se muestra en la "
@@ -263,16 +262,15 @@ msgid "Searching Sorted Lists"
msgstr "Búsqueda en listas ordenadas"
#: ../Doc/library/bisect.rst:145
-#, fuzzy
msgid ""
"The above `bisect functions`_ are useful for finding insertion points but "
"can be tricky or awkward to use for common searching tasks. The following "
"five functions show how to transform them into the standard lookups for "
"sorted lists::"
msgstr ""
-"Las funciones anteriores :func:`bisect` son útiles para encontrar puntos de "
+"Las `bisect functions`_ anteriores son útiles para encontrar puntos de "
"inserción, pero pueden resultar difíciles o engorrosas para tareas de "
-"búsqueda habituales. Las cinco funciones que siguen muestran cómo "
+"búsqueda habituales. Las siguientes cinco funciones muestran cómo "
"convertirlas en búsquedas estándar para listas ordenadas::"
#: ../Doc/library/bisect.rst:187
@@ -280,28 +278,27 @@ msgid "Examples"
msgstr "Ejemplos"
#: ../Doc/library/bisect.rst:191
-#, fuzzy
msgid ""
"The :py:func:`~bisect.bisect` function can be useful for numeric table "
"lookups. This example uses :py:func:`~bisect.bisect` to look up a letter "
"grade for an exam score (say) based on a set of ordered numeric breakpoints: "
"90 and up is an 'A', 80 to 89 is a 'B', and so on::"
msgstr ""
-"La función :func:`bisect` puede ser útil para búsquedas en tablas numéricas. "
-"Este ejemplo utiliza :func:`bisect` para buscar una calificación de un "
-"examen dada por una letra, basada en un conjunto de marcas numéricas "
-"ordenadas: 90 o más es una 'A', de 80 a 89 es una 'B', y así sucesivamente::"
+"La función :py:func:`~bisect.bisect` puede ser útil para búsquedas en tablas "
+"numéricas. Este ejemplo utiliza :py:func:`~bisect.bisect` para buscar una "
+"calificación de un examen (digamos) dada por una letra, basándose en un "
+"conjunto de punto de corte numéricos ordenados: 90 o más es una 'A', de 80 a "
+"89 es una 'B', y así sucesivamente::"
#: ../Doc/library/bisect.rst:203
-#, fuzzy
msgid ""
"The :py:func:`~bisect.bisect` and :py:func:`~bisect.insort` functions also "
"work with lists of tuples. The *key* argument can serve to extract the "
"field used for ordering records in a table::"
msgstr ""
-"Las funciones :func:`bisect` e :func:`insort` también funcionan con listas "
-"de tuplas. El argumento *key* puede usarse para extraer el campo usado para "
-"ordenar registros en una tabla::"
+"Las funciones :py:func:`~bisect.bisect` y :py:func:`~bisect.insort` también "
+"funcionan con listas de tuplas. El argumento *key* puede usarse para extraer "
+"el campo usado para ordenar registros en una tabla::"
#: ../Doc/library/bisect.rst:237
msgid ""
From ff774a00d85d23782b81fa014bdad1db36b710a4 Mon Sep 17 00:00:00 2001
From: rtobar
Date: Tue, 21 Nov 2023 06:44:02 +0800
Subject: [PATCH 011/136] Obtiene SHA correcto para calcular entradas faltantes
(#2751)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
La versión anterior usaba github.event.pull_request.merge_commit_sha
para obtener el commit con el merge entre la rama origen y la rama
destino. Sin embargo, este atributo no siempre está disponible. En
primer lugar, el atributo puede ser un string o null:
https://docs.github.com/en/webhooks/webhook-events-and-payloads?actionType=opened#pull_request
Y segundo, la documentación aclara que el atributo se establece sólo si
el atributo "mergeable" es "true", lo cual no ocurre necesariamente de
forma inmediate después de abrir un PR. Según
https://docs.github.com/en/free-pro-team@latest/rest/pulls/pulls?apiVersion=2022-11-28#get-a-pull-request:
"""
The value of the mergeable attribute can be true, false, or null. If the
value is null, then GitHub has started a background job to compute the
mergeability. After giving the job time to complete, resubmit the
request. When the job finishes, you will see a non-null value for the
mergeable attribute in the response. If mergeable is true, then
merge_commit_sha will be the SHA of the test merge commit. """
Este delay en el cálculo de la mergeabilidad de los PRs es probablemente
lo que está causando que nuestra acción no funcione como deseamos: al
ejecutarse la primera vez cuando se abre el PR, la acción NO tiene un
merge_commit_sha establecido, por lo que la acción "checkout" procede
con el valor por defecto para el evento pull_request_target, que es la
rama destino, por lo que todas las entradas aparecen como no traducidas.
Este commit cambia el SHA al que hacemos checkout al principio de esta
acción para simplemente obtener el HEAD de la rama de origen. En
retrospectiva, obtener el commit de merge no reporta beneficios.
Signed-off-by: Rodrigo Tobar
---
.github/workflows/pr-comment.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/pr-comment.yml b/.github/workflows/pr-comment.yml
index bd143fe446..881e1d6bc0 100644
--- a/.github/workflows/pr-comment.yml
+++ b/.github/workflows/pr-comment.yml
@@ -10,7 +10,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
- ref: ${{ github.event.pull_request.merge_commit_sha }}
+ ref: ${{ github.event.pull_request.head.sha }}
persist-credentials: false
- name: Preparar Python v3.11
uses: actions/setup-python@v4
From 963d144453c064b6018d69c406f6ec9bc1bb09a7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Carlos=20=C3=81lvarez?=
Date: Sat, 25 Nov 2023 14:08:35 +0100
Subject: [PATCH 012/136] Traducido archivo library/decimal (#2752)
Closes #2550
---
TRANSLATORS | 1 +
library/decimal.po | 398 ++++++++++++++++++++-------------------------
2 files changed, 180 insertions(+), 219 deletions(-)
diff --git a/TRANSLATORS b/TRANSLATORS
index 727426067f..bbfc775a6f 100644
--- a/TRANSLATORS
+++ b/TRANSLATORS
@@ -120,6 +120,7 @@ Jimmy Tzuc (@JimmyTzuc)
Jonathan Aguilar (@drawsoek)
Jorge Luis McDonald Stevens (@jmaxter)
Jorge Maldonado Ventura (@jorgesumle)
+José Carlos Álvarez González (@jcaalzago)
José Daniel Gonzalez (@jdgc14)
Jose Ignacio Riaño Chico
José Luis Cantilo (@jcantilo)
diff --git a/library/decimal.po b/library/decimal.po
index 7a306c04cf..3cf1803956 100644
--- a/library/decimal.po
+++ b/library/decimal.po
@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: 2023-01-03 09:47-0300\n"
+"PO-Revision-Date: 2023-11-23 16:41+0100\n"
"Last-Translator: Francisco Mora \n"
-"Language: es_ES\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es_ES\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
+"X-Generator: Poedit 3.4.1\n"
#: ../Doc/library/decimal.rst:2
msgid ":mod:`decimal` --- Decimal fixed point and floating point arithmetic"
@@ -54,7 +55,6 @@ msgstr ""
"extracto (traducido) de la especificación de la aritmética decimal."
#: ../Doc/library/decimal.rst:42
-#, fuzzy
msgid ""
"Decimal numbers can be represented exactly. In contrast, numbers like "
"``1.1`` and ``2.2`` do not have exact representations in binary floating "
@@ -62,14 +62,13 @@ msgid ""
"``3.3000000000000003`` as it does with binary floating point."
msgstr ""
"Los números decimales se pueden representar de forma exacta en coma flotante "
-"decimal. En cambio, números como :const:`1.1` y :const:`2.2` no tienen "
+"decimal. En cambio, números como ``1.1`` y ``2.2`` no tienen "
"representaciones exactas en coma flotante binaria. Los usuarios finales "
-"normalmente no esperaran que ``1.1 + 2.2`` se muestre como :const:"
-"`3.3000000000000003`, como ocurre al usar la representación binaria en coma "
-"flotante."
+"normalmente no esperaran que ``1.1 + 2.2`` se muestre como "
+"``3.3000000000000003``, como ocurre al usar la representación binaria en "
+"coma flotante."
#: ../Doc/library/decimal.rst:47
-#, fuzzy
msgid ""
"The exactness carries over into arithmetic. In decimal floating point, "
"``0.1 + 0.1 + 0.1 - 0.3`` is exactly equal to zero. In binary floating "
@@ -80,13 +79,12 @@ msgid ""
msgstr ""
"La exactitud se traslada a la aritmética. En coma flotante decimal, ``0.1 + "
"0.1 + 0.1 - 0.3`` es exactamente igual a cero. En coma flotante binaria, el "
-"resultado es :const:`5.5511151231257827e-017`. Aunque cercanas a cero, las "
+"resultado es ``5.5511151231257827e-017``. Aunque cercanas a cero, las "
"diferencias impiden pruebas de igualdad confiables y las diferencias pueden "
"acumularse. Por estas razones, se recomienda el uso de decimal en "
"aplicaciones de contabilidad con estrictas restricciones de confiabilidad."
#: ../Doc/library/decimal.rst:54
-#, fuzzy
msgid ""
"The decimal module incorporates a notion of significant places so that "
"``1.30 + 1.20`` is ``2.50``. The trailing zero is kept to indicate "
@@ -96,12 +94,12 @@ msgid ""
"1.20`` gives ``1.5600``."
msgstr ""
"El módulo decimal incorpora una noción de dígitos significativos, de modo "
-"que ``1.30 + 1.20`` es :const:`2.50`. El cero final se mantiene para indicar "
-"el número de dígitos significativos. Esta es la representación habitual en "
+"que ``1.30 + 1.20`` es ``2.50``. El cero final se mantiene para indicar el "
+"número de dígitos significativos. Esta es la representación habitual en "
"aplicaciones monetarias. Para la multiplicación, el método de \"libro "
"escolar\" utilizado usa todas las cifras de los multiplicandos. Por ejemplo, "
-"``1.3 * 1.2`` es igual a :const:`1.56`, mientras que ``1.30 * 1.20`` es "
-"igual a :const:`1.5600`."
+"``1.3 * 1.2`` es igual a ``1.56``, mientras que ``1.30 * 1.20`` es igual a "
+"``1.5600``."
#: ../Doc/library/decimal.rst:61
msgid ""
@@ -124,12 +122,12 @@ msgid ""
"using exceptions to block any inexact operations."
msgstr ""
"Tanto la representación en coma flotante binaria como la decimal se "
-"implementan de acuerdo a estándares publicados. Mientras que el tipo float "
-"expone solo una pequeña parte de sus capacidades, el módulo decimal expone "
-"todos los componentes requeridos del estándar. Cuando es necesario, el "
-"desarrollador tiene control total sobre el redondeo y la gestión de las "
-"señales. Esto incluye la capacidad de forzar la aritmética exacta, "
-"utilizando excepciones para bloquear cualquier operación inexacta."
+"implementan de acuerdo a estándares publicados. Mientras que el tipo "
+"incorporado float expone solo una pequeña parte de sus capacidades, el "
+"módulo decimal expone todos los componentes requeridos del estándar. Cuando "
+"es necesario, el desarrollador tiene control total sobre el redondeo y la "
+"gestión de las señales. Esto incluye la capacidad de forzar la aritmética "
+"exacta, utilizando excepciones para bloquear cualquier operación inexacta."
#: ../Doc/library/decimal.rst:80
msgid ""
@@ -152,7 +150,6 @@ msgstr ""
"contexto aritmético y las señales."
#: ../Doc/library/decimal.rst:88
-#, fuzzy
msgid ""
"A decimal number is immutable. It has a sign, coefficient digits, and an "
"exponent. To preserve significance, the coefficient digits do not truncate "
@@ -163,8 +160,8 @@ msgstr ""
"Un número decimal es inmutable. Tiene un signo, un coeficiente y un "
"exponente. Para conservar el número de dígitos significativos, los ceros "
"iniciales no se truncan. Los números decimales también incluyen valores "
-"especiales como :const:`Infinity`, :const:`-Infinity` y :const:`NaN`. El "
-"estándar también marca la diferencia entre :const:`-0` y :const:`+0`."
+"especiales como ``Infinity``, ``-Infinity`` y ``NaN``. El estándar también "
+"marca la diferencia entre ``-0`` y ``+0``."
#: ../Doc/library/decimal.rst:94
msgid ""
@@ -216,13 +213,12 @@ msgstr ""
"comenzar un cálculo que desee monitorear."
#: ../Doc/library/decimal.rst:116
-#, fuzzy
msgid ""
"IBM's General Decimal Arithmetic Specification, `The General Decimal "
"Arithmetic Specification `_."
msgstr ""
"Especificación general de la aritmética decimal de IBM, `The General Decimal "
-"Arithmetic Specification `_."
+"Arithmetic Specification `_."
#: ../Doc/library/decimal.rst:125
msgid "Quick-start Tutorial"
@@ -240,7 +236,6 @@ msgstr ""
"habilitadas::"
#: ../Doc/library/decimal.rst:139
-#, fuzzy
msgid ""
"Decimal instances can be constructed from integers, strings, floats, or "
"tuples. Construction from an integer or a float performs an exact conversion "
@@ -251,9 +246,9 @@ msgstr ""
"Las instancias de la clase Decimal se pueden construir a partir de números "
"enteros, cadenas de caracteres, flotantes o tuplas. La construcción a partir "
"de un número entero o flotante realiza una conversión exacta del valor de "
-"ese número. Los números decimales incluyen valores especiales como :const:"
-"`NaN`, que significa \"No es un número\", :const:`Infinity` positivo y "
-"negativo o :const:`-0`::"
+"ese número. Los números decimales incluyen valores especiales como ``NaN``, "
+"que significa \"No es un número\", ``Infinity`` positivo y negativo o "
+"``-0``::"
#: ../Doc/library/decimal.rst:163
msgid ""
@@ -297,14 +292,13 @@ msgstr ""
"Y algunas funciones matemáticas también están disponibles para Decimal:"
#: ../Doc/library/decimal.rst:253
-#, fuzzy
msgid ""
"The :meth:`~Decimal.quantize` method rounds a number to a fixed exponent. "
"This method is useful for monetary applications that often round results to "
"a fixed number of places:"
msgstr ""
-"El método :meth:`quantize` redondea un número a un exponente fijo. Este "
-"método es útil para aplicaciones monetarias, que a menudo redondean los "
+"El método :meth:`~Decimal.quantize` redondea un número a un exponente fijo. "
+"Este método es útil para aplicaciones monetarias, que a menudo redondean los "
"resultados a un número fijo de dígitos significativos:"
#: ../Doc/library/decimal.rst:262
@@ -340,7 +334,6 @@ msgstr ""
"que muchas de las trampas de señales están habilitadas por defecto:"
#: ../Doc/library/decimal.rst:299
-#, fuzzy
msgid ""
"Contexts also have signal flags for monitoring exceptional conditions "
"encountered during computations. The flags remain set until explicitly "
@@ -351,29 +344,27 @@ msgstr ""
"condiciones excepcionales detectadas durante los cálculos. Estos flags "
"permanecen habilitados hasta que se restablecen explícitamente. Por esta "
"razón, suele ser buena idea restablecerlos mediante el método :meth:"
-"`clear_flags` antes de proceder con cada conjunto de cálculos "
+"`~Context.clear_flags` antes de proceder con cada conjunto de cálculos "
"monitorizados. ::"
#: ../Doc/library/decimal.rst:312
-#, fuzzy
msgid ""
"The *flags* entry shows that the rational approximation to pi was rounded "
"(digits beyond the context precision were thrown away) and that the result "
"is inexact (some of the discarded digits were non-zero)."
msgstr ""
-"La entrada *flags* muestra que la aproximación racional de :const:`Pi` fue "
-"redondeada (los dígitos más allá de la precisión especificada por el "
-"contexto se descartaron) y que el resultado es inexacto (algunos de los "
-"dígitos descartados no eran cero)."
+"La entrada *flags* muestra que la aproximación racional de Pi fue redondeada "
+"(los dígitos más allá de la precisión especificada por el contexto se "
+"descartaron) y que el resultado es inexacto (algunos de los dígitos "
+"descartados no eran cero)."
#: ../Doc/library/decimal.rst:316
-#, fuzzy
msgid ""
"Individual traps are set using the dictionary in the :attr:`~Context.traps` "
"attribute of a context:"
msgstr ""
"Las trampas de señales se habilitan a través del diccionario expuesto por el "
-"atributo :attr:`traps` del objeto Context:"
+"atributo :attr:`~Context.traps` del objeto Context:"
#: ../Doc/library/decimal.rst:331
msgid ""
@@ -424,7 +415,6 @@ msgstr ""
"junto con los dígitos de ancho completo desde ``'\\uff10'`` a ``'\\uff19'``."
#: ../Doc/library/decimal.rst:371
-#, fuzzy
msgid ""
"If *value* is a :class:`tuple`, it should have three components, a sign "
"(``0`` for positive or ``1`` for negative), a :class:`tuple` of digits, and "
@@ -432,9 +422,9 @@ msgid ""
"``Decimal('1.414')``."
msgstr ""
"Si *value* es un objeto :class:`tuple`, debe tener tres componentes, un "
-"signo (:const:`0` para positivo o :const:`1` para negativo), un objeto :"
-"class:`tuple` con los dígitos y un exponente entero. Por ejemplo, "
-"``Decimal((0, (1, 4, 1, 4), -3))`` retorna ``Decimal('1.414')``."
+"signo (``0`` para positivo o ``1`` para negativo), un objeto :class:`tuple` "
+"con los dígitos y un exponente entero. Por ejemplo, ``Decimal((0, (1, 4, 1, "
+"4), -3))`` retorna ``Decimal('1.414')``."
#: ../Doc/library/decimal.rst:376
msgid ""
@@ -463,7 +453,6 @@ msgstr ""
"precisión del contexto es solo tres."
#: ../Doc/library/decimal.rst:387
-#, fuzzy
msgid ""
"The purpose of the *context* argument is determining what to do if *value* "
"is a malformed string. If the context traps :const:`InvalidOperation`, an "
@@ -473,7 +462,7 @@ msgstr ""
"El propósito del argumento *context* es determinar qué hacer si *value* es "
"una cadena de caracteres mal formada. Si el contexto atrapa la señal :const:"
"`InvalidOperation`, se genera una excepción; de lo contrario, el constructor "
-"retorna un nuevo decimal con el valor :const:`NaN`."
+"retorna un nuevo decimal con el valor ``NaN``."
#: ../Doc/library/decimal.rst:392
msgid "Once constructed, :class:`Decimal` objects are immutable."
@@ -758,9 +747,10 @@ msgid ""
"Alternative constructor that only accepts instances of :class:`float` or :"
"class:`int`."
msgstr ""
+"Constructor alternativo que acepta únicamente instancias de :class:`float` "
+"o :class:`int`."
#: ../Doc/library/decimal.rst:579
-#, fuzzy
msgid ""
"Note ``Decimal.from_float(0.1)`` is not the same as ``Decimal('0.1')``. "
"Since 0.1 is not exactly representable in binary floating point, the value "
@@ -768,11 +758,11 @@ msgid ""
"``0x1.999999999999ap-4``. That equivalent value in decimal is "
"``0.1000000000000000055511151231257827021181583404541015625``."
msgstr ""
-"Nota que `Decimal.from_float (0.1)` no es lo mismo que `Decimal('0.1')`. "
-"Dado que 0.1 no es exactamente representable en coma flotante binaria, el "
-"valor se almacena como el valor representable más cercano, que es "
-"`0x1.999999999999ap-4`. Ese valor equivalente en decimal es "
-"`0.1000000000000000055511151231257827021181583404541015625`."
+"Fíjate que ``Decimal.from_float(0.1)`` no es lo mismo que "
+"``Decimal('0.1')``. Dado que 0.1 no es exactamente representable en coma "
+"flotante binaria, el valor se almacena como el valor representable más "
+"cercano, que es ``0x1.999999999999ap-4``. Ese valor equivalente en decimal "
+"es ``0.1000000000000000055511151231257827021181583404541015625``."
#: ../Doc/library/decimal.rst:585
msgid ""
@@ -943,16 +933,14 @@ msgstr ""
"exclusiva (\"exclusive or\") dígito a dígito de ambos operandos."
#: ../Doc/library/decimal.rst:703
-#, fuzzy
msgid ""
"Like ``max(self, other)`` except that the context rounding rule is applied "
"before returning and that ``NaN`` values are either signaled or ignored "
"(depending on the context and whether they are signaling or quiet)."
msgstr ""
"Como ``max(self, other)``, excepto que la regla de redondeo del contexto se "
-"aplica antes de retornar y que los valores :const:`NaN` generan una señal o "
-"son ignorados (dependiendo del contexto y de si son señalizadores o "
-"silenciosos)."
+"aplica antes de retornar y que los valores ``NaN`` generan una señal o son "
+"ignorados (dependiendo del contexto y de si son señalizadores o silenciosos)."
#: ../Doc/library/decimal.rst:710
msgid ""
@@ -963,15 +951,14 @@ msgstr ""
"los valores absolutos de los operandos."
#: ../Doc/library/decimal.rst:715
-#, fuzzy
msgid ""
"Like ``min(self, other)`` except that the context rounding rule is applied "
"before returning and that ``NaN`` values are either signaled or ignored "
"(depending on the context and whether they are signaling or quiet)."
msgstr ""
"Como ``min(self, other)``, excepto que la regla de redondeo del contexto se "
-"aplica antes de retornar y que los valores :const:`NaN` generan una señal o "
-"se ignoran (según el contexto y si son señalizadores o no)."
+"aplica antes de retornar y que los valores ``NaN`` generan una señal o se "
+"ignoran (según el contexto y si son señalizadores o no)."
#: ../Doc/library/decimal.rst:722
msgid ""
@@ -1018,6 +1005,8 @@ msgid ""
"Used for producing canonical values of an equivalence class within either "
"the current context or the specified context."
msgstr ""
+"Usado para producir valores canónicos de una clase de equivalencia dentro "
+"del contexto actual o del contexto especificado."
#: ../Doc/library/decimal.rst:749
msgid ""
@@ -1028,22 +1017,34 @@ msgid ""
"exponent is incremented by 1. Otherwise (the coefficient is zero) the "
"exponent is set to 0. In all cases the sign is unchanged."
msgstr ""
+"Este tiene la misma semántica que el operador unario ``+``, excepto que si "
+"el resultado final es finito, entonces se reduce a su forma más simple, "
+"eliminando todos los ceros finales y preservando el signo. Es decir, que "
+"mientras que el coeficiente sea distinto de cero y múltiplo de 10, el "
+"coeficiente se divide por 10 y el exponente se incremente por 1. En otro "
+"caso (el coeficiente es cero), el exponente se establece en 0. En todos los "
+"casos el signo no se modifica."
#: ../Doc/library/decimal.rst:756
msgid ""
"For example, ``Decimal('32.100')`` and ``Decimal('0.321000e+2')`` both "
"normalize to the equivalent value ``Decimal('32.1')``."
msgstr ""
+"Por ejemplo, ``Decimal('32.100')`` y ``Decimal('0.321000e+2')`` ambos se "
+"normalizan al valor equivalente ``Decimal('32.1')``."
#: ../Doc/library/decimal.rst:759
msgid "Note that rounding is applied *before* reducing to simplest form."
msgstr ""
+"Fíjate que el redondeo se aplica *antes* de reducir a la forma más simple."
#: ../Doc/library/decimal.rst:761
msgid ""
"In the latest versions of the specification, this operation is also known as "
"``reduce``."
msgstr ""
+"En las últimas versiones de la especificación, esta operación también era "
+"conocida como ``reduce``."
#: ../Doc/library/decimal.rst:766
msgid ""
@@ -1148,13 +1149,12 @@ msgstr ""
"utiliza el modo de redondeo establecido en el contexto del hilo actual."
#: ../Doc/library/decimal.rst:803
-#, fuzzy
msgid ""
"An error is returned whenever the resulting exponent is greater than :attr:"
"`~Context.Emax` or less than :meth:`~Context.Etiny`."
msgstr ""
"Se retorna un error siempre que el exponente resultante sea mayor que :attr:"
-"`Emax` o menor que :attr:`Etiny`."
+"`~Context.Emax` o menor que :meth:`~Context.Etiny`."
#: ../Doc/library/decimal.rst:808
msgid ""
@@ -1175,7 +1175,7 @@ msgid ""
"other``, and if two integers are equally near then the even one is chosen."
msgstr ""
"Retorna el resto de dividir *self* entre *other*. Esto difiere de la "
-"operación ``self%other``, en la que el signo del resto se elige para "
+"operación ``self % other``, en la que el signo del resto se elige para "
"minimizar su valor absoluto. Más precisamente, el valor de retorno es ``self "
"- n * other``, donde ``n`` es el número entero más cercano al valor exacto "
"de ``self / other``. Si dos enteros están igualmente cerca, entonces el "
@@ -1207,13 +1207,11 @@ msgstr ""
"modifican."
#: ../Doc/library/decimal.rst:843
-#, fuzzy
msgid ""
"Test whether self and other have the same exponent or whether both are "
"``NaN``."
msgstr ""
-"Comprueba si self y other tienen el mismo exponente o si ambos son :const:"
-"`NaN`."
+"Comprueba si self y other tienen el mismo exponente o si ambos son ``NaN``."
#: ../Doc/library/decimal.rst:852
msgid ""
@@ -1310,7 +1308,6 @@ msgid "Logical operands"
msgstr "Operandos lógicos"
#: ../Doc/library/decimal.rst:906
-#, fuzzy
msgid ""
"The :meth:`~Decimal.logical_and`, :meth:`~Decimal.logical_invert`, :meth:"
"`~Decimal.logical_or`, and :meth:`~Decimal.logical_xor` methods expect their "
@@ -1318,10 +1315,11 @@ msgid ""
"`Decimal` instance whose exponent and sign are both zero, and whose digits "
"are all either ``0`` or ``1``."
msgstr ""
-"Los métodos :meth:`logical_and`, :meth:`logical_invert`, :meth:`logical_or` "
-"y :meth:`logical_xor` esperan que sus argumentos sean *operandos lógicos*. "
-"Un *operando lógico* es una instancia de :class:`Decimal` cuyo exponente y "
-"signo son ambos cero, y cuyos dígitos son todos :const:`0` o :const:`1`."
+"Los métodos :meth:`~Decimal.logical_and`, :meth:`~Decimal.logical_invert`, :"
+"meth:`~Decimal.logical_or`, y :meth:`~Decimal.logical_xor` esperan que sus "
+"argumentos sean *operandos lógicos*. Un *operando lógico* es una instancia "
+"de :class:`Decimal` cuyo exponente y signo son ambos cero, y cuyos dígitos "
+"son todos ``0`` o ``1``."
#: ../Doc/library/decimal.rst:918
msgid "Context objects"
@@ -1362,7 +1360,6 @@ msgstr ""
"`localcontext` para cambiar temporalmente el contexto activo."
#: ../Doc/library/decimal.rst:942
-#, fuzzy
msgid ""
"Return a context manager that will set the current context for the active "
"thread to a copy of *ctx* on entry to the with-statement and restore the "
@@ -1371,9 +1368,10 @@ msgid ""
"used to set the attributes of the new context."
msgstr ""
"Retorna un gestor de contexto que establecerá el contexto actual para el "
-"hilo activo en una copia de *ctx* al ingresar en la declaración with y "
+"hilo activo en una copia de *ctx* al ingresar en la sentencia with y "
"restaurará el contexto anterior al salir de la misma. Si no se especifica "
-"ningún contexto, se utiliza una copia del contexto actual."
+"ningún contexto, se utiliza una copia del contexto actual. El argumento "
+"*kwargs* se usa para establecer los atributos del nuevo contexto."
#: ../Doc/library/decimal.rst:948
msgid ""
@@ -1450,7 +1448,6 @@ msgstr ""
"habilitan trampas (para que no se generen excepciones durante los cálculos)."
#: ../Doc/library/decimal.rst:995
-#, fuzzy
msgid ""
"Because the traps are disabled, this context is useful for applications that "
"prefer to have result value of ``NaN`` or ``Infinity`` instead of raising "
@@ -1458,10 +1455,10 @@ msgid ""
"conditions that would otherwise halt the program."
msgstr ""
"Debido a que las trampas están deshabilitadas, este contexto es útil para "
-"aplicaciones que prefieren tener un valor :const:`NaN` o :const:`Infinity` "
-"como resultado en lugar de lanzar excepciones. Esto permite que una "
-"aplicación complete una ejecución en presencia de condiciones que, de otra "
-"manera, detendrían el programa."
+"aplicaciones que prefieren tener un valor ``NaN`` o ``Infinity`` como "
+"resultado en lugar de lanzar excepciones. Esto permite que una aplicación "
+"complete una ejecución en presencia de condiciones que, de otra manera, "
+"detendrían el programa."
#: ../Doc/library/decimal.rst:1003
msgid ""
@@ -1499,15 +1496,14 @@ msgstr ""
"describe a continuación."
#: ../Doc/library/decimal.rst:1015
-#, fuzzy
msgid ""
"The default values are :attr:`Context.prec`\\ =\\ ``28``, :attr:`Context."
"rounding`\\ =\\ :const:`ROUND_HALF_EVEN`, and enabled traps for :class:"
"`Overflow`, :class:`InvalidOperation`, and :class:`DivisionByZero`."
msgstr ""
-"Los valores predeterminados son :attr:`prec`\\ =\\ :const:`28`, :attr:"
-"`rounding`\\ =\\ :const:`ROUND_HALF_EVEN` y trampas habilitadas para :class:"
-"`Overflow`, :class:`InvalidOperation` y :class:`DivisionByZero`."
+"Los valores predeterminados son :attr:`Context.prec`\\ =\\ ``28``, :attr:"
+"`Context.rounding`\\ =\\ :const:`ROUND_HALF_EVEN`, y trampas habilitadas "
+"para :class:`Overflow`, :class:`InvalidOperation`, y :class:`DivisionByZero`."
#: ../Doc/library/decimal.rst:1020
msgid ""
@@ -1529,12 +1525,11 @@ msgstr ""
"los flags."
#: ../Doc/library/decimal.rst:1030
-#, fuzzy
msgid ""
"*prec* is an integer in the range [``1``, :const:`MAX_PREC`] that sets the "
"precision for arithmetic operations in the context."
msgstr ""
-"*prec* es un número entero en el rango [:const:`1`, :const:`MAX_PREC`] que "
+"*prec* es un número entero en el rango [``1``, :const:`MAX_PREC`] que "
"establece la precisión para las operaciones aritméticas en el contexto."
#: ../Doc/library/decimal.rst:1033
@@ -1555,7 +1550,6 @@ msgstr ""
"flags sin establecer."
#: ../Doc/library/decimal.rst:1039
-#, fuzzy
msgid ""
"The *Emin* and *Emax* fields are integers specifying the outer limits "
"allowable for exponents. *Emin* must be in the range [:const:`MIN_EMIN`, "
@@ -1563,23 +1557,19 @@ msgid ""
msgstr ""
"Los campos *Emin* y *Emax* son números enteros que especifican los límites "
"externos permitidos para los exponentes. *Emin* debe estar en el rango [:"
-"const:`MIN_EMIN`, :const:`0`] y *Emax* en el rango [:const:`0`, :const:"
-"`MAX_EMAX`]."
+"const:`MIN_EMIN`, ``0``] y *Emax* en el rango [``0``, :const:`MAX_EMAX`]."
#: ../Doc/library/decimal.rst:1043
-#, fuzzy
msgid ""
"The *capitals* field is either ``0`` or ``1`` (the default). If set to "
"``1``, exponents are printed with a capital ``E``; otherwise, a lowercase "
"``e`` is used: ``Decimal('6.02e+23')``."
msgstr ""
-"El campo *capitals* es :const:`0` o :const:`1` (por defecto). Si se "
-"establece en :const:`1`, los exponentes se imprimen usando una :const:`E` "
-"mayúscula; de lo contrario, se usa una :const:`e` minúscula: :const:"
-"`Decimal('6.02e+23')`."
+"El campo *capitals* es ``0`` o ``1`` (por defecto). Si se establece en "
+"``1``, los exponentes se imprimen usando una ``E`` mayúscula; de lo "
+"contrario, se usa una ``e`` minúscula: ``Decimal('6.02e+23')``."
#: ../Doc/library/decimal.rst:1047
-#, fuzzy
msgid ""
"The *clamp* field is either ``0`` (the default) or ``1``. If set to ``1``, "
"the exponent ``e`` of a :class:`Decimal` instance representable in this "
@@ -1592,29 +1582,27 @@ msgid ""
"value of the number but loses information about significant trailing zeros. "
"For example::"
msgstr ""
-"El campo *clamp* es :const:`0` (por defecto) o :const:`1`. Si se establece "
-"en :const:`1`, el exponente ``e`` representable en este contexto de una "
-"instancia de :class:`Decimal` está estrictamente limitado al rango ``Emin - "
-"prec + 1 <= e <= Emax - prec + 1``. Si *clamp* es :const:`0`, entonces se "
-"cumple una condición más laxa: el exponente ajustado de la instancia de :"
-"class:`Decimal` es como máximo ``Emax``. Cuando *clamp* es :const:`1`, "
-"cuando sea posible, se reducirá el exponente de un número normal grande y se "
-"agregarán el número correspondiente de ceros a su coeficiente, a fin de que "
-"se ajuste a las restricciones del exponente; esto conserva el valor del "
-"número pero conlleva una pérdida de información causada por los ceros "
-"finales significativos. Por ejemplo::"
+"El campo *clamp* es ``0`` (por defecto) o ``1``. Si se establece en ``1``, "
+"el exponente ``e`` representable en este contexto de una instancia de :class:"
+"`Decimal` está estrictamente limitado al rango ``Emin - prec + 1 <= e <= "
+"Emax - prec + 1``. Si *clamp* es ``0``, entonces se cumple una condición más "
+"laxa: el exponente ajustado de la instancia de :class:`Decimal` es como "
+"máximo :attr:`~Context.Emax`. Cuando *clamp* es ``1``, cuando sea posible, "
+"se reducirá el exponente de un número normal grande y se agregarán el número "
+"correspondiente de ceros a su coeficiente, a fin de que se ajuste a las "
+"restricciones del exponente; esto conserva el valor del número pero conlleva "
+"una pérdida de información causada por los ceros finales significativos. Por "
+"ejemplo::"
#: ../Doc/library/decimal.rst:1062
-#, fuzzy
msgid ""
"A *clamp* value of ``1`` allows compatibility with the fixed-width decimal "
"interchange formats specified in IEEE 754."
msgstr ""
-"Un valor *clamp* de :const:`1` permite la compatibilidad con los formatos de "
+"Un valor *clamp* de ``1`` permite la compatibilidad con los formatos de "
"intercambio decimal de ancho fijo especificados en IEEE 754."
#: ../Doc/library/decimal.rst:1065
-#, fuzzy
msgid ""
"The :class:`Context` class defines several general purpose methods as well "
"as a large number of methods for doing arithmetic directly in a given "
@@ -1630,22 +1618,20 @@ msgstr ""
"como una gran cantidad de métodos para hacer aritmética directamente en un "
"contexto dado. Además, para cada uno de los métodos de la clase :class:"
"`Decimal` descritos anteriormente (con la excepción de los métodos :meth:"
-"`adjusted` y :meth:`as_tuple`) hay un método correspondiente en la clase :"
-"class:`Context`. Por ejemplo, para una instancia de :class:`Context` ``C`` y "
-"una instancia de :class:`Decimal` ``x``, ``C.exp(x)`` es equivalente a ``x."
-"exp(context=C)``. Cada método :class:`Context` acepta también un entero de "
-"Python (una instancia de :class:`int`) en cualquier lugar donde se acepte "
-"una instancia de Decimal."
+"`~Decimal.adjusted` y :meth:`~Decimal.as_tuple`) hay un método "
+"correspondiente en la clase :class:`Context`. Por ejemplo, para una "
+"instancia de :class:`Context` ``C`` y una instancia de :class:`Decimal` "
+"``x``, ``C.exp(x)`` es equivalente a ``x.exp(context=C)``. Cada método :"
+"class:`Context` acepta también un entero de Python (una instancia de :class:"
+"`int`) en cualquier lugar donde se acepte una instancia de Decimal."
#: ../Doc/library/decimal.rst:1078
-#, fuzzy
msgid "Resets all of the flags to ``0``."
-msgstr "Restablece todos los flags a :const:`0`."
+msgstr "Restablece todos los flags a ``0``."
#: ../Doc/library/decimal.rst:1082
-#, fuzzy
msgid "Resets all of the traps to ``0``."
-msgstr "Restablece todas las trampas a :const:`0`."
+msgstr "Restablece todas las trampas a ``0``."
#: ../Doc/library/decimal.rst:1088
msgid "Return a duplicate of the context."
@@ -1790,9 +1776,8 @@ msgid "Divides two numbers and returns the integer part of the result."
msgstr "Divide dos números y retorna la parte entera del resultado."
#: ../Doc/library/decimal.rst:1223
-#, fuzzy
msgid "Returns ``e ** x``."
-msgstr "Retorna `e ** x`."
+msgstr "Retorna ``e ** x``."
#: ../Doc/library/decimal.rst:1228
msgid "Returns *x* multiplied by *y*, plus *z*."
@@ -1946,7 +1931,6 @@ msgstr ""
"``modulo`` si se proporciona."
#: ../Doc/library/decimal.rst:1382
-#, fuzzy
msgid ""
"With two arguments, compute ``x**y``. If ``x`` is negative then ``y`` must "
"be integral. The result will be inexact unless ``y`` is integral and the "
@@ -1971,7 +1955,6 @@ msgstr ""
"``Decimal('NaN')``."
#: ../Doc/library/decimal.rst:1391
-#, fuzzy
msgid ""
"The C module computes :meth:`power` in terms of the correctly rounded :meth:"
"`exp` and :meth:`ln` functions. The result is well-defined but only \"almost "
@@ -2109,34 +2092,28 @@ msgid "64-bit"
msgstr "64-bit"
#: ../Doc/library/decimal.rst:1497 ../Doc/library/decimal.rst:1499
-#, fuzzy
msgid "``425000000``"
-msgstr ":const:`425000000`"
+msgstr "``425000000``"
#: ../Doc/library/decimal.rst:1497 ../Doc/library/decimal.rst:1499
-#, fuzzy
msgid "``999999999999999999``"
-msgstr ":const:`999999999999999999`"
+msgstr "``999999999999999999``"
#: ../Doc/library/decimal.rst:1501
-#, fuzzy
msgid "``-425000000``"
-msgstr ":const:`-425000000`"
+msgstr "``-425000000``"
#: ../Doc/library/decimal.rst:1501
-#, fuzzy
msgid "``-999999999999999999``"
-msgstr ":const:`-999999999999999999`"
+msgstr "``-999999999999999999``"
#: ../Doc/library/decimal.rst:1503
-#, fuzzy
msgid "``-849999999``"
-msgstr ":const:`-849999999`"
+msgstr "``-849999999``"
#: ../Doc/library/decimal.rst:1503
-#, fuzzy
msgid "``-1999999999999999997``"
-msgstr ":const:`-1999999999999999997`"
+msgstr "``-1999999999999999997``"
#: ../Doc/library/decimal.rst:1509
msgid ""
@@ -2168,18 +2145,16 @@ msgid "Rounding modes"
msgstr "Modos de redondeo"
#: ../Doc/library/decimal.rst:1528
-#, fuzzy
msgid "Round towards ``Infinity``."
-msgstr "Redondear hacia :const:`Infinity`."
+msgstr "Redondear hacia ``Infinity``."
#: ../Doc/library/decimal.rst:1532
msgid "Round towards zero."
msgstr "Redondear hacia cero."
#: ../Doc/library/decimal.rst:1536
-#, fuzzy
msgid "Round towards ``-Infinity``."
-msgstr "Redondear hacia :const:`-Infinity`."
+msgstr "Redondear hacia ``-Infinity``."
#: ../Doc/library/decimal.rst:1540
msgid "Round to nearest with ties going towards zero."
@@ -2250,15 +2225,14 @@ msgid "Altered an exponent to fit representation constraints."
msgstr "Cambia un exponente para ajustar las restricciones de representación."
#: ../Doc/library/decimal.rst:1583
-#, fuzzy
msgid ""
"Typically, clamping occurs when an exponent falls outside the context's :"
"attr:`~Context.Emin` and :attr:`~Context.Emax` limits. If possible, the "
"exponent is reduced to fit by adding zeros to the coefficient."
msgstr ""
"Normalmente, la restricción ocurre cuando un exponente cae fuera de los "
-"límites :attr:`Emin` y :attr:`Emax` del contexto. Si es posible, el "
-"exponente se reduce para ajustar agregando ceros al coeficiente."
+"límites :attr:`~Context.Emin` y :attr:`~Context.Emax` del contexto. Si es "
+"posible, el exponente se reduce para ajustar agregando ceros al coeficiente."
#: ../Doc/library/decimal.rst:1590
msgid "Base class for other signals and a subclass of :exc:`ArithmeticError`."
@@ -2270,16 +2244,14 @@ msgid "Signals the division of a non-infinite number by zero."
msgstr "Señala la división de un número no infinito entre cero."
#: ../Doc/library/decimal.rst:1597
-#, fuzzy
msgid ""
"Can occur with division, modulo division, or when raising a number to a "
"negative power. If this signal is not trapped, returns ``Infinity`` or ``-"
"Infinity`` with the sign determined by the inputs to the calculation."
msgstr ""
"Puede ocurrir en la división, en la división modular o al elevar un número a "
-"una potencia negativa. Si esta señal no es atrapada, se retorna :const:"
-"`Infinity` o :const:`-Infinity`, con el signo determinado por las entradas "
-"del cálculo."
+"una potencia negativa. Si esta señal no es atrapada, se retorna ``Infinity`` "
+"o ``-Infinity``, con el signo determinado por las entradas del cálculo."
#: ../Doc/library/decimal.rst:1604
msgid "Indicates that rounding occurred and the result is not exact."
@@ -2300,20 +2272,18 @@ msgid "An invalid operation was performed."
msgstr "Señala que se realizó una operación no válida."
#: ../Doc/library/decimal.rst:1615
-#, fuzzy
msgid ""
"Indicates that an operation was requested that does not make sense. If not "
"trapped, returns ``NaN``. Possible causes include::"
msgstr ""
"Indica que se solicitó una operación que no tiene lógica. Si esta señal no "
-"está atrapada, se retorna :const:`NaN`. Las posibles causas incluyen::"
+"está atrapada, se retorna ``NaN``. Las posibles causas incluyen::"
#: ../Doc/library/decimal.rst:1631
msgid "Numerical overflow."
msgstr "Desbordamiento numérico."
#: ../Doc/library/decimal.rst:1633
-#, fuzzy
msgid ""
"Indicates the exponent is larger than :attr:`Context.Emax` after rounding "
"has occurred. If not trapped, the result depends on the rounding mode, "
@@ -2321,11 +2291,11 @@ msgid ""
"outward to ``Infinity``. In either case, :class:`Inexact` and :class:"
"`Rounded` are also signaled."
msgstr ""
-"Indica que el exponente es mayor que :attr:`max` después de que se haya "
-"producido el redondeo. Si no está atrapada, el resultado depende del modo de "
-"redondeo, ya sea tirando hacia adentro hasta el mayor número finito "
-"representable o redondeando hacia afuera a :const:`Infinity`. En cualquier "
-"caso, también se activan las señales :class:`Inexact` y :class:`Rounded`."
+"Indica que el exponente es mayor que :attr:`Context.Emax` después de que se "
+"haya producido el redondeo. Si no está atrapada, el resultado depende del "
+"modo de redondeo, ya sea tirando hacia adentro hasta el mayor número finito "
+"representable o redondeando hacia afuera a ``Infinity``. En cualquier caso, "
+"también se activan las señales :class:`Inexact` y :class:`Rounded`."
#: ../Doc/library/decimal.rst:1642
msgid "Rounding occurred though possibly no information was lost."
@@ -2333,21 +2303,19 @@ msgstr ""
"Se produjo un redondeo, aunque posiblemente no hubo pérdida de información."
#: ../Doc/library/decimal.rst:1644
-#, fuzzy
msgid ""
"Signaled whenever rounding discards digits; even if those digits are zero "
"(such as rounding ``5.00`` to ``5.0``). If not trapped, returns the result "
"unchanged. This signal is used to detect loss of significant digits."
msgstr ""
"Señal lanzada cada vez que el redondeo descarta dígitos; incluso si esos "
-"dígitos son cero (como al redondear :const:`5.00` a :const:`5.0`). Si no "
-"está atrapada, se retorna el resultado sin cambios. Esta señal se utiliza "
-"para detectar la pérdida de dígitos significativos."
+"dígitos son cero (como al redondear ``5.00`` a ``5.0``). Si no está "
+"atrapada, se retorna el resultado sin cambios. Esta señal se utiliza para "
+"detectar la pérdida de dígitos significativos."
#: ../Doc/library/decimal.rst:1652
-#, fuzzy
msgid "Exponent was lower than :attr:`~Context.Emin` prior to rounding."
-msgstr "El exponente antes del redondeo era menor que :attr:`Emin`."
+msgstr "El exponente antes del redondeo era menor que :attr:`~Context.Emin`."
#: ../Doc/library/decimal.rst:1654
msgid ""
@@ -2416,7 +2384,6 @@ msgid "Mitigating round-off error with increased precision"
msgstr "Mitigación del error de redondeo usando mayor precisión"
#: ../Doc/library/decimal.rst:1709
-#, fuzzy
msgid ""
"The use of decimal floating point eliminates decimal representation error "
"(making it possible to represent ``0.1`` exactly); however, some operations "
@@ -2424,9 +2391,9 @@ msgid ""
"precision."
msgstr ""
"El uso de la coma flotante decimal elimina el error de representación "
-"decimal (haciendo posible representar :const:`0.1` de forma exacta). Sin "
-"embargo, algunas operaciones aún pueden incurrir en errores de redondeo "
-"cuando los dígitos distintos de cero exceden la precisión fija."
+"decimal (haciendo posible representar ``0.1`` de forma exacta). Sin embargo, "
+"algunas operaciones aún pueden incurrir en errores de redondeo cuando los "
+"dígitos distintos de cero exceden la precisión fija."
#: ../Doc/library/decimal.rst:1713
msgid ""
@@ -2455,15 +2422,14 @@ msgid "Special values"
msgstr "Valores especiales"
#: ../Doc/library/decimal.rst:1759
-#, fuzzy
msgid ""
"The number system for the :mod:`decimal` module provides special values "
"including ``NaN``, ``sNaN``, ``-Infinity``, ``Infinity``, and two zeros, "
"``+0`` and ``-0``."
msgstr ""
"El sistema numérico para el módulo :mod:`decimal` proporciona valores "
-"especiales que incluyen: :const:`NaN`, :const:`sNaN`, :const:`-Infinity`, :"
-"const:`Infinity`, y dos ceros, :const:`+0` y :const:`-0`."
+"especiales que incluyen: ``NaN``, ``sNaN``, ``-Infinity``, ``Infinity``, y "
+"dos ceros, ``+0`` y ``-0``."
#: ../Doc/library/decimal.rst:1763
msgid ""
@@ -2490,7 +2456,6 @@ msgstr ""
"ejemplo, adicionar una constante a infinito resulta en otro infinito."
#: ../Doc/library/decimal.rst:1772
-#, fuzzy
msgid ""
"Some operations are indeterminate and return ``NaN``, or if the :exc:"
"`InvalidOperation` signal is trapped, raise an exception. For example, "
@@ -2500,29 +2465,27 @@ msgid ""
"series of computations that occasionally have missing inputs --- it allows "
"the calculation to proceed while flagging specific results as invalid."
msgstr ""
-"Algunas operaciones son indeterminadas y retornan :const:`NaN`, o lanzan una "
+"Algunas operaciones son indeterminadas y retornan ``NaN``, o lanzan una "
"excepción si la señal :exc:`InvalidOperation` es atrapada. Por ejemplo, "
-"``0/0`` retorna :const:`NaN` que significa \"no es un número\". Esta "
-"variedad de :const:`NaN` es silenciosa y, una vez creada, fluirá a través de "
-"otros cálculos dando siempre como resultado otro :const:`NaN`. Este "
-"comportamiento puede ser útil para una serie de cálculos a los que "
-"ocasionalmente les faltan entradas, permitiendo que el cálculo continúe "
-"mientras se marcan resultados específicos como no válidos."
+"``0/0`` retorna ``NaN`` que significa \"no es un número\". Esta variedad de "
+"``NaN`` es silenciosa y, una vez creada, fluirá a través de otros cálculos "
+"dando siempre como resultado otro ``NaN``. Este comportamiento puede ser "
+"útil para una serie de cálculos a los que ocasionalmente les faltan "
+"entradas, permitiendo que el cálculo continúe mientras se marcan resultados "
+"específicos como no válidos."
#: ../Doc/library/decimal.rst:1780
-#, fuzzy
msgid ""
"A variant is ``sNaN`` which signals rather than remaining quiet after every "
"operation. This is a useful return value when an invalid result needs to "
"interrupt a calculation for special handling."
msgstr ""
-"Una variante es :const:`sNaN`, que emite una señal en lugar de permanecer en "
+"Una variante es ``sNaN``, que emite una señal en lugar de permanecer en "
"silencio después de cada operación. Este es un valor de retorno útil cuando "
"un resultado no válido requiere interrumpir un cálculo para un manejo "
"especial."
#: ../Doc/library/decimal.rst:1784
-#, fuzzy
msgid ""
"The behavior of Python's comparison operators can be a little surprising "
"where a ``NaN`` is involved. A test for equality where one of the operands "
@@ -2539,20 +2502,20 @@ msgid ""
"compare_signal` methods instead."
msgstr ""
"El comportamiento de los operadores de comparación de Python puede ser un "
-"poco sorprendente cuando está involucrado un valor :const:`NaN`. Una prueba "
-"de igualdad donde uno de los operandos es un :const:`NaN` silencioso o "
-"señalizador siempre retorna :const:`False` (incluso cuando se hace "
+"poco sorprendente cuando está involucrado un valor ``NaN``. Una prueba de "
+"igualdad donde uno de los operandos es un ``NaN`` silencioso o señalizador "
+"siempre retorna :const:`False`` (incluso cuando se hace "
"``Decimal('NaN')==Decimal('NaN')``), mientras que una prueba de desigualdad "
"siempre retorna :const:`True`. Un intento de comparar dos objetos Decimal "
"usando cualquiera de los operadores ``<``, ``<=``, ``>`` o ``>=`` lanzará la "
-"señal :exc:`InvalidOperation` si alguno de los operandos es :const:`NaN`, y "
+"señal :exc:`InvalidOperation` si alguno de los operandos es ``NaN``, y "
"retornará :const:`False` si esta señal no es capturada. Ten en cuenta que la "
-"Especificación general de la aritmética decimal no especifica el "
+"Especificación General de la Aritmética Decimal no especifica el "
"comportamiento de las comparaciones directas. Estas reglas para las "
-"comparaciones que involucran a :const:`NaN` se tomaron del estándar IEEE 854 "
+"comparaciones que involucran a ``NaN`` se tomaron del estándar IEEE 854 "
"(consulta la Tabla 3 en la sección 5.7). Utiliza en su lugar los métodos :"
-"meth:`compare` y :meth:`compare-signal` para garantizar el cumplimiento "
-"estricto de los estándares."
+"meth:`~Decimal.compare` y :meth:`~Decimal.compare_signal` para garantizar el "
+"cumplimiento estricto de los estándares."
#: ../Doc/library/decimal.rst:1797
msgid ""
@@ -2669,14 +2632,14 @@ msgstr ""
"dígitos en exceso y deben ser validadas. ¿Qué métodos deben utilizarse?"
#: ../Doc/library/decimal.rst:2027
-#, fuzzy
msgid ""
"A. The :meth:`~Decimal.quantize` method rounds to a fixed number of decimal "
"places. If the :const:`Inexact` trap is set, it is also useful for "
"validation:"
msgstr ""
-"R. El método :meth:`quantize` redondea a un número fijo de decimales. Si se "
-"establece la trampa :const:`Inexact`, también es útil para la validación:"
+"R. El método :meth:`~Decimal.quantize` redondea a un número fijo de "
+"decimales. Si se establece la trampa :const:`Inexact`, también es útil para "
+"la validación:"
#: ../Doc/library/decimal.rst:2045
msgid ""
@@ -2687,7 +2650,6 @@ msgstr ""
"invariante en una aplicación?"
#: ../Doc/library/decimal.rst:2048
-#, fuzzy
msgid ""
"A. Some operations like addition, subtraction, and multiplication by an "
"integer will automatically preserve fixed point. Others operations, like "
@@ -2697,43 +2659,40 @@ msgstr ""
"R. Algunas operaciones como la suma, la resta y la multiplicación por un "
"número entero conservarán automáticamente el punto fijo. Otras operaciones, "
"como la división y la multiplicación de números no enteros, cambiarán el "
-"número de lugares decimales y deberá aplicarse :meth:`quantize` después de "
-"ellas:"
+"número de lugares decimales y deberá aplicarse :meth:`~Decimal.quantize` "
+"después de ellas:"
#: ../Doc/library/decimal.rst:2066
-#, fuzzy
msgid ""
"In developing fixed-point applications, it is convenient to define functions "
"to handle the :meth:`~Decimal.quantize` step:"
msgstr ""
"Al desarrollar aplicaciones de coma fija, es conveniente definir funciones "
-"para gestionar el paso :meth:`quantize`:"
+"para gestionar el paso :meth:`~Decimal.quantize`:"
#: ../Doc/library/decimal.rst:2080
-#, fuzzy
msgid ""
"Q. There are many ways to express the same value. The numbers ``200``, "
"``200.000``, ``2E2``, and ``.02E+4`` all have the same value at various "
"precisions. Is there a way to transform them to a single recognizable "
"canonical value?"
msgstr ""
-"P. Hay muchas formas de expresar un mismo valor. Los números :const:`200`, :"
-"const:`200.000`, :const:`2E2` y :const:`.02E+4` tienen todos el mismo valor "
-"pero con varias precisiones. ¿Hay alguna manera de transformarlos en un "
-"único valor canónico reconocible?"
+"P. Hay muchas formas de expresar un mismo valor. Los números ``200``, "
+"``200.000``, ``2E2`` y ``.02E+4`` tienen todos el mismo valor pero con "
+"varias precisiones. ¿Hay alguna manera de transformarlos en un único valor "
+"canónico reconocible?"
#: ../Doc/library/decimal.rst:2085
-#, fuzzy
msgid ""
"A. The :meth:`~Decimal.normalize` method maps all equivalent values to a "
"single representative:"
msgstr ""
-"R. El método :meth:`normalize` mapea todos los valores equivalentes a un "
-"solo representante:"
+"R. El método :meth:`~Decimal.normalize` mapea todos los valores equivalentes "
+"a un solo representante:"
#: ../Doc/library/decimal.rst:2092
msgid "Q. When does rounding occur in a computation?"
-msgstr ""
+msgstr "P. ¿Cuándo se realiza el redondeo en un cálculo?"
#: ../Doc/library/decimal.rst:2094
msgid ""
@@ -2744,6 +2703,12 @@ msgid ""
"rounding (or other context operations) is applied to the *result* of the "
"computation::"
msgstr ""
+"R. Se realiza *después* del cálculo. La filosofía de la especificación de "
+"decimal es que los números se consideran exactos y se crean "
+"independientemente del contexto actual. Pueden incluso tener más precisión "
+"que en el contexto actual. Los cálculo se procesan con esas entradas exactas "
+"y luego se aplica el redondeo (u otras operaciones de contexto) al "
+"*resultado* del cálculo::"
#: ../Doc/library/decimal.rst:2112
msgid ""
@@ -2754,7 +2719,6 @@ msgstr ""
"exponencial. ¿Hay alguna forma de obtener una representación no exponencial?"
#: ../Doc/library/decimal.rst:2115
-#, fuzzy
msgid ""
"A. For some values, exponential notation is the only way to express the "
"number of significant places in the coefficient. For example, expressing "
@@ -2763,9 +2727,8 @@ msgid ""
msgstr ""
"R. Para algunos valores, la notación exponencial es la única forma de "
"expresar el número de lugares significativos que tiene el coeficiente. Por "
-"ejemplo, expresar :const:`5.0E+3` como :const:`5000` mantiene el valor "
-"constante, pero no puede mostrar la significación de dos lugares que tiene "
-"el original."
+"ejemplo, expresar ``5.0E+3`` como ``5000`` mantiene el valor constante, pero "
+"no puede mostrar la significación de dos lugares que tiene el original."
#: ../Doc/library/decimal.rst:2120
msgid ""
@@ -2859,7 +2822,6 @@ msgid "Q. Is the CPython implementation fast for large numbers?"
msgstr "P. ¿La implementación de CPython es rápida para números grandes?"
#: ../Doc/library/decimal.rst:2183
-#, fuzzy
msgid ""
"A. Yes. In the CPython and PyPy3 implementations, the C/CFFI versions of "
"the decimal module integrate the high speed `libmpdec `_ para números de tamaño mediano y la "
-"transformada teórico-numérica (`Number Theoretic Transform `_) para números muy grandes."
#: ../Doc/library/decimal.rst:2193
-#, fuzzy
msgid ""
"The context must be adapted for exact arbitrary precision arithmetic. :attr:"
"`~Context.Emin` and :attr:`~Context.Emax` should always be set to the "
@@ -2890,18 +2851,18 @@ msgid ""
"Setting :attr:`~Context.prec` requires some care."
msgstr ""
"El contexto debe adaptarse para una aritmética de precisión arbitraria "
-"exacta. :attr:`Emin` y :attr:`Emax` siempre deben establecerse en sus "
-"valores máximos, :attr:`clamp` siempre debe ser 0 (el valor predeterminado). "
-"Establecer :attr:`prec` requiere cierto cuidado."
+"exacta. :attr:`~Context.Emin` y :attr:`~Context.Emax` siempre deben "
+"establecerse en sus valores máximos, :attr:`~Context.clamp` siempre debe ser "
+"0 (el valor predeterminado). Establecer :attr:`~Context.prec` requiere "
+"cierto cuidado."
#: ../Doc/library/decimal.rst:2197
-#, fuzzy
msgid ""
"The easiest approach for trying out bignum arithmetic is to use the maximum "
"value for :attr:`~Context.prec` as well [#]_::"
msgstr ""
"El enfoque más fácil para probar la aritmética bignum es usar también el "
-"valor máximo para :attr:`prec` [#]_::"
+"valor máximo para :attr:`~Context.prec` [#]_::"
#: ../Doc/library/decimal.rst:2206
msgid ""
@@ -2912,7 +2873,6 @@ msgstr ""
"plataformas de 64 bits y la memoria disponible será insuficiente::"
#: ../Doc/library/decimal.rst:2214
-#, fuzzy
msgid ""
"On systems with overallocation (e.g. Linux), a more sophisticated approach "
"is to adjust :attr:`~Context.prec` to the amount of available RAM. Suppose "
@@ -2920,9 +2880,9 @@ msgid ""
"of 500MB each::"
msgstr ""
"En sistemas con sobreasignación (por ejemplo, Linux), un enfoque más "
-"sofisticado es establecer :attr:`prec` a la cantidad de RAM disponible. "
-"Supongamos que tenemos 8GB de RAM y esperamos 10 operandos simultáneos "
-"usando un máximo de 500 MB cada uno::"
+"sofisticado es establecer :attr:`~Context.prec` a la cantidad de RAM "
+"disponible. Supongamos que tenemos 8GB de RAM y esperamos 10 operandos "
+"simultáneos usando un máximo de 500 MB cada uno::"
#: ../Doc/library/decimal.rst:2238
msgid ""
From 10341ccd07544044faf090d98f1098960fc56780 Mon Sep 17 00:00:00 2001
From: Alver J Perez <117424143+JPC501@users.noreply.github.com>
Date: Sun, 26 Nov 2023 09:33:20 -0800
Subject: [PATCH 013/136] traduccion inicial (#2740)
Closes #2565
hay algunas lineas donde aparece *domain* y *localedir* no entiendo muy
bien el contexto entonces no se si ponerlas dominio *domain* como en las
anteriores traducciones, quedo pendiente para ver los cmabios
---------
Co-authored-by: Marcos Medrano <786907+mmmarcos@users.noreply.github.com>
---
library/gettext.po | 141 ++++++++++++++++++++-------------------------
1 file changed, 61 insertions(+), 80 deletions(-)
diff --git a/library/gettext.po b/library/gettext.po
index 61dc6fdadf..80e7efc996 100644
--- a/library/gettext.po
+++ b/library/gettext.po
@@ -112,16 +112,15 @@ msgstr ""
"establece en *domain*, que se retorna."
#: ../Doc/library/gettext.rst:59
-#, fuzzy
msgid ""
"Return the localized translation of *message*, based on the current global "
"domain, language, and locale directory. This function is usually aliased "
"as :func:`!_` in the local namespace (see examples below)."
msgstr ""
-"Retorna la traducción localizada de *message*, en función del dominio global "
+"Retorna la traducción localizada de *message*, basada en el dominio global "
"actual, el idioma y el directorio de configuración regional. Esta función "
-"generalmente tiene un alias como :func:`_` en el espacio de nombres local "
-"(ver ejemplos a continuación)."
+"suele tener un alias como :func:`!_` en el espacio de nombres local (ver "
+"ejemplos a continuación)."
#: ../Doc/library/gettext.rst:66
msgid ""
@@ -175,13 +174,12 @@ msgstr ""
"`dngettext`), pero la traducción está restringida al mensaje dado *context*."
#: ../Doc/library/gettext.rst:101
-#, fuzzy
msgid ""
"Note that GNU :program:`gettext` also defines a :func:`!dcgettext` method, "
"but this was deemed not useful and so it is currently unimplemented."
msgstr ""
-"Tenga en cuenta que GNU :program:`gettext` también define un método :func:"
-"`dcgettext`, pero esto no se consideró útil, por lo que actualmente no está "
+"Tenga en cuenta que :program:`gettext` de GNU también define un método :func:"
+"`!dcgettext`, pero esto no se consideró útil, por lo que actualmente no está "
"implementado."
#: ../Doc/library/gettext.rst:104
@@ -193,7 +191,6 @@ msgid "Class-based API"
msgstr "API basada en clases"
#: ../Doc/library/gettext.rst:117
-#, fuzzy
msgid ""
"The class-based API of the :mod:`gettext` module gives you more flexibility "
"and greater convenience than the GNU :program:`gettext` API. It is the "
@@ -203,13 +200,13 @@ msgid ""
"strings. Instances of this class can also install themselves in the built-in "
"namespace as the function :func:`!_`."
msgstr ""
-"La API basada en clases del módulo :mod:`gettext` le brinda más flexibilidad "
-"y mayor comodidad que la API GNU :program:`gettext`. Es la forma recomendada "
-"de localizar sus aplicaciones y módulos de Python. :mod:`!gettext` define "
-"una clase :class:`GNUTranslations` que implementa el análisis de archivos de "
-"formato GNU :file:`.mo`, y tiene métodos para retornar cadenas. Las "
-"instancias de esta clase también pueden instalarse en el espacio de nombres "
-"incorporado como la función :func:`_`."
+"La API basada en clases del módulo :mod:`gettext` ofrece más flexibilidad y "
+"mayor conveniencia que la API de :program:`gettext` de GNU. Es la forma "
+"recomendada para localizar sus aplicaciones y módulos Python. :mod:`!"
+"gettext` define una clase :class:`GNUTranslations` que implementa el "
+"análisis de archivos en formato :file:`.mo` de GNU, y tiene métodos para "
+"retornar cadenas de caracteres. Instancias de esta clase también pueden auto "
+"instalarse en el espacio de nombres incorporado como la función :func:`!_`."
#: ../Doc/library/gettext.rst:127
msgid ""
@@ -267,7 +264,6 @@ msgstr ""
"aparecen en la lista de idiomas o las variables de entorno."
#: ../Doc/library/gettext.rst:153
-#, fuzzy
msgid ""
"Return a ``*Translations`` instance based on the *domain*, *localedir*, and "
"*languages*, which are first passed to :func:`find` to get a list of the "
@@ -276,15 +272,13 @@ msgid ""
"provided, otherwise :class:`GNUTranslations`. The class's constructor must "
"take a single :term:`file object` argument."
msgstr ""
-"Retorna una instancia de :class:`*Translations` basada en *domain*, "
-"*localedir* y *languages*, que primero se pasan a :func:`find` para obtener "
-"una lista del archivo asociado de rutas :file:`.mo`. Instancias con idéntico "
-"nombres de archivo :file:`.mo` se almacenan en caché. La clase real "
-"instanciada es *class_* si se proporciona, de lo contrario :class:"
-"`GNUTranslations`. El constructor de la clase debe tomar un solo argumento :"
-"term:`file object`. Si se proporciona, *codeset* cambiará el juego de "
-"caracteres utilizado para codificar cadenas traducidas en los métodos :meth:"
-"`~NullTranslations.lgettext` y :meth:`~NullTranslations.lngettext`."
+"Retorna una instancia de ``*Translations`` basada en *domain*, *localedir* y "
+"*languages*, que primero se pasan a :func:`find` para obtener una lista de "
+"las rutas de archivos :file:`.mo` asociadas. Las instancias con nombres de "
+"archivos :file:`.mo` idénticos se almacenan en caché. La clase concreta "
+"instanciada es *class_* si se proporciona, de lo contrario será :class:"
+"`GNUTranslations`. El constructor de esta clase debe aceptar un único "
+"argumento de tipo :term:`file object`."
#: ../Doc/library/gettext.rst:160
msgid ""
@@ -317,13 +311,12 @@ msgid "*codeset* parameter is removed."
msgstr "el parámetro *codeset* se removió."
#: ../Doc/library/gettext.rst:177
-#, fuzzy
msgid ""
"This installs the function :func:`!_` in Python's builtins namespace, based "
"on *domain* and *localedir* which are passed to the function :func:"
"`translation`."
msgstr ""
-"Esto instala la función :func:`_` en el espacio de nombres incorporado de "
+"Esto instala la función :func:`!_` en el espacio de nombres incorporado de "
"Python, basado en *domain* y *localedir* que se pasan a la función :func:"
"`translation`."
@@ -336,7 +329,6 @@ msgstr ""
"traducción :meth:`~NullTranslations.install`."
#: ../Doc/library/gettext.rst:183
-#, fuzzy
msgid ""
"As seen below, you usually mark the strings in your application that are "
"candidates for translation, by wrapping them in a call to the :func:`!_` "
@@ -344,16 +336,15 @@ msgid ""
msgstr ""
"Como se ve a continuación, generalmente marca las cadenas en su aplicación "
"que son candidatas para la traducción, envolviéndolas en una llamada a la "
-"función :func:`_`, como esta::"
+"función :func:`!_`, como esta::"
#: ../Doc/library/gettext.rst:189
-#, fuzzy
msgid ""
"For convenience, you want the :func:`!_` function to be installed in "
"Python's builtins namespace, so it is easily accessible in all modules of "
"your application."
msgstr ""
-"Para mayor comodidad, desea que la función :func:`_` se instale en el "
+"Para mayor comodidad, desea que la función :func:`!_` se instale en el "
"espacio de nombres integrado de Python, para que sea fácilmente accesible en "
"todos los módulos de su aplicación."
@@ -471,7 +462,6 @@ msgstr ""
"vinculándolo a ``_``."
#: ../Doc/library/gettext.rst:274
-#, fuzzy
msgid ""
"If the *names* parameter is given, it must be a sequence containing the "
"names of functions you want to install in the builtins namespace in addition "
@@ -480,12 +470,10 @@ msgid ""
msgstr ""
"Si se proporciona el parámetro *names*, debe ser una secuencia que contenga "
"los nombres de las funciones que desea instalar en el espacio de nombres "
-"incorporado además de :func:`_`. Los nombres admitidos son ``'gettext'``, "
-"``'ngettext'``, ``'pgettext'``, ``'npgettext'``, ``'lgettext'``, y "
-"``'lngettext'``."
+"incorporado, además de :func:`!_`. Los nombres compatibles son "
+"``'gettext'``, ``'ngettext'``, ``'pgettext'`` y ``'npgettext'``."
#: ../Doc/library/gettext.rst:279
-#, fuzzy
msgid ""
"Note that this is only one way, albeit the most convenient way, to make the :"
"func:`!_` function available to your application. Because it affects the "
@@ -493,20 +481,19 @@ msgid ""
"localized modules should never install :func:`!_`. Instead, they should use "
"this code to make :func:`!_` available to their module::"
msgstr ""
-"Tenga en cuenta que esta es solo una forma, aunque la más conveniente, para "
-"que la función :func:`_` esté disponible para su aplicación. Debido a que "
-"afecta a toda la aplicación globalmente, y específicamente al espacio de "
-"nombres incorporado, los módulos localizados nunca deberían instalarse :func:"
-"`_`. En su lugar, deberían usar este código para hacer que :func:`_` esté "
-"disponible para su módulo::"
+"Considere que esta es solo una manera, aunque la más conveniente, de hacer "
+"disponible la función :func:`!_` en su aplicación. Ya que afecta a toda la "
+"aplicación de manera global, y en particular al espacio de nombres "
+"integrado, los módulos localizados nunca deben instalar :func:`!_`. En lugar "
+"de ello, deberían utilizar este código para hacer que :func:`!_` esté "
+"disponible en su módulo::"
#: ../Doc/library/gettext.rst:289
-#, fuzzy
msgid ""
"This puts :func:`!_` only in the module's global namespace and so only "
"affects calls within this module."
msgstr ""
-"Esto pone :func:`_` solo en el espacio de nombres global del módulo y, por "
+"Esto pone :func:`!_` solo en el espacio de nombres global del módulo y, por "
"lo tanto, solo afecta las llamadas dentro de este módulo."
#: ../Doc/library/gettext.rst:292
@@ -554,14 +541,13 @@ msgstr ""
"contrario se asume ASCII."
#: ../Doc/library/gettext.rst:314
-#, fuzzy
msgid ""
"Since message ids are read as Unicode strings too, all ``*gettext()`` "
"methods will assume message ids as Unicode strings, not byte strings."
msgstr ""
-"Dado que los identificadores de mensaje también se leen como cadenas "
-"Unicode, todos los métodos :meth:`*gettext` asumirán los identificadores de "
-"mensaje como cadenas Unicode, no cadenas de bytes."
+"Ya que los identificadores de mensajes también se leen como cadenas Unicode, "
+"todos los métodos ``*gettext()`` considerarán a los identificadores de "
+"mensajes como cadenas Unicode, y no como cadenas de bytes."
#: ../Doc/library/gettext.rst:317
msgid ""
@@ -694,12 +680,11 @@ msgstr ""
"esta versión tiene una API ligeramente diferente. Su uso documentado fue::"
#: ../Doc/library/gettext.rst:404
-#, fuzzy
msgid ""
"For compatibility with this older module, the function :func:`!Catalog` is "
"an alias for the :func:`translation` function described above."
msgstr ""
-"Para la compatibilidad con este módulo anterior, la función :func:`Catalog` "
+"Para la compatibilidad con este módulo anterior, la función :func:`!Catalog` "
"es un alias para la función :func:`translation` descrita anteriormente."
#: ../Doc/library/gettext.rst:407
@@ -755,17 +740,16 @@ msgstr ""
"se traduzcan correctamente"
#: ../Doc/library/gettext.rst:430
-#, fuzzy
msgid ""
"In order to prepare your code for I18N, you need to look at all the strings "
"in your files. Any string that needs to be translated should be marked by "
"wrapping it in ``_('...')`` --- that is, a call to the function :func:`_ "
"`. For example::"
msgstr ""
-"Para preparar su código para I18N, debe mirar todas las cadenas en sus "
-"archivos. Cualquier cadena que deba traducirse debe marcarse envolviéndola "
-"en ``_('...')`` --- es decir, una llamada a la función :func:`_`. Por "
-"ejemplo::"
+"Para preparar su código para la internacionalización (I18N), necesita "
+"revisar todas las cadenas de texto en sus archivos. Cualquier cadena que "
+"requiera traducción debe ser marcada envolviéndola en ``_('...')`` ---, lo "
+"que equivale a una llamada a la función :func:`_ `. Por ejemplo::"
#: ../Doc/library/gettext.rst:439
msgid ""
@@ -894,18 +878,17 @@ msgid "Localizing your application"
msgstr "Agregar configuración regional a su aplicación"
#: ../Doc/library/gettext.rst:504
-#, fuzzy
msgid ""
"If you are localizing your application, you can install the :func:`!_` "
"function globally into the built-in namespace, usually in the main driver "
"file of your application. This will let all your application-specific files "
"just use ``_('...')`` without having to explicitly install it in each file."
msgstr ""
-"Si está aplicando configuración regional a su aplicación, puede instalar la "
-"función :func:`_` globalmente en el espacio de nombres incorporado, "
-"generalmente en el archivo del controlador principal de su aplicación. Esto "
-"permitirá que todos los archivos específicos de su aplicación usen "
-"``_('...')`` sin tener que instalarlo explícitamente en cada archivo."
+"Si está localizando su aplicación, puede instalar globalmente la función :"
+"func:`!_` en el espacio de nombres integrado, normalmente en el archivo "
+"principal de su aplicación. Esto hará que todos los archivos específicos de "
+"la aplicación puedan usar ``_('...')`` sin necesidad de instalarla "
+"explícitamente en cada uno de ellos."
#: ../Doc/library/gettext.rst:509
msgid ""
@@ -966,7 +949,6 @@ msgid "Here is one way you can handle this situation::"
msgstr "Aquí hay una manera de manejar esta situación:"
#: ../Doc/library/gettext.rst:581
-#, fuzzy
msgid ""
"This works because the dummy definition of :func:`!_` simply returns the "
"string unchanged. And this dummy definition will temporarily override any "
@@ -974,20 +956,20 @@ msgid ""
"command). Take care, though if you have a previous definition of :func:`!_` "
"in the local namespace."
msgstr ""
-"Esto funciona porque la definición ficticia de :func:`_` simplemente retorna "
-"la cadena sin cambios. Y esta definición ficticia anulará temporalmente "
-"cualquier definición de :func:`_` en el espacio de nombres incorporado "
-"(hasta el comando :keyword:`del`). Sin embargo, tenga cuidado si tiene una "
-"definición previa de :func:`_` en el espacio de nombres local."
+"Esto funciona ya que la definición ficticia de :func:`!_` devuelve "
+"simplemente la cadena sin modificar. Además, esta definición ficticia "
+"sobrescribirá de manera temporal cualquier definición de :func:`!_` en el "
+"espacio de nombres integrado (hasta el uso del comando :keyword:`del`). No "
+"obstante, tenga cuidado si ya existe una definición previa de :func:`!_` en "
+"el espacio de nombres local."
#: ../Doc/library/gettext.rst:587
-#, fuzzy
msgid ""
"Note that the second use of :func:`!_` will not identify \"a\" as being "
"translatable to the :program:`gettext` program, because the parameter is not "
"a string literal."
msgstr ""
-"Tenga en cuenta que el segundo uso de :func:`_` no identificará \"a\" como "
+"Tenga en cuenta que el segundo uso de :func:`!_` no identificará \"a\" como "
"traducible al programa :program:`gettext`, porque el parámetro no es un "
"literal de cadena."
@@ -996,7 +978,6 @@ msgid "Another way to handle this is with the following example::"
msgstr "Otra forma de manejar esto es con el siguiente ejemplo:"
#: ../Doc/library/gettext.rst:605
-#, fuzzy
msgid ""
"In this case, you are marking translatable strings with the function :func:`!"
"N_`, which won't conflict with any definition of :func:`!_`. However, you "
@@ -1007,14 +988,14 @@ msgid ""
"totally arbitrary; it could have just as easily been :func:`!"
"MarkThisStringForTranslation`."
msgstr ""
-"En este caso, está marcando cadenas traducibles con la función :func:`N_`, "
-"que no entrará en conflicto con ninguna definición de :func:`_`. Sin "
-"embargo, deberá enseñar a su programa de extracción de mensajes a buscar "
-"cadenas traducibles marcadas con :func:`N_`. :program:`xgettext`, :program:"
+"En este caso, está marcando las cadenas traducibles con la función :func:`!"
+"N_`, la cual no generará conflictos con ninguna definición de :func:`!_`. "
+"Sin embargo, deberá enseñar a su programa de extracción de mensajes a buscar "
+"cadenas traducibles marcadas con :func:`!N_`. :program:`xgettext`, :program:"
"`pygettext`, ``pybabel extract``, y :program:`xpot` todos soportan esto "
-"mediante el uso de :option:`!-k` interruptor de línea de comando. La "
-"elección de :func:`N_` aquí es totalmente arbitraria; podría haber sido "
-"igual de fácil :func:`MarkThisStringForTranslation`."
+"mediante el uso de la opción de línea de comandos :option:`!-k`. La elección "
+"de :func:`!N_`` aquí es completamente arbitraria; podría haber sido también :"
+"func:`!MarkThisStringForTranslation`."
#: ../Doc/library/gettext.rst:616
msgid "Acknowledgements"
@@ -1090,12 +1071,12 @@ msgstr "Vea la nota al pie de página para :func:`bindtextdomain` arriba."
#: ../Doc/library/gettext.rst:56
msgid "_ (underscore)"
-msgstr ""
+msgstr "_ (underscore)"
#: ../Doc/library/gettext.rst:56
msgid "gettext"
-msgstr ""
+msgstr "gettext"
#: ../Doc/library/gettext.rst:394
msgid "GNOME"
-msgstr ""
+msgstr "GNOME"
From 5734bfb64c2d83e5776654ab7d787a97a93c5230 Mon Sep 17 00:00:00 2001
From: Marcos Medrano <786907+mmmarcos@users.noreply.github.com>
Date: Sun, 26 Nov 2023 23:25:48 +0100
Subject: [PATCH 014/136] Traducido `license.po` (#2758)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Este archivo no tiene ningún issue asociado.
---
dictionaries/license.txt | 1 +
license.po | 66 +++++++++++++++++++---------------------
2 files changed, 33 insertions(+), 34 deletions(-)
diff --git a/dictionaries/license.txt b/dictionaries/license.txt
index 6a0542fcfe..3fa0f17b19 100644
--- a/dictionaries/license.txt
+++ b/dictionaries/license.txt
@@ -5,6 +5,7 @@ Corporation
Creations
Initiatives
Keio
+License
Majkowski
Marek
Mathematisch
diff --git a/license.po b/license.po
index ee3f996836..91bc8186b6 100644
--- a/license.po
+++ b/license.po
@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: 2021-08-04 11:18+0200\n"
-"Last-Translator: Cristián Maureira-Fredes \n"
-"Language: es\n"
+"PO-Revision-Date: 2023-11-26 21:43+0100\n"
+"Last-Translator: Marcos Medrano \n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
+"X-Generator: Poedit 3.4.1\n"
#: ../Doc/license.rst:7
msgid "History and License"
@@ -320,30 +321,29 @@ msgid "Mersenne Twister"
msgstr "Mersenne Twister"
#: ../Doc/license.rst:305
-#, fuzzy
msgid ""
"The :mod:`!_random` C extension underlying the :mod:`random` module includes "
"code based on a download from http://www.math.sci.hiroshima-u.ac.jp/~m-mat/"
"MT/MT2002/emt19937ar.html. The following are the verbatim comments from the "
"original code::"
msgstr ""
-"El módulo :mod:`_random` incluye código basado en una descarga de http://www."
-"math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/emt19937ar.html. Los siguientes "
-"son los comentarios textuales del código original:"
+"La extensión C :mod:`!_random` subyacente al módulo :mod:`random` incluye "
+"código basado en una descarga de http://www.math.sci.hiroshima-u.ac.jp/~m-"
+"mat/MT/MT2002/emt19937ar.html. Los siguientes son los comentarios textuales "
+"del código original::"
#: ../Doc/license.rst:353
msgid "Sockets"
msgstr "Sockets"
#: ../Doc/license.rst:355
-#, fuzzy
msgid ""
"The :mod:`socket` module uses the functions, :c:func:`!getaddrinfo`, and :c:"
"func:`!getnameinfo`, which are coded in separate source files from the WIDE "
"Project, https://www.wide.ad.jp/. ::"
msgstr ""
-"El módulo :mod:`socket` usa las funciones, :func:`getaddrinfo`, y :func:"
-"`getnameinfo`, que están codificadas en archivos fuente separados del "
+"El módulo :mod:`socket` usa las funciones, :func:`!getaddrinfo`, y :func:`!"
+"getnameinfo`, que están codificadas en archivos fuente separados del "
"Proyecto WIDE, http://www.wide.ad.jp /. ::"
#: ../Doc/license.rst:388
@@ -351,12 +351,12 @@ msgid "Asynchronous socket services"
msgstr "Servicios de socket asincrónicos"
#: ../Doc/license.rst:390
-#, fuzzy
msgid ""
"The :mod:`!test.support.asynchat` and :mod:`!test.support.asyncore` modules "
"contain the following notice::"
msgstr ""
-"Los módulos :mod:`asynchat` y :mod:`asyncore` contienen el siguiente aviso::"
+"Los módulos :mod:`!test.support.asynchat` y :mod:`!test.support.asyncore` "
+"contienen el siguiente aviso::"
#: ../Doc/license.rst:416
msgid "Cookie management"
@@ -395,9 +395,8 @@ msgid "test_epoll"
msgstr "test_epoll"
#: ../Doc/license.rst:542
-#, fuzzy
msgid "The :mod:`!test.test_epoll` module contains the following notice::"
-msgstr "El módulo :mod:`test_epoll` contiene el siguiente aviso::"
+msgstr "El módulo :mod:`!test.test_epoll` contiene el siguiente aviso::"
#: ../Doc/license.rst:566
msgid "Select kqueue"
@@ -428,7 +427,6 @@ msgid "strtod and dtoa"
msgstr "strtod y dtoa"
#: ../Doc/license.rst:628
-#, fuzzy
msgid ""
"The file :file:`Python/dtoa.c`, which supplies C functions dtoa and strtod "
"for conversion of C doubles to and from strings, is derived from the file of "
@@ -438,9 +436,10 @@ msgid ""
"licensing notice::"
msgstr ""
"El archivo :file:`Python/dtoa.c`, que proporciona las funciones de C dtoa y "
-"strtod para la conversión de C dobles hacia y desde cadenas, se deriva del "
-"archivo del mismo nombre de David M. Gay, actualmente disponible en http://"
-"www.netlib.org/fp/. El archivo original, recuperado el 16 de marzo de 2009, "
+"strtod para la conversión de dobles C hacia y desde cadenas de caracteres, "
+"se deriva del archivo del mismo nombre por David M. Gay, actualmente "
+"disponible en https://web.archive.org/web/20220517033456/http://www.netlib."
+"org/fp/dtoa.c. El archivo original, recuperado el 16 de marzo de 2009, "
"contiene el siguiente aviso de licencia y derechos de autor::"
#: ../Doc/license.rst:656
@@ -448,7 +447,6 @@ msgid "OpenSSL"
msgstr "OpenSSL"
#: ../Doc/license.rst:658
-#, fuzzy
msgid ""
"The modules :mod:`hashlib`, :mod:`posix`, :mod:`ssl`, :mod:`crypt` use the "
"OpenSSL library for added performance if made available by the operating "
@@ -461,37 +459,36 @@ msgstr ""
"la biblioteca OpenSSL para un rendimiento adicional si el sistema operativo "
"la pone a disposición. Además, los instaladores de Windows y macOS para "
"Python pueden incluir una copia de las bibliotecas de OpenSSL, por lo que "
-"incluimos una copia de la licencia de OpenSSL aquí::"
+"incluimos una copia de la licencia de OpenSSL aquí. Para la version OpenSSL "
+"3.0, y versiones posteriores derivadas, se aplica la Apache License v2::"
#: ../Doc/license.rst:845
msgid "expat"
msgstr "expat"
#: ../Doc/license.rst:847
-#, fuzzy
msgid ""
"The :mod:`pyexpat ` extension is built using an included "
"copy of the expat sources unless the build is configured ``--with-system-"
"expat``::"
msgstr ""
-"La extensión :mod:`pyexpat` se construye usando una copia incluida de las "
-"fuentes de expatriados a menos que la construcción esté configurada ``--with-"
-"system-expat``::"
+"La extensión :mod:`pyexpat ` se construye usando una "
+"copia incluida de las fuentes de expatriados a menos que la construcción "
+"esté configurada ``--with-system-expat``::"
#: ../Doc/license.rst:874
msgid "libffi"
msgstr "libffi"
#: ../Doc/license.rst:876
-#, fuzzy
msgid ""
"The :mod:`!_ctypes` C extension underlying the :mod:`ctypes` module is built "
"using an included copy of the libffi sources unless the build is configured "
"``--with-system-libffi``::"
msgstr ""
-"La extensión :mod:`_ctypes` se construye usando una copia incluida de las "
-"fuentes de libffi a menos que la construcción esté configurada ``--with-"
-"system-libffi``::"
+"La extensión C :mod:`!_ctypes` subyacente al módulo :mod:`ctypes` se "
+"construye usando una copia incluida de las fuentes de libffi a menos que la "
+"construcción esté configurada ``--with-system-libffi``::"
#: ../Doc/license.rst:904
msgid "zlib"
@@ -524,15 +521,14 @@ msgid "libmpdec"
msgstr "libmpdec"
#: ../Doc/license.rst:978
-#, fuzzy
msgid ""
"The :mod:`!_decimal` C extension underlying the :mod:`decimal` module is "
"built using an included copy of the libmpdec library unless the build is "
"configured ``--with-system-libmpdec``::"
msgstr ""
-"El módulo :mod:`_decimal` se construye usando una copia incluida de la "
-"biblioteca libmpdec a menos que la construcción esté configurada ``--with-"
-"system-libmpdec``::"
+"La extension C :mod:`!_decimal` subyacente al módulo :mod:`decimal` se "
+"construye usando una copia incluida de la biblioteca libmpdec a menos que la "
+"construcción esté configurada ``--with-system-libmpdec``::"
#: ../Doc/license.rst:1009
msgid "W3C C14N test suite"
@@ -551,9 +547,11 @@ msgstr ""
#: ../Doc/license.rst:1046
msgid "Audioop"
-msgstr ""
+msgstr "Audioop"
#: ../Doc/license.rst:1048
msgid ""
"The audioop module uses the code base in g771.c file of the SoX project::"
msgstr ""
+"El módulo audioop usa la base de código en el archivo g771.c del proyecto "
+"SoX::"
From 7c41d0e374e2c51ac932d44931f3a9da7a693ed5 Mon Sep 17 00:00:00 2001
From: Marcos Medrano <786907+mmmarcos@users.noreply.github.com>
Date: Sun, 26 Nov 2023 23:30:46 +0100
Subject: [PATCH 015/136] Traducido `bugs.po` (#2756)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Este archivo no tiene ningún issue asociado.
---
bugs.po | 53 ++++++++++++++++++++++++++++++++---------------------
1 file changed, 32 insertions(+), 21 deletions(-)
diff --git a/bugs.po b/bugs.po
index df26f6c959..fb665aef46 100644
--- a/bugs.po
+++ b/bugs.po
@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: 2020-06-28 01:03+0200\n"
-"Last-Translator: \n"
-"Language: es\n"
+"PO-Revision-Date: 2023-11-26 21:55+0100\n"
+"Last-Translator: Marcos Medrano \n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
+"X-Generator: Poedit 3.4.1\n"
#: ../Doc/bugs.rst:5
msgid "Dealing with Bugs"
@@ -66,6 +67,8 @@ msgid ""
"You can also open a discussion item on our `Documentation Discourse forum "
"`_."
msgstr ""
+"También puede abrir una discusión en nuestro `foro de Documentación de "
+"Discourse `_."
#: ../Doc/bugs.rst:25
msgid ""
@@ -119,19 +122,20 @@ msgstr ""
"Python."
#: ../Doc/bugs.rst:41
-#, fuzzy
msgid ""
"`Documentation Translations `_"
msgstr ""
-"`Ayudar con la documentación `_"
+"`Traducciones de la Documentación `_"
#: ../Doc/bugs.rst:42
msgid ""
"A list of GitHub pages for documentation translation and their primary "
"contacts."
msgstr ""
+"Una lista de páginas de GitHub para la traducción de documentación y sus "
+"contactos principales."
#: ../Doc/bugs.rst:48
msgid "Using the Python issue tracker"
@@ -144,9 +148,12 @@ msgid ""
"tracker offers a web form which allows pertinent information to be entered "
"and submitted to the developers."
msgstr ""
+"Los informes de incidencias de Python deben enviarse a través del gestor de "
+"incidencias de GitHub (https://github.com/python/cpython/issues). El gestor "
+"de incidencias de GitHub ofrece un formulario web que permite introducir la "
+"información pertinente y enviarla a los desarrolladores."
#: ../Doc/bugs.rst:55
-#, 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 "
@@ -156,14 +163,13 @@ msgid ""
"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 "
+"El primer paso para completar un informe es determinar si el problema ya ha "
"sido descrito previamente. La ventaja de hacer esto, aparte de ahorrar "
-"tiempo a los desarrolladores, te permite aprender qué cambios se han "
+"tiempo a los desarrolladores, es que te permite aprender qué cambios se han "
"realizado para repararlo; puede que el problema se haya reparado para la "
-"siguiente publicación, o que sea necesaria información adicional (en ese "
-"caso, ¡te damos la bienvenida a incluirla si puedes!). Para hacerlo, busca "
-"en la base de datos de errores usando la zona de búsqueda al principio de "
-"esta página."
+"siguiente versión, o que sea necesaria información adicional (en ese caso, "
+"¡te invitamos a incluirla si puedes!). Para hacerlo, busca en la base de "
+"datos de errores usando la zona de búsqueda al principio de esta página."
#: ../Doc/bugs.rst:62
msgid ""
@@ -172,25 +178,31 @@ msgid ""
"using the \"Sign up\" link. It is not possible to submit a bug report "
"anonymously."
msgstr ""
+"Si el problema del que informa no está ya en la lista, inicie sesión en "
+"GitHub. Si aún no tienes una cuenta en GitHub, crea una nueva a través del "
+"enlace \"Regístrate\". No es posible enviar un informe de error de forma "
+"anónima."
#: ../Doc/bugs.rst:67
-#, fuzzy
msgid ""
"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."
+"Ahora que has iniciado sesión, puedes enviar un informe de error. Haz clic "
+"en el botón \"New issue\" de la barra superior para notificar un nuevo "
+"informe de error."
#: ../Doc/bugs.rst:70
msgid "The submission form has two fields, \"Title\" and \"Comment\"."
-msgstr ""
+msgstr "El formulario de envío tiene dos campos: \"Title\" y \"Comment\"."
#: ../Doc/bugs.rst:72
msgid ""
"For the \"Title\" field, enter a *very* short description of the problem; "
"fewer than ten words is good."
msgstr ""
+"En el campo \"Title\", introduzca una descripción *muy* breve del problema; "
+"menos de diez palabras es suficiente."
#: ../Doc/bugs.rst:75
msgid ""
@@ -205,15 +217,14 @@ msgstr ""
"hardware y software estás usando (incluyendo las versiones correspondientes)."
#: ../Doc/bugs.rst:80
-#, fuzzy
msgid ""
"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é "
+"Cada informe de error 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."
+"cada vez que se tome una medida al respecto."
#: ../Doc/bugs.rst:89
msgid ""
From 74760d9758406c1e2982091159f2071e90d7fee7 Mon Sep 17 00:00:00 2001
From: Marcos Medrano <786907+mmmarcos@users.noreply.github.com>
Date: Sun, 26 Nov 2023 23:33:01 +0100
Subject: [PATCH 016/136] Fix fuzzy entry in `copyright.po` (#2759)
---
copyright.po | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/copyright.po b/copyright.po
index 91443fc2c0..10c059a61e 100644
--- a/copyright.po
+++ b/copyright.po
@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: 2021-08-04 10:56+0200\n"
-"Last-Translator: Cristián Maureira-Fredes \n"
-"Language: es\n"
+"PO-Revision-Date: 2023-11-26 19:06+0100\n"
+"Last-Translator: Marcos Medrano \n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
+"X-Generator: Poedit 3.4.1\n"
#: ../Doc/copyright.rst:3
msgid "Copyright"
@@ -30,10 +31,9 @@ msgid "Python and this documentation is:"
msgstr "Python y esta documentación es:"
#: ../Doc/copyright.rst:7
-#, fuzzy
msgid "Copyright © 2001-2023 Python Software Foundation. All rights reserved."
msgstr ""
-"Derechos de autor © 2001-2021 Python Software Foundation. Todos los derechos "
+"Derechos de autor © 2001-2023 Python Software Foundation. Todos los derechos "
"reservados."
#: ../Doc/copyright.rst:9
From 8defc7d3a3891c8d9def9f8cf3bedf5ad47c23c0 Mon Sep 17 00:00:00 2001
From: Yennifer Herrera
Date: Mon, 27 Nov 2023 00:33:31 -0500
Subject: [PATCH 017/136] Traducido `library/zipimport.po` (#2760)
Closes #2587
---
library/zipimport.po | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/library/zipimport.po b/library/zipimport.po
index 544a4ed59f..12fa795882 100644
--- a/library/zipimport.po
+++ b/library/zipimport.po
@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: 2022-11-26 19:47-0300\n"
+"PO-Revision-Date: 2023-11-19 13:50-0500\n"
"Last-Translator: Sofía Denner \n"
-"Language: es\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
+"X-Generator: Poedit 3.0.1\n"
#: ../Doc/library/zipimport.rst:2
msgid ":mod:`zipimport` --- Import modules from Zip archives"
@@ -176,6 +177,8 @@ msgid ""
"Methods ``find_loader()`` and ``find_module()``, deprecated in 3.10 are now "
"removed. Use :meth:`find_spec` instead."
msgstr ""
+"Los métodos ``find_loader()`` y ``find_module()``, deprecados en la versión "
+"3.10, han sido eliminados. Use en su lugar :meth:`find_spec`."
#: ../Doc/library/zipimport.rst:84
msgid ""
From 16697e6901a31c59e5b9207c76d4205e4e1655d8 Mon Sep 17 00:00:00 2001
From: Yennifer Herrera
Date: Mon, 27 Nov 2023 00:35:40 -0500
Subject: [PATCH 018/136] Traducido `library/zlib.po` (#2749)
Closes #2567
---
library/zlib.po | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/library/zlib.po b/library/zlib.po
index 243040a00a..61b7f36ef8 100644
--- a/library/zlib.po
+++ b/library/zlib.po
@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: 2022-12-11 14:31+0800\n"
+"PO-Revision-Date: 2023-11-26 23:07-0500\n"
"Last-Translator: Rodrigo Tobar \n"
-"Language: es\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
+"X-Generator: Poedit 3.0.1\n"
#: ../Doc/library/zlib.rst:2
msgid ":mod:`zlib` --- Compression compatible with :program:`gzip`"
@@ -651,8 +652,8 @@ msgstr ""
#: ../Doc/library/zlib.rst:123
msgid "Cyclic Redundancy Check"
-msgstr ""
+msgstr "Cyclic Redundancy Check"
#: ../Doc/library/zlib.rst:123
msgid "checksum"
-msgstr ""
+msgstr "checksum"
From e3447bbcbc54fd7a43852dba25c5a7019040041a Mon Sep 17 00:00:00 2001
From: Marcos Medrano <786907+mmmarcos@users.noreply.github.com>
Date: Tue, 28 Nov 2023 00:45:51 +0100
Subject: [PATCH 019/136] Traducido `about.po` (#2755)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Este archivo no tiene ningún issue asociado.
---------
Co-authored-by: rtobar
---
about.po | 19 +++++++++----------
dictionaries/about.txt | 3 ++-
2 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/about.po b/about.po
index 75a8f41642..eef91cadc0 100644
--- a/about.po
+++ b/about.po
@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-25 19:47+0200\n"
-"PO-Revision-Date: 2019-12-22 12:23+0100\n"
-"Last-Translator: \n"
-"Language: es\n"
+"PO-Revision-Date: 2023-11-26 19:02+0100\n"
+"Last-Translator: Marcos Medrano \n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.10.3\n"
+"X-Generator: Poedit 3.4.1\n"
#: ../Doc/about.rst:3
msgid "About these documents"
@@ -59,22 +60,20 @@ msgstr ""
"herramientas de Python y escritor de gran parte del contenido;"
#: ../Doc/about.rst:24
-#, fuzzy
msgid ""
"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;"
+"el proyecto `Docutils `_ para creación de "
+"reStructuredText y la suite Docutils;"
#: ../Doc/about.rst:26
-#, fuzzy
msgid ""
"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."
+"Fredrik Lundh por su proyecto Referencia Alternativa de Python del que "
+"Sphinx obtuvo muchas buenas ideas."
#: ../Doc/about.rst:31
msgid "Contributors to the Python Documentation"
diff --git a/dictionaries/about.txt b/dictionaries/about.txt
index 25af0b3da4..87f36647c5 100644
--- a/dictionaries/about.txt
+++ b/dictionaries/about.txt
@@ -1,4 +1,5 @@
Fred
Sphinx
+Docutils
Drake
-Jr
\ No newline at end of file
+Jr
From 8bc640a297c9769ca62ba10d00539ad9c4af0a9f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Carlos=20=C3=81lvarez?=
Date: Wed, 6 Dec 2023 00:34:50 +0100
Subject: [PATCH 020/136] Traducido archivo library/tkinter.tix.po (#2768)
Closes #2592
---
library/tkinter.tix.po | 128 ++++++++++++++++-------------------------
1 file changed, 48 insertions(+), 80 deletions(-)
diff --git a/library/tkinter.tix.po b/library/tkinter.tix.po
index 2031142258..f918fc0155 100644
--- a/library/tkinter.tix.po
+++ b/library/tkinter.tix.po
@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: 2020-10-13 10:00-0500\n"
+"PO-Revision-Date: 2023-12-05 13:55+0100\n"
"Last-Translator: Adolfo Hristo David Roque Gámez \n"
-"Language: es_PE\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es_PE\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
+"X-Generator: Poedit 3.0.1\n"
#: ../Doc/library/tkinter.tix.rst:2
msgid ":mod:`tkinter.tix` --- Extension widgets for Tk"
@@ -74,9 +75,8 @@ msgstr ""
"usuarios."
#: ../Doc/library/tkinter.tix.rst:38
-#, fuzzy
msgid "`Tix Homepage `_"
-msgstr "`Tix Homepage `_"
+msgstr "`Tix Homepage `_"
#: ../Doc/library/tkinter.tix.rst:37
msgid ""
@@ -87,21 +87,19 @@ msgstr ""
"y descargas."
#: ../Doc/library/tkinter.tix.rst:41
-#, fuzzy
msgid "`Tix Man Pages `_"
-msgstr "`Tix Man Pages `_"
+msgstr "`Tix Man Pages `_"
#: ../Doc/library/tkinter.tix.rst:41
msgid "On-line version of the man pages and reference material."
msgstr "Versión en línea de las páginas del manual y material de referencia."
#: ../Doc/library/tkinter.tix.rst:44
-#, fuzzy
msgid ""
"`Tix Programming Guide `_"
msgstr ""
-"`Tix Programming Guide `_"
#: ../Doc/library/tkinter.tix.rst:44
@@ -109,12 +107,11 @@ msgid "On-line version of the programmer's reference material."
msgstr "Versión en línea del material de referencia del programador."
#: ../Doc/library/tkinter.tix.rst:48
-#, fuzzy
msgid ""
"`Tix Development Applications `_"
msgstr ""
-"`Tix Development Applications `_"
#: ../Doc/library/tkinter.tix.rst:47
@@ -170,12 +167,11 @@ msgid "Tix Widgets"
msgstr "Widgets de Tix"
#: ../Doc/library/tkinter.tix.rst:83
-#, fuzzy
msgid ""
"`Tix `_ introduces over 40 widget classes to the :mod:`tkinter` repertoire."
msgstr ""
-"`Tix `_ introduce más de 40 clases de widget al repertorio de :mod:`tkinter`."
#: ../Doc/library/tkinter.tix.rst:88
@@ -183,45 +179,42 @@ msgid "Basic Widgets"
msgstr "Widgets Básicos"
#: ../Doc/library/tkinter.tix.rst:93
-#, fuzzy
msgid ""
"A `Balloon `_ that pops up over a widget to provide help. When the user "
"moves the cursor inside a widget to which a Balloon widget has been bound, a "
"small pop-up window with a descriptive message will be shown on the screen."
msgstr ""
-"Un `Globo `_ que aparece sobre un widget para proporcionar ayuda. "
+"Un `Globo `_ que aparece sobre un widget para proporcionar ayuda. "
"Cuando el usuario mueve el cursor dentro de un widget al cual el widget "
"Globo está ligado, una pequeña ventana emergente con un mensaje descriptivo "
"se mostrará en la pantalla."
#: ../Doc/library/tkinter.tix.rst:105
-#, fuzzy
msgid ""
"The `ButtonBox `_ widget creates a box of buttons, such as is commonly "
"used for ``Ok Cancel``."
msgstr ""
-"El widget `ButtonBox `_ crea una caja de botones, tal como es comúnmente "
"usado para ``Ok Cancelar``."
#: ../Doc/library/tkinter.tix.rst:115
-#, fuzzy
msgid ""
"The `ComboBox `_ widget is similar to the combo box control in MS Windows. "
"The user can select a choice by either typing in the entry subwidget or "
"selecting from the listbox subwidget."
msgstr ""
-"El widget `ComboBox `_ es similar al control de caja de selección combinada en "
-"MS Windows. El usuario puede seleccionar una opción escribiendo en el "
-"*subwidget* de entrada o seleccionando de la caja de lista del subwidget."
+"El widget `ComboBox `_ es similar al control de caja de selección "
+"combinada en MS Windows. El usuario puede seleccionar una opción escribiendo "
+"en el *subwidget* de entrada o seleccionando de la caja de lista del "
+"subwidget."
#: ../Doc/library/tkinter.tix.rst:127
-#, fuzzy
msgid ""
"The `Control `_ widget is also known as the :class:`SpinBox` widget. The "
@@ -229,27 +222,25 @@ msgid ""
"the value directly into the entry. The new value will be checked against the "
"user-defined upper and lower limits."
msgstr ""
-"El widget `Control `_ es también conocido como el widget :class:`SpinBox`. El "
"usuario puede ajustar el valor al presionar los dos botones de flecha o al "
"ingresar el valor directamente en la entrada. El nuevo valor será comparado "
"con los límites superiores e inferiores definidos por el usuario."
#: ../Doc/library/tkinter.tix.rst:140
-#, fuzzy
msgid ""
"The `LabelEntry `_ widget packages an entry widget and a label into one "
"mega widget. It can be used to simplify the creation of \"entry-form\" type "
"of interface."
msgstr ""
-"El widget `LabelEntry `_ empaqueta un widget de entrada y una etiqueta en "
"un mega widget. Puede ser usado para simplificar la creación de los tipos de "
"interfaz de \"formularios de entrada\"."
#: ../Doc/library/tkinter.tix.rst:151
-#, fuzzy
msgid ""
"The `LabelFrame `_ widget packages a frame widget and a label into one "
@@ -257,65 +248,60 @@ msgid ""
"new widgets relative to the :attr:`frame` subwidget and manage them inside "
"the :attr:`frame` subwidget."
msgstr ""
-"El widget `LabelFrame `_ empaqueta un widget *frame* y una etiqueta en un "
"mega widget. Para crear widgets dentro de un widget *LabelFrame*, uno crea "
"los nuevos widgets relativos al *subwidget* :attr:`frame` y los gestiona "
"dentro del subwidget :attr:`frame`."
#: ../Doc/library/tkinter.tix.rst:163
-#, fuzzy
msgid ""
"The `Meter `_ widget can be used to show the progress of a background job "
"which may take a long time to execute."
msgstr ""
-"El widget `Meter `_ puede ser usado para mostrar el progreso de un trabajo en "
"segundo plano que puede tomar un largo tiempo de ejecución."
#: ../Doc/library/tkinter.tix.rst:174
-#, fuzzy
msgid ""
"The `OptionMenu `_ creates a menu button of options."
msgstr ""
-"El widget `OptionMenu `_ crea un botón de menú de opciones."
#: ../Doc/library/tkinter.tix.rst:184
-#, fuzzy
msgid ""
"The `PopupMenu `_ widget can be used as a replacement of the ``tk_popup`` "
"command. The advantage of the :mod:`Tix` :class:`PopupMenu` widget is it "
"requires less application code to manipulate."
msgstr ""
-"El widget `PopupMenu `_ puede ser usado como un reemplazo del comando "
"``tk_popup``. La ventaja del widget :class:`PopupMenu` de :mod:`Tix` es que "
"requiere menos código de aplicación para manipular."
#: ../Doc/library/tkinter.tix.rst:196
-#, fuzzy
msgid ""
"The `Select `_ widget is a container of button subwidgets. It can be used "
"to provide radio-box or check-box style of selection options for the user."
msgstr ""
-"El widget `Select `_ es un contenedor de *subwidgets* botón. Puede ser usado "
"para proporcionar opciones de selección de estilos radio-box o check-box "
"para el usuario."
#: ../Doc/library/tkinter.tix.rst:207
-#, fuzzy
msgid ""
"The `StdButtonBox `_ widget is a group of standard buttons for Motif-like "
"dialog boxes."
msgstr ""
-"El widget `StdButtonBox `_ es un grupo de botones estándares para cajas "
"de diálogo similares a *Motif*."
@@ -324,42 +310,39 @@ msgid "File Selectors"
msgstr "Selectores de Archivos"
#: ../Doc/library/tkinter.tix.rst:221
-#, fuzzy
msgid ""
"The `DirList `_ widget displays a list view of a directory, its previous "
"directories and its sub-directories. The user can choose one of the "
"directories displayed in the list or change to another directory."
msgstr ""
-"El widget `DirList `_ muestra una vista de lista de un directorio, sus "
"directorios previos, y sus sub-directorios. El usuario puede mostrar uno de "
"los directorios mostrados en la lista o cambiar a otro directorio."
#: ../Doc/library/tkinter.tix.rst:233
-#, fuzzy
msgid ""
"The `DirTree `_ widget displays a tree view of a directory, its previous "
"directories and its sub-directories. The user can choose one of the "
"directories displayed in the list or change to another directory."
msgstr ""
-"El widget `DirTree `_ muestra una vista de árbol de un directorio, sus "
"directorios previos y sus sub-directorios. El usuario puede escoger uno de "
"los directorios mostrados en la lista o cambiar a otro directorio."
#: ../Doc/library/tkinter.tix.rst:245
-#, fuzzy
msgid ""
"The `DirSelectDialog `_ widget presents the directories in the file "
"system in a dialog window. The user can use this dialog window to navigate "
"through the file system to select the desired directory."
msgstr ""
-"El widget `DirSelectDialog `_ presenta los directorios en el sistema de "
-"archivos en una ventana de diálogo. El usuario puede usar esta ventana de "
+"El widget `DirSelectDialog `_ presenta los directorios en el sistema "
+"de archivos en una ventana de diálogo. El usuario puede usar esta ventana de "
"diálogo para navegar a través del sistema de archivos para seleccionar el "
"directorio deseado."
@@ -377,7 +360,6 @@ msgstr ""
"seleccionados rápidamente de nuevo."
#: ../Doc/library/tkinter.tix.rst:265
-#, fuzzy
msgid ""
"The `ExFileSelectBox `_ widget is usually embedded in a "
@@ -385,14 +367,13 @@ msgid ""
"to select files. The style of the :class:`ExFileSelectBox` widget is very "
"similar to the standard file dialog on MS Windows 3.1."
msgstr ""
-"El widget `ExFileSelectBox `_ es usualmente embebido en un widget "
+"El widget `ExFileSelectBox `_ es usualmente embebido en un widget "
"*tixExFileSelectDialog*. Proporciona un método conveniente para que el "
"usuario seleccione archivos. El estilo del widget :class:`ExFileSelectBox` "
"es muy similar al diálogo de archivo estándar en MS Windows 3.1."
#: ../Doc/library/tkinter.tix.rst:278
-#, fuzzy
msgid ""
"The `FileSelectBox `_ is similar to the standard Motif(TM) file-selection "
@@ -400,7 +381,7 @@ msgid ""
"stores the files mostly recently selected into a :class:`ComboBox` widget so "
"that they can be quickly selected again."
msgstr ""
-"El widget `FileSelectBox `_ es similar al cuadro de selección de archivo "
"estándar de Motif(TM). Es generalmente usado para que el usuario escoja un "
"archivo. *FileSelectBox* guarda los archivos recientemente seleccionados en "
@@ -408,7 +389,6 @@ msgstr ""
"nuevo."
#: ../Doc/library/tkinter.tix.rst:291
-#, fuzzy
msgid ""
"The `FileEntry `_ widget can be used to input a filename. The user can "
@@ -416,7 +396,7 @@ msgid ""
"widget that sits next to the entry, which will bring up a file selection "
"dialog."
msgstr ""
-"El widget `FileEntry `_ puede ser usado para ingresar un nombre de "
"archivo. El usuario puede tipear el nombre de archivo manualmente. "
"Alternativamente, el usuario puede presionar el widget de botón que está al "
@@ -427,7 +407,6 @@ msgid "Hierarchical ListBox"
msgstr "*ListBox* jerárquico"
#: ../Doc/library/tkinter.tix.rst:307
-#, fuzzy
msgid ""
"The `HList `_ widget can be used to display any data that have a "
@@ -435,14 +414,13 @@ msgid ""
"entries are indented and connected by branch lines according to their places "
"in the hierarchy."
msgstr ""
-"El widget `HList `_ puede ser usado para mostrar cualquier dato que tenga una "
"estructura jerárquica, por ejemplo, árboles del directorio del sistema de "
"archivos. Las entradas de las líneas son sangradas y conectadas por líneas "
"de ramas de acuerdo a sus lugares en la jerarquía."
#: ../Doc/library/tkinter.tix.rst:319
-#, fuzzy
msgid ""
"The `CheckList `_ widget displays a list of items to be selected by the "
@@ -450,20 +428,19 @@ msgid ""
"except it is capable of handling many more items than checkbuttons or "
"radiobuttons."
msgstr ""
-"El widget `CheckList `_ muestra una lista de objetos a ser seleccionados "
"por el usuario. *CheckList* actúa de forma similar a los widget Tk "
"*checkbutton* o *radiobutton*, excepto que es capaz de manejar muchos más "
"objetos que los widgets *checkbutton* o *radiobutton*."
#: ../Doc/library/tkinter.tix.rst:335
-#, fuzzy
msgid ""
"The `Tree `_ widget can be used to display hierarchical data in a tree form. The "
"user can adjust the view of the tree by opening or closing parts of the tree."
msgstr ""
-"Se puede usar el widget `Tree `_ para mostrar datos jerárquicos en una forma de "
"árbol. El usuario puede ajustar la vista del árbol al abrir o cerrar partes "
"del árbol."
@@ -473,7 +450,6 @@ msgid "Tabular ListBox"
msgstr "*ListBox* Tabular"
#: ../Doc/library/tkinter.tix.rst:352
-#, fuzzy
msgid ""
"The `TList `_ widget can be used to display data in a tabular format. The "
@@ -482,7 +458,7 @@ msgid ""
"display the list entries in a two dimensional format and (2) you can use "
"graphical images as well as multiple colors and fonts for the list entries."
msgstr ""
-"Se puede usar el widget `TList `_ para mostrar datos en un formato tabular. Las "
"entradas de lista de un widget :class:`TList` son similares a las entradas "
"del widget *listbox*. Las principales diferencias son (1) el widget :class:"
@@ -495,7 +471,6 @@ msgid "Manager Widgets"
msgstr "Gestores de Widgets"
#: ../Doc/library/tkinter.tix.rst:380
-#, fuzzy
msgid ""
"The `PanedWindow `_ widget allows the user to interactively manipulate the "
@@ -503,14 +478,13 @@ msgid ""
"horizontally. The user changes the sizes of the panes by dragging the "
"resize handle between two panes."
msgstr ""
-"El widget `PanedWindow `_ permite que el usuario manipule "
"interactivamente los tamaños de varios paneles. Los paneles pueden ser "
"ordenados o verticalmente u horizontalmente. El usuario cambia los tamaños "
"de los paneles al arrastrar el asa de redimensionamiento entre dos paneles."
#: ../Doc/library/tkinter.tix.rst:392
-#, fuzzy
msgid ""
"The `ListNoteBook `_ widget is very similar to the :class:`TixNoteBook` "
@@ -520,7 +494,7 @@ msgid ""
"through these pages by choosing the name of the desired page in the :attr:"
"`hlist` subwidget."
msgstr ""
-"El widget `ListNoteBook `_ es muy similar al widget :class:`TixNoteBook`: "
"puede ser usado para mostrar muchas ventanas en un espacio limitado usando "
"la metáfora del cuaderno (*notebook*). El cuaderno es dividido en una pila "
@@ -529,7 +503,6 @@ msgstr ""
"página deseada en el *subwidget* :attr:`hlist`."
#: ../Doc/library/tkinter.tix.rst:406
-#, fuzzy
msgid ""
"The `NoteBook `_ widget can be used to display many windows in a limited "
@@ -538,7 +511,7 @@ msgid ""
"navigate through these pages by choosing the visual \"tabs\" at the top of "
"the NoteBook widget."
msgstr ""
-"Se puede usar el widget `NoteBook `_ para mostrar muchas ventanas en un "
"espacio limitado usando la metáfora del cuaderno (*notebook*). El *notebook* "
"es dividido en una pila de páginas. Sólo una de estas páginas se puede "
@@ -554,18 +527,16 @@ msgid "The :mod:`tkinter.tix` module adds:"
msgstr "El módulo :mod:`tkinter.tix` añade:"
#: ../Doc/library/tkinter.tix.rst:432
-#, fuzzy
msgid ""
"`pixmap `_ capabilities to all :mod:`tkinter.tix` and :mod:`tkinter` widgets to "
"create color images from XPM files."
msgstr ""
-"capacidades de `pixmap `_ a todos los widgets de :mod:`tkinter.tix` y :mod:"
"`tkinter` para crear imágenes de color a partir de archivos XPM."
#: ../Doc/library/tkinter.tix.rst:441
-#, fuzzy
msgid ""
"`Compound `_ image types can be used to create images that consists of multiple "
@@ -574,7 +545,7 @@ msgid ""
"compound image can be used to display a bitmap and a text string "
"simultaneously in a Tk :class:`Button` widget."
msgstr ""
-"se pueden usar los tipos de imágenes `Compound `_ para crear imágenes que "
"consisten en múltiples líneas horizontales; cada línea es compuesta de una "
"serie de objetos (texto, bitmaps, imágenes, o espacios) ordenados de "
@@ -587,13 +558,12 @@ msgid "Miscellaneous Widgets"
msgstr "Widgets Varios"
#: ../Doc/library/tkinter.tix.rst:465
-#, fuzzy
msgid ""
"The `InputOnly `_ widgets are to accept inputs from the user, which can be "
"done with the ``bind`` command (Unix only)."
msgstr ""
-"Los widgets `InputOnly `_ van a aceptar entradas del usuario, que pueden "
"ser realizadas con el comando ``bind`` (sólo para Unix)."
@@ -606,12 +576,11 @@ msgid "In addition, :mod:`tkinter.tix` augments :mod:`tkinter` by providing:"
msgstr "Además, :mod:`tkinter.tix` mejora a :mod:`tkinter` al proporcionar:"
#: ../Doc/library/tkinter.tix.rst:479
-#, fuzzy
msgid ""
"The `Form `_ geometry manager based on attachment rules for all Tk widgets."
msgstr ""
-"El gestor de geometría de `Formulario `_ basado en reglas de anexo para todos "
"los widgets Tk."
@@ -620,7 +589,6 @@ msgid "Tix Commands"
msgstr "Comandos Tix"
#: ../Doc/library/tkinter.tix.rst:490
-#, fuzzy
msgid ""
"The `tix commands `_ provide access to miscellaneous elements of :mod:`Tix`'s internal "
@@ -628,9 +596,9 @@ msgid ""
"manipulated by these methods pertains to the application as a whole, or to a "
"screen or display, rather than to a particular window."
msgstr ""
-"Los `comandos tix `_ proporcionan acceso a elementos misceláneos del estado interno "
-"de :mod:`Tix` y del contexto de la aplicación de :mod:`Tix`. La mayoría de "
+"de :mod:`Tix` y del contexto de la aplicación de :mod:`Tix`. La mayoría de "
"la información manipulada por estos métodos le pertenece a la aplicación en "
"conjunto, o a una pantalla o monitor, en vez de una ventana en particular."
@@ -784,4 +752,4 @@ msgstr ""
#: ../Doc/library/tkinter.tix.rst:11
msgid "Tix"
-msgstr ""
+msgstr "Tix"
From dc99b6c06733c8bea77703cc7354513beba88ed7 Mon Sep 17 00:00:00 2001
From: Alver J Perez <117424143+JPC501@users.noreply.github.com>
Date: Tue, 5 Dec 2023 21:54:55 -0800
Subject: [PATCH 021/136] traduccion completada (#2771)
Closes #2585
---------
Co-authored-by: rtobar
---
library/marshal.po | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/library/marshal.po b/library/marshal.po
index 2f6abec4e4..0d89ccb605 100644
--- a/library/marshal.po
+++ b/library/marshal.po
@@ -276,24 +276,24 @@ msgstr ""
#: ../Doc/library/marshal.rst:17
msgid "module"
-msgstr ""
+msgstr "module"
#: ../Doc/library/marshal.rst:17
msgid "pickle"
-msgstr ""
+msgstr "pickle"
#: ../Doc/library/marshal.rst:17
msgid "shelve"
-msgstr ""
+msgstr "shelve"
#: ../Doc/library/marshal.rst:37
msgid "object"
-msgstr ""
+msgstr "object"
#: ../Doc/library/marshal.rst:37
msgid "code"
-msgstr ""
+msgstr "code"
#: ../Doc/library/marshal.rst:37
msgid "code object"
-msgstr ""
+msgstr "code object"
From c5908f4ee36df218bea2080526b74a4ada642051 Mon Sep 17 00:00:00 2001
From: rtobar
Date: Tue, 12 Dec 2023 05:30:02 +0800
Subject: [PATCH 022/136] Ejecuta apt update antes de apt install (#2776)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
En 01f3d8c80d74c74ed15156f85d3f1e91a35bad81 supuse que apt update ya no
era necesario, pero al parecer me dejé engañar por un falso positivo.
---
.github/workflows/main.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index f3dfb25fc5..3948558b5e 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -31,6 +31,7 @@ jobs:
run: sudo sed -i '/postgresql-common/d' /var/lib/dpkg/triggers/File
- name: Instalar dependencias de sistema
run: |
+ sudo apt-get update
sudo apt-get install -y hunspell hunspell-es gettext language-pack-es locales-all
- name: Instalar dependencias de Python
run: |
From d88bff3d3d829c180c945793b7e78fc083c55e08 Mon Sep 17 00:00:00 2001
From: Pedro Kaj Kjellerup Nacht
Date: Mon, 11 Dec 2023 21:25:17 -0300
Subject: [PATCH 023/136] Set minimal workflow token permissions (#2773)
Fixes #2772.
This PR sets top-level read-only permissions on all CI/CD workflows.
Jobs that require additional permissions (`stale.yml` and
`pr-comment.yml`) are given them at the job-level.
I made more significant changes in `pr-comment.yml`. It is vulnerable to
code injection, since it runs files controlled by the PR author
(`requirements.txt` and `scripts/list_missing_entries.py`, taken from
the PR). I have therefore modified the workflow to checkout those files
from the base branch instead, ensuring we're running trusted versions of
those files.
And in order to minimize the code that has access to the
`issues/pull-requests: write` permissions, I have separated the workflow
into two sequential jobs:
1. `define-comment`, which is unprivileged and does almost everything
2. `write-comment`, which has those additional permissions and uses them
to perform the very last step of actually writing the comment on the PR.
---------
Signed-off-by: Pedro Kaj Kjellerup Nacht
Co-authored-by: rtobar
---
.github/workflows/main.yml | 3 +++
.github/workflows/pr-comment.yml | 33 +++++++++++++++++++++++++++-----
.github/workflows/stale.yaml | 6 ++++++
3 files changed, 37 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 3948558b5e..41451bb989 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -6,6 +6,9 @@ on:
- 3.*
pull_request:
+permissions:
+ contents: read
+
jobs:
test:
name: Test
diff --git a/.github/workflows/pr-comment.yml b/.github/workflows/pr-comment.yml
index 881e1d6bc0..3a147d5037 100644
--- a/.github/workflows/pr-comment.yml
+++ b/.github/workflows/pr-comment.yml
@@ -3,10 +3,16 @@ name: Agrega comentario a PR
on:
pull_request_target:
+permissions:
+ contents: read
+
jobs:
- pr-comment:
+ define-comment:
name: Entradas sin traducción
runs-on: ubuntu-22.04
+ outputs:
+ any_changed: ${{ steps.changed-files.outputs.any_changed }}
+ comment: ${{ steps.create-pr-comment.outputs.comment }}
steps:
- uses: actions/checkout@v4
with:
@@ -17,9 +23,18 @@ jobs:
with:
python-version: "3.11"
cache: "pip"
+ # checkout these files from the base branch to guarantee they haven't been
+ # modified by the PR
+ - uses: actions/checkout@v4
+ with:
+ path: base-branch
+ sparse-checkout-cone-mode: false
+ sparse-checkout: |
+ requirements.txt
+ scripts/list_missing_entries.py
- name: Instalar dependencias
run: |
- python -m pip install -r requirements.txt
+ python -m pip install -r base-branch/requirements.txt
- name: Obtiene lista de archivos con cambios
id: changed-files
uses: tj-actions/changed-files@v40
@@ -34,12 +49,20 @@ jobs:
run: |
{
echo 'comment<> "$GITHUB_OUTPUT"
+
+ write-comment:
+ runs-on: ubuntu-22.04
+ needs: [define-comment]
+ if: needs.define-comment.outputs.any_changed == 'true'
+ permissions:
+ issues: write
+ pull-requests: write
+ steps:
- name: Agregar comentario con entradas faltantes
- if: steps.changed-files.outputs.any_changed == 'true'
uses: thollander/actions-comment-pull-request@v2
with:
- message: ${{ steps.create-pr-comment.outputs.comment }}
+ message: ${{ needs.define-comment.outputs.comment }}
comment_tag: missing-entries
diff --git a/.github/workflows/stale.yaml b/.github/workflows/stale.yaml
index 6004689909..7924b86358 100644
--- a/.github/workflows/stale.yaml
+++ b/.github/workflows/stale.yaml
@@ -3,9 +3,15 @@ on:
schedule:
- cron: '30 1 * * *'
+permissions:
+ contents: read
+
jobs:
stale:
runs-on: ubuntu-latest
+ permissions:
+ issues: write
+ pull-requests: write
steps:
- uses: actions/stale@v8
with:
From a60589152684872359c4b90f939605a727a88f66 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 12 Dec 2023 08:33:15 +0800
Subject: [PATCH 024/136] Bump actions/stale from 8 to 9 (#2774)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bumps [actions/stale](https://github.com/actions/stale) from 8 to 9.
Release notes
Sourced from actions/stale's
releases.
v9.0.0
Breaking Changes
- Action is now stateful: If the action ends because of operations-per-run
then the next run will start from the first unprocessed issue skipping
the issues processed during the previous run(s). The state is reset when
all the issues are processed. This should be considered for scheduling
workflow runs.
- Version 9 of this action updated the runtime to Node.js 20. All
scripts are now run with Node.js 20 instead of Node.js 16 and are
affected by any breaking changes between Node.js 16 and 20.
What Else Changed
- Performance optimization that removes unnecessary API calls by
@dsame #1033
fixes #792
- Logs displaying current github API rate limit by
@dsame #1032
addresses #1029
For more information, please read the action documentation
and its section
about statefulness
New Contributors
Full Changelog: https://github.com/actions/stale/compare/v8...v9.0.0
Changelog
Sourced from actions/stale's
changelog.
Changelog
[7.0.0]
:warning: Breaking change :warning:
[6.0.1]
Update @actions/core to v1.10.0 (#839)
[6.0.0]
:warning: Breaking change :warning:
Issues/PRs default close-issue-reason is now
not_planned(#789)
[5.1.0]
Don't
process stale issues right after they're marked stale
[Add close-issue-reason option]#764#772
Various dependabot/dependency updates
4.1.0
(2021-07-14)
Features
4.0.0
(2021-07-14)
Features
Bug Fixes
- dry-run: forbid mutations in dry-run (#500)
(f1017f3),
closes #499
- logs: coloured logs (#465)
(5fbbfba)
- operations: fail fast the current batch to respect
the operations limit (#474)
(5f6f311),
closes #466
- label comparison: make label comparison case
insensitive #517,
closes #516
- filtering comments by actor could have strange
behavior: "stale" comments are now detected based on
if the message is the stale message not who made the comment(#519),
fixes #441, #509, #518
Breaking Changes
... (truncated)
Commits
28ca103
Upgrade Node to v20 (#1110)
b69b346
build(deps-dev): bump @types/node from 18.16.18 to 20.5.1
(#1079)
88a6f4f
build(deps-dev): bump typescript from 5.1.3 to 5.2.2 (#1083)
796531a
Merge pull request #1080
from akv-platform/fix-delete-cache
8986f62
Don not try to delete cache if it does not exists
cab99b3
fix typo proceeded/processed
184e7af
Merge pull request #1064
from actions/dependabot/npm_and_yarn/typescript-esli...
523885c
chore: update eslint-plugin, parser and eslint-plugin-jest
2487a1d
build(deps-dev): bump
@typescript-eslint/eslint-plugin
60c722e
Merge pull request #1063
from actions/dependabot/npm_and_yarn/jest-29.6.2
- Additional commits viewable in compare
view
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: rtobar
---
.github/workflows/stale.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/stale.yaml b/.github/workflows/stale.yaml
index 7924b86358..8c32a55525 100644
--- a/.github/workflows/stale.yaml
+++ b/.github/workflows/stale.yaml
@@ -13,7 +13,7 @@ jobs:
issues: write
pull-requests: write
steps:
- - uses: actions/stale@v8
+ - uses: actions/stale@v9
with:
stale-pr-label: 'needs decision'
stale-issue-label: 'stale'
From 8eb00d7e648d77e0309d6c694d1b4c30acedc6a6 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 12 Dec 2023 08:34:39 +0800
Subject: [PATCH 025/136] Bump actions/setup-python from 4 to 5 (#2775)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bumps [actions/setup-python](https://github.com/actions/setup-python)
from 4 to 5.
Release notes
Sourced from actions/setup-python's
releases.
v5.0.0
What's Changed
In scope of this release, we update node version runtime from node16
to node20 (actions/setup-python#772).
Besides, we update dependencies to the latest versions.
Full Changelog: https://github.com/actions/setup-python/compare/v4.8.0...v5.0.0
v4.8.0
What's Changed
In scope of this release we added support for GraalPy (actions/setup-python#694).
You can use this snippet to set up GraalPy:
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: 'graalpy-22.3'
- run: python my_script.py
Besides, the release contains such changes as:
New Contributors
Full Changelog: https://github.com/actions/setup-python/compare/v4...v4.8.0
v4.7.1
What's Changed
Full Changelog: https://github.com/actions/setup-python/compare/v4...v4.7.1
v4.7.0
In scope of this release, the support for reading python version from
pyproject.toml was added (actions/setup-python#669).
- name: Setup Python
uses: actions/setup-python@v4
</tr></table>
... (truncated)
Commits
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: rtobar
---
.github/workflows/main.yml | 2 +-
.github/workflows/pr-comment.yml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 41451bb989..2f404a9f51 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -24,7 +24,7 @@ jobs:
# Instalación de dependencias
- name: Preparar Python v3.11
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: "pip"
diff --git a/.github/workflows/pr-comment.yml b/.github/workflows/pr-comment.yml
index 3a147d5037..8f52ea0dcb 100644
--- a/.github/workflows/pr-comment.yml
+++ b/.github/workflows/pr-comment.yml
@@ -19,7 +19,7 @@ jobs:
ref: ${{ github.event.pull_request.head.sha }}
persist-credentials: false
- name: Preparar Python v3.11
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: "pip"
From 23991c3d509c8cb223f1a8dd262988d844e42f34 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Carlos=20=C3=81lvarez?=
Date: Tue, 12 Dec 2023 13:53:20 +0100
Subject: [PATCH 026/136] Traducido archivo library/binascii.po (#2769)
Closes #2581
---
library/binascii.po | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/library/binascii.po b/library/binascii.po
index 8359ddcf4e..9bc1582bb1 100644
--- a/library/binascii.po
+++ b/library/binascii.po
@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: 2022-10-28 17:49-0500\n"
+"PO-Revision-Date: 2023-12-11 17:00+0100\n"
"Last-Translator: José Luis Salgado Banda\n"
-"Language: es_CO\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es_CO\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
+"X-Generator: Poedit 3.0.1\n"
#: ../Doc/library/binascii.rst:2
msgid ":mod:`binascii` --- Convert between binary and ASCII"
@@ -106,6 +107,7 @@ msgstr ""
"Si *strict_mode* es verdadero, solo se convertirán los datos en base64 "
"válidos. Los datos en base64 no válidos lanzarán :exc:`binascii.Error`."
+# la traducción es correcta
#: ../Doc/library/binascii.rst:64
msgid "Valid base64:"
msgstr "base64 válido:"
@@ -318,13 +320,12 @@ msgstr ""
#: ../Doc/library/binascii.rst:8
msgid "module"
-msgstr ""
+msgstr "module"
#: ../Doc/library/binascii.rst:8
msgid "uu"
-msgstr ""
+msgstr "uu"
#: ../Doc/library/binascii.rst:8
-#, fuzzy
msgid "base64"
-msgstr "base64 válido:"
+msgstr "base64"
From c4da8b5079ddacae4a2f33046c1eed5673fb2f16 Mon Sep 17 00:00:00 2001
From: Luis Enriquez Torres
Date: Wed, 13 Dec 2023 21:12:47 +0100
Subject: [PATCH 027/136] Traducido library/warnings.po (#2764)
closes #2586
Tengo algunas dudas en la traduccion que hice en las lineas 829-837. Les
dejo mirar y convenimos una traduccion adecuada ;)
---------
Co-authored-by: rtobar
---
TRANSLATORS | 1 +
library/warnings.po | 26 ++++++++++++++++++--------
2 files changed, 19 insertions(+), 8 deletions(-)
diff --git a/TRANSLATORS b/TRANSLATORS
index bbfc775a6f..11283fc879 100644
--- a/TRANSLATORS
+++ b/TRANSLATORS
@@ -158,6 +158,7 @@ Lis
Lucas Miranda
Luciano Bovio (@lbovio)
Luis A. Gonzalez (@sublian)
+Luis Enriquez Torres (@lenriquezt)
Luis Llave (@llaveluis)
Luis Sánchez (@LuisAISanchez)
Maia
diff --git a/library/warnings.po b/library/warnings.po
index 28d498b2c3..005d393865 100644
--- a/library/warnings.po
+++ b/library/warnings.po
@@ -280,11 +280,11 @@ msgid ":exc:`ResourceWarning`"
msgstr ":exc:`ResourceWarning`"
#: ../Doc/library/warnings.rst:107
-#, fuzzy
msgid ""
"Base category for warnings related to resource usage (ignored by default)."
msgstr ""
-"Categoría base para las advertencias relacionadas con el uso de los recursos."
+"Categoría base para las advertencias relacionadas con el uso de los recursos "
+"(ignorada por defecto)."
#: ../Doc/library/warnings.rst:111
msgid ""
@@ -806,14 +806,13 @@ msgstr ""
"usado por funciones de envoltura escritas en Python, como esta::"
#: ../Doc/library/warnings.rst:413
-#, fuzzy
msgid ""
"This makes the warning refer to ``deprecated_api``'s caller, rather than to "
"the source of ``deprecated_api`` itself (since the latter would defeat the "
"purpose of the warning message)."
msgstr ""
-"Esto hace que la advertencia se refiera al invocador de :func:`deprecation`, "
-"en lugar de a la fuente de :func:`deprecation` en sí (ya que esta última "
+"Esto hace que la advertencia se refiera al invocador de ``deprecated_api``, "
+"en lugar de a la fuente de ``deprecated_api`` en sí (ya que esta última "
"perdería el propósito del mensaje de advertencia)."
#: ../Doc/library/warnings.rst:417
@@ -827,6 +826,15 @@ msgid ""
"stacklevel)``. To cause a warning to be attributed to the caller from "
"outside of the current package you might write::"
msgstr ""
+"El parámetro de palabra clave *skip_file_prefixes* se puede utilizar para "
+"indicar qué *frames* de pila se ignoran al contar los niveles de pila. Esto "
+"puede ser útil cuando desea que la advertencia aparezca siempre en los "
+"sitios de llamadas fuera de un paquete cuando una constante *stacklevel* no "
+"se ajusta a todas las rutas de llamadas o en otro caso es difícil de "
+"mantener. Si se proporciona, debe ser una tupla de cadenas de caracteres. "
+"Cuando se proporcionan prefijos, el *stacklevel* se sobreescribe "
+"implícitamente con ``max(2, stacklevel)``. Para hacer que se atribuya una "
+"advertencia al invocador desde afuera del paquete actual, puede escribir::"
#: ../Doc/library/warnings.rst:440
msgid ""
@@ -834,6 +842,9 @@ msgid ""
"``package.higher.another_way()`` call sites only from calling code living "
"outside of ``example`` package."
msgstr ""
+"Esto hace que la advertencia se refiera a ambos lugares de llamada ``example."
+"lower.one_way()`` y ``package.higher.another_way()`` únicamente desde el "
+"código de llamada que se encuentra fuera del paquete ``example``."
#: ../Doc/library/warnings.rst:444 ../Doc/library/warnings.rst:470
msgid ""
@@ -849,7 +860,7 @@ msgstr "Añadido parámetro *source*."
#: ../Doc/library/warnings.rst:450
msgid "Added *skip_file_prefixes*."
-msgstr ""
+msgstr "Añadido *skip_file_prefixes*."
#: ../Doc/library/warnings.rst:456
msgid ""
@@ -1026,6 +1037,5 @@ msgid "Added the *action*, *category*, *lineno*, and *append* parameters."
msgstr "Agrega los parámetros *action*, *category*, *lineno* y *append*."
#: ../Doc/library/warnings.rst:9
-#, fuzzy
msgid "warnings"
-msgstr "Advertencias de prueba"
+msgstr "warnings"
From 453257bc3324aab3a916ff2d1687a021b407e3a6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Carlos=20=C3=81lvarez?=
Date: Wed, 13 Dec 2023 21:16:41 +0100
Subject: [PATCH 028/136] Traducido archivo library/collections.abc.po (#2767)
Closes #2584
---
library/collections.abc.po | 30 +++++++++++++++++-------------
1 file changed, 17 insertions(+), 13 deletions(-)
diff --git a/library/collections.abc.po b/library/collections.abc.po
index 541a1f4ef0..d754127629 100644
--- a/library/collections.abc.po
+++ b/library/collections.abc.po
@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: 2022-12-08 16:15-0300\n"
+"PO-Revision-Date: 2023-12-11 20:13+0100\n"
"Last-Translator: Sofía Denner \n"
-"Language: es_AR\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es_AR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
+"X-Generator: Poedit 3.0.1\n"
#: ../Doc/library/collections.abc.rst:2
msgid ":mod:`collections.abc` --- Abstract Base Classes for Containers"
@@ -35,7 +36,6 @@ msgid "**Source code:** :source:`Lib/_collections_abc.py`"
msgstr "**Código fuente:** :source:`Lib/_collections_abc.py`"
#: ../Doc/library/collections.abc.rst:23
-#, fuzzy
msgid ""
"This module provides :term:`abstract base classes ` "
"that can be used to test whether a class provides a particular interface; "
@@ -43,7 +43,7 @@ msgid ""
msgstr ""
"Este módulo proporciona :term:`clases base abstractas ` "
"que pueden usarse para probar si una clase proporciona una interfaz "
-"específica; por ejemplo, si es hashable o si es un mapeo."
+"específica; por ejemplo, si es :term:`hashable` o si es un mapeo."
#: ../Doc/library/collections.abc.rst:27
msgid ""
@@ -459,14 +459,12 @@ msgid "``aclose``, ``__aiter__``, ``__anext__``"
msgstr "``aclose``, ``__aiter__``, ``__anext__``"
#: ../Doc/library/collections.abc.rst:180
-#, fuzzy
msgid ":class:`Buffer` [1]_"
-msgstr ":class:`Iterator` [1]_"
+msgstr ":class:`Buffer` [1]_"
#: ../Doc/library/collections.abc.rst:180
-#, fuzzy
msgid "``__buffer__``"
-msgstr "``__iter__``"
+msgstr "``__buffer__``"
#: ../Doc/library/collections.abc.rst:185
msgid "Footnotes"
@@ -599,6 +597,10 @@ msgid ""
"union, like ``bytes | bytearray``, or :class:`collections.abc.Buffer`. For "
"use as an ABC, prefer :class:`Sequence` or :class:`collections.abc.Buffer`."
msgstr ""
+"La ABC :class:`ByteString` está obsoleta. Para usar con ``type hints``, "
+"mejor use una unión del tipo ``bytes | bytearray``, o :class:`collections."
+"abc.Buffer`. Para usar como una ABC, mejor use :class:`Sequence` o :class:"
+"`collections.abc.Buffer`."
#: ../Doc/library/collections.abc.rst:285
msgid "ABCs for read-only and mutable sets."
@@ -701,6 +703,8 @@ msgid ""
"ABC for classes that provide the :meth:`~object.__buffer__` method, "
"implementing the :ref:`buffer protocol `. See :pep:`688`."
msgstr ""
+"ABC para clases que proveen el método :meth:`~object.__buffer__`, "
+"implementando el :ref:`protocolo búfer `. Ver :pep:`688`."
#: ../Doc/library/collections.abc.rst:364
msgid "Examples and Recipes"
@@ -769,7 +773,6 @@ msgstr ""
"las otras operaciones seguirán automáticamente su ejemplo."
#: ../Doc/library/collections.abc.rst:421
-#, fuzzy
msgid ""
"The :class:`Set` mixin provides a :meth:`_hash` method to compute a hash "
"value for the set; however, :meth:`__hash__` is not defined because not all "
@@ -779,9 +782,10 @@ msgid ""
msgstr ""
"El mixin :class:`Set` proporciona un método :meth:`_hash` para calcular un "
"valor hash para el conjunto; sin embargo, :meth:`__hash__` no está definido "
-"porque no todos los conjuntos son encadenados o inmutables. Para agregar "
-"capacidad de encadenamiento en conjuntos que usan mixin, herede de ambos :"
-"meth:`Set` y :meth:`Hashable`, luego defina ``__hash__ = Set._hash``."
+"porque no todos los conjuntos son :term:`hashable` o inmutables. Para "
+"agregar la capacidad de encadenamiento en conjuntos usando métodos mixin, "
+"herede de ambos :meth:`Set` y :meth:`Hashable`, luego defina ``__hash__ = "
+"Set._hash``."
#: ../Doc/library/collections.abc.rst:429
msgid ""
From 58364e25ef9bc1f2cfab3c8d173b14255a8b5dae Mon Sep 17 00:00:00 2001
From: "Carlos A. Crespo"
Date: Thu, 14 Dec 2023 00:50:49 -0300
Subject: [PATCH 029/136] script to search for and complete probable 'index
entries' (#2706)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Si trabajamos con el `.po` directo no es sencillo identificar aquellas
entradas que están vinculadas con la contrucción del índice general (y
no con la página específica que se está traduciendo) .
[Acá](https://t.me/python_docs_es/21686) más contexto.
Dado que mayormente son nombres de funciones, clases, etc. una de las
propuestas es mantener el índice sin traducir y asegurar consistencia en
los conceptos.
Este script toma un `.po` específico (o varios) y recorre una a una las
entradas, **identifica posibles entradas de índice** -a partir del orden
en el file- y **ofrece completar la traducción** con el mismo contenido
que el original.
---------
Co-authored-by: rtobar
---
scripts/complete_index.py | 78 +++++++++++++++++++++++++++++++++++++++
1 file changed, 78 insertions(+)
create mode 100644 scripts/complete_index.py
diff --git a/scripts/complete_index.py b/scripts/complete_index.py
new file mode 100644
index 0000000000..2f63644537
--- /dev/null
+++ b/scripts/complete_index.py
@@ -0,0 +1,78 @@
+"""
+Script to identify and complete general index entries with original content.
+
+This script processes .po files, identifies out-of-order entries based on the
+source order, and completes them with original content.
+
+Usage:
+ python script_name.py [list of .po files]
+
+If no list of .po files is provided, the script processes all .po files in the
+current directory and its immediate subdirectories.
+"""
+
+from pathlib import Path
+import sys
+
+import polib
+
+
+def out_of_order_entries(po_file):
+ """
+ Compare the order of source lines against the order in which they appear in
+ the file, and return a generator with entries that are out of order.
+ """
+ po_entries = [entry for entry in po_file if not entry.obsolete]
+ val_max = 0
+
+ for entry in po_entries:
+ source_index = int(entry.occurrences[0][1])
+
+ if source_index <= val_max:
+ yield entry
+
+ val_max = max(val_max, source_index)
+
+
+def complete_index(po_files=None):
+ """
+ Identifies general index entries based on source order and completes them
+ with original content.
+
+ args:
+ po_files: List of .po files to process. If not provided, it processes
+ all .po files in the current directory and immediate subdirectories.
+ """
+
+ # Read .po files
+ if not po_files:
+ po_files = Path(".").glob("**/*.po")
+
+ for po_file_path in po_files:
+
+ try:
+ po_file = polib.pofile(po_file_path, wrapwidth=79)
+
+ # Ask to complete entries out of order with original text
+ needs_save = False
+ for entry in out_of_order_entries(po_file):
+ user_input = input(f"\n{entry}\nIs this a index entry? (y/N):")
+ if user_input.lower() == "y":
+ entry.msgstr = entry.msgid
+ needs_save = True
+ if needs_save:
+ po_file.save()
+
+ except KeyboardInterrupt:
+ break
+
+ except Exception as e:
+ print(f"Error! file {po_file_path}: {e}\n")
+
+ else:
+ print(f"\n---\n{po_file_path} processed!\n---")
+
+
+if __name__ == "__main__":
+ po_files = sys.argv[1:]
+ complete_index(po_files)
From ffef2fbe71f3c8eaff6350605fd8bd4f32268bb9 Mon Sep 17 00:00:00 2001
From: Andrea Alegre
Date: Sat, 23 Dec 2023 18:37:30 +0100
Subject: [PATCH 030/136] =?UTF-8?q?Notas=20migraci=C3=B3n=20(#2731)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Closes #2385
---------
Co-authored-by: rtobar
Co-authored-by: Carlos A. Crespo
Co-authored-by: Marcos Medrano <786907+mmmarcos@users.noreply.github.com>
---
.overrides/faq.rst | 6 +++---
.overrides/progress.rst | 2 +-
.overrides/upgrade-python-version.rst | 30 ++++++++++++++++-----------
3 files changed, 22 insertions(+), 16 deletions(-)
diff --git a/.overrides/faq.rst b/.overrides/faq.rst
index c8787919d8..11f9a09e63 100644
--- a/.overrides/faq.rst
+++ b/.overrides/faq.rst
@@ -204,9 +204,9 @@ repositorio principal de la traducción). Se hace de la siguiente manera::
Luego nos vamos a nuestra rama local, confirmamos e impactamos esos cambios::
- git checkout 3.11
- git merge upstream/3.11
- git push origin 3.11
+ git checkout 3.12
+ git merge upstream/3.12
+ git push origin 3.12
¡Eso es todo!
diff --git a/.overrides/progress.rst b/.overrides/progress.rst
index 1c7e357a49..f17fb86017 100644
--- a/.overrides/progress.rst
+++ b/.overrides/progress.rst
@@ -10,7 +10,7 @@ y otras estadísticas.
.. note::
- Estas listas se actualiza automáticamente cuando Pull Requests se *mergean* a la rama ``3.11``.
+ Estas listas se actualiza automáticamente cuando Pull Requests se *mergean* a la rama ``3.12``.
En progreso
diff --git a/.overrides/upgrade-python-version.rst b/.overrides/upgrade-python-version.rst
index 01ae80bf5e..c3f9fd3d2a 100644
--- a/.overrides/upgrade-python-version.rst
+++ b/.overrides/upgrade-python-version.rst
@@ -39,6 +39,12 @@ We are currently in branch 3.11, and we want to update the strings from 3.12.
.. note:: This is important, so the later ``make build`` step will not reset
the cpython submodule to the previous hash on the old branch.
+#. Create a virtual environment and install the dependencies of the project::
+
+ python -m venv env
+ source env/bin/activate # Windows: env\Scripts\activate.bat
+ pip install -r requirements.txt
+
#. Verify that the docs build with the new versions you changed from
``requirements.txt`` mainly the sphinx version::
@@ -53,7 +59,7 @@ We are currently in branch 3.11, and we want to update the strings from 3.12.
#. Clean possible garbage (form previous builds)::
- rm -rf _build ../python-docs-es-pot cpython/Doc/CONTRIBUTING.rst cpython/Doc/upgrade-python-version.rst
+ rm -rf _build ../python-docs-es-pot cpython/Doc/CONTRIBUTING.rst cpython/Doc/upgrade-python-version.rst reviewers-guide.rst
.. note::
@@ -61,13 +67,6 @@ We are currently in branch 3.11, and we want to update the strings from 3.12.
in the next step. It's included here because it might be a leftover
from previous attempts on your machine.
-#. Create a virtual environment and install the dependencies of the project::
-
- python -m venv env
- source env/bin/activate # Windows: env\Scripts\activate.bat
- pip install -r requirements.txt
-
-
#. Create the .po files from the new source code. This will generate all the .po files for version 3.11::
SPHINX_GETTEXT=True sphinx-build -j auto -b gettext -d _build/doctrees . ../python-docs-es-pot
@@ -114,9 +113,16 @@ We are currently in branch 3.11, and we want to update the strings from 3.12.
of the new branch is done. So prepare a cup of any hot beverage
and fix them.
-Once the process is completely and you are happy with the results,
-there are a few extra steps to finish the process::
+**Once the process is completely and you are happy with the results,
+there are a few extra steps to finish the process**
+
+#. Upgrade GitHub Actions to use Python 3.12, by updating Python version to 3.12 in the ``.github/workflows/main.yml`` file.
-#. Upgrade GitHub Actions to use Python 3.12
+#. Update the *Read the Docs* project to use 3.12 in the build and also as default branch/version.
+
+#. Commit all the newly created files locally.
+
+#. Create branch 3.12 in the repository in order to merge changes there.
+
+#. Inside the github project settings, set 3.12 branch as the default branch for the repository.
-#. Update Read the Docs project to use 3.12 in the build and also as default branch/version
From aabd0706e6f44cc033ebe9ba0ad139c154c090d1 Mon Sep 17 00:00:00 2001
From: Carlos Mena <50986837+carlosm00@users.noreply.github.com>
Date: Sat, 23 Dec 2023 18:56:01 +0100
Subject: [PATCH 031/136] Traduccion audioop.po (#2779)
Closes https://github.com/python/python-docs-es/issues/2603
---
TRANSLATORS | 3 ++-
library/audioop.po | 15 ++++++++-------
2 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/TRANSLATORS b/TRANSLATORS
index 11283fc879..52fad55e42 100644
--- a/TRANSLATORS
+++ b/TRANSLATORS
@@ -43,6 +43,7 @@ Carlos Bernad (@carlos-bernad)
Carlos Enrique Carrasco Varas (@KrlitosForever)
Carlos Joel Delgado Pizarro (@c0x6a)
Carlos Martel Lamas (@Letram)
+Carlos Mena Pérez (@carlosm00)
Catalina Arrey Amunátegui (@CatalinaArrey)
Claudia Millán Nebot (@clacri @cheshireminima)
Constanza Areal (@geekcoty)
@@ -239,4 +240,4 @@ Xavi Francisco (@srxavi)
Xavi Rambla Centellas (@xavirambla)
Yennifer Paola Herrera Ariza (@Yenniferh)
Yohanna Padrino (@Yo-hanaPR)
-zejiran
\ No newline at end of file
+zejiran
diff --git a/library/audioop.po b/library/audioop.po
index 2d5e123100..6ecec92db8 100644
--- a/library/audioop.po
+++ b/library/audioop.po
@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: 2022-11-21 16:07-0300\n"
+"PO-Revision-Date: 2023-12-22 11:47+0100\n"
"Last-Translator: Sofía Denner \n"
-"Language: es\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
+"X-Generator: Poedit 3.1.1\n"
#: ../Doc/library/audioop.rst:2
msgid ":mod:`audioop` --- Manipulate raw audio data"
@@ -446,16 +447,16 @@ msgstr ""
#: ../Doc/library/audioop.rst:24
msgid "Intel/DVI ADPCM"
-msgstr ""
+msgstr "Intel/DVI ADPCM"
#: ../Doc/library/audioop.rst:24
msgid "ADPCM, Intel/DVI"
-msgstr ""
+msgstr "ADPCM, Intel/DVI"
#: ../Doc/library/audioop.rst:24
msgid "a-LAW"
-msgstr ""
+msgstr "a-LAW"
#: ../Doc/library/audioop.rst:24
msgid "u-LAW"
-msgstr ""
+msgstr "u-LAW"
From 00262c703dc751fd6e75923ad502638c9c363624 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Carlos=20=C3=81lvarez?=
Date: Sun, 31 Dec 2023 15:08:01 +0100
Subject: [PATCH 032/136] Traducido archivo library/configparser.po (#2782)
Closes #2577
---
library/configparser.po | 54 ++++++++++++++++++++---------------------
1 file changed, 27 insertions(+), 27 deletions(-)
diff --git a/library/configparser.po b/library/configparser.po
index 2e2eb1268c..4f4c04b9f3 100644
--- a/library/configparser.po
+++ b/library/configparser.po
@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: 2022-10-27 10:14+0100\n"
+"PO-Revision-Date: 2023-12-24 12:44+0100\n"
"Last-Translator: Claudia Millan \n"
-"Language: es_PE\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es_PE\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
+"X-Generator: Poedit 3.0.1\n"
#: ../Doc/library/configparser.rst:2
msgid ":mod:`configparser` --- Configuration file parser"
@@ -51,42 +52,41 @@ msgstr ""
"la versión extendida de la sintaxis INI, utilizada en el registro de Windows."
#: ../Doc/library/configparser.rst:38
-#, fuzzy
msgid "Module :mod:`tomllib`"
-msgstr "Módulo :mod:`json`"
+msgstr "Módulo :mod:`tomllib`"
#: ../Doc/library/configparser.rst:37
msgid ""
"TOML is a well-specified format for application configuration files. It is "
"specifically designed to be an improved version of INI."
msgstr ""
+"TOML es un formato bien-especificado para archivos de configuración de "
+"aplicaciones. Está específicamente diseñado para ser una versión mejorada de "
+"INI."
#: ../Doc/library/configparser.rst:42
msgid "Module :mod:`shlex`"
msgstr "Módulo :mod:`shlex`"
#: ../Doc/library/configparser.rst:41
-#, fuzzy
msgid ""
"Support for creating Unix shell-like mini-languages which can also be used "
"for application configuration files."
msgstr ""
"Soporta la creación de un mini-lenguaje parecido a shell de Unix, que puede "
-"utilizarse como formato alternativo para archivos de configuración de "
-"aplicaciones."
+"utilizarse para archivos de configuración de aplicaciones."
#: ../Doc/library/configparser.rst:45
msgid "Module :mod:`json`"
msgstr "Módulo :mod:`json`"
#: ../Doc/library/configparser.rst:45
-#, fuzzy
msgid ""
"The ``json`` module implements a subset of JavaScript syntax which is "
"sometimes used for configuration, but does not support comments."
msgstr ""
-"El módulo json implementa un subconjunto de la sintaxis de JavaScript, que "
-"también puede utilizarse para este propósito."
+"El módulo ``json`` implementa un subconjunto de la sintaxis de JavaScript, "
+"que también puede utilizarse para configuración, pero no soporta comentarios."
#: ../Doc/library/configparser.rst:60
msgid "Quick Start"
@@ -229,7 +229,6 @@ msgstr ""
# No puedo usar "valor por defecto", ya que hay otros valores por defecto (los
# que se asignan en la sección DEFAULT).
#: ../Doc/library/configparser.rst:224
-#, fuzzy
msgid ""
"Please note that default values have precedence over fallback values. For "
"instance, in our example the ``'CompressionLevel'`` key was specified only "
@@ -240,7 +239,7 @@ msgstr ""
"Por favor, fíjate que los valores por defecto tienen prioridad sobre los "
"valores de contingencia (*fallback*). Así, en nuestro ejemplo, la clave "
"``'CompressionLevel'`` sólo fue especificada en la sección ``'DEFAULT'``. Si "
-"tratamos de obtener su valor de la sección ``'topsecret.server.com'``, "
+"tratamos de obtener su valor de la sección ``'topsecret.server.example'``, "
"obtendremos siempre el valor por defecto, incluso si especificamos un valor "
"de contingencia:"
@@ -1045,7 +1044,6 @@ msgstr ""
"serán serializadas sin el delimitador final."
#: ../Doc/library/configparser.rst:936
-#, fuzzy
msgid ""
"When *default_section* is given, it specifies the name for the special "
"section holding default values for other sections and interpolation purposes "
@@ -1058,7 +1056,10 @@ msgstr ""
"especial que contiene valores por defecto para otras secciones y con "
"propósito de interpolación (habitualmente denominada ``\"DEFAULT\"``). Este "
"valor puede obtenerse y modificarse en tiempo de ejecución utilizando el "
-"atributo de instancia ``default_section``."
+"atributo de instancia ``default_section``. Esto no volverá a evaluar un "
+"fichero de configuración previamente analizado sintácticamente (*parsed*), "
+"pero se usará al escribir configuraciones de analizado sintáctico (*parsed*) "
+"en un nuevo fichero de configuración."
#: ../Doc/library/configparser.rst:943
msgid ""
@@ -1705,13 +1706,13 @@ msgstr ""
"archivo."
#: ../Doc/library/configparser.rst:1348
-#, fuzzy
msgid ""
"The ``filename`` attribute and :meth:`__init__` constructor argument were "
"removed. They have been available using the name ``source`` since 3.2."
msgstr ""
-"El atributo ``filename`` y el argumento :meth:`__init__` fueron renombrados "
-"a ``source`` por consistencia."
+"El atributo ``filename`` y el argumento del constructor :meth:`__init__` "
+"fueron eliminados. Estos han estado disponibles usando el nombre ``source`` "
+"desde 3.2."
#: ../Doc/library/configparser.rst:1353
msgid "Footnotes"
@@ -1729,36 +1730,35 @@ msgstr ""
#: ../Doc/library/configparser.rst:16
msgid ".ini"
-msgstr ""
+msgstr ".ini"
#: ../Doc/library/configparser.rst:16
msgid "file"
-msgstr ""
+msgstr "file"
#: ../Doc/library/configparser.rst:16
msgid "configuration"
-msgstr ""
+msgstr "configuration"
#: ../Doc/library/configparser.rst:16
msgid "ini file"
-msgstr ""
+msgstr "ini file"
#: ../Doc/library/configparser.rst:16
msgid "Windows ini file"
-msgstr ""
+msgstr "Windows ini file"
#: ../Doc/library/configparser.rst:335
msgid "% (percent)"
-msgstr ""
+msgstr "% (percent)"
#: ../Doc/library/configparser.rst:335 ../Doc/library/configparser.rst:368
-#, fuzzy
msgid "interpolation in configuration files"
-msgstr "Interpolación de valores"
+msgstr "interpolation in configuration files"
#: ../Doc/library/configparser.rst:368
msgid "$ (dollar)"
-msgstr ""
+msgstr "$ (dollar)"
#~ msgid "Use :meth:`read_file` instead."
#~ msgstr "Utilice :meth:`read_file` en su lugar."
From d506715567730734dfaf0f806538a47db3ee42d2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Carlos=20=C3=81lvarez?=
Date: Sun, 31 Dec 2023 15:13:08 +0100
Subject: [PATCH 033/136] Traducido archivo library/winreg.po (#2783)
Closes #2576
---
library/winreg.po | 48 +++++++++++++++++++++++------------------------
1 file changed, 23 insertions(+), 25 deletions(-)
diff --git a/library/winreg.po b/library/winreg.po
index 169e9f1047..36155c62bb 100644
--- a/library/winreg.po
+++ b/library/winreg.po
@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: 2020-10-11 15:34-0500\n"
+"PO-Revision-Date: 2023-12-24 13:13+0100\n"
"Last-Translator: Juan Alegría \n"
-"Language: es_CO\n"
"Language-Team: \n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es_CO\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
+"X-Generator: Poedit 3.0.1\n"
#: ../Doc/library/winreg.rst:2
msgid ":mod:`winreg` --- Windows registry access"
@@ -237,7 +238,6 @@ msgstr ""
"posible que la clave no tenga subclaves."
#: ../Doc/library/winreg.rst:156
-#, fuzzy
msgid ""
"*access* is an integer that specifies an access mask that describes the "
"desired security access for the key. Default is :const:`KEY_WOW64_64KEY`. "
@@ -246,8 +246,9 @@ msgid ""
msgstr ""
"*access* es un número entero que especifica una máscara de acceso que "
"describe el acceso de seguridad deseado para la clave. El valor "
-"predeterminado es :const:`KEY_WOW64_64KEY`. Ver :ref:`Access Rights ` para otros valores permitidos."
+"predeterminado es :const:`KEY_WOW64_64KEY`. En Windows de 32-bit, las "
+"constantes WOW64 son ignoradas. Ver :ref:`Access Rights ` "
+"para otros valores permitidos."
#: ../Doc/library/winreg.rst:166
msgid "On unsupported Windows versions, :exc:`NotImplementedError` is raised."
@@ -455,7 +456,6 @@ msgstr ""
"(FAT), es posible que el nombre del archivo no tenga extensión."
#: ../Doc/library/winreg.rst:290
-#, fuzzy
msgid ""
"A call to :func:`LoadKey` fails if the calling process does not have the :c:"
"data:`!SE_RESTORE_PRIVILEGE` privilege. Note that privileges are different "
@@ -463,7 +463,7 @@ msgid ""
"microsoft.com/en-us/library/ms724889%28v=VS.85%29.aspx>`__ for more details."
msgstr ""
"Una llamada a :func:`LoadKey` falla si el proceso de llamada no tiene el "
-"privilegio :const:`SE_RESTORE_PRIVILEGE`. Tenga en cuenta que los "
+"privilegio :c:data:`!SE_RESTORE_PRIVILEGE`. Tenga en cuenta que los "
"privilegios son diferentes de los permisos; consulte la `RegLoadKey "
"documentation `__ para obtener más detalles."
@@ -648,7 +648,6 @@ msgstr ""
"asignación de archivos (FAT) mediante el método :meth:`LoadKey`."
#: ../Doc/library/winreg.rst:415
-#, fuzzy
msgid ""
"If *key* represents a key on a remote computer, the path described by "
"*file_name* is relative to the remote computer. The caller of this method "
@@ -658,12 +657,12 @@ msgid ""
"library/ms724878%28v=VS.85%29.aspx>`__ for more details."
msgstr ""
"Si *key* representa una clave en una computadora remota, la ruta descrita "
-"por *file_name* es relativa a la computadora remota. La persona que llama a "
-"este método debe poseer el privilegio de seguridad :const:"
-"`SeBackupPrivilege`. Tenga en cuenta que los privilegios son diferentes a "
-"los permisos -- consulte la documentación sobre conflictos entre derechos de "
-"usuario y permisos `__ para más detalles."
+"por *file_name* es relativa a la computadora remota. El invocador de este "
+"método debe poseer el privilegio de seguridad **SeBackupPrivilege**. Tenga "
+"en cuenta que los privilegios son diferentes a los permisos -- consulte la "
+"`documentación sobre conflictos entre derechos de usuario y permisos "
+"`__ "
+"para más detalles."
#: ../Doc/library/winreg.rst:423
msgid "This function passes ``NULL`` for *security_attributes* to the API."
@@ -854,12 +853,11 @@ msgid "Constants"
msgstr "Constantes"
#: ../Doc/library/winreg.rst:539
-#, fuzzy
msgid ""
"The following constants are defined for use in many :mod:`winreg` functions."
msgstr ""
"Las siguientes constantes están definidas para su uso en muchas funciones :"
-"mod:`_winreg`."
+"mod:`winreg`."
#: ../Doc/library/winreg.rst:544
msgid "HKEY_* Constants"
@@ -1015,22 +1013,22 @@ msgstr ""
"msdn.microsoft.com/en-us/library/aa384129(v=VS.85).aspx>`__."
#: ../Doc/library/winreg.rst:655
-#, fuzzy
msgid ""
"Indicates that an application on 64-bit Windows should operate on the 64-bit "
"registry view. On 32-bit Windows, this constant is ignored."
msgstr ""
"Indica que una aplicación en Windows de 64 bits debería funcionar en la "
-"vista de registro de 64 bits."
+"vista de registro de 64 bits. En Windows de 32 bits, esta constante se "
+"ignora."
#: ../Doc/library/winreg.rst:660
-#, fuzzy
msgid ""
"Indicates that an application on 64-bit Windows should operate on the 32-bit "
"registry view. On 32-bit Windows, this constant is ignored."
msgstr ""
"Indica que una aplicación en Windows de 64 bits debería funcionar en la "
-"vista de registro de 32 bits."
+"vista de registro de 32 bits. En Windows de 32 bits, esta constante se "
+"ignora."
#: ../Doc/library/winreg.rst:666
msgid "Value Types"
@@ -1143,11 +1141,11 @@ msgstr ""
"el uso del objeto identificador."
#: ../Doc/library/winreg.rst:748
-#, fuzzy
msgid ""
"Handle objects provide semantics for :meth:`~object.__bool__` -- thus ::"
msgstr ""
-"Los objetos de control proporcionan semántica para :meth:`__bool__` -- así ::"
+"Los objetos de control proporcionan semántica para :meth:`~object.__bool__` "
+"-- así ::"
#: ../Doc/library/winreg.rst:753
msgid ""
@@ -1241,8 +1239,8 @@ msgstr ""
#: ../Doc/library/winreg.rst:242
msgid "% (percent)"
-msgstr ""
+msgstr "% (percent)"
#: ../Doc/library/winreg.rst:242
msgid "environment variables expansion (Windows)"
-msgstr ""
+msgstr "environment variables expansion (Windows)"
From 15a5e9cbd2599474c96aa8a3477b49031e3959d4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Carlos=20=C3=81lvarez?=
Date: Sun, 31 Dec 2023 15:15:32 +0100
Subject: [PATCH 034/136] Traducido el archivo library/imaplib.po (#2785)
Closes #2564
---
library/imaplib.po | 31 +++++++++++++------------------
1 file changed, 13 insertions(+), 18 deletions(-)
diff --git a/library/imaplib.po b/library/imaplib.po
index 578cab6da8..ac2427f935 100644
--- a/library/imaplib.po
+++ b/library/imaplib.po
@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: 2022-12-27 14:19-0300\n"
+"PO-Revision-Date: 2023-12-24 17:51+0100\n"
"Last-Translator: Francisco Mora \n"
-"Language: es_AR\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es_AR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
+"X-Generator: Poedit 3.0.1\n"
#: ../Doc/library/imaplib.rst:2
msgid ":mod:`imaplib` --- IMAP4 protocol client"
@@ -44,7 +45,6 @@ msgstr ""
"tenga en cuenta que el comando ``STATUS`` no es compatible con IMAP4."
#: ../Doc/includes/wasm-notavail.rst:3
-#, fuzzy
msgid ":ref:`Availability `: not Emscripten, not WASI."
msgstr ":ref:`Availability `: no Emscripten, no WASI."
@@ -176,18 +176,17 @@ msgid "*ssl_context* parameter was added."
msgstr "El parámetro *ssl_context* fue agregado."
#: ../Doc/library/imaplib.rst:106
-#, fuzzy
msgid ""
"The class now supports hostname check with :attr:`ssl.SSLContext."
"check_hostname` and *Server Name Indication* (see :const:`ssl.HAS_SNI`)."
msgstr ""
"La clase ahora admite la verificación del nombre de host con :attr:`ssl."
-"SSLContext.check_hostname` y *Server Name Indication* (ver :data:`ssl."
+"SSLContext.check_hostname` y *Server Name Indication* (ver :const:`ssl."
"HAS_SNI`)."
#: ../Doc/library/imaplib.rst:114
msgid "The deprecated *keyfile* and *certfile* parameters have been removed."
-msgstr ""
+msgstr "Se han eliminado los parámetros obsoletos *keyfile* y *certfile*."
#: ../Doc/library/imaplib.rst:117
msgid "The second subclass allows for connections created by a child process:"
@@ -289,13 +288,12 @@ msgid "IMAP4 Objects"
msgstr "Objetos de IMAP4"
#: ../Doc/library/imaplib.rst:179
-#, fuzzy
msgid ""
"All IMAP4rev1 commands are represented by methods of the same name, either "
"uppercase or lowercase."
msgstr ""
"Todos los comandos IMAP4rev1 están representados por métodos del mismo "
-"nombre, mayúsculas o minúsculas."
+"nombre, ya sea en mayúsculas o minúsculas."
#: ../Doc/library/imaplib.rst:182
msgid ""
@@ -763,13 +761,12 @@ msgstr ""
"conexión IMAP. Leer :ref:`ssl-security` para conocer las mejores prácticas."
#: ../Doc/library/imaplib.rst:503
-#, fuzzy
msgid ""
"The method now supports hostname check with :attr:`ssl.SSLContext."
"check_hostname` and *Server Name Indication* (see :const:`ssl.HAS_SNI`)."
msgstr ""
"El método ahora admite la verificación del nombre de host con :attr:`ssl."
-"SSLContext.check_hostname` y *Server Name Indication* (ver :data:`ssl."
+"SSLContext.check_hostname` y *Server Name Indication* (ver :const:`ssl."
"HAS_SNI`)."
#: ../Doc/library/imaplib.rst:511
@@ -838,7 +835,6 @@ msgstr ""
"mensajes, delimitados por espacios, que indican sucesivos padres e hijos."
#: ../Doc/library/imaplib.rst:552
-#, fuzzy
msgid ""
"Thread has two arguments before the *search_criterion* argument(s); a "
"*threading_algorithm*, and the searching *charset*. Note that unlike "
@@ -850,7 +846,7 @@ msgid ""
"criteria. It then returns the matching messages threaded according to the "
"specified threading algorithm."
msgstr ""
-"*Thread* tiene dos argumentos antes del argumento (s) *search_criterion*; un "
+"*Thread* tiene dos argumentos antes del argumento(s) *search_criterion*; un "
"*threading_algorithm*, y la búsqueda del *charset*. Tenga en cuenta que, a "
"diferencia de ``search``, el argumento de búsqueda *charset* es obligatorio. "
"También hay un comando ``uid thread`` que corresponde a ``thread`` de la "
@@ -943,20 +939,19 @@ msgstr ""
#: ../Doc/library/imaplib.rst:16
msgid "IMAP4"
-msgstr ""
+msgstr "IMAP4"
#: ../Doc/library/imaplib.rst:16
msgid "protocol"
-msgstr ""
+msgstr "protocol"
#: ../Doc/library/imaplib.rst:16
msgid "IMAP4_SSL"
-msgstr ""
+msgstr "IMAP4_SSL"
#: ../Doc/library/imaplib.rst:16
-#, fuzzy
msgid "IMAP4_stream"
-msgstr "Ejemplo IMAP4"
+msgstr "IMAP4_stream"
#~ msgid ""
#~ "*keyfile* and *certfile* are a legacy alternative to *ssl_context* - they "
From 89c8b15b9b1380eda561c39bf99b6abf03065ab3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Carlos=20=C3=81lvarez?=
Date: Sun, 31 Dec 2023 16:07:38 +0100
Subject: [PATCH 035/136] Traducido el archivo library/optparse.po (#2784)
Closes #2566
---------
Co-authored-by: Marcos Medrano <786907+mmmarcos@users.noreply.github.com>
---
library/optparse.po | 168 +++++++++++++++++++++-----------------------
1 file changed, 79 insertions(+), 89 deletions(-)
diff --git a/library/optparse.po b/library/optparse.po
index 7e5d73388f..84f460d292 100644
--- a/library/optparse.po
+++ b/library/optparse.po
@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: 2021-08-04 21:42+0200\n"
+"PO-Revision-Date: 2023-12-24 17:57+0100\n"
"Last-Translator: Cristián Maureira-Fredes \n"
-"Language: es\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
+"X-Generator: Poedit 3.0.1\n"
#: ../Doc/library/optparse.rst:2
msgid ":mod:`optparse` --- Parser for command line options"
@@ -73,7 +74,6 @@ msgstr ""
"ejemplo::"
#: ../Doc/library/optparse.rst:44
-#, fuzzy
msgid ""
"As it parses the command line, :mod:`optparse` sets attributes of the "
"``options`` object returned by :meth:`~OptionParser.parse_args` based on "
@@ -86,13 +86,14 @@ msgid ""
"the above example::"
msgstr ""
"A medida que analiza la línea de comandos, :mod:`optparse` establece los "
-"atributos del objeto ``options`` retornado por :meth:`parse_args` basándose "
-"en los valores de la línea de comandos proporcionada por el usuario. Cuando :"
-"meth:`parse_args` termina de analizar esta línea de comandos, ``options."
-"filename`` será ``\"outfile\"`` y ``options.verbose`` será ``False``. :mod:"
-"`optparse` admite opciones largas y cortas, fusionar opciones cortas y "
-"asociar opciones con sus argumentos de diversas formas. Por lo tanto, las "
-"siguientes líneas de comandos son todas equivalentes al ejemplo previo::"
+"atributos del objeto ``options`` retornado por :meth:`~OptionParser."
+"parse_args` basándose en los valores de la línea de comandos proporcionada "
+"por el usuario. Cuando :meth:`~OptionParser.parse_args` termina de analizar "
+"esta línea de comandos, ``options.filename`` será ``\"outfile\"`` y "
+"``options.verbose`` será ``False``. :mod:`optparse` admite opciones largas y "
+"cortas, fusionar opciones cortas y asociar opciones con sus argumentos de "
+"diversas formas. Por lo tanto, las siguientes líneas de comandos son todas "
+"equivalentes al ejemplo previo::"
#: ../Doc/library/optparse.rst:58
msgid "Additionally, users can run one of the following ::"
@@ -229,7 +230,6 @@ msgstr ""
"ejemplo ``/f`` o ``/file``"
#: ../Doc/library/optparse.rst:131
-#, fuzzy
msgid ""
"These option syntaxes are not supported by :mod:`optparse`, and they never "
"will be. This is deliberate: the first three are non-standard on any "
@@ -238,8 +238,8 @@ msgid ""
msgstr ""
"Estas sintaxis para opciones no son compatibles con :mod:`optparse` y nunca "
"lo serán. Esto es deliberado: los tres primeros no son estándar en ningún "
-"entorno y el último solo tiene sentido si se dirige exclusivamente a VMS, MS-"
-"DOS y/o Windows."
+"entorno y el último solo tiene sentido si se dirige exclusivamente a Windows "
+"o alguna plataforma heredada (*legacy*) (por ejemplo: VMS, MS-DOS)."
#: ../Doc/library/optparse.rst:160
msgid "option argument"
@@ -524,20 +524,18 @@ msgstr ""
"analice sintácticamente la línea de comandos de tu programa::"
#: ../Doc/library/optparse.rst:288
-#, fuzzy
msgid ""
"(If you like, you can pass a custom argument list to :meth:`~OptionParser."
"parse_args`, but that's rarely necessary: by default it uses ``sys."
"argv[1:]``.)"
msgstr ""
"(Si lo deseas, puedes pasar una lista de argumentos personalizada a :meth:"
-"`parse_args`, pero eso rara vez es necesario: por defecto se usa ``sys.argv "
-"[1:]``.)"
+"`~OptionParser.parse_args`, pero eso rara vez es necesario: por defecto se "
+"usa ``sys.argv [1:]``.)"
#: ../Doc/library/optparse.rst:291
-#, fuzzy
msgid ":meth:`~OptionParser.parse_args` returns two values:"
-msgstr ":meth:`parse_args` retorna dos valores:"
+msgstr ":meth:`~OptionParser.parse_args` retorna dos valores:"
#: ../Doc/library/optparse.rst:293
msgid ""
@@ -626,7 +624,6 @@ msgstr ""
"que la analice::"
#: ../Doc/library/optparse.rst:340
-#, fuzzy
msgid ""
"When :mod:`optparse` sees the option string ``-f``, it consumes the next "
"argument, ``foo.txt``, and stores it in ``options.filename``. So, after "
@@ -635,8 +632,8 @@ msgid ""
msgstr ""
"Cuando :mod:`optparse` se encuentra con la cadena de opción ``-f``, consume "
"el siguiente argumento, ``foo.txt`` y lo almacena en ``options.filename``. "
-"Por lo tanto, después de la llamada a :meth:`parse_args`, ``options."
-"filename`` será ``\"foo.txt\"``."
+"Por lo tanto, después de la llamada a :meth:`~OptionParser.parse_args`, "
+"``options.filename`` será ``\"foo.txt\"``."
#: ../Doc/library/optparse.rst:344
msgid ""
@@ -755,6 +752,7 @@ msgstr "``\"store_const\"``"
#: ../Doc/library/optparse.rst:407 ../Doc/library/optparse.rst:929
msgid "store a constant value, pre-set via :attr:`Option.const`"
msgstr ""
+"almacena un valor de constante, preestablecida vía :attr:`Option.const`"
#: ../Doc/library/optparse.rst:410 ../Doc/library/optparse.rst:938
msgid "``\"append\"``"
@@ -842,7 +840,6 @@ msgstr ""
"particular es el único que se tendrá en cuenta."
#: ../Doc/library/optparse.rst:455
-#, fuzzy
msgid ""
"A clearer way to specify default values is the :meth:`set_defaults` method "
"of OptionParser, which you can call at any time before calling :meth:"
@@ -850,7 +847,7 @@ msgid ""
msgstr ""
"Una forma más clara de especificar valores predeterminados es el método :"
"meth:`set_defaults` de OptionParser, al que puedes llamar en cualquier "
-"momento antes de llamar a :meth:`parse_args`::"
+"momento antes de llamar a :meth:`~OptionParser.parse_args`::"
#: ../Doc/library/optparse.rst:463
msgid ""
@@ -943,16 +940,14 @@ msgstr ""
"que la salida de ayuda se vea bien."
#: ../Doc/library/optparse.rst:533
-#, fuzzy
msgid ""
"options that take a value indicate this fact in their automatically "
"generated help message, e.g. for the \"mode\" option::"
msgstr ""
"las opciones que toman un valor indican este hecho en su mensaje de ayuda "
-"generado automáticamente, por ejemplo, para la opción \"*mode*\"::"
+"generado automáticamente, por ejemplo, para la opción \"mode\"::"
#: ../Doc/library/optparse.rst:538
-#, fuzzy
msgid ""
"Here, \"MODE\" is called the meta-variable: it stands for the argument that "
"the user is expected to supply to ``-m``/``--mode``. By default, :mod:"
@@ -961,7 +956,7 @@ msgid ""
"the ``--filename`` option explicitly sets ``metavar=\"FILE\"``, resulting in "
"this automatically generated option description::"
msgstr ""
-"Aquí, a \"*MODE*\" se le denomina una metavariable: representa el argumento "
+"Aquí, a \"MODE\" se le denomina una metavariable: representa el argumento "
"que se espera que el usuario proporcione a ``-m``/``--mode``. De forma "
"predeterminada, :mod:`optparse` convierte el nombre de la variable de "
"destino a mayúsculas y lo usa para la metavariable. En ocasiones, eso no es "
@@ -1286,7 +1281,6 @@ msgid "``usage`` (default: ``\"%prog [options]\"``)"
msgstr "``usage`` (por defecto: ``\"%prog [options]\"``)"
#: ../Doc/library/optparse.rst:811
-#, fuzzy
msgid ""
"The usage summary to print when your program is run incorrectly or with a "
"help option. When :mod:`optparse` prints the usage string, it expands "
@@ -1298,7 +1292,7 @@ msgstr ""
"con una opción de ayuda. Cuando :mod:`optparse` imprime la cadena de uso, "
"reemplaza ``%prog`` con ``os.path.basename(sys.argv[0])`` (o con ``prog`` si "
"se proporcionó eso argumento por palabra clave). Para suprimir un mensaje de "
-"uso, se debe pasar el valor especial :data:`optparse.SUPPRESS_USAGE`."
+"uso, se debe pasar el valor especial :const:`optparse.SUPPRESS_USAGE`."
#: ../Doc/library/optparse.rst:822
msgid "``option_list`` (default: ``[]``)"
@@ -1563,9 +1557,10 @@ msgid "``\"append_const\"``"
msgstr "``\"append_const\"``"
#: ../Doc/library/optparse.rst:941
-#, fuzzy
msgid "append a constant value to a list, pre-set via :attr:`Option.const`"
-msgstr "agrega un valor constante a una lista"
+msgstr ""
+"agrega un valor constante a una lista, preestablecido vía :attr:`Option."
+"const`"
#: ../Doc/library/optparse.rst:950 ../Doc/library/optparse.rst:1244
msgid "``\"help\"``"
@@ -1590,7 +1585,6 @@ msgstr ""
"`optparse-standard-option-actions` para más información.)"
#: ../Doc/library/optparse.rst:956
-#, fuzzy
msgid ""
"As you can see, most actions involve storing or updating a value somewhere. :"
"mod:`optparse` always creates a special object for this, conventionally "
@@ -1598,11 +1592,8 @@ msgid ""
msgstr ""
"Como se puede observar, la mayoría de las acciones implican almacenar o "
"actualizar un valor en algún lugar. :mod:`optparse` siempre crea un objeto "
-"especial para esto, convencionalmente llamado ``options`` (que resulta ser "
-"una instancia de :class:`optparse.Values`). Los argumentos de opción (y "
-"algunos otros valores) se almacenan como atributos de este objeto, de "
-"acuerdo con el atributo de opción :attr:`~ Option.dest` (destino) "
-"establecido."
+"especial para esto, convencionalmente llamado ``options``, que resulta ser "
+"una instancia de :class:`optparse.Values`."
#: ../Doc/library/optparse.rst:962
msgid ""
@@ -1612,12 +1603,20 @@ msgid ""
"`OptionParser.parse_args` (as described in :ref:`optparse-parsing-"
"arguments`)."
msgstr ""
+"Un objeto que mantiene como atributos a los nombres de los argumentos y los "
+"valores analizados. Normalmente se crean por invocación cuando llamamos :"
+"meth:`OptionParser.parse_args`, y pueden ser sobreescritos por una subclase "
+"personalizada pasada al argumento *values* de :meth:`OptionParser."
+"parse_args` (como se describe en :ref:`optparse-parsing-arguments`)."
#: ../Doc/library/optparse.rst:967
msgid ""
"Option arguments (and various other values) are stored as attributes of this "
"object, according to the :attr:`~Option.dest` (destination) option attribute."
msgstr ""
+"Los argumentos de opción (y algunos otros valores) se almacenan como "
+"atributos de este objeto, de acuerdo con el atributo de opción :attr:`~ "
+"Option.dest` (destino) establecido."
#: ../Doc/library/optparse.rst:971
msgid "For example, when you call ::"
@@ -1669,6 +1668,10 @@ msgid ""
"rather than directly, and can be overridden by a custom class via the "
"*option_class* argument to :class:`OptionParser`."
msgstr ""
+"Un único argumento de línea de comando, con varios atributos pasados como "
+"palabras clave al constructor. Normalmente se crea con :meth:`OptionParser."
+"add_option` en lugar de directamente, y puede ser sobrescrito por una clase "
+"personalizada mediante el argumento *option_class* de :class:`OptionParser`."
#: ../Doc/library/optparse.rst:1012
msgid ""
@@ -1785,7 +1788,6 @@ msgstr ""
"estándar."
#: ../Doc/library/optparse.rst:1078
-#, fuzzy
msgid ""
"Help text to print for this option when listing all available options after "
"the user supplies a :attr:`~Option.help` option (such as ``--help``). If no "
@@ -1797,7 +1799,7 @@ msgstr ""
"`~Option.help` (como ``--help``). Si no se proporciona ningún texto de "
"ayuda, la opción seguirá apareciendo, solo que sin texto de ayuda. Para "
"ocultar esta opción completamente, se debe asignar al atributo el valor "
-"especial :data:`optparse.SUPPRESS_HELP`."
+"especial :const:`optparse.SUPPRESS_HELP`."
#: ../Doc/library/optparse.rst:1087
msgid ""
@@ -2067,7 +2069,6 @@ msgstr ""
"attr:`~Option.help`, pasada a cada opción."
#: ../Doc/library/optparse.rst:1251
-#, fuzzy
msgid ""
"If no :attr:`~Option.help` string is supplied for an option, it will still "
"be listed in the help message. To omit an option entirely, use the special "
@@ -2075,7 +2076,7 @@ msgid ""
msgstr ""
"Si no se proporciona una cadena :attr:`~Option.help` para una opción, dicha "
"opción seguirá apareciendo en el mensaje de ayuda. Para omitir una opción "
-"por completo, debe usarse el valor especial :data:`optparse.SUPPRESS_HELP`."
+"por completo, debe usarse el valor especial :const:`optparse.SUPPRESS_HELP`."
#: ../Doc/library/optparse.rst:1255
msgid ""
@@ -2211,22 +2212,20 @@ msgid "Parsing arguments"
msgstr "Analizando los argumentos"
#: ../Doc/library/optparse.rst:1341
-#, fuzzy
msgid ""
"The whole point of creating and populating an OptionParser is to call its :"
"meth:`~OptionParser.parse_args` method."
msgstr ""
"El objetivo primario de crear y agregar opciones a un OptionParser es llamar "
-"a su método :meth:`parse_args`::"
+"a su método :meth:`~OptionParser.parse_args`."
#: ../Doc/library/optparse.rst:1346
msgid "Parse the command-line options found in *args*."
-msgstr ""
+msgstr "Analiza las opciones de la línea de comando encontradas en *args*."
#: ../Doc/library/optparse.rst:1348
-#, fuzzy
msgid "The input parameters are"
-msgstr "donde los parámetros de entrada son"
+msgstr "Los parámetros de entrada son"
#: ../Doc/library/optparse.rst:1351 ../Doc/library/optparse.rst:1364
#: ../Doc/library/optparse.rst:1684
@@ -2242,34 +2241,31 @@ msgid "``values``"
msgstr "``values``"
#: ../Doc/library/optparse.rst:1354
-#, fuzzy
msgid ""
"an :class:`Values` object to store option arguments in (default: a new "
"instance of :class:`Values`) -- if you give an existing object, the option "
"defaults will not be initialized on it"
msgstr ""
-"un objeto de la clase :class:`optparse.Values` para almacenar en él los "
-"argumentos de las opciones. Por defecto es una nueva instancia de la clase :"
-"class:`Values`. Si se proporciona un objeto previamente creado, los valores "
+"un objeto de la clase :class:`Values` para almacenar en él los argumentos de "
+"las opciones (por defecto: es una nueva instancia de la clase :class:"
+"`Values`) -- si se proporciona un objeto previamente creado, los valores "
"predeterminados de la opción no se inicializarán en el mismo"
#: ../Doc/library/optparse.rst:1358
-#, fuzzy
msgid "and the return value is a pair ``(options, args)`` where"
-msgstr "y los valores de retorno son"
+msgstr "y los valores de retorno es un par ``(options, args)`` donde"
#: ../Doc/library/optparse.rst:1362
msgid "``options``"
msgstr "``options``"
#: ../Doc/library/optparse.rst:1361
-#, fuzzy
msgid ""
"the same object that was passed in as *values*, or the ``optparse.Values`` "
"instance created by :mod:`optparse`"
msgstr ""
-"el mismo objeto que se pasó como ``values``, o la instancia *optparse."
-"Values* creada por :mod:`optparse`"
+"el mismo objeto que se pasó como *values*, o la instancia ``optparse."
+"Values`` creada por :mod:`optparse`"
#: ../Doc/library/optparse.rst:1365
msgid "the leftover positional arguments after all options have been processed"
@@ -2278,7 +2274,6 @@ msgstr ""
"que se hayan procesado todas las opciones"
#: ../Doc/library/optparse.rst:1367
-#, fuzzy
msgid ""
"The most common usage is to supply neither keyword argument. If you supply "
"``values``, it will be modified with repeated :func:`setattr` calls (roughly "
@@ -2289,21 +2284,20 @@ msgstr ""
"Si se proporciona ``values``, dicho argumento será modificado mediante "
"llamadas repetidas a :func:`setattr` (aproximadamente una por cada argumento "
"de opción a almacenar en un destino de opción) y finalmente será retornado "
-"por el método :meth:`parse_args`."
+"por el método :meth:`~OptionParser.parse_args`."
#: ../Doc/library/optparse.rst:1372
-#, fuzzy
msgid ""
"If :meth:`~OptionParser.parse_args` encounters any errors in the argument "
"list, it calls the OptionParser's :meth:`error` method with an appropriate "
"end-user error message. This ultimately terminates your process with an exit "
"status of 2 (the traditional Unix exit status for command-line errors)."
msgstr ""
-"Si el método :meth:`parse_args` encuentra algún error en la lista de "
-"argumentos, llama al método :meth:`error` de OptionParser con un mensaje de "
-"error apropiado para el usuario final. Esto causa que el proceso termine con "
-"un estado de salida de 2 (el estado de salida tradicional en Unix para "
-"errores en la línea de comandos)."
+"Si el método :meth:`~OptionParser.parse_args` encuentra algún error en la "
+"lista de argumentos, llama al método :meth:`error` de OptionParser con un "
+"mensaje de error apropiado para el usuario final. Esto causa que el proceso "
+"termine con un estado de salida de 2 (el estado de salida tradicional en "
+"Unix para errores en la línea de comandos)."
#: ../Doc/library/optparse.rst:1381
msgid "Querying and manipulating your option parser"
@@ -2464,7 +2458,6 @@ msgstr ""
"conflictivas::"
#: ../Doc/library/optparse.rst:1472
-#, fuzzy
msgid ""
"At this point, :mod:`optparse` detects that a previously added option is "
"already using the ``-n`` option string. Since ``conflict_handler`` is "
@@ -2481,7 +2474,6 @@ msgstr ""
"ayuda, el mensaje de ayuda reflejará la nueva situación::"
#: ../Doc/library/optparse.rst:1483
-#, fuzzy
msgid ""
"It's possible to whittle away the option strings for a previously added "
"option until there are none left, and the user has no way of invoking that "
@@ -2494,7 +2486,7 @@ msgstr ""
"forma de invocar esa opción desde la línea de comandos. En ese caso, :mod:"
"`optparse` eliminará esa opción por completo, por lo que no aparecerá en el "
"texto de ayuda ni en ningún otro lugar. Continuando con nuestro analizador "
-"de opciones previo::"
+"de opciones existente OptionParser::"
#: ../Doc/library/optparse.rst:1491
msgid ""
@@ -2534,7 +2526,6 @@ msgid "OptionParser supports several other public methods:"
msgstr "OptionParser admite varios métodos públicos más:"
#: ../Doc/library/optparse.rst:1522
-#, fuzzy
msgid ""
"Set the usage string according to the rules described above for the "
"``usage`` constructor keyword argument. Passing ``None`` sets the default "
@@ -2543,9 +2534,8 @@ msgid ""
msgstr ""
"Establece la cadena de caracteres de uso de acuerdo a las reglas descritas "
"anteriormente para el argumento por palabra clave ``usage`` del constructor. "
-"Si se pasa ``None`` se establece la cadena de uso por defecto. Para suprimir "
-"el mensaje de uso totalmente, se debe pasar el valor especial :data:"
-"`optparse.SUPPRESS_USAGE`."
+"Pasando ``None`` se establece la cadena de uso por defecto; use el valor "
+"especial :data:`optparse.SUPPRESS_USAGE` para suprimir el mensaje de uso."
#: ../Doc/library/optparse.rst:1528
msgid ""
@@ -2810,7 +2800,6 @@ msgid "``parser.largs``"
msgstr "``parser.largs``"
#: ../Doc/library/optparse.rst:1664
-#, fuzzy
msgid ""
"the current list of leftover arguments, ie. arguments that have been "
"consumed but are neither options nor option arguments. Feel free to modify "
@@ -2822,7 +2811,7 @@ msgstr ""
"consumido pero que no son opciones ni argumentos de opción. Siéntete libre "
"de modificar ``parser.largs``, por ejemplo, agregando más argumentos. (Esta "
"lista se convertirá en ``args``, el segundo valor de retorno del método :"
-"meth:`parse_args`.)"
+"meth:`~OptionParser.parse_args`.)"
#: ../Doc/library/optparse.rst:1673
msgid "``parser.rargs``"
@@ -3384,7 +3373,6 @@ msgstr ""
"mecanismo de seguridad agregado. Es llamado como::"
#: ../Doc/library/optparse.rst:2049
-#, fuzzy
msgid ""
"If the ``attr`` attribute of ``values`` doesn't exist or is ``None``, then "
"ensure_value() first sets it to ``value``, and then returns ``value``. This "
@@ -3398,43 +3386,45 @@ msgid ""
msgstr ""
"Si el atributo ``attr`` de ``values`` no existe o es ``None``, entonces "
"*ensure_value()* primero lo establece en ``value`` y luego retorna el "
-"atributo actualizado. Esto es muy útil para acciones como ``\"extend\"``, "
-"``\"append\"`` y ``\"count\"``, dado que todas ellas acumulan datos en una "
-"variable y esperan que esa variable sea de cierto tipo (una lista para las "
-"dos primeras, un número entero para la última). Usar el método :meth:"
-"`ensure_value` significa que los scripts que usan tu acción no tienen que "
-"preocuparse por establecer un valor predeterminado para los destinos de "
-"opción en cuestión; simplemente pueden dejar el valor predeterminado como "
-"``None`` y :meth:`secure_value` se encargará de que todo esté correcto "
-"cuando sea necesario."
+"atributo actualizado (``value``). Esto es muy útil para acciones como "
+"``\"extend\"``, ``\"append\"`` y ``\"count\"``, dado que todas ellas "
+"acumulan datos en una variable y esperan que esa variable sea de cierto tipo "
+"(una lista para las dos primeras, un número entero para la última). Usar el "
+"método :meth:`ensure_value` significa que los scripts que usan tu acción no "
+"tienen que preocuparse por establecer un valor predeterminado para los "
+"destinos de opción en cuestión; simplemente pueden dejar el valor "
+"predeterminado como ``None`` y :meth:`secure_value` se encargará de que todo "
+"esté correcto cuando sea necesario."
#: ../Doc/library/optparse.rst:2060
-#, fuzzy
msgid "Exceptions"
-msgstr "opción"
+msgstr "Excepciones"
#: ../Doc/library/optparse.rst:2064
msgid ""
"Raised if an :class:`Option` instance is created with invalid or "
"inconsistent arguments."
msgstr ""
+"Lanzada si se crea con argumentos inválidos o inconsistentes una instancia "
+"de :class:`Option`."
#: ../Doc/library/optparse.rst:2069
msgid "Raised if conflicting options are added to an :class:`OptionParser`."
msgstr ""
+"Lanzada si se añaden opciones que entren en conflicto en una :class:"
+"`OptionParser`."
#: ../Doc/library/optparse.rst:2073
msgid "Raised if an invalid option value is encountered on the command line."
-msgstr ""
+msgstr "Lanzada si se encuentra una opción inválida en la línea de comandos."
#: ../Doc/library/optparse.rst:2077
-#, fuzzy
msgid "Raised if an invalid option is passed on the command line."
-msgstr "Mientras analiza la línea de comandos::"
+msgstr "Lanzada si se pasa una opción inválida en la línea de comandos."
#: ../Doc/library/optparse.rst:2081
msgid "Raised if an ambiguous option is passed on the command line."
-msgstr ""
+msgstr "Lanzada si se pasa una opción ambigua en la línea de comandos."
#~ msgid "store a constant value"
#~ msgstr "almacena un valor constante"
From 9d48a34d37f3e56387e4a80f51f1ce86a76a2036 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Carlos=20=C3=81lvarez?=
Date: Sun, 31 Dec 2023 16:17:20 +0100
Subject: [PATCH 036/136] Traducido archivo library/traceback.po (#2781)
Closes #2578
---------
Co-authored-by: Marcos Medrano <786907+mmmarcos@users.noreply.github.com>
---
library/traceback.po | 77 ++++++++++++++++++++++++++------------------
1 file changed, 45 insertions(+), 32 deletions(-)
diff --git a/library/traceback.po b/library/traceback.po
index 389c8fc839..c1536044d6 100644
--- a/library/traceback.po
+++ b/library/traceback.po
@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: 2022-10-26 22:07+0200\n"
+"PO-Revision-Date: 2023-12-24 12:20+0100\n"
"Last-Translator: Jaime Resano \n"
-"Language: es_ES\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es_ES\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
+"X-Generator: Poedit 3.0.1\n"
#: ../Doc/library/traceback.rst:2
msgid ":mod:`traceback` --- Print or retrieve a stack traceback"
@@ -49,24 +50,29 @@ msgid ""
"`types.TracebackType`, which are assigned to the ``__traceback__`` field of :"
"class:`BaseException` instances."
msgstr ""
+"El módulo usa objetos *traceback* -- estos son objetos de tipo :class:`types."
+"TracebackType`, que se asignan al campo ``__traceback__`` de las instancias "
+"de :class:`BaseException`."
#: ../Doc/library/traceback.rst:25
msgid "Module :mod:`faulthandler`"
-msgstr ""
+msgstr "Módulo :mod:`faulthandler`"
#: ../Doc/library/traceback.rst:25
msgid ""
"Used to dump Python tracebacks explicitly, on a fault, after a timeout, or "
"on a user signal."
msgstr ""
+"Usado para volcar explícitamente los rastreos Python, en un error, después "
+"de un tiempo de espera (*timeout*), o en una señal de usuario."
#: ../Doc/library/traceback.rst:27
msgid "Module :mod:`pdb`"
-msgstr ""
+msgstr "Módulo :mod:`pdb`"
#: ../Doc/library/traceback.rst:28
msgid "Interactive source code debugger for Python programs."
-msgstr ""
+msgstr "Depurador interactivo de código fuente para programas Python."
#: ../Doc/library/traceback.rst:30
msgid "The module defines the following functions:"
@@ -161,25 +167,22 @@ msgstr ""
"posicional."
#: ../Doc/library/traceback.rst:83
-#, fuzzy
msgid ""
"This is a shorthand for ``print_exception(sys.exception(), limit, file, "
"chain)``."
msgstr ""
-"Esto es un atajo para ``print_exception(*sys.exc_info(), limit, file, "
+"Esto es un atajo para ``print_exception(sys.exception(), limit, file, "
"chain)``."
#: ../Doc/library/traceback.rst:89
-#, fuzzy
msgid ""
"This is a shorthand for ``print_exception(sys.last_exc, limit, file, "
"chain)``. In general it will work only after an exception has reached an "
"interactive prompt (see :data:`sys.last_exc`)."
msgstr ""
-"Esto es un atajo para ``print_exception(sys.last_type, sys.last_value, sys."
-"last_traceback, limit, file, chain)``. En general, solo funciona después de "
-"que una excepción ha alcanzado un prompt interactivo (ver :data:`sys."
-"last_type`)."
+"Esto es un atajo para ``print_exception(sys.last_exc, limit, file, chain)``. "
+"En general, solo funciona después de que una excepción ha alcanzado un "
+"prompt interactivo (ver :data:`sys.last_exc`)."
#: ../Doc/library/traceback.rst:96
msgid ""
@@ -250,7 +253,6 @@ msgstr ""
"origen no es ``None``."
#: ../Doc/library/traceback.rst:140
-#, fuzzy
msgid ""
"Format the exception part of a traceback using an exception value such as "
"given by ``sys.last_value``. The return value is a list of strings, each "
@@ -265,8 +267,9 @@ msgstr ""
"es una lista de cadenas, cada una termina en una nueva línea. Normalmente, "
"la lista contiene una sola cadena; sin embargo, para las excepciones :exc:"
"`SyntaxError`, contiene varias líneas que (cuando se imprimen) muestran "
-"información detallada sobre dónde ocurrió el error de sintaxis. El mensaje "
-"que indica qué excepción ocurrió es siempre la última cadena de la lista."
+"información detallada sobre dónde ocurrió el error de sintaxis. Después del "
+"mensaje, la lista contiene las :attr:`notas ` de "
+"las excepciones."
#: ../Doc/library/traceback.rst:148
msgid ""
@@ -281,6 +284,7 @@ msgstr ""
#: ../Doc/library/traceback.rst:156
msgid "The returned list now includes any notes attached to the exception."
msgstr ""
+"La lista retornada ahora incluye algunas notas adjuntadas a la excepción."
#: ../Doc/library/traceback.rst:162
msgid ""
@@ -399,6 +403,12 @@ msgid ""
"group's exceptions array. The formatted output is truncated when either "
"limit is exceeded."
msgstr ""
+"*max_group_width* (*anchura máxima del grupo*) y *max_group_depth* "
+"(*profundidad máxima del grupo*) controlan el formato del grupo de "
+"excepciones (ver :exc:`BaseExceptionGroup`). La profundidad (*depth*) se "
+"refiere al nivel de anidamiento del grupo, y la anchura (*width*) se refiere "
+"al tamaño de una excepción simple perteneciente al arreglo del grupo de "
+"excepciones. El formato de salida se trunca cuando se excede el límite."
#: ../Doc/library/traceback.rst:241
msgid "Added the *compact* parameter."
@@ -406,7 +416,7 @@ msgstr "Se agregó el parámetro *compact*."
#: ../Doc/library/traceback.rst:244
msgid "Added the *max_group_width* and *max_group_depth* parameters."
-msgstr ""
+msgstr "Se agregaron los parámetros *max_group_width* y *max_group_depth*"
#: ../Doc/library/traceback.rst:249
msgid "A :class:`TracebackException` of the original ``__cause__``."
@@ -422,6 +432,9 @@ msgid ""
"class:`TracebackException` instances representing the nested exceptions. "
"Otherwise it is ``None``."
msgstr ""
+"Si ``self`` representa a una :exc:`ExceptionGroup`, este campo mantiene una "
+"lista de instancias de :class:`TracebackException` representando las "
+"excepciones anidadas. En otro caso será ``None``."
#: ../Doc/library/traceback.rst:265
msgid "The ``__suppress_context__`` value from the original exception."
@@ -456,12 +469,12 @@ msgstr ""
"Para errores sintácticos - el número de línea donde el error ha ocurrido."
#: ../Doc/library/traceback.rst:293
-#, fuzzy
msgid ""
"For syntax errors - the end line number where the error occurred. Can be "
"``None`` if not present."
msgstr ""
-"Para errores sintácticos - el número de línea donde el error ha ocurrido."
+"Para errores sintácticos - el número de línea donde el error ha ocurrido. "
+"Puede ser ``None`` si no está presente."
#: ../Doc/library/traceback.rst:300
msgid "For syntax errors - the text where the error occurred."
@@ -474,13 +487,12 @@ msgstr ""
"ocurrido."
#: ../Doc/library/traceback.rst:308
-#, fuzzy
msgid ""
"For syntax errors - the end offset into the text where the error occurred. "
"Can be ``None`` if not present."
msgstr ""
"Para errores sintácticos - el *offset* en el texto donde el error ha "
-"ocurrido."
+"ocurrido. Puede ser ``None`` si no está presente."
#: ../Doc/library/traceback.rst:315
msgid "For syntax errors - the compiler error message."
@@ -528,21 +540,21 @@ msgstr ""
"nueva línea."
#: ../Doc/library/traceback.rst:348
-#, fuzzy
msgid ""
"The generator emits the exception's message followed by its notes (if it has "
"any). The exception message is normally a single string; however, for :exc:"
"`SyntaxError` exceptions, it consists of several lines that (when printed) "
"display detailed information about where the syntax error occurred."
msgstr ""
-"Normalmente, el generador emite una sola cadena, sin embargo, para "
-"excepciones :exc:`SyntaxError`, este emite múltiples líneas que (cuando son "
-"mostradas) imprimen información detallada sobre dónde ha ocurrido el error "
-"sintáctico."
+"El generador emite el mensaje de la excepción seguida por sus notas (si "
+"tiene alguna). El mensaje de excepción es normalmente una sola cadena; , sin "
+"embargo, para excepciones :exc:`SyntaxError`, este emite múltiples líneas "
+"que (cuando son mostradas) imprimen información detallada sobre dónde ha "
+"ocurrido el error sintáctico."
#: ../Doc/library/traceback.rst:354
msgid "The exception's notes are now included in the output."
-msgstr ""
+msgstr "Las notas de las excepciones son incluidas ahora en la salida."
#: ../Doc/library/traceback.rst:360
msgid ":class:`StackSummary` Objects"
@@ -586,6 +598,8 @@ msgid ""
"Exceptions raised from :func:`repr` on a local variable (when "
"*capture_locals* is ``True``) are no longer propagated to the caller."
msgstr ""
+"Las excepciones lanzadas desde :func:`repr` en una variable local (cuando "
+"*capture_locals* es ``True``) no son propagadas al invocador."
#: ../Doc/library/traceback.rst:388
msgid ""
@@ -711,20 +725,19 @@ msgstr "Este último ejemplo demuestra las últimas funciones de formateo:"
#: ../Doc/library/traceback.rst:17
msgid "object"
-msgstr ""
+msgstr "object"
#: ../Doc/library/traceback.rst:17
-#, fuzzy
msgid "traceback"
-msgstr "Ejemplos de seguimiento de pila"
+msgstr "traceback"
#: ../Doc/library/traceback.rst:57
msgid "^ (caret)"
-msgstr ""
+msgstr "^ (caret)"
#: ../Doc/library/traceback.rst:57
msgid "marker"
-msgstr ""
+msgstr "marker"
#~ msgid ""
#~ "The module uses traceback objects --- this is the object type that is "
From 1800d193a939b99089c3c5f918e1638b0558cc2a Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 3 Jan 2024 15:59:59 +0800
Subject: [PATCH 037/136] Bump tj-actions/changed-files from 40 to 41 in
/.github/workflows (#2789)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bumps
[tj-actions/changed-files](https://github.com/tj-actions/changed-files)
from 40 to 41.
Release notes
Sourced from tj-actions/changed-files's
releases.
v41
Changes in v41.0.1
What's Changed
Full Changelog: https://github.com/tj-actions/changed-files/compare/v41...v41.0.1
Changes in v41.0.0
🔥 🔥 BREAKING CHANGE 🔥 🔥
A new safe_output input is now available to prevent
outputting unsafe filename characters (Enabled by default). This would
escape characters in the filename that could be used for command
injection.
[!NOTE]
This can be disabled by setting the safe_output to false
this comes with a recommendation to store all outputs generated in an
environment variable first before using them.
Example
...
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v40
with:
safe_output: false # set to false because we are using an environment
variable to store the output and avoid command injection.
- name: List all added files
env:
ADDED_FILES: ${{ steps.changed-files.outputs.added_files }}
run: |
for file in "$ADDED_FILES"; do
echo "$file was added"
done
...
What's Changed
... (truncated)
Changelog
Sourced from tj-actions/changed-files's
changelog.
Changelog
41.0.1
- (2023-12-24)
🐛 Bug Fixes
- Update characters escaped by safe output (#1815)
(716b1e1)
- (Tonye Jack)
⚙️ Miscellaneous Tasks
- deps: Update dependency eslint-plugin-prettier to
v5.1.2 (7aaf10d)
- (renovate[bot])
⬆️ Upgrades
Co-authored-by: jackton1 jackton1@users.noreply.github.com
(cc08e17)
- (tj-actions[bot])
41.0.0
- (2023-12-23)
🐛 Bug Fixes
- Update safe output regex and the docs (#1805)
(ff2f6e6)
- (tj-actions[bot])
⏪ Reverts
- Revert "chore(deps): update actions/download-artifact action to
v4" (#1806)
(4f573fe)
- (Tonye Jack)
🔄 Update
- Update README.md (6e79d6e)
- (Tonye Jack)
- Update README.md (d13ac19)
- (Tonye Jack)
- Update README.md (bb89f97)
- (Tonye Jack)
- Updated README.md (#1810)
Co-authored-by: renovate[bot] (1864078)
- (tj-actions[bot])
(47371c5)
- (Tonye Jack)
📝 Other
- Merge pull request from GHSA-mcph-m25j-8j63
... (truncated)
Commits
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/python/python-docs-es/network/alerts).
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/main.yml | 2 +-
.github/workflows/pr-comment.yml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 2f404a9f51..39f1bf0011 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -52,7 +52,7 @@ jobs:
- name: Obtiene la lista de archivos .po con cambios (sólo en PRs)
if: github.event_name == 'pull_request'
id: changed-po-files
- uses: tj-actions/changed-files@v40
+ uses: tj-actions/changed-files@v41
with:
files: |
**/*.po
diff --git a/.github/workflows/pr-comment.yml b/.github/workflows/pr-comment.yml
index 8f52ea0dcb..c747f3f6b0 100644
--- a/.github/workflows/pr-comment.yml
+++ b/.github/workflows/pr-comment.yml
@@ -37,7 +37,7 @@ jobs:
python -m pip install -r base-branch/requirements.txt
- name: Obtiene lista de archivos con cambios
id: changed-files
- uses: tj-actions/changed-files@v40
+ uses: tj-actions/changed-files@v41
with:
files: |
**/*.po
From c5d3403397d93d2e3c6a9360b2df7dd58bf98404 Mon Sep 17 00:00:00 2001
From: Marcos Medrano <786907+mmmarcos@users.noreply.github.com>
Date: Wed, 3 Jan 2024 09:07:16 +0100
Subject: [PATCH 038/136] =?UTF-8?q?Corrijo=20error=20en=20un=20ejemplo=20d?=
=?UTF-8?q?e=20c=C3=B3digo=20(#2780)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Dejo el comando en inglés para que corresponda con la salida que se
muestra en:
https://docs.python.org/es/3.12/tutorial/stdlib.html#command-line-arguments
---
tutorial/stdlib.po | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tutorial/stdlib.po b/tutorial/stdlib.po
index 00d70a379d..a83843852e 100644
--- a/tutorial/stdlib.po
+++ b/tutorial/stdlib.po
@@ -97,8 +97,8 @@ msgid ""
"Here is the output from running ``python demo.py one two three`` at the "
"command line::"
msgstr ""
-"Este es el resultado de ejecutar ``python demo.py uno dos tres`` en la línea "
-"de comandos::"
+"Este es el resultado de ejecutar ``python demo.py one two three`` en la "
+"línea de comandos::"
#: ../Doc/tutorial/stdlib.rst:79
msgid ""
From 010c22946db2a667c7ac423f3665a83f34ac72e0 Mon Sep 17 00:00:00 2001
From: "Carlos A. Crespo"
Date: Wed, 3 Jan 2024 09:42:58 -0300
Subject: [PATCH 039/136] =?UTF-8?q?Traducci=C3=B3n=20tutorial/controlflow.?=
=?UTF-8?q?po=20(#2763)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
closes #2400
---
tutorial/controlflow.po | 82 ++++++++++++++++++++---------------------
1 file changed, 41 insertions(+), 41 deletions(-)
diff --git a/tutorial/controlflow.po b/tutorial/controlflow.po
index 4b391f7c65..fcb1b859f3 100644
--- a/tutorial/controlflow.po
+++ b/tutorial/controlflow.po
@@ -11,29 +11,28 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: 2022-11-19 23:09-0300\n"
+"PO-Revision-Date: 2023-11-28 12:03-0300\n"
"Last-Translator: Carlos A. Crespo \n"
-"Language: es\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
+"X-Generator: Poedit 3.0.1\n"
#: ../Doc/tutorial/controlflow.rst:5
msgid "More Control Flow Tools"
msgstr "Más herramientas para control de flujo"
#: ../Doc/tutorial/controlflow.rst:7
-#, fuzzy
msgid ""
"As well as the :keyword:`while` statement just introduced, Python uses a few "
"more that we will encounter in this chapter."
msgstr ""
"Además de la sentencia :keyword:`while` que acabamos de introducir, Python "
-"soporta las sentencias de control de flujo que podemos encontrar en otros "
-"lenguajes, con algunos cambios."
+"utiliza algunas más que encontraremos en este capítulo."
#: ../Doc/tutorial/controlflow.rst:14
msgid ":keyword:`!if` Statements"
@@ -192,43 +191,52 @@ msgstr ""
"bucles"
#: ../Doc/tutorial/controlflow.rst:166
-#, fuzzy
msgid ""
"The :keyword:`break` statement breaks out of the innermost enclosing :"
"keyword:`for` or :keyword:`while` loop."
msgstr ""
-"La sentencia :keyword:`break`, como en C, termina el bucle :keyword:`for` o :"
-"keyword:`while` más anidado."
+"La sentencia :keyword:`break` termina el bucle :keyword:`for` o :keyword:"
+"`while` más anidado."
#: ../Doc/tutorial/controlflow.rst:169
msgid ""
"A :keyword:`!for` or :keyword:`!while` loop can include an :keyword:`!else` "
"clause."
msgstr ""
+"Un bucle :keyword:`!for` o :keyword:`!while` puede incluir una cláusula :"
+"keyword:`!else`."
#: ../Doc/tutorial/controlflow.rst:171
msgid ""
"In a :keyword:`for` loop, the :keyword:`!else` clause is executed after the "
"loop reaches its final iteration."
msgstr ""
+"En un bucle :keyword:`for`, la cláusula :keyword:`!else` se ejecuta después "
+"de que el bucle alcance su iteración final."
#: ../Doc/tutorial/controlflow.rst:174
msgid ""
"In a :keyword:`while` loop, it's executed after the loop's condition becomes "
"false."
msgstr ""
+"En un bucle :keyword:`while`, se ejecuta después de que la condición del "
+"bucle se vuelva falsa."
#: ../Doc/tutorial/controlflow.rst:176
msgid ""
"In either kind of loop, the :keyword:`!else` clause is **not** executed if "
"the loop was terminated by a :keyword:`break`."
msgstr ""
+"En cualquier tipo de bucle, la cláusula :keyword:`!else` **no** se ejecuta "
+"si el bucle ha finalizado con :keyword:`break`."
#: ../Doc/tutorial/controlflow.rst:179
msgid ""
"This is exemplified in the following :keyword:`!for` loop, which searches "
"for prime numbers::"
msgstr ""
+"Esto se ejemplifica en el siguiente bucle :keyword:`!for`, que busca números "
+"primos::"
#: ../Doc/tutorial/controlflow.rst:200
msgid ""
@@ -403,13 +411,13 @@ msgstr ""
"\"(...)\" junto a ellos, como ``Point`` arriba)."
#: ../Doc/tutorial/controlflow.rst:352
-#, fuzzy
msgid ""
"Patterns can be arbitrarily nested. For example, if we have a short list of "
"Points, with ``__match_args__`` added, we could match it like this::"
msgstr ""
"Los patrones pueden anidarse arbitrariamente. Por ejemplo, si tuviéramos una "
-"lista corta de puntos, podríamos aplicar match así::"
+"lista corta de puntos, con ``__match_args__`` añadido, podríamos aplicar "
+"match así::"
#: ../Doc/tutorial/controlflow.rst:373
msgid ""
@@ -639,7 +647,6 @@ msgstr ""
"final de una función, también se retorna ``None``."
#: ../Doc/tutorial/controlflow.rst:530
-#, fuzzy
msgid ""
"The statement ``result.append(a)`` calls a *method* of the list object "
"``result``. A method is a function that 'belongs' to an object and is named "
@@ -653,16 +660,17 @@ msgid ""
"this example it is equivalent to ``result = result + [a]``, but more "
"efficient."
msgstr ""
-"La sentencia ``result.append(a)`` llama a un método del objeto lista "
+"La sentencia ``result.append(a)`` llama a un *método* del objeto lista "
"``result``. Un método es una función que 'pertenece' a un objeto y se nombra "
"``obj.methodname``, dónde ``obj`` es algún objeto (puede ser una expresión), "
"y ``methodname`` es el nombre del método que está definido por el tipo del "
"objeto. Distintos tipos definen distintos métodos. Métodos de diferentes "
"tipos pueden tener el mismo nombre sin causar ambigüedad. (Es posible "
-"definir tus propios tipos de objetos y métodos, usando clases, ver :ref:`tut-"
-"classes`). El método :meth:`append` mostrado en el ejemplo está definido "
-"para objetos lista; añade un nuevo elemento al final de la lista. En este "
-"ejemplo es equivalente a ``result = result + [a]``, pero más eficiente."
+"definir tus propios tipos de objetos y métodos, usando *clases*, ver :ref:"
+"`tut-classes`). El método :meth:`!append` mostrado en el ejemplo está "
+"definido para objetos lista; añade un nuevo elemento al final de la lista. "
+"En este ejemplo es equivalente a ``result = result + [a]``, pero más "
+"eficiente."
#: ../Doc/tutorial/controlflow.rst:545
msgid "More on Defining Functions"
@@ -1246,7 +1254,6 @@ msgstr ""
"pep:`3107` y :pep:`484` para más información)."
#: ../Doc/tutorial/controlflow.rst:1049
-#, fuzzy
msgid ""
":term:`Annotations ` are stored in the :attr:`!"
"__annotations__` attribute of the function as a dictionary and have no "
@@ -1258,7 +1265,7 @@ msgid ""
"a required argument, an optional argument, and the return value annotated::"
msgstr ""
"Las :term:`anotaciones ` se almacenan en el atributo :"
-"attr:`__annotations__` de la función como un diccionario y no tienen efecto "
+"attr:`!__annotations__` de la función como un diccionario y no tienen efecto "
"en ninguna otra parte de la función. Las anotaciones de los parámetros se "
"definen luego de dos puntos después del nombre del parámetro, seguido de una "
"expresión que evalúa al valor de la anotación. Las anotaciones de retorno "
@@ -1398,70 +1405,63 @@ msgstr ""
#: ../Doc/tutorial/controlflow.rst:48
msgid "statement"
-msgstr ""
+msgstr "statement"
#: ../Doc/tutorial/controlflow.rst:48
msgid "for"
-msgstr ""
+msgstr "for"
#: ../Doc/tutorial/controlflow.rst:451 ../Doc/tutorial/controlflow.rst:988
-#, fuzzy
msgid "documentation strings"
-msgstr "Cadenas de texto de documentación"
+msgstr "documentation strings"
#: ../Doc/tutorial/controlflow.rst:451 ../Doc/tutorial/controlflow.rst:988
-#, fuzzy
msgid "docstrings"
-msgstr "Usar ``docstrings``."
+msgstr "docstrings"
#: ../Doc/tutorial/controlflow.rst:451 ../Doc/tutorial/controlflow.rst:988
-#, fuzzy
msgid "strings, documentation"
-msgstr "Cadenas de texto de documentación"
+msgstr "strings, documentation"
#: ../Doc/tutorial/controlflow.rst:892
msgid "* (asterisk)"
-msgstr ""
+msgstr "* (asterisco)"
#: ../Doc/tutorial/controlflow.rst:892 ../Doc/tutorial/controlflow.rst:936
-#, fuzzy
msgid "in function calls"
-msgstr "Ejemplos de Funciones"
+msgstr "in function calls"
#: ../Doc/tutorial/controlflow.rst:936
msgid "**"
-msgstr ""
+msgstr "**"
#: ../Doc/tutorial/controlflow.rst:1040
-#, fuzzy
msgid "function"
-msgstr "Ejemplos de Funciones"
+msgstr "function"
#: ../Doc/tutorial/controlflow.rst:1040
-#, fuzzy
msgid "annotations"
-msgstr "Anotación de funciones"
+msgstr "annotations"
#: ../Doc/tutorial/controlflow.rst:1040
msgid "->"
-msgstr ""
+msgstr "->"
#: ../Doc/tutorial/controlflow.rst:1040
-#, fuzzy
msgid "function annotations"
-msgstr "Anotación de funciones"
+msgstr "function annotations"
#: ../Doc/tutorial/controlflow.rst:1040
msgid ": (colon)"
-msgstr ""
+msgstr ": (dos puntos)"
#: ../Doc/tutorial/controlflow.rst:1074
msgid "coding"
-msgstr ""
+msgstr "coding"
#: ../Doc/tutorial/controlflow.rst:1074
msgid "style"
-msgstr ""
+msgstr "style"
#~ msgid ""
#~ "Loop statements may have an :keyword:`!else` clause; it is executed when "
From 1729986b08a6c565d80a994d52bed40d9dba8e03 Mon Sep 17 00:00:00 2001
From: Carlos Mena <50986837+carlosm00@users.noreply.github.com>
Date: Fri, 5 Jan 2024 12:14:41 +0100
Subject: [PATCH 040/136] Traducido archivo library/msilib.po (#2791)
Closes #2553
---
library/msilib.po | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/library/msilib.po b/library/msilib.po
index 2ace5ffad3..64dc5939a1 100644
--- a/library/msilib.po
+++ b/library/msilib.po
@@ -854,4 +854,4 @@ msgstr ""
#: ../Doc/library/msilib.rst:14
msgid "msi"
-msgstr ""
+msgstr "msi"
From dc412d3a1fc2c065a119da37d42270d30d64decf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Carlos=20=C3=81lvarez?=
Date: Fri, 5 Jan 2024 12:18:46 +0100
Subject: [PATCH 041/136] Traducido archivo library/cgi.po (#2770)
Closes #2580
---
library/cgi.po | 30 ++++++++++++++----------------
1 file changed, 14 insertions(+), 16 deletions(-)
diff --git a/library/cgi.po b/library/cgi.po
index f56b019aeb..5b5ab46cb6 100644
--- a/library/cgi.po
+++ b/library/cgi.po
@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: 2022-12-20 23:03+0800\n"
+"PO-Revision-Date: 2023-12-24 11:45+0100\n"
"Last-Translator: Rodrigo Tobar \n"
-"Language: es\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
+"X-Generator: Poedit 3.0.1\n"
#: ../Doc/library/cgi.rst:2
msgid ":mod:`cgi` --- Common Gateway Interface support"
@@ -77,7 +78,6 @@ msgstr ""
"que el tamaño de las solicitudes es ilimitado."
#: ../Doc/includes/wasm-notavail.rst:3
-#, fuzzy
msgid ":ref:`Availability `: not Emscripten, not WASI."
msgstr ":ref:`Disponibilidad `: no Emscripten, no WASI."
@@ -1034,47 +1034,45 @@ msgstr ""
#: ../Doc/library/cgi.rst:10
msgid "WWW"
-msgstr ""
+msgstr "WWW"
#: ../Doc/library/cgi.rst:10
msgid "server"
-msgstr ""
+msgstr "server"
#: ../Doc/library/cgi.rst:10 ../Doc/library/cgi.rst:389
#: ../Doc/library/cgi.rst:462
msgid "CGI"
-msgstr ""
+msgstr "CGI"
#: ../Doc/library/cgi.rst:10
msgid "protocol"
-msgstr ""
+msgstr "protocol"
#: ../Doc/library/cgi.rst:10
msgid "HTTP"
-msgstr ""
+msgstr "HTTP"
#: ../Doc/library/cgi.rst:10
msgid "MIME"
-msgstr ""
+msgstr "MIME"
#: ../Doc/library/cgi.rst:10
msgid "headers"
-msgstr ""
+msgstr "headers"
#: ../Doc/library/cgi.rst:10
msgid "URL"
-msgstr ""
+msgstr "URL"
#: ../Doc/library/cgi.rst:10
-#, fuzzy
msgid "Common Gateway Interface"
msgstr ":mod:`cgi` --- Soporte de Interfaz de Entrada Común (CGI)"
#: ../Doc/library/cgi.rst:389
msgid "security"
-msgstr ""
+msgstr "security"
#: ../Doc/library/cgi.rst:462
-#, fuzzy
msgid "debugging"
-msgstr "Depurando scripts de CGI"
+msgstr "debugging"
From e43a7c9536cef76c26ac3fe44dbc821c895a1f7b Mon Sep 17 00:00:00 2001
From: Rodrigo Poblete
Date: Fri, 5 Jan 2024 09:44:45 -0300
Subject: [PATCH 042/136] Traducido archivo reference/executionmodel (#2721)
Closes #2641
---
reference/executionmodel.po | 168 +++++++++++++++++++++++-------------
1 file changed, 107 insertions(+), 61 deletions(-)
diff --git a/reference/executionmodel.po b/reference/executionmodel.po
index c7c320b0d4..596a6fceb7 100644
--- a/reference/executionmodel.po
+++ b/reference/executionmodel.po
@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: 2023-02-26 14:02-0300\n"
+"PO-Revision-Date: 2023-11-11 16:50-0300\n"
"Last-Translator: Francisco Mora \n"
-"Language: es\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
+"X-Generator: Poedit 3.4\n"
#: ../Doc/reference/executionmodel.rst:6
msgid "Execution model"
@@ -134,13 +135,12 @@ msgid ":keyword:`import` statements."
msgstr "declaraciones :keyword:`import`."
#: ../Doc/reference/executionmodel.rst:74
-#, fuzzy
msgid ":keyword:`type` statements."
-msgstr "declaraciones :keyword:`import`."
+msgstr "declaraciones :keyword:`type`."
#: ../Doc/reference/executionmodel.rst:75
msgid ":ref:`type parameter lists `."
-msgstr ""
+msgstr ":ref:`listas tipo de parámetros `."
#: ../Doc/reference/executionmodel.rst:77
msgid ""
@@ -237,7 +237,6 @@ msgstr ""
"`UnboundLocalError` es una subclase de :exc:`NameError`."
#: ../Doc/reference/executionmodel.rst:127
-#, fuzzy
msgid ""
"If a name binding operation occurs anywhere within a code block, all uses of "
"the name within the block are treated as references to the current block. "
@@ -256,7 +255,8 @@ msgstr ""
"operaciones de vinculación de nombres ocurran en cualquier lugar dentro del "
"bloque de código. Las variables locales de un bloque de código pueden "
"determinarse buscando operaciones de vinculación de nombres en el texto "
-"completo del bloque."
+"completo del bloque. Ver :ref:`la entrada del FAQ sobre UnboundLocalError "
+"` para ejemplos."
#: ../Doc/reference/executionmodel.rst:136
msgid ""
@@ -294,7 +294,6 @@ msgstr ""
"variable libre como global."
#: ../Doc/reference/executionmodel.rst:151
-#, fuzzy
msgid ""
"The :keyword:`nonlocal` statement causes corresponding names to refer to "
"previously bound variables in the nearest enclosing function scope. :exc:"
@@ -306,7 +305,8 @@ msgstr ""
"refieran a variables previamente vinculadas en el ámbito de la función de "
"cierre más cercano. Se lanza un :exc:`SyntaxError` en tiempo de compilación "
"si el nombre dado no existe en ningún ámbito de las funciones dentro de las "
-"cuales está."
+"cuales está. :ref:`Parámetros de tipo ` no puede recuperarse "
+"con la sentencia :keyword:`!nonlocal`."
#: ../Doc/reference/executionmodel.rst:159
msgid ""
@@ -318,7 +318,6 @@ msgstr ""
"siempre se llama :mod:`__main__`."
#: ../Doc/reference/executionmodel.rst:162
-#, fuzzy
msgid ""
"Class definition blocks and arguments to :func:`exec` and :func:`eval` are "
"special in the context of name resolution. A class definition is an "
@@ -341,17 +340,17 @@ msgstr ""
"definición de clase se vuelve el diccionario de atributos de la clase. El "
"ámbito de nombres definido en un bloque de clase está limitado a dicho "
"bloque; no se extiende a los bloques de código de los métodos. Esto incluye "
-"las comprensiones y las expresiones generadoras (*generator expressions*), "
-"dado que están implementadas usando el alcance de función. Esto implica que "
-"lo siguiente fallará::"
+"las comprensiones y las expresiones generadoras pero no incluye :ref:"
+"`annotation scopes `, que tienen acceso a sus ámbitos de "
+"clase adjuntos. Esto significa que lo siguiente fallará::"
#: ../Doc/reference/executionmodel.rst:179
msgid "However, the following will succeed::"
-msgstr ""
+msgstr "Sin embargo. lo siguiente tendrá éxito::"
#: ../Doc/reference/executionmodel.rst:190
msgid "Annotation scopes"
-msgstr ""
+msgstr "Ámbitos de anotación"
#: ../Doc/reference/executionmodel.rst:192
msgid ""
@@ -361,15 +360,23 @@ msgid ""
"currently do not use annotation scopes, but they are expected to use "
"annotation scopes in Python 3.13 when :pep:`649` is implemented."
msgstr ""
+":ref:`Las listas de tipo de parámetros ` y las declaraciones :"
+"keyword:`type` introducen *ámbitos de anotación*, que se comportan "
+"principalmente como ámbitos de funciones, pero con algunas excepciones que "
+"se analizan a continuación. :term:`Annotations ` actualmente no "
+"usan alcances de anotación, pero se espera que los usen en Python 3.13 "
+"cuando se implemente :pep:`649`."
#: ../Doc/reference/executionmodel.rst:198
msgid "Annotation scopes are used in the following contexts:"
-msgstr ""
+msgstr "Los ámbitos de anotación se utilizan en los siguientes contextos:"
#: ../Doc/reference/executionmodel.rst:200
msgid ""
"Type parameter lists for :ref:`generic type aliases `."
msgstr ""
+"Listas de tipo de parámetros para :ref:`generic type aliases `."
#: ../Doc/reference/executionmodel.rst:201
msgid ""
@@ -377,6 +384,9 @@ msgid ""
"generic function's annotations are executed within the annotation scope, but "
"its defaults and decorators are not."
msgstr ""
+"Escriba listas de parámetros para :ref:`generic functions `. Las anotaciones de una función genérica se ejecutan dentro del "
+"alcance de la anotación, pero sus valores predeterminados y decoradores no."
#: ../Doc/reference/executionmodel.rst:204
msgid ""
@@ -384,20 +394,27 @@ msgid ""
"class's base classes and keyword arguments are executed within the "
"annotation scope, but its decorators are not."
msgstr ""
+"Tipo de parámetros de listas para :ref:`generic classes `. "
+"Las clases base y los argumentos de palabra clave de una clase genérica se "
+"ejecutan dentro del ámbito de la anotación, pero sus decoradores no."
#: ../Doc/reference/executionmodel.rst:207
msgid ""
"The bounds and constraints for type variables (:ref:`lazily evaluated `)."
msgstr ""
+"Los límites y restricciones de las variables de tipo (:ref:`lazily evaluated "
+"`)."
#: ../Doc/reference/executionmodel.rst:209
msgid "The value of type aliases (:ref:`lazily evaluated `)."
msgstr ""
+"El valor de los alias de tipo (:ref:`lazy evaluated `)."
#: ../Doc/reference/executionmodel.rst:211
msgid "Annotation scopes differ from function scopes in the following ways:"
msgstr ""
+"Los ámbitos de anotación difieren de los ámbitos de función en lo siguiente:"
#: ../Doc/reference/executionmodel.rst:213
msgid ""
@@ -409,6 +426,14 @@ msgid ""
"functions defined within classes, which cannot access names defined in the "
"class scope."
msgstr ""
+"Los ámbitos de anotación tienen acceso al espacio de nombres de la clase que "
+"los rodea. Si un ámbito de anotación está inmediatamente dentro de un ámbito "
+"de clase, o dentro de otro ámbito de anotación que está inmediatamente "
+"dentro de un ámbito de clase, el código en el ámbito de anotación puede "
+"utilizar nombres definidos en el ámbito de clase como si se ejecutara "
+"directamente dentro del cuerpo de la clase. Esto contrasta con las funciones "
+"normales definidas dentro de las clases, que no pueden acceder a los nombres "
+"definidos en el ámbito de la clase."
#: ../Doc/reference/executionmodel.rst:219
msgid ""
@@ -417,6 +442,10 @@ msgid ""
"assignment_expression>` expressions. (These expressions are allowed in other "
"scopes contained within the annotation scope.)"
msgstr ""
+"Las expresiones en ámbitos de anotación no pueden contener expresiones :"
+"keyword:`yield`, ``yield from``, :keyword:`await`, o :token:`:= `. (Estas expresiones están permitidas en "
+"otros ámbitos contenidos dentro del ámbito de la anotación)."
#: ../Doc/reference/executionmodel.rst:223
msgid ""
@@ -425,6 +454,10 @@ msgid ""
"as no other syntactic elements that can appear within annotation scopes can "
"introduce new names."
msgstr ""
+"Los nombres definidos en ámbitos de anotación no pueden recuperarse con "
+"sentencias :keyword:`nonlocal` en ámbitos internos. Esto incluye sólo "
+"parámetros de tipo, ya que ningún otro elemento sintáctico que pueda "
+"aparecer dentro de ámbitos de anotación puede introducir nuevos nombres."
#: ../Doc/reference/executionmodel.rst:226
msgid ""
@@ -433,14 +466,20 @@ msgid ""
"scope. Instead, the :attr:`!__qualname__` of such objects is as if the "
"object were defined in the enclosing scope."
msgstr ""
+"Aunque los ámbitos de anotación tienen un nombre interno, ese nombre no se "
+"refleja en el :term:`__qualname__ ` de los objetos definidos "
+"dentro del ámbito. En su lugar, el :attr:`!__qualname__` de dichos objetos "
+"es como si el objeto estuviera definido en el ámbito que lo encierra."
#: ../Doc/reference/executionmodel.rst:231
msgid "Annotation scopes were introduced in Python 3.12 as part of :pep:`695`."
msgstr ""
+"Los ámbitos de anotación se introdujeron en Python 3.12 como parte de :pep:"
+"`695`."
#: ../Doc/reference/executionmodel.rst:237
msgid "Lazy evaluation"
-msgstr ""
+msgstr "Evaluación perezosa"
#: ../Doc/reference/executionmodel.rst:239
msgid ""
@@ -451,16 +490,24 @@ msgid ""
"is created. Instead, they are only evaluated when doing so is necessary to "
"resolve an attribute access."
msgstr ""
+"Los valores de los alias de tipo creados mediante la sentencia :keyword:"
+"`type` se *evalúan rápidamente*. Lo mismo se aplica a los límites y "
+"restricciones de las variables de tipo creadas mediante la sintaxis de "
+"parámetros :ref:`type `. Esto significa que no se evalúan "
+"cuando se crea el alias de tipo o la variable de tipo. En su lugar, sólo se "
+"evalúan cuando es necesario para resolver el acceso a un atributo."
#: ../Doc/reference/executionmodel.rst:246
msgid "Example:"
-msgstr ""
+msgstr "Ejemplo:"
#: ../Doc/reference/executionmodel.rst:262
msgid ""
"Here the exception is raised only when the ``__value__`` attribute of the "
"type alias or the ``__bound__`` attribute of the type variable is accessed."
msgstr ""
+"Aquí la excepción se lanza sólo cuando se accede al atributo ``__value__`` "
+"del alias de tipo o al atributo ``__bound__`` de la variable de tipo."
#: ../Doc/reference/executionmodel.rst:266
msgid ""
@@ -468,6 +515,10 @@ msgid ""
"been defined when the type alias or type variable is created. For example, "
"lazy evaluation enables creation of mutually recursive type aliases::"
msgstr ""
+"Este comportamiento es útil principalmente para referencias a tipos que aún "
+"no se han definido cuando se crea el alias de tipo o la variable de tipo. "
+"Por ejemplo, la evaluación perezosa permite la creación de alias de tipo "
+"mutuamente recursivos::"
#: ../Doc/reference/executionmodel.rst:276
msgid ""
@@ -475,6 +526,10 @@ msgid ""
"scopes>`, which means that names that appear inside the lazily evaluated "
"value are looked up as if they were used in the immediately enclosing scope."
msgstr ""
+"Los valores evaluados perezosamente se evalúan en :ref:`annotation scope "
+"`, lo que significa que los nombres que aparecen dentro "
+"del valor evaluado se buscan como si se utilizaran en el ámbito "
+"inmediatamente adyacente."
#: ../Doc/reference/executionmodel.rst:285
msgid "Builtins and restricted execution"
@@ -608,7 +663,6 @@ msgstr ""
"es :exc:`SystemExit`."
#: ../Doc/reference/executionmodel.rst:370
-#, fuzzy
msgid ""
"Exceptions are identified by class instances. The :keyword:`except` clause "
"is selected depending on the class of the instance: it must reference the "
@@ -616,11 +670,12 @@ msgid ""
"class>` thereof. The instance can be received by the handler and can carry "
"additional information about the exceptional condition."
msgstr ""
-"Las excepciones están identificadas por instancias de clase. Se selecciona "
-"la cláusula :keyword:`except` dependiendo de la clase de la instancia: debe "
-"referenciar a la clase de la instancia o a una clase base de la misma. La "
-"instancia puede ser recibida por el gestor y puede contener información "
-"adicional acerca de la condición excepcional."
+"Las excepciones se identifican mediante instancias de clase. La cláusula :"
+"keyword:`except` se selecciona en función de la clase de la instancia: debe "
+"hacer referencia a la clase de la instancia o a un :term:`non-virtual base "
+"class ` de la misma. La instancia puede ser recibida "
+"por el manejador y puede llevar información adicional sobre la condición "
+"excepcional."
#: ../Doc/reference/executionmodel.rst:378
msgid ""
@@ -655,120 +710,111 @@ msgstr ""
"está disponible en el momento en que se compila el módulo."
#: ../Doc/reference/executionmodel.rst:8
-#, fuzzy
msgid "execution model"
-msgstr "Modelo de ejecución"
+msgstr "modelo de ejecución"
#: ../Doc/reference/executionmodel.rst:8
msgid "code"
-msgstr ""
+msgstr "código"
#: ../Doc/reference/executionmodel.rst:8 ../Doc/reference/executionmodel.rst:17
msgid "block"
-msgstr ""
+msgstr "bloque"
#: ../Doc/reference/executionmodel.rst:31
#: ../Doc/reference/executionmodel.rst:287
-#, fuzzy
msgid "execution"
-msgstr "Modelo de ejecución"
+msgstr "ejecución"
#: ../Doc/reference/executionmodel.rst:31
msgid "frame"
-msgstr ""
+msgstr "marco"
#: ../Doc/reference/executionmodel.rst:42
msgid "namespace"
-msgstr ""
+msgstr "espacio de nombre"
#: ../Doc/reference/executionmodel.rst:42
#: ../Doc/reference/executionmodel.rst:103
msgid "scope"
-msgstr ""
+msgstr "ámbito"
#: ../Doc/reference/executionmodel.rst:51
msgid "name"
-msgstr ""
+msgstr "nombre"
#: ../Doc/reference/executionmodel.rst:51
-#, fuzzy
msgid "binding"
-msgstr "Vinculación de nombres"
+msgstr "vinculación de nombres"
#: ../Doc/reference/executionmodel.rst:57
msgid "from"
-msgstr ""
+msgstr "de"
#: ../Doc/reference/executionmodel.rst:57
-#, fuzzy
msgid "import statement"
-msgstr "declaraciones :keyword:`import`."
+msgstr "declaración de importación"
#: ../Doc/reference/executionmodel.rst:87
msgid "free"
-msgstr ""
+msgstr "libre"
#: ../Doc/reference/executionmodel.rst:87
msgid "variable"
-msgstr ""
+msgstr "variable"
#: ../Doc/reference/executionmodel.rst:111
msgid "environment"
-msgstr ""
+msgstr "ambiente"
#: ../Doc/reference/executionmodel.rst:117
msgid "NameError (built-in exception)"
-msgstr ""
+msgstr "NameError (excepción incorporada)"
#: ../Doc/reference/executionmodel.rst:117
msgid "UnboundLocalError"
-msgstr ""
+msgstr "UnboundLocalError"
#: ../Doc/reference/executionmodel.rst:157
msgid "module"
-msgstr ""
+msgstr "módulo"
#: ../Doc/reference/executionmodel.rst:157
msgid "__main__"
-msgstr ""
+msgstr "__main__"
#: ../Doc/reference/executionmodel.rst:287
msgid "restricted"
-msgstr ""
+msgstr "restringido"
#: ../Doc/reference/executionmodel.rst:334
-#, fuzzy
msgid "exception"
-msgstr "Excepciones"
+msgstr "excepciones"
#: ../Doc/reference/executionmodel.rst:336
-#, fuzzy
msgid "raise an exception"
-msgstr "Excepciones"
+msgstr "lanzar una excepción"
#: ../Doc/reference/executionmodel.rst:336
-#, fuzzy
msgid "handle an exception"
-msgstr "Excepciones"
+msgstr "gestionar una excepción"
#: ../Doc/reference/executionmodel.rst:336
-#, fuzzy
msgid "exception handler"
-msgstr "Excepciones"
+msgstr "gestor de excepciones"
#: ../Doc/reference/executionmodel.rst:336
msgid "errors"
-msgstr ""
+msgstr "errores"
#: ../Doc/reference/executionmodel.rst:336
msgid "error handling"
-msgstr ""
+msgstr "manejo de errores"
#: ../Doc/reference/executionmodel.rst:357
-#, fuzzy
msgid "termination model"
-msgstr "Modelo de ejecución"
+msgstr "modelo de finalización"
#: ../Doc/reference/executionmodel.rst:364
msgid "SystemExit (built-in exception)"
-msgstr ""
+msgstr "SystemExit (excepción incorporada)"
From 144f5393ca35e3a0bef91a8d88e26fe01e4435c9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mateo=20C=C3=A1mara?=
Date: Fri, 5 Jan 2024 14:05:28 +0100
Subject: [PATCH 043/136] Traducido archivo library/zipfile (#2777)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Incluída la traducción al español de library/zipfile. He incluído mi
nombre también en TRANSLATORS. Es mi primera pull-request, por lo que es
probable que haya cometido algún error. Agradecería mucho feedback en
este sentido.
Saludos!
Closes #2579
---------
Co-authored-by: Mateo
Co-authored-by: rtobar
Co-authored-by: Cristián Maureira-Fredes
Co-authored-by: Cristián Maureira-Fredes
---
TRANSLATORS | 1 +
library/zipfile.po | 107 ++++++++++++++++++++++++---------------------
2 files changed, 57 insertions(+), 51 deletions(-)
diff --git a/TRANSLATORS b/TRANSLATORS
index 52fad55e42..72e4eabfa3 100644
--- a/TRANSLATORS
+++ b/TRANSLATORS
@@ -180,6 +180,7 @@ María José Molina Contreras (@mjmolina)
María Saiz Muñoz (@mariasm87)
Martín Gaitán (@mgaitan)
Martín Ramírez (@tinchoram)
+Mateo Cámara (@MateoCamara)
Matias Bordese (@matiasb)
Melissa Escobar Gutiérrez (@MelissaEscobar)
Miguel Ángel
diff --git a/library/zipfile.po b/library/zipfile.po
index f9bf3aa167..99755c9e99 100644
--- a/library/zipfile.po
+++ b/library/zipfile.po
@@ -11,24 +11,24 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: 2021-12-15 22:34-0500\n"
+"PO-Revision-Date: 2023-12-13 09:46+0100\n"
"Last-Translator: Adolfo Hristo David Roque Gámez \n"
-"Language: es_CO\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es_CO\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
+"X-Generator: Poedit 3.4.1\n"
#: ../Doc/library/zipfile.rst:2
msgid ":mod:`zipfile` --- Work with ZIP archives"
msgstr ":mod:`zipfile` --- Trabajar con archivos ZIP"
#: ../Doc/library/zipfile.rst:10
-#, fuzzy
msgid "**Source code:** :source:`Lib/zipfile/`"
-msgstr "**Source code:** :source:`Lib/zipfile.py`"
+msgstr "**Código fuente:** :source:`Lib/zipfile/`"
#: ../Doc/library/zipfile.rst:14
msgid ""
@@ -94,6 +94,9 @@ msgid ""
"Path`, including the full :class:`importlib.resources.abc.Traversable` "
"interface."
msgstr ""
+"Clase que implementa un subconjunto de la interfaz proporcionada por :class:"
+"`pathlib.Path`, incluyendo la interfaz completa :class:`importlib.resources."
+"abc.Traversable`."
#: ../Doc/library/zipfile.rst:68
msgid "Class for creating ZIP archives containing Python libraries."
@@ -188,9 +191,8 @@ msgstr ""
"formato y los algoritmos utilizados."
#: ../Doc/library/zipfile.rst:132
-#, fuzzy
msgid "`Info-ZIP Home Page `_"
-msgstr "`Info-ZIP Home Page `_"
+msgstr "`Página principal de Info-ZIP `_"
#: ../Doc/library/zipfile.rst:132
msgid ""
@@ -332,6 +334,9 @@ msgid ""
"*metadata_encoding* is an instance-wide setting for the ZipFile. It is not "
"currently possible to set this on a per-member basis."
msgstr ""
+"*metadata_encoding* es una configuración que se aplica a todas las "
+"instancias de ZipFile. Actualmente no es posible establecerlo "
+"individualmente para cada miembro."
#: ../Doc/library/zipfile.rst:208
msgid ""
@@ -397,9 +402,9 @@ msgid ""
"Added support for specifying member name encoding for reading metadata in "
"the zipfile's directory and file headers."
msgstr ""
-"Soporte agregado para especificar el nombre del miembro de codificación para "
-"leer metadata tanto el directorio del archivo zip como en las cabeceras de "
-"éstos"
+"Se ha añadido soporte para especificar la codificación del nombre del "
+"miembro para leer metadatos en las cabeceras de directorio y archivo del "
+"archivo zip."
#: ../Doc/library/zipfile.rst:249
msgid ""
@@ -434,7 +439,6 @@ msgid "Return a list of archive members by name."
msgstr "Retorna una lista de miembros del archivo por nombre."
#: ../Doc/library/zipfile.rst:274
-#, fuzzy
msgid ""
"Access a member of the archive as a binary file-like object. *name* can be "
"either the name of a file within the archive or a :class:`ZipInfo` object. "
@@ -442,11 +446,12 @@ msgid ""
"``'w'``. *pwd* is the password used to decrypt encrypted ZIP files as a :"
"class:`bytes` object."
msgstr ""
-"Acceda a un miembro del archivo como un objeto binario similar a un archivo. "
-"*name* puede ser el nombre de un archivo dentro del archivo o un objeto :"
-"class:`ZipInfo`. El parámetro *mode*, si está incluido, debe ser ``'r'`` (el "
-"valor predeterminado) o ``'w'``. *pwd* es la contraseña utilizada para "
-"descifrar archivos ZIP cifrados."
+"Acceda a un miembro del archivo comprimido como un objeto binario similar a "
+"un archivo. *name* puede ser el nombre de un archivo dentro del archivo "
+"comprimido o un objeto :class:`ZipInfo`. El parámetro *mode*, si está "
+"incluido, debe ser ``'r'`` (el valor predeterminado) o ``'w'``. *pwd* es la "
+"contraseña utilizada para descifrar archivos ZIP encriptados como un objeto :"
+"class:`bytes`."
#: ../Doc/library/zipfile.rst:280
msgid ""
@@ -457,7 +462,6 @@ msgstr ""
"tanto, soporta :keyword:`with` ``statement``::"
#: ../Doc/library/zipfile.rst:287
-#, fuzzy
msgid ""
"With *mode* ``'r'`` the file-like object (``ZipExtFile``) is read-only and "
"provides the following methods: :meth:`~io.BufferedIOBase.read`, :meth:`~io."
@@ -468,9 +472,9 @@ msgstr ""
"Con *mode* ``'r'``, el objeto tipo archivo (``ZipExtFile``) es de solo "
"lectura y proporciona los siguientes métodos: :meth:`~io.BufferedIOBase."
"read`, :meth:`~io.IOBase.readline`, :meth:`~io.IOBase.readlines`, :meth:`~io."
-"IOBase.seek`, :meth:`~io.IOBase.tell`, :meth:`__iter__`, :meth:`~iterator ."
-"__ next__`. Estos objetos pueden funcionar independientemente del archivo "
-"Zip."
+"IOBase.seek`, :meth:`~io.IOBase.tell`, :meth:`~container.__iter__`, :meth:"
+"`~iterator.__ next__`. Estos objetos pueden funcionar independientemente del "
+"archivo Zip."
#: ../Doc/library/zipfile.rst:294
msgid ""
@@ -518,13 +522,12 @@ msgstr ""
"leer archivos de texto comprimido en modo :term:`universal newlines`."
#: ../Doc/library/zipfile.rst:315
-#, fuzzy
msgid ""
":meth:`ZipFile.open` can now be used to write files into the archive with "
"the ``mode='w'`` option."
msgstr ""
-":meth:`open` ahora se puede usar para escribir archivos en el archivo con la "
-"opción ``mode='w'``."
+":meth:`ZipFile.open` ahora se puede usar para escribir archivos en el "
+"archivo comprimido con la opción ``mode='w'``."
#: ../Doc/library/zipfile.rst:319
msgid ""
@@ -535,7 +538,6 @@ msgstr ""
"Anteriormente, se planteó a :exc:`RuntimeError`."
#: ../Doc/library/zipfile.rst:326
-#, fuzzy
msgid ""
"Extract a member from the archive to the current working directory; *member* "
"must be its full name or a :class:`ZipInfo` object. Its file information is "
@@ -543,12 +545,12 @@ msgid ""
"to extract to. *member* can be a filename or a :class:`ZipInfo` object. "
"*pwd* is the password used for encrypted files as a :class:`bytes` object."
msgstr ""
-"Extraer un miembro del archivo al directorio de trabajo actual; *member* "
-"debe ser su nombre completo o un objeto :class:`ZipInfo`. La información de "
-"su archivo se extrae con la mayor precisión posible. *path* especifica un "
-"directorio diferente para extraer. *member* puede ser un nombre de archivo o "
-"un objeto :class:`ZipInfo`. *pwd* es la contraseña utilizada para archivos "
-"cifrados."
+"Extraer un miembro del archivo comprimido al directorio de trabajo actual; "
+"*member* debe ser su nombre completo o un objeto :class:`ZipInfo`. La "
+"información de su archivo se extrae con la mayor precisión posible. *path* "
+"especifica un directorio diferente para extraer. *member* puede ser un "
+"nombre de archivo o un objeto :class:`ZipInfo`. *pwd* es la contraseña "
+"utilizada para archivos encriptados como un objeto :class:`bytes`."
#: ../Doc/library/zipfile.rst:332
msgid "Returns the normalized path created (a directory or new file)."
@@ -586,17 +588,17 @@ msgid "The *path* parameter accepts a :term:`path-like object`."
msgstr "El parámetro *path* acepta un :term:`path-like object`."
#: ../Doc/library/zipfile.rst:354
-#, fuzzy
msgid ""
"Extract all members from the archive to the current working directory. "
"*path* specifies a different directory to extract to. *members* is optional "
"and must be a subset of the list returned by :meth:`namelist`. *pwd* is the "
"password used for encrypted files as a :class:`bytes` object."
msgstr ""
-"Extrae todos los miembros del archivo al directorio de trabajo actual. "
-"*path* especifica un directorio diferente para extraer. *members* es "
-"opcional y debe ser un subconjunto de la lista retornada por :meth:"
-"`namelist`. *pwd* es la contraseña utilizada para archivos cifrados."
+"Extrae todos los miembros del archivo comprimido al directorio de trabajo "
+"actual. *path* especifica un directorio diferente para extraer. *members* es "
+"opcional y debe ser un subconjunto de la lista devuelta por :meth:"
+"`namelist`. *pwd* es la contraseña utilizada para archivos encriptados como "
+"un objeto :class:`bytes`."
#: ../Doc/library/zipfile.rst:361
msgid ""
@@ -624,16 +626,14 @@ msgid "Print a table of contents for the archive to ``sys.stdout``."
msgstr "Imprime una tabla de contenido para el archivo en ``sys.stdout``."
#: ../Doc/library/zipfile.rst:382
-#, fuzzy
msgid ""
"Set *pwd* (a :class:`bytes` object) as default password to extract encrypted "
"files."
msgstr ""
-"Establece *pwd* como contraseña predeterminada para extraer archivos "
-"cifrados."
+"Establece *pwd* (un objeto :class:`bytes`) como contraseña predeterminada "
+"para extraer archivos encriptados."
#: ../Doc/library/zipfile.rst:387
-#, fuzzy
msgid ""
"Return the bytes of the file *name* in the archive. *name* is the name of "
"the file in the archive, or a :class:`ZipInfo` object. The archive must be "
@@ -645,15 +645,16 @@ msgid ""
"`NotImplementedError`. An error will also be raised if the corresponding "
"compression module is not available."
msgstr ""
-"Retorna los bytes del archivo *name* en el archivo. *name* es el nombre del "
-"archivo en el archivo, o un objeto :class:`ZipInfo`. El archivo debe estar "
-"abierto para leer o agregar. *pwd* es la contraseña utilizada para los "
-"archivos cifrados y, si se especifica, anulará la contraseña predeterminada "
-"establecida con :meth:`setpassword`. Llamar a :meth:`read` en un archivo Zip "
-"que utiliza un método de compresión que no sea :const:`ZIP_STORED`, :const:"
-"`ZIP_DEFLATED`, :const:`ZIP_BZIP2` o :const:`ZIP_LZMA` lanzará un :exc:"
-"`NotImplementedError`. También se lanzará un error si el módulo de "
-"compresión correspondiente no está disponible."
+"Retorna los bytes del archivo *name* en el archivo comprimido. *name* es el "
+"nombre del archivo en el archivo comprimido, o un objeto :class:`ZipInfo`. "
+"El archivo comprimido debe estar abierto para lectura o añadidura. *pwd* es "
+"la contraseña utilizada para los archivos encriptados como un objeto :class:"
+"`bytes` y, si se especifica, anula la contraseña predeterminada establecida "
+"con :meth:`setpassword`. Llamar a :meth:`read` en un ZipFile que utiliza un "
+"método de compresión que no sea :const:`ZIP_STORED`, :const:`ZIP_DEFLATED`, :"
+"const:`ZIP_BZIP2` o :const:`ZIP_LZMA` lanzará un :exc:`NotImplementedError`. "
+"También se lanzará un error si el módulo de compresión correspondiente no "
+"está disponible."
#: ../Doc/library/zipfile.rst:396
msgid ""
@@ -922,6 +923,11 @@ msgid ""
"compatible with unpatched 3.10 and 3.11 versions must pass all :class:`io."
"TextIOWrapper` arguments, ``encoding`` included, as keywords."
msgstr ""
+"El parámetro ``encoding`` puede proporcionarse como un argumento posicional "
+"sin causar un :exc:`TypeError`. Tal y como podía ocurrir en la versión 3.9. "
+"El código que necesite ser compatible con versiones no parcheadas 3.10 y "
+"3.11 debe pasar como palabras clave todos los argumentos de :class:`io."
+"TextIOWrapper`, incluido ``encoding``."
#: ../Doc/library/zipfile.rst:563
msgid "Enumerate the children of the current directory."
@@ -953,9 +959,8 @@ msgid "Added :data:`Path.suffix` property."
msgstr "Propiedad agregada :data:`Path.suffix`."
#: ../Doc/library/zipfile.rst:587
-#, fuzzy
msgid "The final path component, without its suffix."
-msgstr "El componente final de la ruta."
+msgstr "El componente final de la ruta, sin su sufijo."
#: ../Doc/library/zipfile.rst:589
msgid "Added :data:`Path.stem` property."
@@ -963,7 +968,7 @@ msgstr "Propiedad agregada :data:`Path.stem`."
#: ../Doc/library/zipfile.rst:594
msgid "A list of the path’s file extensions."
-msgstr ""
+msgstr "Una lista de las extensiones de archivo de la ruta."
#: ../Doc/library/zipfile.rst:596
msgid "Added :data:`Path.suffixes` property."
From 8e727cac3e283833411aa75ee8130151ee4259cd Mon Sep 17 00:00:00 2001
From: Diego Saavedra
Date: Fri, 5 Jan 2024 08:05:58 -0500
Subject: [PATCH 044/136] update distributing/index.po translate to spanish
(#2685)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Closes #2648
---------
Co-authored-by: Cristián Maureira-Fredes
Co-authored-by: rtobar
Co-authored-by: Cristián Maureira-Fredes
---
distributing/index.po | 303 +-----------------------------------------
1 file changed, 7 insertions(+), 296 deletions(-)
diff --git a/distributing/index.po b/distributing/index.po
index a3e13e32a0..71932f0a4a 100644
--- a/distributing/index.po
+++ b/distributing/index.po
@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: 2021-11-12 10:29+0800\n"
+"PO-Revision-Date: 2023-10-16 11:28-0500\n"
"Last-Translator: Rodrigo Tobar \n"
-"Language: es\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
+"X-Generator: Poedit 3.3.2\n"
#: ../Doc/distributing/index.rst:10
msgid "Distributing Python Modules"
@@ -31,296 +32,6 @@ msgid ""
"been moved to the `Python Packaging User Guide`_, and the tutorial on "
"`packaging Python projects`_."
msgstr ""
-
-#~ msgid "Email"
-#~ msgstr "Email"
-
-#~ msgid "distutils-sig@python.org"
-#~ msgstr "distutils-sig@python.org"
-
-#~ msgid ""
-#~ "As a popular open source development project, Python has an active "
-#~ "supporting community of contributors and users that also make their "
-#~ "software available for other Python developers to use under open source "
-#~ "license terms."
-#~ msgstr ""
-#~ "Como un proyecto de desarrollo de código abierto popular, Python tiene "
-#~ "una comunidad activa de colaboradores y usuarios que también hacen que su "
-#~ "software esté disponible para que otros desarrolladores de Python los "
-#~ "usen bajo términos de licencia de código abierto."
-
-#~ msgid ""
-#~ "This allows Python users to share and collaborate effectively, benefiting "
-#~ "from the solutions others have already created to common (and sometimes "
-#~ "even rare!) problems, as well as potentially contributing their own "
-#~ "solutions to the common pool."
-#~ msgstr ""
-#~ "Esto permite a los usuarios de Python compartir y colaborar eficazmente, "
-#~ "beneficiándose de las soluciones que otros ya han creado a problemas "
-#~ "comunes (¡y a veces incluso raros!), así como potencialmente "
-#~ "contribuyendo con sus propias soluciones al grupo común."
-
-#~ msgid ""
-#~ "This guide covers the distribution part of the process. For a guide to "
-#~ "installing other Python projects, refer to the :ref:`installation guide "
-#~ "`."
-#~ msgstr ""
-#~ "Esta guía cubre la parte de distribución del proceso. Para obtener una "
-#~ "guía para instalar otros proyectos de Python, consulte :ref:`installation "
-#~ "guide `."
-
-#~ msgid ""
-#~ "For corporate and other institutional users, be aware that many "
-#~ "organisations have their own policies around using and contributing to "
-#~ "open source software. Please take such policies into account when making "
-#~ "use of the distribution and installation tools provided with Python."
-#~ msgstr ""
-#~ "Para usuarios corporativos y otros usuarios institucionales, tenga en "
-#~ "cuenta que muchas organizaciones tienen sus propias políticas en torno al "
-#~ "uso y la contribución al software de código abierto. Por favor tenga en "
-#~ "cuenta estas políticas al hacer uso de las herramientas de distribución e "
-#~ "instalación proporcionadas con Python."
-
-#~ msgid "Key terms"
-#~ msgstr "Términos clave"
-
-#~ msgid ""
-#~ "the `Python Package Index `__ is a public repository of "
-#~ "open source licensed packages made available for use by other Python users"
-#~ msgstr ""
-#~ "el `Python Package Index `__ es un repositorio público "
-#~ "de paquetes con licencia de código abierto puestos a disposición para su "
-#~ "uso por otros usuarios de Python"
-
-#~ msgid ""
-#~ "the `Python Packaging Authority `__ are the group "
-#~ "of developers and documentation authors responsible for the maintenance "
-#~ "and evolution of the standard packaging tools and the associated metadata "
-#~ "and file format standards. They maintain a variety of tools, "
-#~ "documentation and issue trackers on both `GitHub `__ and `Bitbucket `__."
-#~ msgstr ""
-#~ "la `Python Packaging Authority `__ es el grupo de "
-#~ "desarrolladores y autores de documentación responsables del mantenimiento "
-#~ "y la evolución de las herramientas de empaquetado estándar y los "
-#~ "metadatos asociados y los estándares de formato de archivo. Ellos "
-#~ "mantienen una variedad de herramientas, documentación y rastreadores de "
-#~ "problemas tanto en `GitHub `__ como `Bitbucket "
-#~ "`__."
-
-#~ msgid ""
-#~ ":mod:`distutils` is the original build and distribution system first "
-#~ "added to the Python standard library in 1998. While direct use of :mod:"
-#~ "`distutils` is being phased out, it still laid the foundation for the "
-#~ "current packaging and distribution infrastructure, and it not only "
-#~ "remains part of the standard library, but its name lives on in other ways "
-#~ "(such as the name of the mailing list used to coordinate Python packaging "
-#~ "standards development)."
-#~ msgstr ""
-#~ ":mod:`distutils` es el sistema de distribución y compilación original que "
-#~ "se agregó por primera vez a la biblioteca estándar de Python en 1998. Si "
-#~ "bien el uso directo de :mod:`distutils` se está eliminando, aún es la "
-#~ "base para la infraestructura de empaquetado y distribución actual, y no "
-#~ "solo sigue siendo parte de la biblioteca estándar, sino que su nombre "
-#~ "vive de otras formas (como el nombre de la lista de correo utilizada para "
-#~ "coordinar el desarrollo de estándares de empaquetado de Python)."
-
-#~ msgid ""
-#~ "`setuptools`_ is a (largely) drop-in replacement for :mod:`distutils` "
-#~ "first published in 2004. Its most notable addition over the unmodified :"
-#~ "mod:`distutils` tools was the ability to declare dependencies on other "
-#~ "packages. It is currently recommended as a more regularly updated "
-#~ "alternative to :mod:`distutils` that offers consistent support for more "
-#~ "recent packaging standards across a wide range of Python versions."
-#~ msgstr ""
-#~ "`setuptools`_ es un reemplazo (en gran parte) directo de :mod:`distutils` "
-#~ "publicado por primera vez en 2004. Su adición más notable sobre las "
-#~ "herramientas sin modificar :mod:`distutils` fue la capacidad de declarar "
-#~ "dependencias en otros paquetes. Actualmente se recomienda como una "
-#~ "alternativa actualizada con más regularidad a :mod:`distutils` que ofrece "
-#~ "soporte consistente para estándares de empaquetado más recientes en una "
-#~ "amplia gama de versiones de Python."
-
-#~ msgid ""
-#~ "`wheel`_ (in this context) is a project that adds the ``bdist_wheel`` "
-#~ "command to :mod:`distutils`/`setuptools`_. This produces a cross platform "
-#~ "binary packaging format (called \"wheels\" or \"wheel files\" and defined "
-#~ "in :pep:`427`) that allows Python libraries, even those including binary "
-#~ "extensions, to be installed on a system without needing to be built "
-#~ "locally."
-#~ msgstr ""
-#~ "`wheel`_ (en este contexto) es un proyecto que agrega el comando "
-#~ "``bdist_wheel`` a :mod:`distutils`/`setuptools`_. Esto produce un formato "
-#~ "de empaquetado binario multiplataforma (llamado \"wheels\" o \"wheel "
-#~ "files\" y definido en :pep:`427`) que permite que las bibliotecas de "
-#~ "Python, incluso aquellas que incluyen extensiones binarias, se instalen "
-#~ "en un sistema sin necesidad de ser compiladas en la zona."
-
-#~ msgid "Open source licensing and collaboration"
-#~ msgstr "Licencias de código abierto y colaboración"
-
-#~ msgid ""
-#~ "In most parts of the world, software is automatically covered by "
-#~ "copyright. This means that other developers require explicit permission "
-#~ "to copy, use, modify and redistribute the software."
-#~ msgstr ""
-#~ "En la mayor parte del mundo, el software está automáticamente protegido "
-#~ "por derechos de autor. Esto significa que otros desarrolladores requieren "
-#~ "permiso explícito para copiar, usar, modificar y redistribuir el software."
-
-#~ msgid ""
-#~ "Open source licensing is a way of explicitly granting such permission in "
-#~ "a relatively consistent way, allowing developers to share and collaborate "
-#~ "efficiently by making common solutions to various problems freely "
-#~ "available. This leaves many developers free to spend more time focusing "
-#~ "on the problems that are relatively unique to their specific situation."
-#~ msgstr ""
-#~ "La concesión de licencias de código abierto es una forma de otorgar "
-#~ "explícitamente dicho permiso de una manera relativamente consistente, lo "
-#~ "que permite a los desarrolladores compartir y colaborar de manera "
-#~ "eficiente al hacer que las soluciones comunes a varios problemas estén "
-#~ "disponibles de forma gratuita. Esto deja a muchos desarrolladores libres "
-#~ "para dedicar más tiempo a concentrarse en los problemas que son "
-#~ "relativamente únicos para su situación específica."
-
-#~ msgid ""
-#~ "The distribution tools provided with Python are designed to make it "
-#~ "reasonably straightforward for developers to make their own contributions "
-#~ "back to that common pool of software if they choose to do so."
-#~ msgstr ""
-#~ "Las herramientas de distribución proporcionadas con Python están "
-#~ "diseñadas para que sea razonablemente sencillo para los desarrolladores "
-#~ "hacer sus propias contribuciones a ese grupo común de software si así lo "
-#~ "desean."
-
-#~ msgid ""
-#~ "The same distribution tools can also be used to distribute software "
-#~ "within an organisation, regardless of whether that software is published "
-#~ "as open source software or not."
-#~ msgstr ""
-#~ "Las mismas herramientas de distribución también se pueden utilizar para "
-#~ "distribuir software dentro de una organización, independientemente de si "
-#~ "ese software se publica como software de código abierto o no."
-
-#~ msgid "Installing the tools"
-#~ msgstr "Instalando las herramientas"
-
-#~ msgid ""
-#~ "The standard library does not include build tools that support modern "
-#~ "Python packaging standards, as the core development team has found that "
-#~ "it is important to have standard tools that work consistently, even on "
-#~ "older versions of Python."
-#~ msgstr ""
-#~ "La biblioteca estándar no incluye herramientas de compilación que sean "
-#~ "compatibles con los estándares de empaquetado de Python modernos, ya que "
-#~ "el equipo de desarrollo central ha descubierto que es importante tener "
-#~ "herramientas estándar que funcionen de manera consistente, incluso en "
-#~ "versiones anteriores de Python."
-
-#~ msgid ""
-#~ "The currently recommended build and distribution tools can be installed "
-#~ "by invoking the ``pip`` module at the command line::"
-#~ msgstr ""
-#~ "Las herramientas de construcción y distribución recomendadas actualmente "
-#~ "se pueden instalar invocando el módulo ``pip`` en la línea de comando::"
-
-#~ msgid ""
-#~ "For POSIX users (including macOS and Linux users), these instructions "
-#~ "assume the use of a :term:`virtual environment`."
-#~ msgstr ""
-#~ "Para los usuarios POSIX (incluidos los usuarios de macOS y Linux), estas "
-#~ "instrucciones asumen el uso de un :term:`virtual environment`."
-
-#~ msgid ""
-#~ "For Windows users, these instructions assume that the option to adjust "
-#~ "the system PATH environment variable was selected when installing Python."
-#~ msgstr ""
-#~ "Para los usuarios de Windows, estas instrucciones asumen que se "
-#~ "seleccionó la opción para ajustar la variable de entorno PATH del sistema "
-#~ "al instalar Python."
-
-#~ msgid ""
-#~ "The Python Packaging User Guide includes more details on the `currently "
-#~ "recommended tools`_."
-#~ msgstr ""
-#~ "La \"Python Packaging User Guide\" incluye más detalles sobre las "
-#~ "`currently recommended tools`_."
-
-#~ msgid "Reading the Python Packaging User Guide"
-#~ msgstr "Leyendo la \"Python Packaging User Guide\""
-
-#~ msgid ""
-#~ "The Python Packaging User Guide covers the various key steps and elements "
-#~ "involved in creating and publishing a project:"
-#~ msgstr ""
-#~ "La \"Python Packaging User Guide\" cubre los diversos pasos y elementos "
-#~ "clave involucrados en la creación y publicación de un proyecto:"
-
-#~ msgid "`Project structure`_"
-#~ msgstr "`Estructura del proyecto`_"
-
-#~ msgid "`Building and packaging the project`_"
-#~ msgstr "`Compilando y empaquetando el proyecto`_"
-
-#~ msgid "`Uploading the project to the Python Package Index`_"
-#~ msgstr "`Subiendo el proyecto al Python Package Index`_"
-
-#~ msgid "`The .pypirc file`_"
-#~ msgstr "`El archivo .pypirc`_"
-
-#~ msgid "How do I...?"
-#~ msgstr "Cómo puedo...?"
-
-#~ msgid "These are quick answers or links for some common tasks."
-#~ msgstr "Estas son respuestas rápidas o enlaces para algunas tareas comunes."
-
-#~ msgid "... choose a name for my project?"
-#~ msgstr "... elegir un nombre para mi proyecto?"
-
-#~ msgid "This isn't an easy topic, but here are a few tips:"
-#~ msgstr "Este no es un tema fácil, pero aquí hay algunos consejos:"
-
-#~ msgid "check the Python Package Index to see if the name is already in use"
-#~ msgstr ""
-#~ "verifique el \"Python Package Index\" para ver si el nombre ya está en uso"
-
-#~ msgid ""
-#~ "check popular hosting sites like GitHub, Bitbucket, etc to see if there "
-#~ "is already a project with that name"
-#~ msgstr ""
-#~ "verifique sitios de alojamiento populares como GitHub, Bitbucket, etc. "
-#~ "para ver si ya existe un proyecto con ese nombre"
-
-#~ msgid "check what comes up in a web search for the name you're considering"
-#~ msgstr ""
-#~ "verifique lo que aparece en una búsqueda web para el nombre que está "
-#~ "considerando"
-
-#~ msgid ""
-#~ "avoid particularly common words, especially ones with multiple meanings, "
-#~ "as they can make it difficult for users to find your software when "
-#~ "searching for it"
-#~ msgstr ""
-#~ "evite palabras particularmente comunes, especialmente aquellas con "
-#~ "múltiples significados, ya que pueden dificultar que los usuarios "
-#~ "encuentren su software cuando lo busquen"
-
-#~ msgid "... create and distribute binary extensions?"
-#~ msgstr "... crear y distribuir extensiones binarias?"
-
-#~ msgid ""
-#~ "This is actually quite a complex topic, with a variety of alternatives "
-#~ "available depending on exactly what you're aiming to achieve. See the "
-#~ "Python Packaging User Guide for more information and recommendations."
-#~ msgstr ""
-#~ "Este es un tema bastante complejo, con una variedad de alternativas "
-#~ "disponibles según exactamente lo que pretenda lograr. Consulte la "
-#~ "\"Python Packaging User Guide\" para obtener más información y "
-#~ "recomendaciones."
-
-#~ msgid ""
-#~ "`Python Packaging User Guide: Binary Extensions `__"
-#~ msgstr ""
-#~ "`Python Packaging User Guide: Binary Extensions `__"
+"La información y orientación sobre la distribución de módulos y paquetes de "
+"Python se trasladaron a `Python Packaging User Guide`_ y al tutorial sobre "
+"`packaging Python projects`_."
From b05721cf06f5ce7d3e05e4ad6f8f7a3e6b8dbf03 Mon Sep 17 00:00:00 2001
From: Jose Ignacio Riano
Date: Fri, 5 Jan 2024 14:06:26 +0100
Subject: [PATCH 045/136] =?UTF-8?q?Traducci=C3=B3n=20de=20xml.sax.utils.po?=
=?UTF-8?q?=20(#2739)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Closes #2602
---------
Co-authored-by: rtobar
Co-authored-by: Cristián Maureira-Fredes
Co-authored-by: Cristián Maureira-Fredes
---
library/xml.sax.utils.po | 26 +++++++++++++++-----------
1 file changed, 15 insertions(+), 11 deletions(-)
diff --git a/library/xml.sax.utils.po b/library/xml.sax.utils.po
index d0d3109e32..16c8423bb4 100644
--- a/library/xml.sax.utils.po
+++ b/library/xml.sax.utils.po
@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: 2020-10-08 20:33+0200\n"
-"Last-Translator: \n"
-"Language: es_ES\n"
+"PO-Revision-Date: 2023-11-11 01:40+0100\n"
+"Last-Translator: Jose Ignacio Riaño Chico \n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es_ES\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
+"X-Generator: Poedit 3.4.1\n"
#: ../Doc/library/xml.sax.utils.rst:2
msgid ":mod:`xml.sax.saxutils` --- SAX Utilities"
@@ -62,6 +63,9 @@ msgid ""
"directly in XML. Do not use this function as a general string translation "
"function."
msgstr ""
+"Esta función debería ser usada únicamente para escapar caracteres que no "
+"pueden ser usados directamente en XML. No use esta función como una función "
+"general de traducción de cadenas de caracteres."
#: ../Doc/library/xml.sax.utils.rst:36
msgid "Unescape ``'&'``, ``'<'``, and ``'>'`` in a string of data."
@@ -154,7 +158,6 @@ msgstr ""
"configuración a medida que pasan."
#: ../Doc/library/xml.sax.utils.rst:90
-#, fuzzy
msgid ""
"This function takes an input source and an optional base URL and returns a "
"fully resolved :class:`~xml.sax.xmlreader.InputSource` object ready for "
@@ -163,9 +166,10 @@ msgid ""
"function to implement the polymorphic *source* argument to their :meth:`~xml."
"sax.xmlreader.XMLReader.parse` method."
msgstr ""
-"Esta función toma una fuente de entrada y una URL base opcional y devuelve "
-"un objeto :class:`~xml.sax.xmlreader.InputSource` totalmente resuelto y "
-"listo para ser leído. La fuente de entrada puede ser dada como una cadena, "
-"un objeto tipo archivo, o un objeto :class:`~xml.sax.xmlreader.InputSource`; "
-"los analizadores usarán esta función para implementar el argumento "
-"polimórfico *fuente* a su método :meth:`parse`."
+"Esta función toma una fuente de entrada y, opcionalmente, una URL base y "
+"retorna un objeto :class:`~xml.sax.xmlreader.InputSource` completamente "
+"resuelto y listo para ser leído. La fuente de entrada puede ser "
+"proporcionada como una cadena de caracteres, un objeto tipo archivo , o un "
+"objeto :class:`~xml.sax.xmlreader.InputSource`; los analizadores usarán esta "
+"función para implementar el argumento polimórfico *source* a su método :meth:"
+"`~xml.sax.xmlreader.XMLReader.parse`."
From 7d7f77d918c2088793ef5a39547014460db666e4 Mon Sep 17 00:00:00 2001
From: Carlos Mena <50986837+carlosm00@users.noreply.github.com>
Date: Fri, 5 Jan 2024 22:51:31 +0100
Subject: [PATCH 046/136] Traduccion textwrap (#2792)
Closes #2557
---
library/textwrap.po | 15 ++++++---------
1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/library/textwrap.po b/library/textwrap.po
index 77833bd987..70a410a306 100644
--- a/library/textwrap.po
+++ b/library/textwrap.po
@@ -11,8 +11,7 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: 2021-08-04 22:04+0200\n"
-"Last-Translator: Cristián Maureira-Fredes \n"
+"PO-Revision-Date: 2024-01-05 22:04+0200\n"
"Language: es\n"
"Language-Team: python-doc-es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -90,7 +89,6 @@ msgid "Collapse and truncate the given *text* to fit in the given *width*."
msgstr "Colapsa y trunca el *text* dado para que encaje en el *width* dado."
#: ../Doc/library/textwrap.rst:60
-#, fuzzy
msgid ""
"First the whitespace in *text* is collapsed (all whitespace is replaced by "
"single spaces). If the result fits in the *width*, it is returned. "
@@ -100,8 +98,8 @@ msgstr ""
"Primero el espacio blanco en *text* se colapsa (todos los espacios blancos "
"son reemplazados por espacios sencillos). Si el resultado cabe en el "
"*width*, se retorna. En caso contrario, se eliminan suficientes palabras del "
-"final para que las palabras restantes más el :attr:`placeholder` encajen "
-"dentro de :attr:`width`::"
+"final para que las palabras restantes más el *placeholder* encajen dentro de "
+"*width*::"
#: ../Doc/library/textwrap.rst:72
msgid ""
@@ -249,14 +247,13 @@ msgstr ""
"larga que los caracteres :attr:`width`."
#: ../Doc/library/textwrap.rst:175
-#, fuzzy
msgid ""
"(default: ``True``) If true, then all tab characters in *text* will be "
"expanded to spaces using the :meth:`~str.expandtabs` method of *text*."
msgstr ""
"(default: ``True``) Si es verdadero, entonces todos los caracteres de "
"tabulación en *text* serán expandidos a espacios usando el método :meth:"
-"`expandtabs` de *text*."
+"`~str.expandtabs` de *text*."
#: ../Doc/library/textwrap.rst:181
msgid ""
@@ -457,8 +454,8 @@ msgstr ""
#: ../Doc/library/textwrap.rst:285
msgid "..."
-msgstr ""
+msgstr "..."
#: ../Doc/library/textwrap.rst:285
msgid "placeholder"
-msgstr ""
+msgstr "placeholder"
From 7a16d04d56c58bf2be4d1cf41f0a9c28ca90856a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?=
Date: Fri, 5 Jan 2024 22:56:00 +0100
Subject: [PATCH 047/136] Traducido whatsnew/3.12 (#2672)
Closes #2633
---------
Co-authored-by: Marcos Medrano <786907+mmmarcos@users.noreply.github.com>
---
dictionaries/whatsnew_3.12.txt | 66 ++
whatsnew/3.12.po | 1919 ++++++++++++++++++++++++++------
2 files changed, 1663 insertions(+), 322 deletions(-)
create mode 100644 dictionaries/whatsnew_3.12.txt
diff --git a/dictionaries/whatsnew_3.12.txt b/dictionaries/whatsnew_3.12.txt
new file mode 100644
index 0000000000..38bf175f75
--- /dev/null
+++ b/dictionaries/whatsnew_3.12.txt
@@ -0,0 +1,66 @@
+preinstala
+override
+hasheable
+Badaracco
+Bhat
+Bower
+Bradshaw
+Braun
+Carlton
+Chan
+Chhina
+Cristián
+Domenico
+Donghee
+Firebird
+Franek
+Fredes
+Frost
+Galeon
+Ganguly
+Gao
+Gedam
+Georgi
+Gibson
+Goergens
+Grail
+Iarygin
+Iceape
+Jacob
+Jakob
+Julien
+Machalow
+Macías
+Magiera
+Maureira
+Modzelewski
+Mosaic
+Neumaier
+Ofey
+Palard
+Pradyun
+Pranav
+Ragusa
+Roshan
+Skipstone
+Soumendra
+Spearman
+Stanislav
+Thulasiram
+Tian
+Troxler
+Varsovia
+Walls
+Wenyang
+Wenzel
+Zmiev
+Zorin
+aclocal
+adáptelo
+bools
+conmutatividad
+pbd
+pseudoinstrucciones
+pseudoinstrucción
+tokenizarlo
+tríada
diff --git a/whatsnew/3.12.po b/whatsnew/3.12.po
index 3ad8c47393..6bed898fb4 100644
--- a/whatsnew/3.12.po
+++ b/whatsnew/3.12.po
@@ -12,25 +12,25 @@ msgstr ""
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
-"Language: es\n"
"Language-Team: es \n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
#: ../Doc/whatsnew/3.12.rst:4
msgid "What's New In Python 3.12"
-msgstr ""
+msgstr "Novedades de Python 3.12"
#: ../Doc/whatsnew/3.12.rst
msgid "Editor"
-msgstr ""
+msgstr "Editor"
#: ../Doc/whatsnew/3.12.rst:6
msgid "Adam Turner"
-msgstr ""
+msgstr "Adam Turner"
#: ../Doc/whatsnew/3.12.rst:48
msgid ""
@@ -38,14 +38,17 @@ msgid ""
"Python 3.12 was released on October 2, 2023. For full details, see the :ref:"
"`changelog `."
msgstr ""
+"Este artículo explica las nuevas características de Python 3.12, en "
+"comparación con 3.11. Python 3.12 se lanzó el 2 de octubre de 2023. Para "
+"obtener detalles completos, consulte :ref:`changelog `."
#: ../Doc/whatsnew/3.12.rst:54
msgid ":pep:`693` -- Python 3.12 Release Schedule"
-msgstr ""
+msgstr ":pep:`693` - Calendario de lanzamiento de Python 3.12"
#: ../Doc/whatsnew/3.12.rst:57
msgid "Summary -- Release highlights"
-msgstr ""
+msgstr "Resumen: aspectos destacados de la versión"
#: ../Doc/whatsnew/3.12.rst:62
msgid ""
@@ -56,6 +59,13 @@ msgid ""
"library. Filesystem support in :mod:`os` and :mod:`pathlib` has seen a "
"number of improvements, and several modules have better performance."
msgstr ""
+"Python 3.12 es la última versión estable del lenguaje de programación "
+"Python, con una combinación de cambios en el lenguaje y la biblioteca "
+"estándar. Los cambios en la biblioteca se centran en limpiar las API "
+"obsoletas, su usabilidad y su corrección. Es de destacar que el paquete :mod:"
+"`!distutils` se ha eliminado de la biblioteca estándar. La compatibilidad "
+"con el sistema de archivos en :mod:`os` y :mod:`pathlib` ha experimentado "
+"una serie de mejoras y varios módulos tienen un mejor rendimiento."
#: ../Doc/whatsnew/3.12.rst:69
msgid ""
@@ -66,6 +76,12 @@ msgid ""
"`generic types ` and :term:`type aliases ` with "
"static type checkers."
msgstr ""
+"Los cambios de idioma se centran en la usabilidad, ya que a :term:`f-strings "
+"` se le han eliminado muchas limitaciones y las sugerencias "
+"\"¿Quiso decir...\" continúan mejorando. La nueva declaración :ref:`type "
+"parameter syntax ` y :keyword:`type` mejora la ergonomía "
+"para usar :term:`generic types ` y :term:`type aliases ` con controladores de tipo estático."
#: ../Doc/whatsnew/3.12.rst:76
msgid ""
@@ -77,80 +93,104 @@ msgid ""
"change, refer to the PEP for a particular new feature; but note that PEPs "
"usually are not kept up-to-date once a feature has been fully implemented."
msgstr ""
+"Este artículo no intenta proporcionar una especificación completa de todas "
+"las características nuevas, sino que brinda una descripción general "
+"conveniente. Para obtener detalles completos, debe consultar la "
+"documentación, como :ref:`Library Reference ` y :ref:"
+"`Language Reference `. Si desea comprender la "
+"implementación completa y la justificación del diseño de un cambio, consulte "
+"el PEP para conocer una característica nueva en particular; pero tenga en "
+"cuenta que los PEP generalmente no se mantienen actualizados una vez que una "
+"característica se ha implementado por completo."
#: ../Doc/whatsnew/3.12.rst:90
msgid "New syntax features:"
-msgstr ""
+msgstr "Nuevas características de sintaxis:"
#: ../Doc/whatsnew/3.12.rst:92
msgid ""
":ref:`PEP 695 `, type parameter syntax and the :keyword:"
"`type` statement"
msgstr ""
+":ref:`PEP 695 `, sintaxis de parámetro de tipo y "
+"sentencia :keyword:`type`"
#: ../Doc/whatsnew/3.12.rst:94
msgid "New grammar features:"
-msgstr ""
+msgstr "Nuevas características gramaticales:"
#: ../Doc/whatsnew/3.12.rst:96
msgid ""
":ref:`PEP 701 `, :term:`f-strings ` in the "
"grammar"
msgstr ""
+":ref:`PEP 701 `, :term:`f-strings ` en la "
+"gramática"
#: ../Doc/whatsnew/3.12.rst:98
msgid "Interpreter improvements:"
-msgstr ""
+msgstr "Mejoras del intérprete:"
#: ../Doc/whatsnew/3.12.rst:100
msgid ""
":ref:`PEP 684 `, a unique per-interpreter :term:`GIL "
"`"
msgstr ""
+":ref:`PEP 684 `, un :term:`GIL ` único por intérprete"
#: ../Doc/whatsnew/3.12.rst:102
msgid ":ref:`PEP 669 `, low impact monitoring"
-msgstr ""
+msgstr ":ref:`PEP 669 `, monitorización de bajo impacto"
#: ../Doc/whatsnew/3.12.rst:103
msgid ""
"`Improved 'Did you mean ...' suggestions `_ for :"
"exc:`NameError`, :exc:`ImportError`, and :exc:`SyntaxError` exceptions"
msgstr ""
+"`Improved 'Did you mean ...' suggestions `_ para "
+"excepciones :exc:`NameError`, :exc:`ImportError` y :exc:`SyntaxError`"
#: ../Doc/whatsnew/3.12.rst:106
msgid "Python data model improvements:"
-msgstr ""
+msgstr "Mejoras en el modelo de datos de Python:"
#: ../Doc/whatsnew/3.12.rst:108
msgid ""
":ref:`PEP 688 `, using the :ref:`buffer protocol "
"` from Python"
msgstr ""
+":ref:`PEP 688 `, usando :ref:`buffer protocol "
+"` de Python"
#: ../Doc/whatsnew/3.12.rst:111
msgid "Significant improvements in the standard library:"
-msgstr ""
+msgstr "Mejoras significativas en la biblioteca estándar:"
#: ../Doc/whatsnew/3.12.rst:113
msgid "The :class:`pathlib.Path` class now supports subclassing"
-msgstr ""
+msgstr "La clase :class:`pathlib.Path` ahora admite subclases"
#: ../Doc/whatsnew/3.12.rst:114
msgid "The :mod:`os` module received several improvements for Windows support"
-msgstr ""
+msgstr "El módulo :mod:`os` recibió varias mejoras para el soporte de Windows"
#: ../Doc/whatsnew/3.12.rst:115
msgid ""
"A :ref:`command-line interface ` has been added to the :mod:"
"`sqlite3` module"
msgstr ""
+"Se ha agregado un :ref:`command-line interface ` al módulo :mod:"
+"`sqlite3`"
#: ../Doc/whatsnew/3.12.rst:117
msgid ""
":func:`isinstance` checks against :func:`runtime-checkable protocols ` enjoy a speed up of between two and 20 times"
msgstr ""
+"Los controles :func:`isinstance` frente a :func:`runtime-checkable protocols "
+"` benefician de una aceleración de entre dos y 20 "
+"veces"
#: ../Doc/whatsnew/3.12.rst:119
#, python-format
@@ -158,12 +198,16 @@ msgid ""
"The :mod:`asyncio` package has had a number of performance improvements, "
"with some benchmarks showing a 75% speed up."
msgstr ""
+"El paquete :mod:`asyncio` ha tenido una serie de mejoras de rendimiento, y "
+"algunos puntos de referencia muestran una aceleración del 75 %."
#: ../Doc/whatsnew/3.12.rst:121
msgid ""
"A :ref:`command-line interface ` has been added to the :mod:`uuid` "
"module"
msgstr ""
+"Se ha agregado un :ref:`command-line interface ` al módulo :mod:"
+"`uuid`"
#: ../Doc/whatsnew/3.12.rst:123
#, python-format
@@ -171,10 +215,12 @@ msgid ""
"Due to the changes in :ref:`PEP 701 `, producing tokens "
"via the :mod:`tokenize` module is up to up to 64% faster."
msgstr ""
+"Debido a los cambios en :ref:`PEP 701 `, la producción "
+"de tokens a través del módulo :mod:`tokenize` es hasta un 64% más rápida."
#: ../Doc/whatsnew/3.12.rst:126
msgid "Security improvements:"
-msgstr ""
+msgstr "Mejoras de seguridad:"
#: ../Doc/whatsnew/3.12.rst:128
msgid ""
@@ -183,58 +229,70 @@ msgid ""
"github.com/hacl-star/hacl-star/>`__ project. These builtin implementations "
"remain as fallbacks that are only used when OpenSSL does not provide them."
msgstr ""
+"Reemplaza las implementaciones :mod:`hashlib` integradas de SHA1, SHA3, "
+"SHA2-384, SHA2-512 y MD5 con código verificado formalmente del proyecto "
+"`HACL* `__. Estas implementaciones "
+"integradas permanecen como alternativas que solo se utilizan cuando OpenSSL "
+"no las proporciona."
#: ../Doc/whatsnew/3.12.rst:134
msgid "C API improvements:"
-msgstr ""
+msgstr "Mejoras de la API C:"
#: ../Doc/whatsnew/3.12.rst:136
msgid ":ref:`PEP 697 `, unstable C API tier"
-msgstr ""
+msgstr ":ref:`PEP 697 `, nivel de API C inestable"
#: ../Doc/whatsnew/3.12.rst:137
msgid ":ref:`PEP 683 `, immortal objects"
-msgstr ""
+msgstr ":ref:`PEP 683 `, objetos inmortales"
#: ../Doc/whatsnew/3.12.rst:139
msgid "CPython implementation improvements:"
-msgstr ""
+msgstr "Mejoras en la implementación de CPython:"
#: ../Doc/whatsnew/3.12.rst:141
msgid ":ref:`PEP 709 `, comprehension inlining"
-msgstr ""
+msgstr ":ref:`PEP 709 `, comprensión en línea"
#: ../Doc/whatsnew/3.12.rst:142
msgid ":ref:`CPython support ` for the Linux ``perf`` profiler"
msgstr ""
+":ref:`CPython support ` para el perfilador Linux ``perf``"
#: ../Doc/whatsnew/3.12.rst:143
msgid "Implement stack overflow protection on supported platforms"
msgstr ""
+"Implementar protección contra desbordamiento de pila en plataformas "
+"compatibles"
#: ../Doc/whatsnew/3.12.rst:145
msgid "New typing features:"
-msgstr ""
+msgstr "Nuevas funciones de tipado:"
#: ../Doc/whatsnew/3.12.rst:147
msgid ""
":ref:`PEP 692 `, using :class:`~typing.TypedDict` to "
"annotate :term:`**kwargs `"
msgstr ""
+":ref:`PEP 692 `, usando :class:`~typing.TypedDict` para "
+"anotar :term:`**kwargs `"
#: ../Doc/whatsnew/3.12.rst:149
msgid ":ref:`PEP 698 `, :func:`typing.override` decorator"
-msgstr ""
+msgstr ":ref:`PEP 698 `, decorador :func:`typing.override`"
#: ../Doc/whatsnew/3.12.rst:151
msgid "Important deprecations, removals or restrictions:"
-msgstr ""
+msgstr "Depreciaciones, eliminaciones o restricciones importantes:"
#: ../Doc/whatsnew/3.12.rst:153
msgid ""
":pep:`623`: Remove ``wstr`` from Unicode objects in Python's C API, reducing "
"the size of every :class:`str` object by at least 8 bytes."
msgstr ""
+":pep:`623`: elimina ``wstr`` de los objetos Unicode en la API C de Python, "
+"reduciendo el tamaño de cada objeto :class:`str` en al menos 8 bytes."
#: ../Doc/whatsnew/3.12.rst:156
msgid ""
@@ -244,6 +302,12 @@ msgid ""
"io/en/latest/deprecated/distutils-legacy.html>`__ package continues to "
"provide :mod:`!distutils`, if you still require it in Python 3.12 and beyond."
msgstr ""
+":pep:`632`: elimina el paquete :mod:`!distutils`. Consulte `the migration "
+"guide `_ para obtener "
+"consejos sobre cómo reemplazar las API que proporcionaba. El paquete "
+"`Setuptools `__ de terceros continúa proporcionando :mod:`!distutils`, si "
+"aún lo necesita en Python 3.12 y versiones posteriores."
#: ../Doc/whatsnew/3.12.rst:163
msgid ""
@@ -253,6 +317,11 @@ msgid ""
"to access these run ``pip install setuptools`` in the :ref:`activated ` virtual environment."
msgstr ""
+":gh:`95299`: No preinstala ``setuptools`` en entornos virtuales creados con :"
+"mod:`venv`. Esto significa que ``distutils``, ``setuptools``, "
+"``pkg_resources`` y ``easy_install`` ya no estarán disponibles de forma "
+"predeterminada; para acceder a ellos, ejecute ``pip install setuptools`` en "
+"el entorno virtual :ref:`activated `."
#: ../Doc/whatsnew/3.12.rst:170
msgid ""
@@ -260,14 +329,17 @@ msgid ""
"removed, along with several :class:`unittest.TestCase` `method aliases "
"`_."
msgstr ""
+"Se han eliminado los módulos :mod:`!asynchat`, :mod:`!asyncore` y :mod:`!"
+"imp`, junto con varios :class:`unittest.TestCase` `method aliases `_."
#: ../Doc/whatsnew/3.12.rst:176 ../Doc/whatsnew/3.12.rst:1917
msgid "New Features"
-msgstr ""
+msgstr "Nuevas características"
#: ../Doc/whatsnew/3.12.rst:181
msgid "PEP 695: Type Parameter Syntax"
-msgstr ""
+msgstr "PEP 695: Sintaxis de parámetro de tipo"
#: ../Doc/whatsnew/3.12.rst:183
msgid ""
@@ -275,6 +347,9 @@ msgid ""
"syntax that left the scope of type parameters unclear and required explicit "
"declarations of variance."
msgstr ""
+"Las clases y funciones genéricas en :pep:`484` se declararon utilizando una "
+"sintaxis detallada que dejaba el alcance de los parámetros de tipo poco "
+"claro y requería declaraciones explícitas de variación."
#: ../Doc/whatsnew/3.12.rst:187
msgid ""
@@ -282,6 +357,8 @@ msgid ""
"`generic classes ` and :ref:`functions `::"
msgstr ""
+":pep:`695` presenta una forma nueva, más compacta y explícita de crear :ref:"
+"`generic classes ` y :ref:`functions `:"
#: ../Doc/whatsnew/3.12.rst:200
msgid ""
@@ -289,10 +366,14 @@ msgid ""
"` using the :keyword:`type` statement, which creates an "
"instance of :class:`~typing.TypeAliasType`::"
msgstr ""
+"Además, el PEP introduce una nueva forma de declarar :ref:`type aliases "
+"` utilizando la declaración :keyword:`type`, que crea una "
+"instancia de :class:`~typing.TypeAliasType`:"
#: ../Doc/whatsnew/3.12.rst:206
msgid "Type aliases can also be :ref:`generic `::"
msgstr ""
+"Los alias de tipo también pueden ser :ref:`generic `::"
#: ../Doc/whatsnew/3.12.rst:210
msgid ""
@@ -300,6 +381,9 @@ msgid ""
"`~typing.ParamSpec` parameters, as well as :class:`~typing.TypeVar` "
"parameters with bounds or constraints::"
msgstr ""
+"La nueva sintaxis permite declarar los parámetros :class:`~typing."
+"TypeVarTuple` y :class:`~typing.ParamSpec`, así como los parámetros :class:"
+"`~typing.TypeVar` con límites o restricciones::"
#: ../Doc/whatsnew/3.12.rst:219
msgid ""
@@ -308,6 +392,11 @@ msgid ""
"evaluation `). This means type aliases are able to refer to "
"other types defined later in the file."
msgstr ""
+"El valor de los alias de tipo y los límites y restricciones de las variables "
+"de tipo creadas mediante esta sintaxis se evalúan solo según demanda "
+"(consulte :ref:`lazy evaluation `). Esto significa que los "
+"alias de tipo pueden hacer referencia a otros tipos definidos más adelante "
+"en el archivo."
#: ../Doc/whatsnew/3.12.rst:224
msgid ""
@@ -318,6 +407,14 @@ msgid ""
"module scope after the class is defined. See :ref:`type-params` for a "
"detailed description of the runtime semantics of type parameters."
msgstr ""
+"Los parámetros de tipo declarados a través de una lista de parámetros de "
+"tipo son visibles dentro del alcance de la declaración y de cualquier "
+"alcance anidado, pero no en el alcance externo. Por ejemplo, se pueden "
+"utilizar en las anotaciones de tipo de los métodos de una clase genérica o "
+"en el cuerpo de la clase. Sin embargo, no se pueden utilizar en el alcance "
+"del módulo una vez definida la clase. Consulte :ref:`type-params` para "
+"obtener una descripción detallada de la semántica de tiempo de ejecución de "
+"los parámetros de tipo."
#: ../Doc/whatsnew/3.12.rst:231
msgid ""
@@ -327,20 +424,28 @@ msgid ""
"differently with enclosing class scopes. In Python 3.13, :term:`annotations "
"` will also be evaluated in annotation scopes."
msgstr ""
+"Para respaldar esta semántica de alcance, se introduce un nuevo tipo de "
+"alcance, el :ref:`annotation scope `. Los ámbitos de "
+"anotación se comportan en su mayor parte como ámbitos de función, pero "
+"interactúan de manera diferente con los ámbitos de clase adjuntos. En Python "
+"3.13, :term:`annotations ` también se evaluará en ámbitos de "
+"anotación."
#: ../Doc/whatsnew/3.12.rst:237
msgid "See :pep:`695` for more details."
-msgstr ""
+msgstr "Consulte :pep:`695` para obtener más detalles."
#: ../Doc/whatsnew/3.12.rst:239
msgid ""
"(PEP written by Eric Traut. Implementation by Jelle Zijlstra, Eric Traut, "
"and others in :gh:`103764`.)"
msgstr ""
+"(PEP escrito por Eric Traut. Implementación por Jelle Zijlstra, Eric Traut y "
+"otros en :gh:`103764`.)"
#: ../Doc/whatsnew/3.12.rst:245
msgid "PEP 701: Syntactic formalization of f-strings"
-msgstr ""
+msgstr "PEP 701: Formalización sintáctica de cadenas f"
#: ../Doc/whatsnew/3.12.rst:247
msgid ""
@@ -350,6 +455,12 @@ msgid ""
"string, multi-line expressions, comments, backslashes, and unicode escape "
"sequences. Let's cover these in detail:"
msgstr ""
+":pep:`701` elimina algunas restricciones sobre el uso de :term:`f-strings `. Los componentes de expresión dentro de cadenas f ahora pueden ser "
+"cualquier expresión Python válida, incluidas cadenas que reutilizan la misma "
+"comilla que la cadena f que las contiene, expresiones de varias líneas, "
+"comentarios, barras invertidas y secuencias de escape Unicode. Cubramos "
+"estos en detalle:"
#: ../Doc/whatsnew/3.12.rst:253
msgid ""
@@ -358,6 +469,11 @@ msgid ""
"available quotes (like using double quotes or triple quotes if the f-string "
"uses single quotes). In Python 3.12, you can now do things like this:"
msgstr ""
+"Reutilización de comillas: en Python 3.11, reutilizar las mismas comillas "
+"que la cadena f adjunta genera un :exc:`SyntaxError`, lo que obliga al "
+"usuario a usar otras comillas disponibles (como usar comillas dobles o "
+"triples si la cadena f usa comillas simples). En Python 3.12, ahora puedes "
+"hacer cosas como esta:"
#: ../Doc/whatsnew/3.12.rst:262
msgid ""
@@ -366,12 +482,20 @@ msgid ""
"expression component of f-strings made it impossible to nest f-strings "
"arbitrarily. In fact, this is the most nested f-string that could be written:"
msgstr ""
+"Tenga en cuenta que antes de este cambio no había un límite explícito en "
+"cómo se pueden anidar las cadenas f, pero el hecho de que las comillas de "
+"cadena no se pueden reutilizar dentro del componente de expresión de las "
+"cadenas f hacía imposible anidar cadenas f arbitrariamente. De hecho, esta "
+"es la cadena f más anidada que podría escribirse:"
#: ../Doc/whatsnew/3.12.rst:270
msgid ""
"As now f-strings can contain any valid Python expression inside expression "
"components, it is now possible to nest f-strings arbitrarily:"
msgstr ""
+"Como ahora las cadenas f pueden contener cualquier expresión Python válida "
+"dentro de los componentes de expresión, ahora es posible anidar cadenas f de "
+"forma arbitraria:"
#: ../Doc/whatsnew/3.12.rst:276
msgid ""
@@ -381,6 +505,12 @@ msgid ""
"multiple lines), making them harder to read. In Python 3.12 you can now "
"define f-strings spanning multiple lines, and add inline comments:"
msgstr ""
+"Expresiones y comentarios de varias líneas: en Python 3.11, las expresiones "
+"de cadena f deben definirse en una sola línea, incluso si la expresión "
+"dentro de la cadena f normalmente podría abarcar varias líneas (como listas "
+"literales que se definen en varias líneas), lo que las hace más difícil de "
+"leer. En Python 3.12 ahora puedes definir cadenas f que abarquen varias "
+"líneas y agregar comentarios en línea:"
#: ../Doc/whatsnew/3.12.rst:290
msgid ""
@@ -390,10 +520,16 @@ msgid ""
"contain the ``\\N`` part that previously could not be part of expression "
"components of f-strings. Now, you can define expressions like this:"
msgstr ""
+"Barras invertidas y caracteres Unicode: antes de Python 3.12, las "
+"expresiones de cadena f no podían contener ningún carácter ``\\``. Esto "
+"también afectó a Unicode :ref:`escape sequences ` (como "
+"``\\N{snowman}``), ya que contienen la parte ``\\N`` que anteriormente no "
+"podía ser parte de los componentes de expresión de f-strings. Ahora puedes "
+"definir expresiones como esta:"
#: ../Doc/whatsnew/3.12.rst:303
msgid "See :pep:`701` for more details."
-msgstr ""
+msgstr "Consulte :pep:`701` para obtener más detalles."
#: ../Doc/whatsnew/3.12.rst:305
msgid ""
@@ -402,6 +538,11 @@ msgid ""
"strings are more precise and include the exact location of the error. For "
"example, in Python 3.11, the following f-string raises a :exc:`SyntaxError`:"
msgstr ""
+"Como efecto secundario positivo de cómo se implementó esta característica "
+"(al analizar cadenas f con :pep:`the PEG parser <617>`, ahora los mensajes "
+"de error para cadenas f son más precisos e incluyen la ubicación exacta del "
+"error. Por ejemplo, en Python 3.11, lo siguiente f-string genera un :exc:"
+"`SyntaxError`:"
#: ../Doc/whatsnew/3.12.rst:318
msgid ""
@@ -410,6 +551,10 @@ msgid ""
"In Python 3.12, as f-strings are parsed with the PEG parser, error messages "
"can be more precise and show the entire line:"
msgstr ""
+"pero el mensaje de error no incluye la ubicación exacta del error dentro de "
+"la línea y también tiene la expresión artificialmente entre paréntesis. En "
+"Python 3.12, a medida que las cadenas f se analizan con el analizador PEG, "
+"los mensajes de error pueden ser más precisos y mostrar la línea completa:"
#: ../Doc/whatsnew/3.12.rst:330
msgid ""
@@ -417,10 +562,13 @@ msgid ""
"Maureira-Fredes and Marta Gómez in :gh:`102856`. PEP written by Pablo "
"Galindo, Batuhan Taskaya, Lysandros Nikolaou and Marta Gómez)."
msgstr ""
+"(Aportado por Pablo Galindo, Batuhan Taskaya, Lysandros Nikolaou, Cristián "
+"Maureira-Fredes y Marta Gómez en :gh:`102856`. PEP escrito por Pablo "
+"Galindo, Batuhan Taskaya, Lysandros Nikolaou y Marta Gómez)."
#: ../Doc/whatsnew/3.12.rst:337
msgid "PEP 684: A Per-Interpreter GIL"
-msgstr ""
+msgstr "PEP 684: un GIL por intérprete"
#: ../Doc/whatsnew/3.12.rst:339
msgid ""
@@ -430,26 +578,36 @@ msgid ""
"CPU cores. This is currently only available through the C-API, though a "
"Python API is :pep:`anticipated for 3.13 <554>`."
msgstr ""
+":pep:`684` introduce un :term:`GIL ` por "
+"intérprete, de modo que ahora se pueden crear subintérpretes con un GIL "
+"único por intérprete. Esto permite que los programas Python aprovechen al "
+"máximo múltiples núcleos de CPU. Actualmente, esto solo está disponible a "
+"través de C-API, aunque una API de Python es :pep:`anticipada para 3.13 "
+"<554>`."
#: ../Doc/whatsnew/3.12.rst:345
msgid ""
"Use the new :c:func:`Py_NewInterpreterFromConfig` function to create an "
"interpreter with its own GIL::"
msgstr ""
+"Utilice la nueva función :c:func:`Py_NewInterpreterFromConfig` para crear un "
+"intérprete con su propio GIL::"
#: ../Doc/whatsnew/3.12.rst:359
msgid ""
"For further examples how to use the C-API for sub-interpreters with a per-"
"interpreter GIL, see :source:`Modules/_xxsubinterpretersmodule.c`."
msgstr ""
+"Para obtener más ejemplos de cómo utilizar C-API para subintérpretes con un "
+"GIL por intérprete, consulte :source:`Modules/_xxsubinterpretersmodule.c`."
#: ../Doc/whatsnew/3.12.rst:362
msgid "(Contributed by Eric Snow in :gh:`104210`, etc.)"
-msgstr ""
+msgstr "(Aportado por Eric Snow en :gh:`104210`, etc.)"
#: ../Doc/whatsnew/3.12.rst:367
msgid "PEP 669: Low impact monitoring for CPython"
-msgstr ""
+msgstr "PEP 669: Monitoreo de bajo impacto para CPython"
#: ../Doc/whatsnew/3.12.rst:369
msgid ""
@@ -460,14 +618,20 @@ msgid ""
"near-zero overhead debuggers and coverage tools. See :mod:`sys.monitoring` "
"for details."
msgstr ""
+":pep:`669` define un nuevo :mod:`API ` para perfiladores, "
+"depuradores y otras herramientas para monitorear eventos en CPython. Cubre "
+"una amplia gama de eventos, incluidas llamadas, devoluciones, líneas, "
+"excepciones, saltos y más. Esto significa que solo paga por lo que usa, "
+"brindando soporte para depuradores generales y herramientas de cobertura "
+"casi nulos. Consulte :mod:`sys.monitoring` para obtener más detalles."
#: ../Doc/whatsnew/3.12.rst:377
msgid "(Contributed by Mark Shannon in :gh:`103082`.)"
-msgstr ""
+msgstr "(Aportado por Mark Shannon en :gh:`103082`.)"
#: ../Doc/whatsnew/3.12.rst:382
msgid "PEP 688: Making the buffer protocol accessible in Python"
-msgstr ""
+msgstr "PEP 688: Hacer accesible el protocolo de búfer en Python"
#: ../Doc/whatsnew/3.12.rst:384
msgid ""
@@ -475,6 +639,10 @@ msgid ""
"` from Python code. Classes that implement the :meth:`~object."
"__buffer__` method are now usable as buffer types."
msgstr ""
+":pep:`688` presenta una forma de utilizar :ref:`buffer protocol "
+"` desde el código Python. Las clases que implementan el "
+"método :meth:`~object.__buffer__` ahora se pueden utilizar como tipos de "
+"búfer."
#: ../Doc/whatsnew/3.12.rst:388
msgid ""
@@ -483,10 +651,15 @@ msgid ""
"`inspect.BufferFlags` enum represents the flags that can be used to "
"customize buffer creation. (Contributed by Jelle Zijlstra in :gh:`102500`.)"
msgstr ""
+"El nuevo :class:`collections.abc.Buffer` ABC proporciona una forma estándar "
+"de representar objetos de búfer, por ejemplo en anotaciones de tipo. La "
+"nueva enumeración :class:`inspect.BufferFlags` representa los indicadores "
+"que se pueden usar para personalizar la creación del búfer. (Aportado por "
+"Jelle Zijlstra en :gh:`102500`.)"
#: ../Doc/whatsnew/3.12.rst:397
msgid "PEP 709: Comprehension inlining"
-msgstr ""
+msgstr "PEP 709: Integración de la comprensión"
#: ../Doc/whatsnew/3.12.rst:399
msgid ""
@@ -495,6 +668,10 @@ msgid ""
"comprehension. This speeds up execution of a comprehension by up to two "
"times. See :pep:`709` for further details."
msgstr ""
+"Las comprensiones de diccionario, lista y conjunto ahora están integradas, "
+"en lugar de crear un nuevo objeto de función de un solo uso para cada "
+"ejecución de la comprensión. Esto acelera la ejecución de una comprensión "
+"hasta dos veces. Consulte :pep:`709` para obtener más detalles."
#: ../Doc/whatsnew/3.12.rst:404
msgid ""
@@ -502,12 +679,19 @@ msgid ""
"variable of the same name in the outer scope, nor are they visible after the "
"comprehension. Inlining does result in a few visible behavior changes:"
msgstr ""
+"Las variables de iteración de comprensión permanecen aisladas y no "
+"sobrescriben una variable del mismo nombre en el alcance externo, ni son "
+"visibles después de la comprensión. La incorporación da como resultado "
+"algunos cambios de comportamiento visibles:"
#: ../Doc/whatsnew/3.12.rst:408
msgid ""
"There is no longer a separate frame for the comprehension in tracebacks, and "
"tracing/profiling no longer shows the comprehension as a function call."
msgstr ""
+"Ya no hay un marco separado para la comprensión en los rastreos, y el "
+"rastreo/elaboración de perfiles ya no muestra la comprensión como una "
+"llamada a función."
#: ../Doc/whatsnew/3.12.rst:410
msgid ""
@@ -515,6 +699,9 @@ msgid ""
"each comprehension; instead, the comprehension's locals will be included in "
"the parent function's symbol table."
msgstr ""
+"El módulo :mod:`symtable` ya no producirá tablas de símbolos secundarios "
+"para cada comprensión; en cambio, los locales de comprensión se incluirán en "
+"la tabla de símbolos de la función principal."
#: ../Doc/whatsnew/3.12.rst:413
msgid ""
@@ -522,6 +709,9 @@ msgid ""
"outside the comprehension, and no longer includes the synthetic ``.0`` "
"variable for the comprehension \"argument\"."
msgstr ""
+"Llamar a :func:`locals` dentro de una comprensión ahora incluye variables "
+"externas a la comprensión y ya no incluye la variable sintética ``.0`` para "
+"el \"argumento\" de comprensión."
#: ../Doc/whatsnew/3.12.rst:416
msgid ""
@@ -532,14 +722,21 @@ msgid ""
"error, first create a list of keys to iterate over: ``keys = list(locals()); "
"[k for k in keys]``."
msgstr ""
+"Una comprensión que itera directamente sobre ``locals()`` (por ejemplo, ``[k "
+"for k in locals()]``) puede ver \"RuntimeError: el diccionario cambió de "
+"tamaño durante la iteración\" cuando se ejecuta bajo seguimiento (por "
+"ejemplo, medición de cobertura de código). Este es el mismo comportamiento "
+"que ya se ha visto, por ejemplo, en ``for k in locals():``. Para evitar el "
+"error, primero cree una lista de claves para iterar: ``keys = "
+"list(locals()); [k for k in keys]``."
#: ../Doc/whatsnew/3.12.rst:423
msgid "(Contributed by Carl Meyer and Vladimir Matveev in :pep:`709`.)"
-msgstr ""
+msgstr "(Aportado por Carl Meyer y Vladimir Matveev en :pep:`709`.)"
#: ../Doc/whatsnew/3.12.rst:426
msgid "Improved Error Messages"
-msgstr ""
+msgstr "Mensajes de error mejorados"
#: ../Doc/whatsnew/3.12.rst:428
msgid ""
@@ -547,6 +744,10 @@ msgid ""
"the error messages displayed by the interpreter when a :exc:`NameError` is "
"raised to the top level. (Contributed by Pablo Galindo in :gh:`98254`.)"
msgstr ""
+"Ahora se sugieren potencialmente módulos de la biblioteca estándar como "
+"parte de los mensajes de error que muestra el intérprete cuando un :exc:"
+"`NameError` se eleva al nivel superior. (Aportado por Pablo Galindo en :gh:"
+"`98254`.)"
#: ../Doc/whatsnew/3.12.rst:437
msgid ""
@@ -556,6 +757,12 @@ msgid ""
"will include ``self.`` instead of the closest match in the method "
"scope. (Contributed by Pablo Galindo in :gh:`99139`.)"
msgstr ""
+"Mejora la sugerencia de error para excepciones :exc:`NameError` para "
+"instancias. Ahora, si se genera un :exc:`NameError` en un método y la "
+"instancia tiene un atributo que es exactamente igual al nombre en la "
+"excepción, la sugerencia incluirá ``self.`` en lugar de la "
+"coincidencia más cercana en el alcance del método. (Aportado por Pablo "
+"Galindo en :gh:`99139`.)"
#: ../Doc/whatsnew/3.12.rst:457
msgid ""
@@ -563,6 +770,9 @@ msgid ""
"from y`` instead of ``from y import x``. (Contributed by Pablo Galindo in :"
"gh:`98931`.)"
msgstr ""
+"Mejora el mensaje de error :exc:`SyntaxError` cuando el usuario escribe "
+"``import x from y`` en lugar de ``from y import x``. (Aportado por Pablo "
+"Galindo en :gh:`98931`.)"
#: ../Doc/whatsnew/3.12.rst:467
msgid ""
@@ -571,20 +781,27 @@ msgid ""
"based on the available names in ````. (Contributed by Pablo Galindo "
"in :gh:`91058`.)"
msgstr ""
+"Las excepciones :exc:`ImportError` generadas por sentencias ``from "
+"import `` fallidas ahora incluyen sugerencias para el valor de "
+"```` según los nombres disponibles en ````. (Aportado por "
+"Pablo Galindo en :gh:`91058`.)"
#: ../Doc/whatsnew/3.12.rst:478
msgid "New Features Related to Type Hints"
-msgstr ""
+msgstr "Nuevas funciones relacionadas con las sugerencias de escritura"
#: ../Doc/whatsnew/3.12.rst:480
msgid ""
"This section covers major changes affecting :pep:`type hints <484>` and the :"
"mod:`typing` module."
msgstr ""
+"Esta sección cubre los cambios principales que afectan a :pep:`type hints "
+"<484>` y al módulo :mod:`typing`."
#: ../Doc/whatsnew/3.12.rst:486
msgid "PEP 692: Using ``TypedDict`` for more precise ``**kwargs`` typing"
msgstr ""
+"PEP 692: uso de ``TypedDict`` para una escritura ``**kwargs`` más precisa"
#: ../Doc/whatsnew/3.12.rst:488
msgid ""
@@ -592,24 +809,29 @@ msgid ""
"allowed for valid annotations only in cases where all of the ``**kwargs`` "
"were of the same type."
msgstr ""
+"Escribir ``**kwargs`` en una firma de función introducida por :pep:`484` "
+"permitía anotaciones válidas solo en los casos en que todos los ``**kwargs`` "
+"eran del mismo tipo."
#: ../Doc/whatsnew/3.12.rst:492
msgid ""
":pep:`692` specifies a more precise way of typing ``**kwargs`` by relying on "
"typed dictionaries::"
msgstr ""
+":pep:`692` especifica una forma más precisa de escribir ``**kwargs`` "
+"basándose en diccionarios escritos::"
#: ../Doc/whatsnew/3.12.rst:503
msgid "See :pep:`692` for more details."
-msgstr ""
+msgstr "Consulte :pep:`692` para obtener más detalles."
#: ../Doc/whatsnew/3.12.rst:505
msgid "(Contributed by Franek Magiera in :gh:`103629`.)"
-msgstr ""
+msgstr "(Aportado por Franek Magiera en :gh:`103629`.)"
#: ../Doc/whatsnew/3.12.rst:510
msgid "PEP 698: Override Decorator for Static Typing"
-msgstr ""
+msgstr "PEP 698: Decorador override para escritura estática"
#: ../Doc/whatsnew/3.12.rst:512
msgid ""
@@ -619,28 +841,35 @@ msgid ""
"mistakes where a method that is intended to override something in a base "
"class does not in fact do so."
msgstr ""
+"Se ha agregado un nuevo decorador :func:`typing.override` al módulo :mod:"
+"`typing`. Indica a los inspectores de tipo que el método está destinado a "
+"anular un método en una superclase. Esto permite a los verificadores de "
+"tipos detectar errores cuando un método destinado a anular algo en una clase "
+"base en realidad no lo hace."
#: ../Doc/whatsnew/3.12.rst:518
msgid "Example::"
-msgstr ""
+msgstr "Ejemplo::"
#: ../Doc/whatsnew/3.12.rst:536
msgid "See :pep:`698` for more details."
-msgstr ""
+msgstr "Consulte :pep:`698` para obtener más detalles."
#: ../Doc/whatsnew/3.12.rst:538
msgid "(Contributed by Steven Troxler in :gh:`101561`.)"
-msgstr ""
+msgstr "(Aportado por Steven Troxler en :gh:`101561`.)"
#: ../Doc/whatsnew/3.12.rst:541
msgid "Other Language Changes"
-msgstr ""
+msgstr "Otros cambios del lenguaje"
#: ../Doc/whatsnew/3.12.rst:543
msgid ""
"The parser now raises :exc:`SyntaxError` when parsing source code containing "
"null bytes. (Contributed by Pablo Galindo in :gh:`96670`.)"
msgstr ""
+"El analizador ahora genera :exc:`SyntaxError` al analizar el código fuente "
+"que contiene bytes nulos. (Aportado por Pablo Galindo en :gh:`96670`.)"
#: ../Doc/whatsnew/3.12.rst:546
msgid ""
@@ -652,6 +881,14 @@ msgid ""
"exc:`SyntaxError` will eventually be raised, instead of :exc:"
"`SyntaxWarning`. (Contributed by Victor Stinner in :gh:`98401`.)"
msgstr ""
+"Un par de caracteres de barra invertida que no es una secuencia de escape "
+"válida ahora genera un :exc:`SyntaxWarning`, en lugar de :exc:"
+"`DeprecationWarning`. Por ejemplo, ``re.compile(\"\\d+\\.\\d+\")`` ahora "
+"emite un :exc:`SyntaxWarning` (``\"\\d\"`` es una secuencia de escape no "
+"válida; utilice cadenas sin formato para la expresión regular: ``re."
+"compile(r\"\\d+\\.\\d+\")``). En una versión futura de Python, eventualmente "
+"se generará :exc:`SyntaxError`, en lugar de :exc:`SyntaxWarning`. (Aportado "
+"por Victor Stinner en :gh:`98401`.)"
#: ../Doc/whatsnew/3.12.rst:555
msgid ""
@@ -660,6 +897,11 @@ msgid ""
"exc:`DeprecationWarning`. In a future Python version they will be eventually "
"a :exc:`SyntaxError`. (Contributed by Victor Stinner in :gh:`98401`.)"
msgstr ""
+"Los escapes octales con un valor mayor que ``0o377`` (por ejemplo, "
+"``\"\\477\"``), obsoletos en Python 3.11, ahora producen un :exc:"
+"`SyntaxWarning`, en lugar de :exc:`DeprecationWarning`. En una futura "
+"versión de Python, eventualmente serán un :exc:`SyntaxError`. (Aportado por "
+"Victor Stinner en :gh:`98401`.)"
#: ../Doc/whatsnew/3.12.rst:561
msgid ""
@@ -670,6 +912,13 @@ msgid ""
"comprehensions (like ``a``) is still disallowed, as per :pep:`572`. "
"(Contributed by Nikita Sobolev in :gh:`100581`.)"
msgstr ""
+"Las variables utilizadas en la parte de destino de las comprensiones que no "
+"están almacenadas ahora se pueden usar en expresiones de asignación (``:"
+"=``). Por ejemplo, en ``[(b := 1) for a, b.prop in some_iter]``, ahora se "
+"permite la asignación a ``b``. Tenga en cuenta que la asignación de "
+"variables almacenadas en la parte de destino de las comprensiones (como "
+"``a``) todavía no está permitida, según :pep:`572`. (Aportado por Nikita "
+"Sobolev en :gh:`100581`.)"
#: ../Doc/whatsnew/3.12.rst:568
msgid ""
@@ -677,6 +926,10 @@ msgid ""
"wrapped by a :exc:`RuntimeError`. Context information is added to the "
"exception as a :pep:`678` note. (Contributed by Irit Katriel in :gh:`77757`.)"
msgstr ""
+"Las excepciones generadas en el método ``__set_name__`` de una clase o tipo "
+"ya no están incluidas en un :exc:`RuntimeError`. La información de contexto "
+"se agrega a la excepción como una nota :pep:`678`. (Aportado por Irit "
+"Katriel en :gh:`77757`.)"
#: ../Doc/whatsnew/3.12.rst:572
msgid ""
@@ -685,6 +938,10 @@ msgid ""
"exc:`ExceptionGroup`. Also changed in version 3.11.4. (Contributed by Irit "
"Katriel in :gh:`103590`.)"
msgstr ""
+"Cuando una construcción ``try-except*`` maneja todo el :exc:`ExceptionGroup` "
+"y genera otra excepción, esa excepción ya no está incluida en un :exc:"
+"`ExceptionGroup`. También cambió en la versión 3.11.4. (Aportado por Irit "
+"Katriel en :gh:`103590`.)"
#: ../Doc/whatsnew/3.12.rst:577
msgid ""
@@ -695,6 +952,13 @@ msgid ""
"chance to execute the GC periodically. (Contributed by Pablo Galindo in :gh:"
"`97922`.)"
msgstr ""
+"El recolector de basura ahora se ejecuta solo en el mecanismo de "
+"interrupción de evaluación del ciclo de evaluación del código de bytes de "
+"Python en lugar de en las asignaciones de objetos. El GC también se puede "
+"ejecutar cuando se llama a :c:func:`PyErr_CheckSignals`, por lo que las "
+"extensiones C que necesitan ejecutarse durante un período prolongado sin "
+"ejecutar ningún código Python también tienen la posibilidad de ejecutar el "
+"GC periódicamente. (Aportado por Pablo Galindo en :gh:`97922`.)"
#: ../Doc/whatsnew/3.12.rst:584
msgid ""
@@ -702,12 +966,17 @@ msgid ""
"arguments of any type instead of just :class:`bool` and :class:`int`. "
"(Contributed by Serhiy Storchaka in :gh:`60203`.)"
msgstr ""
+"Todos los invocables integrados y de extensión que esperan parámetros "
+"booleanos ahora aceptan argumentos de cualquier tipo en lugar de solo :class:"
+"`bool` y :class:`int`. (Contribución de Serhiy Storchaka en :gh:`60203`.)"
#: ../Doc/whatsnew/3.12.rst:588
msgid ""
":class:`memoryview` now supports the half-float type (the \"e\" format "
"code). (Contributed by Donghee Na and Antoine Pitrou in :gh:`90751`.)"
msgstr ""
+":class:`memoryview` ahora admite el tipo medio flotante (el código de "
+"formato \"e\"). (Contribución de Donghee Na y Antoine Pitrou en :gh:`90751`.)"
#: ../Doc/whatsnew/3.12.rst:591
msgid ""
@@ -715,6 +984,9 @@ msgid ""
"keys and set items. (Contributed by Will Bradshaw, Furkan Onder, and Raymond "
"Hettinger in :gh:`101264`.)"
msgstr ""
+"Los objetos :class:`slice` ahora son hasheables, lo que permite usarlos como "
+"claves de dictado y elementos de configuración. (Contribución de Will "
+"Bradshaw, Furkan Onder y Raymond Hettinger en :gh:`101264`.)"
#: ../Doc/whatsnew/3.12.rst:594
msgid ""
@@ -722,6 +994,9 @@ msgid ""
"commutativity when summing floats or mixed ints and floats. (Contributed by "
"Raymond Hettinger in :gh:`100425`.)"
msgstr ""
+":func:`sum` ahora utiliza la suma de Neumaier para mejorar la precisión y la "
+"conmutatividad al sumar flotantes o enteros y flotantes mixtos. (Aportado "
+"por Raymond Hettinger en :gh:`100425`.)"
#: ../Doc/whatsnew/3.12.rst:598
msgid ""
@@ -729,6 +1004,9 @@ msgid ""
"when parsing source code containing null bytes. (Contributed by Pablo "
"Galindo in :gh:`96670`.)"
msgstr ""
+":func:`ast.parse` ahora genera :exc:`SyntaxError` en lugar de :exc:"
+"`ValueError` al analizar el código fuente que contiene bytes nulos. "
+"(Aportado por Pablo Galindo en :gh:`96670`.)"
#: ../Doc/whatsnew/3.12.rst:602
msgid ""
@@ -739,12 +1017,22 @@ msgid ""
"for details. In Python 3.14, the default will switch to ``'data'``. "
"(Contributed by Petr Viktorin in :pep:`706`.)"
msgstr ""
+"Los métodos de extracción en :mod:`tarfile` y :func:`shutil.unpack_archive` "
+"tienen un nuevo argumento, *filter*, que permite limitar funciones tar que "
+"puedan resultar sorprendentes o peligrosas, como la creación de archivos "
+"fuera del directorio de destino. Consulte :ref:`tarfile extraction filters "
+"` para obtener más detalles. En Python 3.14, el "
+"valor predeterminado cambiará a ``'data'``. (Aportado por Petr Viktorin en :"
+"pep:`706`.)"
#: ../Doc/whatsnew/3.12.rst:610
msgid ""
":class:`types.MappingProxyType` instances are now hashable if the underlying "
"mapping is hashable. (Contributed by Serhiy Storchaka in :gh:`87995`.)"
msgstr ""
+"Las instancias :class:`types.MappingProxyType` ahora son hasheables si el "
+"mapeo subyacente es hasheable. (Contribución de Serhiy Storchaka en :gh:"
+"`87995`.)"
#: ../Doc/whatsnew/3.12.rst:614
msgid ""
@@ -756,32 +1044,42 @@ msgid ""
"Contributed by Pablo Galindo and Christian Heimes with contributions from "
"Gregory P. Smith [Google] and Mark Shannon in :gh:`96123`.)"
msgstr ""
+"Agregado :ref:`support for the perf profiler ` a través de "
+"la nueva variable de entorno :envvar:`PYTHONPERFSUPPORT` y la opción de "
+"línea de comandos :option:`-X perf <-X>`, así como las nuevas funciones :"
+"func:`sys.activate_stack_trampoline`, :func:`sys."
+"deactivate_stack_trampoline` y :func:`sys.is_stack_trampoline_active`. "
+"(Diseño de Pablo Galindo. Contribución de Pablo Galindo y Christian Heimes "
+"con contribuciones de Gregory P. Smith [Google] y Mark Shannon en :gh:"
+"`96123`.)"
#: ../Doc/whatsnew/3.12.rst:626
msgid "New Modules"
-msgstr ""
+msgstr "Nuevos módulos"
#: ../Doc/whatsnew/3.12.rst:628
msgid "None."
-msgstr ""
+msgstr "Ninguno."
#: ../Doc/whatsnew/3.12.rst:632
msgid "Improved Modules"
-msgstr ""
+msgstr "Módulos mejorados"
#: ../Doc/whatsnew/3.12.rst:635
msgid "array"
-msgstr ""
+msgstr "array"
#: ../Doc/whatsnew/3.12.rst:637
msgid ""
"The :class:`array.array` class now supports subscripting, making it a :term:"
"`generic type`. (Contributed by Jelle Zijlstra in :gh:`98658`.)"
msgstr ""
+"La clase :class:`array.array` ahora admite subíndices, lo que la convierte "
+"en :term:`generic type`. (Aportado por Jelle Zijlstra en :gh:`98658`.)"
#: ../Doc/whatsnew/3.12.rst:641
msgid "asyncio"
-msgstr ""
+msgstr "asincio"
#: ../Doc/whatsnew/3.12.rst:643
msgid ""
@@ -790,6 +1088,10 @@ msgid ""
"writing to sockets and uses :meth:`~socket.socket.sendmsg` if the platform "
"supports it. (Contributed by Kumar Aditya in :gh:`91166`.)"
msgstr ""
+"Se ha mejorado significativamente el rendimiento de escritura en sockets en :"
+"mod:`asyncio`. ``asyncio`` ahora evita copias innecesarias al escribir en "
+"sockets y usa :meth:`~socket.socket.sendmsg` si la plataforma lo admite. "
+"(Aportado por Kumar Aditya en :gh:`91166`.)"
#: ../Doc/whatsnew/3.12.rst:648
msgid ""
@@ -798,6 +1100,11 @@ msgid ""
"eager task execution, making some use-cases 2x to 5x faster. (Contributed by "
"Jacob Bower & Itamar Oren in :gh:`102853`, :gh:`104140`, and :gh:`104138`)"
msgstr ""
+"Agregado las funciones :func:`asyncio.eager_task_factory` y :func:`asyncio."
+"create_eager_task_factory` para permitir la opción de un bucle de eventos "
+"para la ejecución de tareas entusiastas, lo que hace que algunos casos de "
+"uso sean de 2 a 5 veces más rápidos. (Contribución de Jacob Bower e Itamar "
+"Oren en :gh:`102853`, :gh:`104140` y :gh:`104138`)"
#: ../Doc/whatsnew/3.12.rst:653
msgid ""
@@ -805,6 +1112,10 @@ msgid ""
"if :func:`os.pidfd_open` is available and functional instead of :class:"
"`asyncio.ThreadedChildWatcher`. (Contributed by Kumar Aditya in :gh:`98024`.)"
msgstr ""
+"En Linux, :mod:`asyncio` usa :class:`asyncio.PidfdChildWatcher` de forma "
+"predeterminada si :func:`os.pidfd_open` está disponible y es funcional en "
+"lugar de :class:`asyncio.ThreadedChildWatcher`. (Aportado por Kumar Aditya "
+"en :gh:`98024`.)"
#: ../Doc/whatsnew/3.12.rst:658
msgid ""
@@ -813,18 +1124,29 @@ msgid ""
"ThreadedChildWatcher` otherwise), so manually configuring a child watcher is "
"not recommended. (Contributed by Kumar Aditya in :gh:`94597`.)"
msgstr ""
+"El bucle de eventos ahora utiliza el mejor observador de hijos disponible "
+"para cada plataforma (:class:`asyncio.PidfdChildWatcher` si es compatible y :"
+"class:`asyncio.ThreadedChildWatcher` en caso contrario), por lo que no se "
+"recomienda configurar manualmente un observador de hijos. (Aportado por "
+"Kumar Aditya en :gh:`94597`.)"
#: ../Doc/whatsnew/3.12.rst:664
msgid ""
"Add *loop_factory* parameter to :func:`asyncio.run` to allow specifying a "
"custom event loop factory. (Contributed by Kumar Aditya in :gh:`99388`.)"
msgstr ""
+"Agregado el parámetro *loop_factory* a :func:`asyncio.run` para permitir "
+"especificar una fábrica de bucle de eventos personalizada. (Aportado por "
+"Kumar Aditya en :gh:`99388`.)"
#: ../Doc/whatsnew/3.12.rst:668
msgid ""
"Add C implementation of :func:`asyncio.current_task` for 4x-6x speedup. "
"(Contributed by Itamar Oren and Pranav Thulasiram Bhat in :gh:`100344`.)"
msgstr ""
+"Agregado la implementación C de :func:`asyncio.current_task` para una "
+"aceleración de 4x-6x. (Aportado por Itamar Oren y Pranav Thulasiram Bhat en :"
+"gh:`100344`.)"
#: ../Doc/whatsnew/3.12.rst:671
msgid ""
@@ -832,16 +1154,21 @@ msgid ""
"`asyncio` does not support legacy generator-based coroutines. (Contributed "
"by Kumar Aditya in :gh:`102748`.)"
msgstr ""
+":func:`asyncio.iscoroutine` ahora devuelve ``False`` para generadores, ya "
+"que :mod:`asyncio` no admite rutinas heredadas basadas en generadores. "
+"(Aportado por Kumar Aditya en :gh:`102748`.)"
#: ../Doc/whatsnew/3.12.rst:675
msgid ""
":func:`asyncio.wait` and :func:`asyncio.as_completed` now accepts generators "
"yielding tasks. (Contributed by Kumar Aditya in :gh:`78530`.)"
msgstr ""
+":func:`asyncio.wait` y :func:`asyncio.as_completed` ahora aceptan "
+"generadores que generan tareas. (Aportado por Kumar Aditya en :gh:`78530`.)"
#: ../Doc/whatsnew/3.12.rst:680
msgid "calendar"
-msgstr ""
+msgstr "calendar"
#: ../Doc/whatsnew/3.12.rst:682
msgid ""
@@ -849,10 +1176,13 @@ msgid ""
"the year and days of the week. (Contributed by Prince Roshan in :gh:"
"`103636`.)"
msgstr ""
+"Agregado las enumeraciones :data:`calendar.Month` y :data:`calendar.Day` que "
+"definen los meses del año y los días de la semana. (Aportado por el Príncipe "
+"Roshan en :gh:`103636`.)"
#: ../Doc/whatsnew/3.12.rst:687
msgid "csv"
-msgstr ""
+msgstr "csv"
#: ../Doc/whatsnew/3.12.rst:689
msgid ""
@@ -860,10 +1190,13 @@ msgid ""
"provide finer grained control of ``None`` and empty strings by :class:`csv."
"writer` objects."
msgstr ""
+"Agregado indicadores :const:`csv.QUOTE_NOTNULL` y :const:`csv.QUOTE_STRINGS` "
+"para proporcionar un control más detallado de ``None`` y cadenas vacías por "
+"objetos :class:`csv.writer`."
#: ../Doc/whatsnew/3.12.rst:694
msgid "dis"
-msgstr ""
+msgstr "dis"
#: ../Doc/whatsnew/3.12.rst:696
msgid ""
@@ -873,36 +1206,49 @@ msgid ""
"pseudo instructions. Use the new :data:`dis.hasarg` collection instead. "
"(Contributed by Irit Katriel in :gh:`94216`.)"
msgstr ""
+"Los códigos de operación de pseudoinstrucción (que son utilizados por el "
+"compilador pero que no aparecen en el código de bytes ejecutable) ahora "
+"están expuestos en el módulo :mod:`dis`. :opcode:`HAVE_ARGUMENT` sigue "
+"siendo relevante para códigos de operación reales, pero no es útil para "
+"pseudoinstrucciones. Utilice la nueva colección :data:`dis.hasarg` en su "
+"lugar. (Aportado por Irit Katriel en :gh:`94216`.)"
#: ../Doc/whatsnew/3.12.rst:704
msgid ""
"Add the :data:`dis.hasexc` collection to signify instructions that set an "
"exception handler. (Contributed by Irit Katriel in :gh:`94216`.)"
msgstr ""
+"Agregado la colección :data:`dis.hasexc` para indicar instrucciones que "
+"establecen un controlador de excepciones. (Aportado por Irit Katriel en :gh:"
+"`94216`.)"
#: ../Doc/whatsnew/3.12.rst:708
msgid "fractions"
-msgstr ""
+msgstr "fractions"
#: ../Doc/whatsnew/3.12.rst:710
msgid ""
"Objects of type :class:`fractions.Fraction` now support float-style "
"formatting. (Contributed by Mark Dickinson in :gh:`100161`.)"
msgstr ""
+"Los objetos de tipo :class:`fractions.Fraction` ahora admiten formato de "
+"estilo flotante. (Aportado por Mark Dickinson en :gh:`100161`.)"
#: ../Doc/whatsnew/3.12.rst:714
msgid "importlib.resources"
-msgstr ""
+msgstr "importlib.resources"
#: ../Doc/whatsnew/3.12.rst:716
msgid ""
":func:`importlib.resources.as_file` now supports resource directories. "
"(Contributed by Jason R. Coombs in :gh:`97930`.)"
msgstr ""
+":func:`importlib.resources.as_file` ahora admite directorios de recursos. "
+"(Aportado por Jason R. Coombs en :gh:`97930`.)"
#: ../Doc/whatsnew/3.12.rst:720
msgid "inspect"
-msgstr ""
+msgstr "inspect"
#: ../Doc/whatsnew/3.12.rst:722
msgid ""
@@ -910,6 +1256,9 @@ msgid ""
"a :term:`coroutine` for use with :func:`inspect.iscoroutinefunction`. "
"(Contributed Carlton Gibson in :gh:`99247`.)"
msgstr ""
+"Agregado :func:`inspect.markcoroutinefunction` para marcar las funciones de "
+"sincronización que devuelven un :term:`coroutine` para usar con :func:"
+"`inspect.iscoroutinefunction`. (Contribuyó Carlton Gibson en :gh:`99247`.)"
#: ../Doc/whatsnew/3.12.rst:726
msgid ""
@@ -917,6 +1266,9 @@ msgid ""
"for determining the current state of asynchronous generators. (Contributed "
"by Thomas Krennwallner in :gh:`79940`.)"
msgstr ""
+"Agregado :func:`inspect.getasyncgenstate` y :func:`inspect."
+"getasyncgenlocals` para determinar el estado actual de los generadores "
+"asíncronos. (Aportado por Thomas Krennwallner en :gh:`79940`.)"
#: ../Doc/whatsnew/3.12.rst:730
msgid ""
@@ -925,10 +1277,14 @@ msgid ""
"were in Python 3.11, and some may be 6x faster or more. (Contributed by Alex "
"Waygood in :gh:`103193`.)"
msgstr ""
+"El rendimiento de :func:`inspect.getattr_static` se ha mejorado "
+"considerablemente. La mayoría de las llamadas a la función deberían ser al "
+"menos 2 veces más rápidas que en Python 3.11, y algunas pueden ser 6 veces "
+"más rápidas o más. (Contribuido por Alex Waygood en :gh:`103193`.)"
#: ../Doc/whatsnew/3.12.rst:736
msgid "itertools"
-msgstr ""
+msgstr "itertools"
#: ../Doc/whatsnew/3.12.rst:738
msgid ""
@@ -936,16 +1292,21 @@ msgid ""
"the last batch may be shorter than the rest. (Contributed by Raymond "
"Hettinger in :gh:`98363`.)"
msgstr ""
+"Agregado :class:`itertools.batched()` para recopilar en tuplas de tamaño par "
+"donde el último lote puede ser más corto que el resto. (Aportado por Raymond "
+"Hettinger en :gh:`98363`.)"
#: ../Doc/whatsnew/3.12.rst:743
msgid "math"
-msgstr ""
+msgstr "math"
#: ../Doc/whatsnew/3.12.rst:745
msgid ""
"Add :func:`math.sumprod` for computing a sum of products. (Contributed by "
"Raymond Hettinger in :gh:`100485`.)"
msgstr ""
+"Agregado :func:`math.sumprod` para calcular una suma de productos. (Aportado "
+"por Raymond Hettinger en :gh:`100485`.)"
#: ../Doc/whatsnew/3.12.rst:748
msgid ""
@@ -953,10 +1314,13 @@ msgid ""
"down multiple steps at a time. (By Matthias Goergens, Mark Dickinson, and "
"Raymond Hettinger in :gh:`94906`.)"
msgstr ""
+"Se extendió :func:`math.nextafter` para incluir un argumento *steps* para "
+"subir o bajar varios pasos a la vez. (Por Matthias Goergens, Mark Dickinson "
+"y Raymond Hettinger en :gh:`94906`.)"
#: ../Doc/whatsnew/3.12.rst:753
msgid "os"
-msgstr ""
+msgstr "os"
#: ../Doc/whatsnew/3.12.rst:755
msgid ""
@@ -964,6 +1328,9 @@ msgid ""
"func:`os.pidfd_open` in non-blocking mode. (Contributed by Kumar Aditya in :"
"gh:`93312`.)"
msgstr ""
+"Agregado :const:`os.PIDFD_NONBLOCK` para abrir un descriptor de archivo para "
+"un proceso con :func:`os.pidfd_open` en modo sin bloqueo. (Aportado por "
+"Kumar Aditya en :gh:`93312`.)"
#: ../Doc/whatsnew/3.12.rst:759
msgid ""
@@ -971,6 +1338,9 @@ msgid ""
"to check if the entry is a junction. (Contributed by Charles Machalow in :gh:"
"`99547`.)"
msgstr ""
+":class:`os.DirEntry` ahora incluye un método :meth:`os.DirEntry.is_junction` "
+"para verificar si la entrada es un cruce. (Aportado por Charles Machalow en :"
+"gh:`99547`.)"
#: ../Doc/whatsnew/3.12.rst:763
msgid ""
@@ -978,6 +1348,9 @@ msgid ""
"functions on Windows for enumerating drives, volumes and mount points. "
"(Contributed by Steve Dower in :gh:`102519`.)"
msgstr ""
+"Agregado funciones :func:`os.listdrives`, :func:`os.listvolumes` y :func:`os."
+"listmounts` en Windows para enumerar unidades, volúmenes y puntos de "
+"montaje. (Aportado por Steve Dower en :gh:`102519`.)"
#: ../Doc/whatsnew/3.12.rst:767
msgid ""
@@ -991,26 +1364,40 @@ msgid ""
"faster on newer releases of Windows. (Contributed by Steve Dower in :gh:"
"`99726`.)"
msgstr ""
+":func:`os.stat` y :func:`os.lstat` ahora son más precisos en Windows. El "
+"campo ``st_birthtime`` ahora se completará con la hora de creación del "
+"archivo, y ``st_ctime`` está obsoleto pero aún contiene la hora de creación "
+"(pero en el futuro devolverá el último cambio de metadatos, para mantener la "
+"coherencia con otras plataformas). ``st_dev`` puede tener hasta 64 bits y "
+"``st_ino`` hasta 128 bits dependiendo de su sistema de archivos, y "
+"``st_rdev`` siempre está configurado en cero en lugar de valores "
+"incorrectos. Ambas funciones pueden ser significativamente más rápidas en "
+"las versiones más recientes de Windows. (Aportado por Steve Dower en :gh:"
+"`99726`.)"
#: ../Doc/whatsnew/3.12.rst:778
msgid "os.path"
-msgstr ""
+msgstr "os.path"
#: ../Doc/whatsnew/3.12.rst:780
msgid ""
"Add :func:`os.path.isjunction` to check if a given path is a junction. "
"(Contributed by Charles Machalow in :gh:`99547`.)"
msgstr ""
+"Agregado :func:`os.path.isjunction` para verificar si una ruta determinada "
+"es un cruce. (Aportado por Charles Machalow en :gh:`99547`.)"
#: ../Doc/whatsnew/3.12.rst:783
msgid ""
"Add :func:`os.path.splitroot` to split a path into a triad ``(drive, root, "
"tail)``. (Contributed by Barney Gale in :gh:`101000`.)"
msgstr ""
+"Agregado :func:`os.path.splitroot` para dividir una ruta en una tríada "
+"``(drive, root, tail)``. (Aportado por Barney Gale en :gh:`101000`.)"
#: ../Doc/whatsnew/3.12.rst:787
msgid "pathlib"
-msgstr ""
+msgstr "pathlib"
#: ../Doc/whatsnew/3.12.rst:789
msgid ""
@@ -1019,6 +1406,10 @@ msgid ""
"override the :meth:`pathlib.PurePath.with_segments` method to pass "
"information between path instances."
msgstr ""
+"Agregado soporte para subclasificar :class:`pathlib.PurePath` y :class:"
+"`pathlib.Path`, además de sus variantes específicas de Posix y Windows. Las "
+"subclases pueden anular el método :meth:`pathlib.PurePath.with_segments` "
+"para pasar información entre instancias de ruta."
#: ../Doc/whatsnew/3.12.rst:794
msgid ""
@@ -1026,6 +1417,9 @@ msgid ""
"all file or directory names within them, similar to :func:`os.walk`. "
"(Contributed by Stanislav Zmiev in :gh:`90385`.)"
msgstr ""
+"Agregado :meth:`pathlib.Path.walk` para recorrer los árboles de directorios "
+"y generar todos los nombres de archivos o directorios dentro de ellos, "
+"similar a :func:`os.walk`. (Aportado por Stanislav Zmiev en :gh:`90385`.)"
#: ../Doc/whatsnew/3.12.rst:798
msgid ""
@@ -1034,12 +1428,18 @@ msgid ""
"consistent with :func:`os.path.relpath`. (Contributed by Domenico Ragusa in :"
"gh:`84538`.)"
msgstr ""
+"Agregado el parámetro opcional *walk_up* a :meth:`pathlib.PurePath."
+"relative_to` para permitir la inserción de entradas ``..`` en el resultado; "
+"este comportamiento es más consistente con :func:`os.path.relpath`. "
+"(Aportado por Domenico Ragusa en :gh:`84538`.)"
#: ../Doc/whatsnew/3.12.rst:803
msgid ""
"Add :meth:`pathlib.Path.is_junction` as a proxy to :func:`os.path."
"isjunction`. (Contributed by Charles Machalow in :gh:`99547`.)"
msgstr ""
+"Agregado :meth:`pathlib.Path.is_junction` como proxy a :func:`os.path."
+"isjunction`. (Aportado por Charles Machalow en :gh:`99547`.)"
#: ../Doc/whatsnew/3.12.rst:806
msgid ""
@@ -1048,10 +1448,14 @@ msgid ""
"path's case sensitivity, allowing for more precise control over the matching "
"process."
msgstr ""
+"Agregado el parámetro opcional *case_sensitive* a :meth:`pathlib.Path."
+"glob`, :meth:`pathlib.Path.rglob` y :meth:`pathlib.PurePath.match` para "
+"hacer coincidir la distinción entre mayúsculas y minúsculas de la ruta, lo "
+"que permite un control más preciso sobre el proceso de coincidencia."
#: ../Doc/whatsnew/3.12.rst:811
msgid "pdb"
-msgstr ""
+msgstr "pbd"
#: ../Doc/whatsnew/3.12.rst:813
msgid ""
@@ -1059,26 +1463,33 @@ msgid ""
"provide quick access to values like the current frame or the return value. "
"(Contributed by Tian Gao in :gh:`103693`.)"
msgstr ""
+"Agregado variables convenientes para mantener valores temporalmente para la "
+"sesión de depuración y proporcionar acceso rápido a valores como el marco "
+"actual o el valor de retorno. (Aportado por Tian Gao en :gh:`103693`.)"
#: ../Doc/whatsnew/3.12.rst:819
msgid "random"
-msgstr ""
+msgstr "random"
#: ../Doc/whatsnew/3.12.rst:821
msgid ""
"Add :func:`random.binomialvariate`. (Contributed by Raymond Hettinger in :gh:"
"`81620`.)"
msgstr ""
+"Agregado :func:`random.binomialvariate`. (Aportado por Raymond Hettinger en :"
+"gh:`81620`.)"
#: ../Doc/whatsnew/3.12.rst:824
msgid ""
"Add a default of ``lambd=1.0`` to :func:`random.expovariate`. (Contributed "
"by Raymond Hettinger in :gh:`100234`.)"
msgstr ""
+"Agregado un valor predeterminado de ``lambd=1.0`` a :func:`random."
+"expovariate`. (Aportado por Raymond Hettinger en :gh:`100234`.)"
#: ../Doc/whatsnew/3.12.rst:828
msgid "shutil"
-msgstr ""
+msgstr "shutil"
#: ../Doc/whatsnew/3.12.rst:830
msgid ""
@@ -1087,6 +1498,10 @@ msgid ""
"the current working directory of the process to *root_dir* to perform "
"archiving. (Contributed by Serhiy Storchaka in :gh:`74696`.)"
msgstr ""
+":func:`shutil.make_archive` ahora pasa el argumento *root_dir* a "
+"archivadores personalizados que lo admiten. En este caso, ya no cambia "
+"temporalmente el directorio de trabajo actual del proceso a *root_dir* para "
+"realizar el archivado. (Aportado por Serhiy Storchaka en :gh:`74696`.)"
#: ../Doc/whatsnew/3.12.rst:836
msgid ""
@@ -1095,6 +1510,10 @@ msgid ""
"*(typ, val, tb)* triplet. *onerror* is deprecated and will be removed in "
"Python 3.14. (Contributed by Irit Katriel in :gh:`102828`.)"
msgstr ""
+":func:`shutil.rmtree` ahora acepta un nuevo argumento *onexc* que es un "
+"controlador de errores como *onerror* pero que espera una instancia de "
+"excepción en lugar de un triplete *(typ, val, tb)*. *onerror* está en desuso "
+"y se eliminará en Python 3.14. (Aportado por Irit Katriel en :gh:`102828`.)"
#: ../Doc/whatsnew/3.12.rst:842
msgid ""
@@ -1102,6 +1521,10 @@ msgid ""
"matches within *PATH* on Windows even when the given *cmd* includes a "
"directory component. (Contributed by Charles Machalow in :gh:`103179`.)"
msgstr ""
+":func:`shutil.which` ahora consulta la variable de entorno *PATHEXT* para "
+"encontrar coincidencias dentro de *PATH* en Windows incluso cuando el *cmd* "
+"dado incluye un componente de directorio. (Aportado por Charles Machalow en :"
+"gh:`103179`.)"
#: ../Doc/whatsnew/3.12.rst:847
msgid ""
@@ -1110,6 +1533,10 @@ msgid ""
"directory should be prepended to the search path. (Contributed by Charles "
"Machalow in :gh:`103179`.)"
msgstr ""
+":func:`shutil.which` llamará a ``NeedCurrentDirectoryForExePathW`` cuando "
+"solicite ejecutables en Windows para determinar si el directorio de trabajo "
+"actual debe anteponerse a la ruta de búsqueda. (Aportado por Charles "
+"Machalow en :gh:`103179`.)"
#: ../Doc/whatsnew/3.12.rst:852
msgid ""
@@ -1117,16 +1544,22 @@ msgid ""
"from ``PATHEXT`` prior to a direct match elsewhere in the search path on "
"Windows. (Contributed by Charles Machalow in :gh:`103179`.)"
msgstr ""
+":func:`shutil.which` devolverá una ruta que coincida con *cmd* con un "
+"componente de ``PATHEXT`` antes de una coincidencia directa en otra parte de "
+"la ruta de búsqueda en Windows. (Aportado por Charles Machalow en :gh:"
+"`103179`.)"
#: ../Doc/whatsnew/3.12.rst:858 ../Doc/whatsnew/3.12.rst:1637
msgid "sqlite3"
-msgstr ""
+msgstr "sqlite3"
#: ../Doc/whatsnew/3.12.rst:860
msgid ""
"Add a :ref:`command-line interface `. (Contributed by Erlend E. "
"Aasland in :gh:`77617`.)"
msgstr ""
+"Agregado un :ref:`command-line interface `. (Aportado por "
+"Erlend E. Aasland en :gh:`77617`.)"
#: ../Doc/whatsnew/3.12.rst:863
msgid ""
@@ -1135,6 +1568,11 @@ msgid ""
"control :pep:`249`-compliant :ref:`transaction handling `. (Contributed by Erlend E. Aasland in :gh:`83638`.)"
msgstr ""
+"Agregado el atributo :attr:`sqlite3.Connection.autocommit` a :class:`sqlite3."
+"Connection` y el parámetro *autocommit* a :func:`sqlite3.connect` para "
+"controlar :ref:`transaction handling ` compatible con :pep:`249`. (Aportado por Erlend E. Aasland en :"
+"gh:`83638`.)"
#: ../Doc/whatsnew/3.12.rst:870
msgid ""
@@ -1142,6 +1580,9 @@ msgid ""
"load_extension`, for overriding the SQLite extension entry point. "
"(Contributed by Erlend E. Aasland in :gh:`103015`.)"
msgstr ""
+"Agregado el parámetro de solo palabra clave *entrypoint* a :meth:`sqlite3."
+"Connection.load_extension`, para anular el punto de entrada de la extensión "
+"SQLite. (Aportado por Erlend E. Aasland en :gh:`103015`.)"
#: ../Doc/whatsnew/3.12.rst:875
msgid ""
@@ -1149,10 +1590,14 @@ msgid ""
"setconfig` to :class:`sqlite3.Connection` to make configuration changes to a "
"database connection. (Contributed by Erlend E. Aasland in :gh:`103489`.)"
msgstr ""
+"Agregado :meth:`sqlite3.Connection.getconfig` y :meth:`sqlite3.Connection."
+"setconfig` a :class:`sqlite3.Connection` para realizar cambios de "
+"configuración en una conexión de base de datos. (Aportado por Erlend E. "
+"Aasland en :gh:`103489`.)"
#: ../Doc/whatsnew/3.12.rst:881
msgid "statistics"
-msgstr ""
+msgstr "statistics"
#: ../Doc/whatsnew/3.12.rst:883
msgid ""
@@ -1160,10 +1605,13 @@ msgid ""
"computing the Spearman correlation of ranked data. (Contributed by Raymond "
"Hettinger in :gh:`95861`.)"
msgstr ""
+"Se extendió :func:`statistics.correlation` para incluirlo como método "
+"``ranked`` para calcular la correlación de Spearman de datos clasificados. "
+"(Aportado por Raymond Hettinger en :gh:`95861`.)"
#: ../Doc/whatsnew/3.12.rst:888
msgid "sys"
-msgstr ""
+msgstr "sys"
#: ../Doc/whatsnew/3.12.rst:890
msgid ""
@@ -1171,6 +1619,9 @@ msgid ""
"` monitoring API. (Contributed by Mark Shannon in :gh:"
"`103082`.)"
msgstr ""
+"Agregado el espacio de nombres :mod:`sys.monitoring` para exponer la nueva "
+"API de supervisión :ref:`PEP 669 `. (Aportado por Mark "
+"Shannon en :gh:`103082`.)"
#: ../Doc/whatsnew/3.12.rst:894
msgid ""
@@ -1181,6 +1632,12 @@ msgid ""
"Christian Heimes with contributions from Gregory P. Smith [Google] and Mark "
"Shannon in :gh:`96123`.)"
msgstr ""
+"Agregado :func:`sys.activate_stack_trampoline` y :func:`sys."
+"deactivate_stack_trampoline` para activar y desactivar los trampolines del "
+"perfilador de pila, y :func:`sys.is_stack_trampoline_active` para consultar "
+"si los trampolines del perfilador de pila están activos. (Contribuido por "
+"Pablo Galindo y Christian Heimes con contribuciones de Gregory P. Smith "
+"[Google] y Mark Shannon en :gh:`96123`.)"
#: ../Doc/whatsnew/3.12.rst:903
msgid ""
@@ -1190,6 +1647,11 @@ msgid ""
"data:`sys.last_value` and :data:`sys.last_traceback`. (Contributed by Irit "
"Katriel in :gh:`102778`.)"
msgstr ""
+"Agregado :data:`sys.last_exc` que contiene la última excepción no controlada "
+"que se generó (para casos de uso de depuración post-mortem). Deje obsoletos "
+"los tres campos que tienen la misma información en su formato heredado: :"
+"data:`sys.last_type`, :data:`sys.last_value` y :data:`sys.last_traceback`. "
+"(Aportado por Irit Katriel en :gh:`102778`.)"
#: ../Doc/whatsnew/3.12.rst:909 ../Doc/whatsnew/3.12.rst:1825
msgid ""
@@ -1197,6 +1659,9 @@ msgid ""
"exception instance, rather than to a ``(typ, exc, tb)`` tuple. (Contributed "
"by Irit Katriel in :gh:`103176`.)"
msgstr ""
+":func:`sys._current_exceptions` ahora devuelve una asignación de thread-id a "
+"una instancia de excepción, en lugar de a una tupla ``(typ, exc, tb)``. "
+"(Aportado por Irit Katriel en :gh:`103176`.)"
#: ../Doc/whatsnew/3.12.rst:913
msgid ""
@@ -1205,26 +1670,35 @@ msgid ""
"use the recursion limit, but are protected by a different mechanism that "
"prevents recursion from causing a virtual machine crash."
msgstr ""
+":func:`sys.setrecursionlimit` y :func:`sys.getrecursionlimit`. El límite de "
+"recursividad ahora se aplica sólo al código Python. Las funciones integradas "
+"no utilizan el límite de recursividad, pero están protegidas por un "
+"mecanismo diferente que evita que la recursividad provoque un fallo de la "
+"máquina virtual."
#: ../Doc/whatsnew/3.12.rst:919
msgid "tempfile"
-msgstr ""
+msgstr "tempfile"
#: ../Doc/whatsnew/3.12.rst:921
msgid ""
"The :class:`tempfile.NamedTemporaryFile` function has a new optional "
"parameter *delete_on_close* (Contributed by Evgeny Zorin in :gh:`58451`.)"
msgstr ""
+"La función :class:`tempfile.NamedTemporaryFile` tiene un nuevo parámetro "
+"opcional *delete_on_close* (Aportado por Evgeny Zorin en :gh:`58451`.)"
#: ../Doc/whatsnew/3.12.rst:923
msgid ""
":func:`tempfile.mkdtemp` now always returns an absolute path, even if the "
"argument provided to the *dir* parameter is a relative path."
msgstr ""
+":func:`tempfile.mkdtemp` ahora siempre devuelve una ruta absoluta, incluso "
+"si el argumento proporcionado al parámetro *dir* es una ruta relativa."
#: ../Doc/whatsnew/3.12.rst:929
msgid "threading"
-msgstr ""
+msgstr "threading"
#: ../Doc/whatsnew/3.12.rst:931
msgid ""
@@ -1233,10 +1707,14 @@ msgid ""
"all running threads in addition to the calling one. (Contributed by Pablo "
"Galindo in :gh:`93503`.)"
msgstr ""
+"Agregado :func:`threading.settrace_all_threads` y :func:`threading."
+"setprofile_all_threads` que permiten configurar funciones de seguimiento y "
+"creación de perfiles en todos los hilos en ejecución además del que realiza "
+"la llamada. (Aportado por Pablo Galindo en :gh:`93503`.)"
#: ../Doc/whatsnew/3.12.rst:937
msgid "tkinter"
-msgstr ""
+msgstr "tkinter"
#: ../Doc/whatsnew/3.12.rst:939
msgid ""
@@ -1247,10 +1725,16 @@ msgid ""
"y2), ...]``), like ``create_*()`` methods. (Contributed by Serhiy Storchaka "
"in :gh:`94473`.)"
msgstr ""
+"``tkinter.Canvas.coords()`` ahora aplana sus argumentos. Ahora acepta no "
+"sólo coordenadas como argumentos separados (``x1, y1, x2, y2, ...``) y una "
+"secuencia de coordenadas (``[x1, y1, x2, y2, ...]``), sino también "
+"coordenadas agrupadas en pares (``(x1, y1), (x2, y2), ...`` y ``[(x1, y1), "
+"(x2, y2), ...]``), como los métodos ``create_*()``. (Aportado por Serhiy "
+"Storchaka en :gh:`94473`.)"
#: ../Doc/whatsnew/3.12.rst:948
msgid "tokenize"
-msgstr ""
+msgstr "tokenize"
#: ../Doc/whatsnew/3.12.rst:950
msgid ""
@@ -1259,10 +1743,14 @@ msgid ""
"ref:`whatsnew312-porting-to-python312` for more information on the changes "
"to the :mod:`tokenize` module."
msgstr ""
+"El módulo :mod:`tokenize` incluye los cambios introducidos en :pep:`701`. "
+"(Aportado por Marta Gómez Macías y Pablo Galindo en :gh:`102856`.) Consulte :"
+"ref:`whatsnew312-porting-to-python312` para obtener más información sobre "
+"los cambios en el módulo :mod:`tokenize`."
#: ../Doc/whatsnew/3.12.rst:956
msgid "types"
-msgstr ""
+msgstr "types"
#: ../Doc/whatsnew/3.12.rst:958
msgid ""
@@ -1270,10 +1758,13 @@ msgid ""
"ref:`user-defined-generics` when subclassed. (Contributed by James Hilton-"
"Balfe and Alex Waygood in :gh:`101827`.)"
msgstr ""
+"Agregado :func:`types.get_original_bases` para permitir una mayor "
+"introspección de :ref:`user-defined-generics` cuando esté subclasificado. "
+"(Contribución de James Hilton-Balfe y Alex Waygood en :gh:`101827`.)"
#: ../Doc/whatsnew/3.12.rst:963
msgid "typing"
-msgstr ""
+msgstr "typing"
#: ../Doc/whatsnew/3.12.rst:965
msgid ""
@@ -1287,6 +1778,17 @@ msgid ""
"protocol on Python 3.12+, and vice versa. Most users are unlikely to be "
"affected by this change. (Contributed by Alex Waygood in :gh:`102433`.)"
msgstr ""
+"Las comprobaciones de :func:`isinstance` con :func:`runtime-checkable "
+"protocols ` ahora usan :func:`inspect."
+"getattr_static` en lugar de :func:`hasattr` para buscar si existen "
+"atributos. Esto significa que los descriptores y los métodos :meth:`~object."
+"__getattr__` ya no se evalúan inesperadamente durante las comprobaciones de "
+"``isinstance()`` con protocolos verificables en tiempo de ejecución. Sin "
+"embargo, también puede significar que algunos objetos que solían "
+"considerarse instancias de un protocolo verificable en tiempo de ejecución "
+"ya no se consideran instancias de ese protocolo en Python 3.12+, y "
+"viceversa. Es poco probable que la mayoría de los usuarios se vean afectados "
+"por este cambio. (Contribuido por Alex Waygood en :gh:`102433`.)"
#: ../Doc/whatsnew/3.12.rst:976
msgid ""
@@ -1295,12 +1797,20 @@ msgid ""
"onto a runtime-checkable protocol will still work, but will have no impact "
"on :func:`isinstance` checks comparing objects to the protocol. For example::"
msgstr ""
+"Los miembros de un protocolo verificable en tiempo de ejecución ahora se "
+"consideran \"congelados\" en tiempo de ejecución tan pronto como se crea la "
+"clase. La aplicación de parches de atributos en un protocolo verificable en "
+"tiempo de ejecución seguirá funcionando, pero no tendrá ningún impacto en "
+"las comprobaciones :func:`isinstance` que comparan objetos con el protocolo. "
+"Por ejemplo::"
#: ../Doc/whatsnew/3.12.rst:998
msgid ""
"This change was made in order to speed up ``isinstance()`` checks against "
"runtime-checkable protocols."
msgstr ""
+"Este cambio se realizó para acelerar las comprobaciones de ``isinstance()`` "
+"en protocolos verificables en tiempo de ejecución."
#: ../Doc/whatsnew/3.12.rst:1001
msgid ""
@@ -1312,6 +1822,14 @@ msgid ""
"more members may be slower than in Python 3.11. (Contributed by Alex Waygood "
"in :gh:`74690` and :gh:`103193`.)"
msgstr ""
+"El perfil de rendimiento de las comprobaciones de :func:`isinstance` frente "
+"a :func:`runtime-checkable protocols ` ha cambiado "
+"significativamente. La mayoría de las comprobaciones de ``isinstance()`` en "
+"protocolos con solo unos pocos miembros deberían ser al menos 2 veces más "
+"rápidas que en 3.11, y algunas pueden ser 20 veces más rápidas o más. Sin "
+"embargo, las comprobaciones de ``isinstance()`` con protocolos con catorce o "
+"más miembros pueden ser más lentas que en Python 3.11. (Contribuido por Alex "
+"Waygood en :gh:`74690` y :gh:`103193`.)"
#: ../Doc/whatsnew/3.12.rst:1009
msgid ""
@@ -1319,49 +1837,60 @@ msgid ""
"the ``__orig_bases__`` attribute. (Contributed by Adrian Garcia Badaracco "
"in :gh:`103699`.)"
msgstr ""
+"Todas las clases :data:`typing.TypedDict` y :data:`typing.NamedTuple` ahora "
+"tienen el atributo ``__orig_bases__``. (Aportado por Adrián García Badaracco "
+"en :gh:`103699`.)"
#: ../Doc/whatsnew/3.12.rst:1013
msgid ""
"Add ``frozen_default`` parameter to :func:`typing.dataclass_transform`. "
"(Contributed by Erik De Bonte in :gh:`99957`.)"
msgstr ""
+"Agregado el parámetro ``frozen_default`` a :func:`typing."
+"dataclass_transform`. (Aportado por Erik De Bonte en :gh:`99957`.)"
#: ../Doc/whatsnew/3.12.rst:1017
msgid "unicodedata"
-msgstr ""
+msgstr "unicodedata"
#: ../Doc/whatsnew/3.12.rst:1019
msgid ""
"The Unicode database has been updated to version 15.0.0. (Contributed by "
"Benjamin Peterson in :gh:`96734`)."
msgstr ""
+"La base de datos Unicode se ha actualizado a la versión 15.0.0. (Aportado "
+"por Benjamin Peterson en :gh:`96734`)."
#: ../Doc/whatsnew/3.12.rst:1023 ../Doc/whatsnew/3.12.rst:1678
msgid "unittest"
-msgstr ""
+msgstr "unittest"
#: ../Doc/whatsnew/3.12.rst:1025
msgid ""
"Add a ``--durations`` command line option, showing the N slowest test cases::"
msgstr ""
+"Agregado una opción de línea de comando ``--durations``, que muestra los N "
+"casos de prueba más lentos:"
#: ../Doc/whatsnew/3.12.rst:1041
msgid "(Contributed by Giampaolo Rodola in :gh:`48330`)"
-msgstr ""
+msgstr "(Aportado por Giampaolo Rodola en :gh:`48330`)"
#: ../Doc/whatsnew/3.12.rst:1044
msgid "uuid"
-msgstr ""
+msgstr "uuid"
#: ../Doc/whatsnew/3.12.rst:1046
msgid ""
"Add a :ref:`command-line interface `. (Contributed by Adam Chhina "
"in :gh:`88597`.)"
msgstr ""
+"Agregado un :ref:`command-line interface `. (Aportado por Adam "
+"Chhina en :gh:`88597`.)"
#: ../Doc/whatsnew/3.12.rst:1051
msgid "Optimizations"
-msgstr ""
+msgstr "Optimizaciones"
#: ../Doc/whatsnew/3.12.rst:1053
msgid ""
@@ -1369,6 +1898,9 @@ msgid ""
"object size by 8 or 16 bytes on 64bit platform. (:pep:`623`) (Contributed by "
"Inada Naoki in :gh:`92536`.)"
msgstr ""
+"Elimine los miembros ``wstr`` y ``wstr_length`` de los objetos Unicode. "
+"Reduce el tamaño del objeto en 8 o 16 bytes en una plataforma de 64 bits. (:"
+"pep:`623`) (Aportado por Inada Naoki en :gh:`92536`.)"
#: ../Doc/whatsnew/3.12.rst:1057
msgid ""
@@ -1376,6 +1908,10 @@ msgid ""
"process, which improves performance by 1-5%. (Contributed by Kevin "
"Modzelewski in :gh:`90536` and tuned by Donghee Na in :gh:`101525`)"
msgstr ""
+"Agregado soporte experimental para usar el optimizador binario BOLT en el "
+"proceso de compilación, lo que mejora el rendimiento entre un 1% y un 5%. "
+"(Contribuido por Kevin Modzelewski en :gh:`90536` y sintonizado por Donghee "
+"Na en :gh:`101525`)"
#: ../Doc/whatsnew/3.12.rst:1061
msgid ""
@@ -1384,12 +1920,18 @@ msgid ""
"replacement strings containing group references by 2--3 times. (Contributed "
"by Serhiy Storchaka in :gh:`91524`.)"
msgstr ""
+"Acelere la sustitución de expresiones regulares (funciones :func:`re.sub` y :"
+"func:`re.subn` y los métodos :class:`!re.Pattern` correspondientes) para "
+"cadenas de reemplazo que contienen referencias de grupo entre 2 y 3 veces. "
+"(Aportado por Serhiy Storchaka en :gh:`91524`.)"
#: ../Doc/whatsnew/3.12.rst:1066
msgid ""
"Speed up :class:`asyncio.Task` creation by deferring expensive string "
"formatting. (Contributed by Itamar Oren in :gh:`103793`.)"
msgstr ""
+"Acelere la creación de :class:`asyncio.Task` aplazando el costoso formato de "
+"cadenas. (Aportado por Itamar Oren en :gh:`103793`.)"
#: ../Doc/whatsnew/3.12.rst:1069
#, python-format
@@ -1399,6 +1941,10 @@ msgid ""
"`701` in the :mod:`tokenize` module. (Contributed by Marta Gómez Macías and "
"Pablo Galindo in :gh:`102856`.)"
msgstr ""
+"Las funciones :func:`tokenize.tokenize` y :func:`tokenize.generate_tokens` "
+"son hasta un 64 % más rápidas como efecto secundario de los cambios "
+"necesarios para cubrir :pep:`701` en el módulo :mod:`tokenize`. (Aportado "
+"por Marta Gómez Macías y Pablo Galindo en :gh:`102856`.)"
#: ../Doc/whatsnew/3.12.rst:1074
msgid ""
@@ -1406,10 +1952,13 @@ msgid ""
"`LOAD_SUPER_ATTR` instruction. (Contributed by Carl Meyer and Vladimir "
"Matveev in :gh:`103497`.)"
msgstr ""
+"Acelere las llamadas al método :func:`super` y las cargas de atributos "
+"mediante la nueva instrucción :opcode:`LOAD_SUPER_ATTR`. (Contribución de "
+"Carl Meyer y Vladimir Matveev en :gh:`103497`.)"
#: ../Doc/whatsnew/3.12.rst:1080
msgid "CPython bytecode changes"
-msgstr ""
+msgstr "Cambios en el código de bytes de CPython"
#: ../Doc/whatsnew/3.12.rst:1082
msgid ""
@@ -1418,6 +1967,10 @@ msgid ""
"`!LOAD_METHOD` instruction if the low bit of its oparg is set. (Contributed "
"by Ken Jin in :gh:`93429`.)"
msgstr ""
+"Elimine la instrucción :opcode:`!LOAD_METHOD`. Se ha fusionado con :opcode:"
+"`LOAD_ATTR`. :opcode:`LOAD_ATTR` ahora se comportará como la antigua "
+"instrucción :opcode:`!LOAD_METHOD` si el bit bajo de su oparg está "
+"configurado. (Contribuido por Ken Jin en :gh:`93429`.)"
#: ../Doc/whatsnew/3.12.rst:1087
msgid ""
@@ -1425,54 +1978,72 @@ msgid ""
"JUMP_IF_TRUE_OR_POP` instructions. (Contributed by Irit Katriel in :gh:"
"`102859`.)"
msgstr ""
+"Elimine las instrucciones :opcode:`!JUMP_IF_FALSE_OR_POP` y :opcode:`!"
+"JUMP_IF_TRUE_OR_POP`. (Aportado por Irit Katriel en :gh:`102859`.)"
#: ../Doc/whatsnew/3.12.rst:1090
msgid ""
"Remove the :opcode:`!PRECALL` instruction. (Contributed by Mark Shannon in :"
"gh:`92925`.)"
msgstr ""
+"Elimine la instrucción :opcode:`!PRECALL`. (Aportado por Mark Shannon en :gh:"
+"`92925`.)"
#: ../Doc/whatsnew/3.12.rst:1093
msgid ""
"Add the :opcode:`BINARY_SLICE` and :opcode:`STORE_SLICE` instructions. "
"(Contributed by Mark Shannon in :gh:`94163`.)"
msgstr ""
+"Agregado las instrucciones :opcode:`BINARY_SLICE` y :opcode:`STORE_SLICE`. "
+"(Aportado por Mark Shannon en :gh:`94163`.)"
#: ../Doc/whatsnew/3.12.rst:1096
msgid ""
"Add the :opcode:`CALL_INTRINSIC_1` instructions. (Contributed by Mark "
"Shannon in :gh:`99005`.)"
msgstr ""
+"Agregado las instrucciones :opcode:`CALL_INTRINSIC_1`. (Aportado por Mark "
+"Shannon en :gh:`99005`.)"
#: ../Doc/whatsnew/3.12.rst:1099
msgid ""
"Add the :opcode:`CALL_INTRINSIC_2` instruction. (Contributed by Irit Katriel "
"in :gh:`101799`.)"
msgstr ""
+"Agregado la instrucción :opcode:`CALL_INTRINSIC_2`. (Aportado por Irit "
+"Katriel en :gh:`101799`.)"
#: ../Doc/whatsnew/3.12.rst:1102
msgid ""
"Add the :opcode:`CLEANUP_THROW` instruction. (Contributed by Brandt Bucher "
"in :gh:`90997`.)"
msgstr ""
+"Agregado la instrucción :opcode:`CLEANUP_THROW`. (Aportado por Brandt Bucher "
+"en :gh:`90997`.)"
#: ../Doc/whatsnew/3.12.rst:1105
msgid ""
"Add the :opcode:`!END_SEND` instruction. (Contributed by Mark Shannon in :gh:"
"`103082`.)"
msgstr ""
+"Agregado la instrucción :opcode:`!END_SEND`. (Aportado por Mark Shannon en :"
+"gh:`103082`.)"
#: ../Doc/whatsnew/3.12.rst:1108
msgid ""
"Add the :opcode:`LOAD_FAST_AND_CLEAR` instruction as part of the "
"implementation of :pep:`709`. (Contributed by Carl Meyer in :gh:`101441`.)"
msgstr ""
+"Agregada la instrucción :opcode:`LOAD_FAST_AND_CLEAR` como parte de la "
+"implementación de :pep:`709`. (Aportado por Carl Meyer en :gh:`101441`.)"
#: ../Doc/whatsnew/3.12.rst:1111
msgid ""
"Add the :opcode:`LOAD_FAST_CHECK` instruction. (Contributed by Dennis "
"Sweeney in :gh:`93143`.)"
msgstr ""
+"Agregado la instrucción :opcode:`LOAD_FAST_CHECK`. (Aportado por Dennis "
+"Sweeney en :gh:`93143`.)"
#: ../Doc/whatsnew/3.12.rst:1114
msgid ""
@@ -1482,22 +2053,32 @@ msgid ""
"opcode, which can be replaced with :opcode:`LOAD_LOCALS` plus :opcode:"
"`LOAD_FROM_DICT_OR_DEREF`. (Contributed by Jelle Zijlstra in :gh:`103764`.)"
msgstr ""
+"Agregado los códigos de operación :opcode:`LOAD_FROM_DICT_OR_DEREF`, :opcode:"
+"`LOAD_FROM_DICT_OR_GLOBALS` y :opcode:`LOAD_LOCALS` como parte de la "
+"implementación de :pep:`695`. Elimine el código de operación :opcode:`!"
+"LOAD_CLASSDEREF`, que se puede reemplazar con :opcode:`LOAD_LOCALS` más :"
+"opcode:`LOAD_FROM_DICT_OR_DEREF`. (Aportado por Jelle Zijlstra en :gh:"
+"`103764`.)"
#: ../Doc/whatsnew/3.12.rst:1120
msgid ""
"Add the :opcode:`LOAD_SUPER_ATTR` instruction. (Contributed by Carl Meyer "
"and Vladimir Matveev in :gh:`103497`.)"
msgstr ""
+"Agregado la instrucción :opcode:`LOAD_SUPER_ATTR`. (Contribución de Carl "
+"Meyer y Vladimir Matveev en :gh:`103497`.)"
#: ../Doc/whatsnew/3.12.rst:1123
msgid ""
"Add the :opcode:`RETURN_CONST` instruction. (Contributed by Wenyang Wang in :"
"gh:`101632`.)"
msgstr ""
+"Agregado la instrucción :opcode:`RETURN_CONST`. (Aportado por Wenyang Wang "
+"en :gh:`101632`.)"
#: ../Doc/whatsnew/3.12.rst:1126
msgid "Demos and Tools"
-msgstr ""
+msgstr "Demostraciones y herramientas"
#: ../Doc/whatsnew/3.12.rst:1128
msgid ""
@@ -1505,6 +2086,10 @@ msgid ""
"copy can be found in the `old-demos project `_. (Contributed by Victor Stinner in :gh:`97681`.)"
msgstr ""
+"Elimine el directorio ``Tools/demo/`` que contenía scripts de demostración "
+"antiguos. Se puede encontrar una copia en el `old-demos project `_. (Aportado por Victor Stinner en :gh:"
+"`97681`.)"
#: ../Doc/whatsnew/3.12.rst:1133
msgid ""
@@ -1512,10 +2097,13 @@ msgid ""
"can be found in the `old-demos project `_. (Contributed by Victor Stinner in :gh:`97669`.)"
msgstr ""
+"Elimine los scripts de ejemplo obsoletos del directorio ``Tools/scripts/``. "
+"Se puede encontrar una copia en el `old-demos project `_. (Aportado por Victor Stinner en :gh:`97669`.)"
#: ../Doc/whatsnew/3.12.rst:1140 ../Doc/whatsnew/3.12.rst:2219
msgid "Deprecated"
-msgstr ""
+msgstr "Obsoleto"
#: ../Doc/whatsnew/3.12.rst:1142
msgid ""
@@ -1523,6 +2111,9 @@ msgid ""
"argparse.BooleanOptionalAction` are deprecated and will be removed in 3.14. "
"(Contributed by Nikita Sobolev in :gh:`92248`.)"
msgstr ""
+":mod:`argparse`: Los parámetros *type*, *choices* y *metavar* de :class:`!"
+"argparse.BooleanOptionalAction` están obsoletos y se eliminarán en 3.14. "
+"(Contribución de Nikita Sobolev en :gh:`92248`.)"
#: ../Doc/whatsnew/3.12.rst:1147
msgid ""
@@ -1531,36 +2122,42 @@ msgid ""
"emitted at runtime when they are accessed or used, and will be removed in "
"Python 3.14:"
msgstr ""
+":mod:`ast`: las siguientes características de :mod:`ast` han quedado "
+"obsoletas en la documentación desde Python 3.8, ahora provocan que se emita "
+"un :exc:`DeprecationWarning` en tiempo de ejecución cuando se accede a ellas "
+"o se usan, y se eliminarán en Python 3.14:"
#: ../Doc/whatsnew/3.12.rst:1151 ../Doc/whatsnew/3.12.rst:1383
msgid ":class:`!ast.Num`"
-msgstr ""
+msgstr ":class:`!ast.Num`"
#: ../Doc/whatsnew/3.12.rst:1152 ../Doc/whatsnew/3.12.rst:1384
msgid ":class:`!ast.Str`"
-msgstr ""
+msgstr ":class:`!ast.Str`"
#: ../Doc/whatsnew/3.12.rst:1153 ../Doc/whatsnew/3.12.rst:1385
msgid ":class:`!ast.Bytes`"
-msgstr ""
+msgstr ":class:`!ast.Bytes`"
#: ../Doc/whatsnew/3.12.rst:1154 ../Doc/whatsnew/3.12.rst:1386
msgid ":class:`!ast.NameConstant`"
-msgstr ""
+msgstr ":class:`!ast.NameConstant`"
#: ../Doc/whatsnew/3.12.rst:1155 ../Doc/whatsnew/3.12.rst:1387
msgid ":class:`!ast.Ellipsis`"
-msgstr ""
+msgstr ":class:`!ast.Ellipsis`"
#: ../Doc/whatsnew/3.12.rst:1157
msgid ""
"Use :class:`ast.Constant` instead. (Contributed by Serhiy Storchaka in :gh:"
"`90953`.)"
msgstr ""
+"Utilice :class:`ast.Constant` en su lugar. (Aportado por Serhiy Storchaka "
+"en :gh:`90953`.)"
#: ../Doc/whatsnew/3.12.rst:1160 ../Doc/whatsnew/3.12.rst:1389
msgid ":mod:`asyncio`:"
-msgstr ""
+msgstr ":mod:`asyncio`:"
#: ../Doc/whatsnew/3.12.rst:1162
msgid ""
@@ -1569,6 +2166,10 @@ msgid ""
"`asyncio.SafeChildWatcher` are deprecated and will be removed in Python "
"3.14. (Contributed by Kumar Aditya in :gh:`94597`.)"
msgstr ""
+"Las clases de vigilancia secundaria :class:`asyncio.MultiLoopChildWatcher`, :"
+"class:`asyncio.FastChildWatcher`, :class:`asyncio.AbstractChildWatcher` y :"
+"class:`asyncio.SafeChildWatcher` están en desuso y se eliminarán en Python "
+"3.14. (Aportado por Kumar Aditya en :gh:`94597`.)"
#: ../Doc/whatsnew/3.12.rst:1168
msgid ""
@@ -1577,6 +2178,10 @@ msgid ""
"AbstractEventLoopPolicy.get_child_watcher` are deprecated and will be "
"removed in Python 3.14. (Contributed by Kumar Aditya in :gh:`94597`.)"
msgstr ""
+":func:`asyncio.set_child_watcher`, :func:`asyncio.get_child_watcher`, :meth:"
+"`asyncio.AbstractEventLoopPolicy.set_child_watcher` y :meth:`asyncio."
+"AbstractEventLoopPolicy.get_child_watcher` están en desuso y se eliminarán "
+"en Python 3.14. (Aportado por Kumar Aditya en :gh:`94597`.)"
#: ../Doc/whatsnew/3.12.rst:1174
msgid ""
@@ -1585,6 +2190,10 @@ msgid ""
"and it decides to create one. (Contributed by Serhiy Storchaka and Guido van "
"Rossum in :gh:`100160`.)"
msgstr ""
+"El método :meth:`~asyncio.get_event_loop` de la política de bucle de eventos "
+"predeterminada ahora emite un :exc:`DeprecationWarning` si no hay ningún "
+"bucle de eventos establecido y decide crear uno. (Contribución de Serhiy "
+"Storchaka y Guido van Rossum en :gh:`100160`.)"
#: ../Doc/whatsnew/3.12.rst:1179
msgid ""
@@ -1592,6 +2201,9 @@ msgid ""
"are deprecated and replaced by :data:`calendar.JANUARY` and :data:`calendar."
"FEBRUARY`. (Contributed by Prince Roshan in :gh:`103636`.)"
msgstr ""
+":mod:`calendar`: las constantes ``calendar.January`` y ``calendar.February`` "
+"están obsoletas y reemplazadas por :data:`calendar.JANUARY` y :data:"
+"`calendar.FEBRUARY`. (Aportado por el Príncipe Roshan en :gh:`103636`.)"
#: ../Doc/whatsnew/3.12.rst:1183
msgid ""
@@ -1600,6 +2212,10 @@ msgid ""
"typing, prefer a union, like ``bytes | bytearray``, or :class:`collections."
"abc.Buffer`. (Contributed by Shantanu Jain in :gh:`91896`.)"
msgstr ""
+":mod:`collections.abc`: :class:`collections.abc.ByteString` en desuso. "
+"Prefiere :class:`Sequence` o :class:`collections.abc.Buffer`. Para usar al "
+"escribir, prefiera una unión, como ``bytes | bytearray`` o :class:"
+"`collections.abc.Buffer`. (Aportado por Shantanu Jain en :gh:`91896`.)"
#: ../Doc/whatsnew/3.12.rst:1188
msgid ""
@@ -1610,46 +2226,57 @@ msgid ""
"now` and :meth:`~datetime.datetime.fromtimestamp` with the *tz* parameter "
"set to :const:`datetime.UTC`. (Contributed by Paul Ganssle in :gh:`103857`.)"
msgstr ""
+":mod:`datetime`: :meth:`~datetime.datetime.utcnow` y :meth:`~datetime."
+"datetime.utcfromtimestamp` de :class:`datetime.datetime` están en desuso y "
+"se eliminarán en una versión futura. En su lugar, utilice objetos que tengan "
+"en cuenta la zona horaria para representar las fechas y horas en UTC: "
+"respectivamente, llame a :meth:`~datetime.datetime.now` y :meth:`~datetime."
+"datetime.fromtimestamp` con el parámetro *tz* establecido en :const:"
+"`datetime.UTC`. (Aportado por Paul Ganssle en :gh:`103857`.)"
#: ../Doc/whatsnew/3.12.rst:1196
msgid ""
":mod:`email`: Deprecate the *isdst* parameter in :func:`email.utils."
"localtime`. (Contributed by Alan Williams in :gh:`72346`.)"
msgstr ""
+":mod:`email`: obsoleto el parámetro *isdst* en :func:`email.utils."
+"localtime`. (Aportado por Alan Williams en :gh:`72346`.)"
#: ../Doc/whatsnew/3.12.rst:1199
msgid ""
":mod:`importlib.abc`: Deprecated the following classes, scheduled for "
"removal in Python 3.14:"
msgstr ""
+":mod:`importlib.abc`: Obsoletas las siguientes clases, cuya eliminación está "
+"programada en Python 3.14:"
#: ../Doc/whatsnew/3.12.rst:1202 ../Doc/whatsnew/3.12.rst:1406
msgid ":class:`!importlib.abc.ResourceReader`"
-msgstr ""
+msgstr ":class:`!importlib.abc.ResourceReader`"
#: ../Doc/whatsnew/3.12.rst:1203 ../Doc/whatsnew/3.12.rst:1407
msgid ":class:`!importlib.abc.Traversable`"
-msgstr ""
+msgstr ":class:`!importlib.abc.Traversable`"
#: ../Doc/whatsnew/3.12.rst:1204 ../Doc/whatsnew/3.12.rst:1408
msgid ":class:`!importlib.abc.TraversableResources`"
-msgstr ""
+msgstr ":class:`!importlib.abc.TraversableResources`"
#: ../Doc/whatsnew/3.12.rst:1206
msgid "Use :mod:`importlib.resources.abc` classes instead:"
-msgstr ""
+msgstr "Utilice clases :mod:`importlib.resources.abc` en su lugar:"
#: ../Doc/whatsnew/3.12.rst:1208
msgid ":class:`importlib.resources.abc.Traversable`"
-msgstr ""
+msgstr ":class:`importlib.resources.abc.Traversable`"
#: ../Doc/whatsnew/3.12.rst:1209
msgid ":class:`importlib.resources.abc.TraversableResources`"
-msgstr ""
+msgstr ":class:`importlib.resources.abc.TraversableResources`"
#: ../Doc/whatsnew/3.12.rst:1211
msgid "(Contributed by Jason R. Coombs and Hugo van Kemenade in :gh:`93963`.)"
-msgstr ""
+msgstr "(Contribución de Jason R. Coombs y Hugo van Kemenade en :gh:`93963`.)"
#: ../Doc/whatsnew/3.12.rst:1213
msgid ""
@@ -1659,6 +2286,11 @@ msgid ""
"code volume and maintenance burden. (Contributed by Raymond Hettinger in :gh:"
"`101588`.)"
msgstr ""
+":mod:`itertools`: obsoleta la compatibilidad con operaciones de copia, copia "
+"profunda y pickle, que no está documentada, es ineficiente, históricamente "
+"tiene errores e inconsistente. Esto se eliminará en 3.14 para lograr una "
+"reducción significativa en el volumen de código y la carga de mantenimiento. "
+"(Aportado por Raymond Hettinger en :gh:`101588`.)"
#: ../Doc/whatsnew/3.12.rst:1219
msgid ""
@@ -1671,6 +2303,15 @@ msgid ""
"specify when your code *requires* ``'fork'``. See :ref:`contexts and start "
"methods `."
msgstr ""
+":mod:`multiprocessing`: en Python 3.14, el método de inicio predeterminado "
+"de :mod:`multiprocessing` cambiará a uno más seguro en Linux, BSD y otras "
+"plataformas POSIX que no sean macOS donde ``'fork'`` es actualmente el "
+"predeterminado (:gh:`84559`). Agregar una advertencia de tiempo de ejecución "
+"sobre esto se consideró demasiado perjudicial ya que se espera que a la "
+"mayoría del código no le importe. Utilice las API :func:`~multiprocessing."
+"get_context` o :func:`~multiprocessing.set_start_method` para especificar "
+"explícitamente cuándo su código *requires* ``'fork'``. Ver :ref:`contexts "
+"and start methods `."
#: ../Doc/whatsnew/3.12.rst:1229
msgid ""
@@ -1678,6 +2319,9 @@ msgid ""
"are deprecated and will be removed in Python 3.14; use :func:`importlib.util."
"find_spec` instead. (Contributed by Nikita Sobolev in :gh:`97850`.)"
msgstr ""
+":mod:`pkgutil`: :func:`pkgutil.find_loader` y :func:`pkgutil.get_loader` "
+"están en desuso y se eliminarán en Python 3.14; utilice :func:`importlib."
+"util.find_spec` en su lugar. (Contribución de Nikita Sobolev en :gh:`97850`.)"
#: ../Doc/whatsnew/3.12.rst:1234
msgid ""
@@ -1686,10 +2330,15 @@ msgid ""
"gained a proper :exc:`DeprecationWarning` in 3.12. Remove them in 3.14. "
"(Contributed by Soumendra Ganguly and Gregory P. Smith in :gh:`85984`.)"
msgstr ""
+":mod:`pty`: el módulo tiene dos funciones ``master_open()`` y "
+"``slave_open()`` no documentadas que han quedado obsoletas desde Python 2 "
+"pero que solo obtuvieron un :exc:`DeprecationWarning` adecuado en 3.12. "
+"Elimínelos en 3.14. (Aportado por Soumendra Ganguly y Gregory P. Smith en :"
+"gh:`85984`.)"
#: ../Doc/whatsnew/3.12.rst:1239
msgid ":mod:`os`:"
-msgstr ""
+msgstr ":mod:`os`:"
#: ../Doc/whatsnew/3.12.rst:1241
msgid ""
@@ -1699,6 +2348,11 @@ msgid ""
"contain the creation time, which is also available in the new "
"``st_birthtime`` field. (Contributed by Steve Dower in :gh:`99726`.)"
msgstr ""
+"Los campos ``st_ctime`` devueltos por :func:`os.stat` y :func:`os.lstat` en "
+"Windows están en desuso. En una versión futura, contendrán la hora del "
+"último cambio de metadatos, de forma coherente con otras plataformas. Por "
+"ahora, todavía contienen la hora de creación, que también está disponible en "
+"el nuevo campo ``st_birthtime``. (Aportado por Steve Dower en :gh:`99726`.)"
#: ../Doc/whatsnew/3.12.rst:1247
msgid ""
@@ -1712,6 +2366,16 @@ msgid ""
"`_ for *why* we're now surfacing this "
"longstanding platform compatibility problem to developers."
msgstr ""
+"En plataformas POSIX, :func:`os.fork` ahora puede generar un :exc:"
+"`DeprecationWarning` cuando detecta una llamada desde un proceso "
+"multiproceso. Siempre ha habido una incompatibilidad fundamental con la "
+"plataforma POSIX al hacerlo. Incluso si dicho código *appeared* funciona. "
+"Agregamos la advertencia para crear conciencia, ya que los problemas "
+"encontrados por el código al hacer esto son cada vez más frecuentes. "
+"Consulte la documentación de :func:`os.fork` para obtener más detalles junto "
+"con `this discussion on fork being incompatible with threads `_ para *why*. Ahora estamos exponiendo a los "
+"desarrolladores este problema de compatibilidad de plataforma de larga data."
#: ../Doc/whatsnew/3.12.rst:1257
msgid ""
@@ -1719,6 +2383,9 @@ msgid ""
"`concurrent.futures` the fix is to use a different :mod:`multiprocessing` "
"start method such as ``\"spawn\"`` or ``\"forkserver\"``."
msgstr ""
+"Cuando aparece esta advertencia debido al uso de :mod:`multiprocessing` o :"
+"mod:`concurrent.futures`, la solución es utilizar un método de inicio de :"
+"mod:`multiprocessing` diferente, como ``\"spawn\"`` o ``\"forkserver\"``."
#: ../Doc/whatsnew/3.12.rst:1261
msgid ""
@@ -1726,10 +2393,13 @@ msgid ""
"and will be removed in Python 3.14. Use *onexc* instead. (Contributed by "
"Irit Katriel in :gh:`102828`.)"
msgstr ""
+":mod:`shutil`: el argumento *onerror* de :func:`shutil.rmtree` está obsoleto "
+"y se eliminará en Python 3.14. Utilice *onexc* en su lugar. (Aportado por "
+"Irit Katriel en :gh:`102828`.)"
#: ../Doc/whatsnew/3.12.rst:1264
msgid ":mod:`sqlite3`:"
-msgstr ""
+msgstr ":mod:`sqlite3`:"
#: ../Doc/whatsnew/3.12.rst:1266
msgid ""
@@ -1737,6 +2407,10 @@ msgid ""
"deprecated. Instead, use the :ref:`sqlite3-adapter-converter-recipes` and "
"tailor them to your needs. (Contributed by Erlend E. Aasland in :gh:`90016`.)"
msgstr ""
+":ref:`default adapters and converters ` ahora "
+"están en desuso. En su lugar, utilice el :ref:`sqlite3-adapter-converter-"
+"recipes` y adáptelo a sus necesidades. (Aportado por Erlend E. Aasland en :"
+"gh:`90016`.)"
#: ../Doc/whatsnew/3.12.rst:1272
msgid ""
@@ -1747,6 +2421,12 @@ msgid ""
"as a sequence will raise a :exc:`~sqlite3.ProgrammingError`. (Contributed by "
"Erlend E. Aasland in :gh:`101698`.)"
msgstr ""
+"En :meth:`~sqlite3.Cursor.execute`, :exc:`DeprecationWarning` ahora se emite "
+"cuando :ref:`named placeholders ` se utiliza junto con "
+"los parámetros proporcionados como :term:`sequence` en lugar de como :class:"
+"`dict`. A partir de Python 3.14, el uso de marcadores de posición con nombre "
+"con parámetros proporcionados como una secuencia generará un :exc:`~sqlite3."
+"ProgrammingError`. (Aportado por Erlend E. Aasland en :gh:`101698`.)"
#: ../Doc/whatsnew/3.12.rst:1279
msgid ""
@@ -1754,6 +2434,9 @@ msgid ""
"last_traceback` fields are deprecated. Use :data:`sys.last_exc` instead. "
"(Contributed by Irit Katriel in :gh:`102778`.)"
msgstr ""
+":mod:`sys`: los campos :data:`sys.last_type`, :data:`sys.last_value` y :data:"
+"`sys.last_traceback` están en desuso. Utilice :data:`sys.last_exc` en su "
+"lugar. (Aportado por Irit Katriel en :gh:`102778`.)"
#: ../Doc/whatsnew/3.12.rst:1283
msgid ""
@@ -1761,16 +2444,22 @@ msgid ""
"deprecated until Python 3.14, when ``'data'`` filter will become the "
"default. See :ref:`tarfile-extraction-filter` for details."
msgstr ""
+":mod:`tarfile`: la extracción de archivos tar sin especificar *filter* está "
+"en desuso hasta Python 3.14, cuando el filtro ``'data'`` se convertirá en el "
+"predeterminado. Consulte :ref:`tarfile-extraction-filter` para obtener más "
+"detalles."
#: ../Doc/whatsnew/3.12.rst:1287
msgid ":mod:`typing`:"
-msgstr ""
+msgstr ":mod:`typing`:"
#: ../Doc/whatsnew/3.12.rst:1289
msgid ""
":class:`typing.Hashable` and :class:`typing.Sized` aliases for :class:"
"`collections.abc.Hashable` and :class:`collections.abc.Sized`. (:gh:`94309`.)"
msgstr ""
+":class:`typing.Hashable` y :class:`typing.Sized` alias para :class:"
+"`collections.abc.Hashable` y :class:`collections.abc.Sized`. (:gh:`94309`.)"
#: ../Doc/whatsnew/3.12.rst:1292
msgid ""
@@ -1778,6 +2467,9 @@ msgid ""
"`DeprecationWarning` to be emitted when it is used. (Contributed by Alex "
"Waygood in :gh:`91896`.)"
msgstr ""
+":class:`typing.ByteString`, en desuso desde Python 3.9, ahora provoca que se "
+"emita un :exc:`DeprecationWarning` cuando se utiliza. (Aportado por Alex "
+"Waygood en :gh:`91896`.)"
#: ../Doc/whatsnew/3.12.rst:1296
msgid ""
@@ -1786,6 +2478,11 @@ msgid ""
"Before, the Python implementation emitted :exc:`FutureWarning`, and the C "
"implementation emitted nothing. (Contributed by Jacob Walls in :gh:`83122`.)"
msgstr ""
+":mod:`xml.etree.ElementTree`: el módulo ahora emite :exc:"
+"`DeprecationWarning` al probar el valor de verdad de un :class:`xml.etree."
+"ElementTree.Element`. Antes, la implementación de Python emitía :exc:"
+"`FutureWarning` y la implementación de C no emitía nada. (Aportado por Jacob "
+"Walls en :gh:`83122`.)"
#: ../Doc/whatsnew/3.12.rst:1302
msgid ""
@@ -1795,6 +2492,12 @@ msgid ""
"a future version of Python. Use the single-arg versions of these functions "
"instead. (Contributed by Ofey Chan in :gh:`89874`.)"
msgstr ""
+"Las firmas de 3 argumentos (tipo, valor, rastreo) de :meth:`coroutine "
+"throw() `, :meth:`generator throw() ` y :"
+"meth:`async generator throw() ` están en desuso y es posible "
+"que se eliminen en una versión futura de Python. Utilice en su lugar las "
+"versiones de un solo argumento de estas funciones. (Aportado por Ofey Chan "
+"en :gh:`89874`.)"
#: ../Doc/whatsnew/3.12.rst:1308
msgid ""
@@ -1802,6 +2505,9 @@ msgid ""
"differs from ``__spec__.parent`` (previously it was :exc:`ImportWarning`). "
"(Contributed by Brett Cannon in :gh:`65961`.)"
msgstr ""
+":exc:`DeprecationWarning` ahora se genera cuando ``__package__`` en un "
+"módulo difiere de ``__spec__.parent`` (anteriormente era :exc:"
+"`ImportWarning`). (Aportado por Brett Cannon en :gh:`65961`.)"
#: ../Doc/whatsnew/3.12.rst:1313
msgid ""
@@ -1809,6 +2515,9 @@ msgid ""
"will cease to be set or taken into consideration by the import system in "
"Python 3.14. (Contributed by Brett Cannon in :gh:`65961`.)"
msgstr ""
+"La configuración de ``__package__`` o ``__cached__`` en un módulo está "
+"obsoleta y el sistema de importación dejará de configurarla o tomarla en "
+"consideración en Python 3.14. (Aportado por Brett Cannon en :gh:`65961`.)"
#: ../Doc/whatsnew/3.12.rst:1317
msgid ""
@@ -1818,6 +2527,11 @@ msgid ""
"underlying ``int``, convert to int explicitly: ``~int(x)``. (Contributed by "
"Tim Hoffmann in :gh:`103487`.)"
msgstr ""
+"El operador de inversión bit a bit (``~``) en bool está en desuso. Lanzará "
+"un error en Python 3.14. Utilice ``not`` para la negación lógica de bools. "
+"En el raro caso de que realmente necesite la inversión bit a bit del ``int`` "
+"subyacente, lo convierte a int explícitamente: ``~int(x)``. (Aportado por "
+"Tim Hoffmann en :gh:`103487`.)"
#: ../Doc/whatsnew/3.12.rst:1323
msgid ""
@@ -1826,275 +2540,291 @@ msgid ""
"therefore it will be removed in 3.14. (Contributed by Nikita Sobolev in :gh:"
"`101866`.)"
msgstr ""
+"El acceso a ``co_lnotab`` en objetos de código quedó obsoleto en Python 3.10 "
+"a través de :pep:`626`, pero solo obtuvo un :exc:`DeprecationWarning` "
+"adecuado en 3.12, por lo que se eliminará en 3.14. (Aportado por Nikita "
+"Sobolev en :gh:`101866`.)"
#: ../Doc/whatsnew/3.12.rst:1329
msgid "Pending Removal in Python 3.13"
-msgstr ""
+msgstr "Eliminación pendiente en Python 3.13"
#: ../Doc/whatsnew/3.12.rst:1331
msgid ""
"The following modules and APIs have been deprecated in earlier Python "
"releases, and will be removed in Python 3.13."
msgstr ""
+"Los siguientes módulos y API quedaron obsoletos en versiones anteriores de "
+"Python y se eliminarán en Python 3.13."
#: ../Doc/whatsnew/3.12.rst:1334
msgid "Modules (see :pep:`594`):"
-msgstr ""
+msgstr "Módulos (ver :pep:`594`):"
#: ../Doc/whatsnew/3.12.rst:1336
msgid ":mod:`aifc`"
-msgstr ""
+msgstr ":mod:`aifc`"
#: ../Doc/whatsnew/3.12.rst:1337
msgid ":mod:`audioop`"
-msgstr ""
+msgstr ":mod:`audioop`"
#: ../Doc/whatsnew/3.12.rst:1338
msgid ":mod:`cgi`"
-msgstr ""
+msgstr ":mod:`cgi`"
#: ../Doc/whatsnew/3.12.rst:1339
msgid ":mod:`cgitb`"
-msgstr ""
+msgstr ":mod:`cgitb`"
#: ../Doc/whatsnew/3.12.rst:1340
msgid ":mod:`chunk`"
-msgstr ""
+msgstr ":mod:`chunk`"
#: ../Doc/whatsnew/3.12.rst:1341
msgid ":mod:`crypt`"
-msgstr ""
+msgstr ":mod:`crypt`"
#: ../Doc/whatsnew/3.12.rst:1342
msgid ":mod:`imghdr`"
-msgstr ""
+msgstr ":mod:`imghdr`"
#: ../Doc/whatsnew/3.12.rst:1343
msgid ":mod:`mailcap`"
-msgstr ""
+msgstr ":mod:`mailcap`"
#: ../Doc/whatsnew/3.12.rst:1344
msgid ":mod:`msilib`"
-msgstr ""
+msgstr ":mod:`msilib`"
#: ../Doc/whatsnew/3.12.rst:1345
msgid ":mod:`nis`"
-msgstr ""
+msgstr ":mod:`nis`"
#: ../Doc/whatsnew/3.12.rst:1346
msgid ":mod:`nntplib`"
-msgstr ""
+msgstr ":mod:`nntplib`"
#: ../Doc/whatsnew/3.12.rst:1347
msgid ":mod:`ossaudiodev`"
-msgstr ""
+msgstr ":mod:`ossaudiodev`"
#: ../Doc/whatsnew/3.12.rst:1348
msgid ":mod:`pipes`"
-msgstr ""
+msgstr ":mod:`pipes`"
#: ../Doc/whatsnew/3.12.rst:1349
msgid ":mod:`sndhdr`"
-msgstr ""
+msgstr ":mod:`sndhdr`"
#: ../Doc/whatsnew/3.12.rst:1350
msgid ":mod:`spwd`"
-msgstr ""
+msgstr ":mod:`spwd`"
#: ../Doc/whatsnew/3.12.rst:1351
msgid ":mod:`sunau`"
-msgstr ""
+msgstr ":mod:`sunau`"
#: ../Doc/whatsnew/3.12.rst:1352
msgid ":mod:`telnetlib`"
-msgstr ""
+msgstr ":mod:`telnetlib`"
#: ../Doc/whatsnew/3.12.rst:1353
msgid ":mod:`uu`"
-msgstr ""
+msgstr ":mod:`uu`"
#: ../Doc/whatsnew/3.12.rst:1354
msgid ":mod:`xdrlib`"
-msgstr ""
+msgstr ":mod:`xdrlib`"
#: ../Doc/whatsnew/3.12.rst:1356
msgid "Other modules:"
-msgstr ""
+msgstr "Otros módulos:"
#: ../Doc/whatsnew/3.12.rst:1358
msgid ":mod:`!lib2to3`, and the :program:`2to3` program (:gh:`84540`)"
-msgstr ""
+msgstr ":mod:`!lib2to3` y el programa :program:`2to3` (:gh:`84540`)"
#: ../Doc/whatsnew/3.12.rst:1360
msgid "APIs:"
-msgstr ""
+msgstr "APIs:"
#: ../Doc/whatsnew/3.12.rst:1362
msgid ":class:`!configparser.LegacyInterpolation` (:gh:`90765`)"
-msgstr ""
+msgstr ":class:`!configparser.LegacyInterpolation` (:gh:`90765`)"
#: ../Doc/whatsnew/3.12.rst:1363
msgid ":func:`locale.getdefaultlocale` (:gh:`90817`)"
-msgstr ""
+msgstr ":func:`locale.getdefaultlocale` (:gh:`90817`)"
#: ../Doc/whatsnew/3.12.rst:1364
msgid ":meth:`!turtle.RawTurtle.settiltangle` (:gh:`50096`)"
-msgstr ""
+msgstr ":meth:`!turtle.RawTurtle.settiltangle` (:gh:`50096`)"
#: ../Doc/whatsnew/3.12.rst:1365
msgid ":func:`!unittest.findTestCases` (:gh:`50096`)"
-msgstr ""
+msgstr ":func:`!unittest.findTestCases` (:gh:`50096`)"
#: ../Doc/whatsnew/3.12.rst:1366
msgid ":func:`!unittest.getTestCaseNames` (:gh:`50096`)"
-msgstr ""
+msgstr ":func:`!unittest.getTestCaseNames` (:gh:`50096`)"
#: ../Doc/whatsnew/3.12.rst:1367
msgid ":func:`!unittest.makeSuite` (:gh:`50096`)"
-msgstr ""
+msgstr ":func:`!unittest.makeSuite` (:gh:`50096`)"
#: ../Doc/whatsnew/3.12.rst:1368
msgid ":meth:`!unittest.TestProgram.usageExit` (:gh:`67048`)"
-msgstr ""
+msgstr ":meth:`!unittest.TestProgram.usageExit` (:gh:`67048`)"
#: ../Doc/whatsnew/3.12.rst:1369
msgid ":class:`!webbrowser.MacOSX` (:gh:`86421`)"
-msgstr ""
+msgstr ":class:`!webbrowser.MacOSX` (:gh:`86421`)"
#: ../Doc/whatsnew/3.12.rst:1370
msgid ":class:`classmethod` descriptor chaining (:gh:`89519`)"
-msgstr ""
+msgstr "Encadenamiento de descriptores :class:`classmethod` (:gh:`89519`)"
#: ../Doc/whatsnew/3.12.rst:1373 ../Doc/whatsnew/3.12.rst:2306
msgid "Pending Removal in Python 3.14"
-msgstr ""
+msgstr "Eliminación pendiente en Python 3.14"
#: ../Doc/whatsnew/3.12.rst:1375
msgid ""
"The following APIs have been deprecated and will be removed in Python 3.14."
msgstr ""
+"Las siguientes API han quedado obsoletas y se eliminarán en Python 3.14."
#: ../Doc/whatsnew/3.12.rst:1378
msgid ""
":mod:`argparse`: The *type*, *choices*, and *metavar* parameters of :class:`!"
"argparse.BooleanOptionalAction`"
msgstr ""
+":mod:`argparse`: Los parámetros *type*, *choices* y *metavar* de :class:`!"
+"argparse.BooleanOptionalAction`"
#: ../Doc/whatsnew/3.12.rst:1381
msgid ":mod:`ast`:"
-msgstr ""
+msgstr ":mod:`ast`:"
#: ../Doc/whatsnew/3.12.rst:1391
msgid ":class:`!asyncio.MultiLoopChildWatcher`"
-msgstr ""
+msgstr ":class:`!asyncio.MultiLoopChildWatcher`"
#: ../Doc/whatsnew/3.12.rst:1392
msgid ":class:`!asyncio.FastChildWatcher`"
-msgstr ""
+msgstr ":class:`!asyncio.FastChildWatcher`"
#: ../Doc/whatsnew/3.12.rst:1393
msgid ":class:`!asyncio.AbstractChildWatcher`"
-msgstr ""
+msgstr ":class:`!asyncio.AbstractChildWatcher`"
#: ../Doc/whatsnew/3.12.rst:1394
msgid ":class:`!asyncio.SafeChildWatcher`"
-msgstr ""
+msgstr ":class:`!asyncio.SafeChildWatcher`"
#: ../Doc/whatsnew/3.12.rst:1395
msgid ":func:`!asyncio.set_child_watcher`"
-msgstr ""
+msgstr ":func:`!asyncio.set_child_watcher`"
#: ../Doc/whatsnew/3.12.rst:1396
msgid ":func:`!asyncio.get_child_watcher`,"
-msgstr ""
+msgstr ":func:`!asyncio.get_child_watcher`,"
#: ../Doc/whatsnew/3.12.rst:1397
msgid ":meth:`!asyncio.AbstractEventLoopPolicy.set_child_watcher`"
-msgstr ""
+msgstr ":meth:`!asyncio.AbstractEventLoopPolicy.set_child_watcher`"
#: ../Doc/whatsnew/3.12.rst:1398
msgid ":meth:`!asyncio.AbstractEventLoopPolicy.get_child_watcher`"
-msgstr ""
+msgstr ":meth:`!asyncio.AbstractEventLoopPolicy.get_child_watcher`"
#: ../Doc/whatsnew/3.12.rst:1400
msgid ":mod:`collections.abc`: :class:`!collections.abc.ByteString`."
-msgstr ""
+msgstr ":mod:`collections.abc`: :class:`!collections.abc.ByteString`."
#: ../Doc/whatsnew/3.12.rst:1402
msgid ":mod:`email`: the *isdst* parameter in :func:`email.utils.localtime`."
-msgstr ""
+msgstr ":mod:`email`: el parámetro *isdst* en :func:`email.utils.localtime`."
#: ../Doc/whatsnew/3.12.rst:1404
msgid ":mod:`importlib.abc`:"
-msgstr ""
+msgstr ":mod:`importlib.abc`:"
#: ../Doc/whatsnew/3.12.rst:1410
msgid ":mod:`itertools`: Support for copy, deepcopy, and pickle operations."
msgstr ""
+":mod:`itertools`: soporte para operaciones de copia, copia profunda y pickle."
#: ../Doc/whatsnew/3.12.rst:1412
msgid ":mod:`pkgutil`:"
-msgstr ""
+msgstr ":mod:`pkgutil`:"
#: ../Doc/whatsnew/3.12.rst:1414
msgid ":func:`!pkgutil.find_loader`"
-msgstr ""
+msgstr ":func:`!pkgutil.find_loader`"
#: ../Doc/whatsnew/3.12.rst:1415
msgid ":func:`!pkgutil.get_loader`."
-msgstr ""
+msgstr ":func:`!pkgutil.get_loader`."
#: ../Doc/whatsnew/3.12.rst:1417
msgid ":mod:`pty`:"
-msgstr ""
+msgstr ":mod:`pty`:"
#: ../Doc/whatsnew/3.12.rst:1419
msgid ":func:`!pty.master_open`"
-msgstr ""
+msgstr ":func:`!pty.master_open`"
#: ../Doc/whatsnew/3.12.rst:1420
msgid ":func:`!pty.slave_open`"
-msgstr ""
+msgstr ":func:`!pty.slave_open`"
#: ../Doc/whatsnew/3.12.rst:1422
msgid ":mod:`shutil`: The *onerror* argument of :func:`shutil.rmtree`"
-msgstr ""
+msgstr ":mod:`shutil`: El argumento *onerror* de :func:`shutil.rmtree`"
#: ../Doc/whatsnew/3.12.rst:1424
msgid ":mod:`typing`: :class:`!typing.ByteString`"
-msgstr ""
+msgstr ":mod:`typing`: :class:`!typing.ByteString`"
#: ../Doc/whatsnew/3.12.rst:1426
msgid ""
":mod:`xml.etree.ElementTree`: Testing the truth value of an :class:`xml."
"etree.ElementTree.Element`."
msgstr ""
+":mod:`xml.etree.ElementTree`: Probando el valor de verdad de un :class:`xml."
+"etree.ElementTree.Element`."
#: ../Doc/whatsnew/3.12.rst:1428
msgid "The ``__package__`` and ``__cached__`` attributes on module objects."
msgstr ""
+"Los atributos ``__package__`` y ``__cached__`` en los objetos del módulo."
#: ../Doc/whatsnew/3.12.rst:1430
msgid "The ``co_lnotab`` attribute of code objects."
-msgstr ""
+msgstr "El atributo ``co_lnotab`` de los objetos de código."
#: ../Doc/whatsnew/3.12.rst:1433 ../Doc/whatsnew/3.12.rst:2361
msgid "Pending Removal in Future Versions"
-msgstr ""
+msgstr "Eliminación pendiente en versiones futuras"
#: ../Doc/whatsnew/3.12.rst:1435
msgid ""
"The following APIs were deprecated in earlier Python versions and will be "
"removed, although there is currently no date scheduled for their removal."
msgstr ""
+"Las siguientes API quedaron obsoletas en versiones anteriores de Python y se "
+"eliminarán, aunque actualmente no hay una fecha programada para su "
+"eliminación."
#: ../Doc/whatsnew/3.12.rst:1438
msgid ":mod:`array`'s ``'u'`` format code (:gh:`57281`)"
-msgstr ""
+msgstr "Código de formato ``'u'`` de :mod:`array` (:gh:`57281`)"
#: ../Doc/whatsnew/3.12.rst:1440
msgid ":class:`typing.Text` (:gh:`92332`)"
-msgstr ""
+msgstr ":class:`typing.Text` (:gh:`92332`)"
#: ../Doc/whatsnew/3.12.rst:1442
msgid ""
@@ -2107,14 +2837,22 @@ msgid ""
"keyword:`is` and :keyword:`or`. In a future release it will be changed to a "
"syntax error. (:gh:`87999`)"
msgstr ""
+"Actualmente, Python acepta literales numéricos seguidos inmediatamente de "
+"palabras clave, por ejemplo ``0in x``, ``1or x``, ``0if 1else 2``. Permite "
+"expresiones confusas y ambiguas como ``[0x1for x in y]`` (que puede "
+"interpretarse como ``[0x1 for x in y]`` o ``[0x1f or x in y]``). Se genera "
+"una advertencia de sintaxis si el literal numérico va seguido inmediatamente "
+"de una de las palabras clave :keyword:`and`, :keyword:`else`, :keyword:"
+"`for`, :keyword:`if`, :keyword:`in`, :keyword:`is` y :keyword:`or`. En una "
+"versión futura se cambiará a un error de sintaxis. (:gh:`87999`)"
#: ../Doc/whatsnew/3.12.rst:1453 ../Doc/whatsnew/3.12.rst:2393
msgid "Removed"
-msgstr ""
+msgstr "Eliminado"
#: ../Doc/whatsnew/3.12.rst:1456
msgid "asynchat and asyncore"
-msgstr ""
+msgstr "asynchat y asyncore"
#: ../Doc/whatsnew/3.12.rst:1458
msgid ""
@@ -2122,38 +2860,49 @@ msgid ""
"having been deprecated in Python 3.6. Use :mod:`asyncio` instead. "
"(Contributed by Nikita Sobolev in :gh:`96580`.)"
msgstr ""
+"Estos dos módulos se eliminaron según lo programado en :pep:`594` y quedaron "
+"obsoletos en Python 3.6. Utilice :mod:`asyncio` en su lugar. (Aportado por "
+"Nikita Sobolev en :gh:`96580`.)"
#: ../Doc/whatsnew/3.12.rst:1465
msgid "configparser"
-msgstr ""
+msgstr "configparser"
#: ../Doc/whatsnew/3.12.rst:1467
msgid ""
"Several names deprecated in the :mod:`configparser` way back in 3.2 have "
"been removed per :gh:`89336`:"
msgstr ""
+"Varios nombres obsoletos en :mod:`configparser` en 3.2 se han eliminado "
+"según :gh:`89336`:"
#: ../Doc/whatsnew/3.12.rst:1470
msgid ""
":class:`configparser.ParsingError` no longer has a ``filename`` attribute or "
"argument. Use the ``source`` attribute and argument instead."
msgstr ""
+":class:`configparser.ParsingError` ya no tiene un atributo o argumento "
+"``filename``. Utilice el atributo y el argumento ``source`` en su lugar."
#: ../Doc/whatsnew/3.12.rst:1472
msgid ""
":mod:`configparser` no longer has a ``SafeConfigParser`` class. Use the "
"shorter :class:`~configparser.ConfigParser` name instead."
msgstr ""
+":mod:`configparser` ya no tiene una clase ``SafeConfigParser``. Utilice en "
+"su lugar el nombre :class:`~configparser.ConfigParser` más corto."
#: ../Doc/whatsnew/3.12.rst:1474
msgid ""
":class:`configparser.ConfigParser` no longer has a ``readfp`` method. Use :"
"meth:`~configparser.ConfigParser.read_file` instead."
msgstr ""
+":class:`configparser.ConfigParser` ya no tiene un método ``readfp``. "
+"Utilice :meth:`~configparser.ConfigParser.read_file` en su lugar."
#: ../Doc/whatsnew/3.12.rst:1478
msgid "distutils"
-msgstr ""
+msgstr "distutils"
#: ../Doc/whatsnew/3.12.rst:1480
msgid ""
@@ -2163,16 +2912,24 @@ msgid ""
"project can be installed: it still provides ``distutils``. (Contributed by "
"Victor Stinner in :gh:`92584`.)"
msgstr ""
+"Elimine el paquete :py:mod:`!distutils`. Quedó obsoleto en Python 3.10 por :"
+"pep:`632` \"Módulo distutils obsoleto\". Para proyectos que todavía usan "
+"``distutils`` y no se pueden actualizar a otra cosa, se puede instalar el "
+"proyecto ``setuptools``: todavía proporciona ``distutils``. (Aportado por "
+"Victor Stinner en :gh:`92584`.)"
#: ../Doc/whatsnew/3.12.rst:1487
msgid "ensurepip"
-msgstr ""
+msgstr "ensurepip"
#: ../Doc/whatsnew/3.12.rst:1489
msgid ""
"Remove the bundled setuptools wheel from :mod:`ensurepip`, and stop "
"installing setuptools in environments created by :mod:`venv`."
msgstr ""
+"Retire la rueda de herramientas de configuración incluida en :mod:"
+"`ensurepip` y deje de instalar herramientas de configuración en entornos "
+"creados por :mod:`venv`."
#: ../Doc/whatsnew/3.12.rst:1492
msgid ""
@@ -2181,6 +2938,11 @@ msgid ""
"still be used with ``pip install``, since pip will provide ``setuptools`` in "
"the build environment it uses for building a package."
msgstr ""
+"``pip (>= 22.1)`` no requiere la instalación de herramientas de "
+"configuración en el entorno. Los paquetes basados en ``setuptools`` (y "
+"``distutils``) aún se pueden usar con ``pip install``, ya que pip "
+"proporcionará ``setuptools`` en el entorno de compilación que utiliza para "
+"crear un paquete."
#: ../Doc/whatsnew/3.12.rst:1498
msgid ""
@@ -2191,34 +2953,46 @@ msgid ""
"project should be declared as a dependency and installed separately "
"(typically, using pip)."
msgstr ""
+"``easy_install``, ``pkg_resources``, ``setuptools`` y ``distutils`` ya no se "
+"proporcionan de forma predeterminada en entornos creados con ``venv`` o "
+"arrancados con ``ensurepip``, ya que forman parte del paquete "
+"``setuptools``. Para proyectos que dependen de estos en tiempo de ejecución, "
+"el proyecto ``setuptools`` debe declararse como una dependencia e instalarse "
+"por separado (generalmente, usando pip)."
#: ../Doc/whatsnew/3.12.rst:1505
msgid "(Contributed by Pradyun Gedam in :gh:`95299`.)"
-msgstr ""
+msgstr "(Aportado por Pradyun Gedam en :gh:`95299`.)"
#: ../Doc/whatsnew/3.12.rst:1508
msgid "enum"
-msgstr ""
+msgstr "enum"
#: ../Doc/whatsnew/3.12.rst:1510
msgid ""
"Remove :mod:`enum`'s ``EnumMeta.__getattr__``, which is no longer needed for "
"enum attribute access. (Contributed by Ethan Furman in :gh:`95083`.)"
msgstr ""
+"Elimine ``EnumMeta.__getattr__`` de :mod:`enum`, que ya no es necesario para "
+"acceder al atributo de enumeración. (Aportado por Ethan Furman en :gh:"
+"`95083`.)"
#: ../Doc/whatsnew/3.12.rst:1515
msgid "ftplib"
-msgstr ""
+msgstr "ftplib"
#: ../Doc/whatsnew/3.12.rst:1517
msgid ""
"Remove :mod:`ftplib`'s ``FTP_TLS.ssl_version`` class attribute: use the "
"*context* parameter instead. (Contributed by Victor Stinner in :gh:`94172`.)"
msgstr ""
+"Elimine el atributo de clase ``FTP_TLS.ssl_version`` de :mod:`ftplib`: "
+"utilice el parámetro *context* en su lugar. (Aportado por Victor Stinner en :"
+"gh:`94172`.)"
#: ../Doc/whatsnew/3.12.rst:1522
msgid "gzip"
-msgstr ""
+msgstr "gzip"
#: ../Doc/whatsnew/3.12.rst:1524
msgid ""
@@ -2228,10 +3002,15 @@ msgid ""
"extension if it was not present. (Contributed by Victor Stinner in :gh:"
"`94196`.)"
msgstr ""
+"Elimine el atributo ``filename`` del :class:`gzip.GzipFile` de :mod:`gzip`, "
+"en desuso desde Python 2.6; utilice el atributo :attr:`~gzip.GzipFile.name` "
+"en su lugar. En modo de escritura, el atributo ``filename`` agregaba la "
+"extensión de archivo ``'.gz'`` si no estaba presente. (Aportado por Victor "
+"Stinner en :gh:`94196`.)"
#: ../Doc/whatsnew/3.12.rst:1531
msgid "hashlib"
-msgstr ""
+msgstr "hashlib"
#: ../Doc/whatsnew/3.12.rst:1533
msgid ""
@@ -2241,22 +3020,31 @@ msgid ""
"of :func:`~hashlib.pbkdf2_hmac()` which is faster. (Contributed by Victor "
"Stinner in :gh:`94199`.)"
msgstr ""
+"Elimine la implementación pura de Python de :func:`hashlib.pbkdf2_hmac()` "
+"de :mod:`hashlib`, obsoleta en Python 3.10. Python 3.10 y versiones "
+"posteriores requieren OpenSSL 1.1.1 (:pep:`644`): esta versión de OpenSSL "
+"proporciona una implementación C de :func:`~hashlib.pbkdf2_hmac()` que es "
+"más rápida. (Aportado por Victor Stinner en :gh:`94199`.)"
#: ../Doc/whatsnew/3.12.rst:1540 ../Doc/whatsnew/3.12.rst:1567
msgid "importlib"
-msgstr ""
+msgstr "importlib"
#: ../Doc/whatsnew/3.12.rst:1542
msgid ""
"Many previously deprecated cleanups in :mod:`importlib` have now been "
"completed:"
msgstr ""
+"Muchas limpiezas anteriormente obsoletas en :mod:`importlib` ahora se han "
+"completado:"
#: ../Doc/whatsnew/3.12.rst:1545
msgid ""
"References to, and support for :meth:`!module_repr()` has been removed. "
"(Contributed by Barry Warsaw in :gh:`97850`.)"
msgstr ""
+"Se han eliminado las referencias y la compatibilidad con :meth:`!"
+"module_repr()`. (Aportado por Barry Varsovia en :gh:`97850`.)"
#: ../Doc/whatsnew/3.12.rst:1548
msgid ""
@@ -2264,156 +3052,169 @@ msgid ""
"``importlib.util.module_for_loader`` have all been removed. (Contributed by "
"Brett Cannon and Nikita Sobolev in :gh:`65961` and :gh:`97850`.)"
msgstr ""
+"Se han eliminado ``importlib.util.set_package``, ``importlib.util."
+"set_loader`` y ``importlib.util.module_for_loader``. (Contribución de Brett "
+"Cannon y Nikita Sobolev en :gh:`65961` y :gh:`97850`.)"
#: ../Doc/whatsnew/3.12.rst:1552
msgid ""
"Support for ``find_loader()`` and ``find_module()`` APIs have been removed. "
"(Contributed by Barry Warsaw in :gh:`98040`.)"
msgstr ""
+"Se eliminó la compatibilidad con las API ``find_loader()`` y "
+"``find_module()``. (Aportado por Barry Varsovia en :gh:`98040`.)"
#: ../Doc/whatsnew/3.12.rst:1555
msgid ""
"``importlib.abc.Finder``, ``pkgutil.ImpImporter``, and ``pkgutil.ImpLoader`` "
"have been removed. (Contributed by Barry Warsaw in :gh:`98040`.)"
msgstr ""
+"Se han eliminado ``importlib.abc.Finder``, ``pkgutil.ImpImporter`` y "
+"``pkgutil.ImpLoader``. (Aportado por Barry Varsovia en :gh:`98040`.)"
#: ../Doc/whatsnew/3.12.rst:1559 ../Doc/whatsnew/3.12.rst:1567
msgid "imp"
-msgstr ""
+msgstr "imp"
#: ../Doc/whatsnew/3.12.rst:1561
msgid ""
"The :mod:`!imp` module has been removed. (Contributed by Barry Warsaw in :"
"gh:`98040`.)"
msgstr ""
+"Se ha eliminado el módulo :mod:`!imp`. (Aportado por Barry Varsovia en :gh:"
+"`98040`.)"
#: ../Doc/whatsnew/3.12.rst:1564
msgid "To migrate, consult the following correspondence table:"
-msgstr ""
+msgstr "Para migrar consulte la siguiente tabla de correspondencias:"
#: ../Doc/whatsnew/3.12.rst:1569
msgid "``imp.NullImporter``"
-msgstr ""
+msgstr "``imp.NullImporter``"
#: ../Doc/whatsnew/3.12.rst:1569
msgid "Insert ``None`` into ``sys.path_importer_cache``"
-msgstr ""
+msgstr "Inserta ``None`` en ``sys.path_importer_cache``"
#: ../Doc/whatsnew/3.12.rst:1570
msgid "``imp.cache_from_source()``"
-msgstr ""
+msgstr "``imp.cache_from_source()``"
#: ../Doc/whatsnew/3.12.rst:1570
msgid ":func:`importlib.util.cache_from_source`"
-msgstr ""
+msgstr ":func:`importlib.util.cache_from_source`"
#: ../Doc/whatsnew/3.12.rst:1571
msgid "``imp.find_module()``"
-msgstr ""
+msgstr "``imp.find_module()``"
#: ../Doc/whatsnew/3.12.rst:1571
msgid ":func:`importlib.util.find_spec`"
-msgstr ""
+msgstr ":func:`importlib.util.find_spec`"
#: ../Doc/whatsnew/3.12.rst:1572
msgid "``imp.get_magic()``"
-msgstr ""
+msgstr "``imp.get_magic()``"
#: ../Doc/whatsnew/3.12.rst:1572
msgid ":attr:`importlib.util.MAGIC_NUMBER`"
-msgstr ""
+msgstr ":attr:`importlib.util.MAGIC_NUMBER`"
#: ../Doc/whatsnew/3.12.rst:1573
msgid "``imp.get_suffixes()``"
-msgstr ""
+msgstr "``imp.get_suffixes()``"
#: ../Doc/whatsnew/3.12.rst:1573
msgid ""
":attr:`importlib.machinery.SOURCE_SUFFIXES`, :attr:`importlib.machinery."
"EXTENSION_SUFFIXES`, and :attr:`importlib.machinery.BYTECODE_SUFFIXES`"
msgstr ""
+":attr:`importlib.machinery.SOURCE_SUFFIXES`, :attr:`importlib.machinery."
+"EXTENSION_SUFFIXES` y :attr:`importlib.machinery.BYTECODE_SUFFIXES`"
#: ../Doc/whatsnew/3.12.rst:1574
msgid "``imp.get_tag()``"
-msgstr ""
+msgstr "``imp.get_tag()``"
#: ../Doc/whatsnew/3.12.rst:1574
msgid ":attr:`sys.implementation.cache_tag `"
-msgstr ""
+msgstr ":attr:`sys.implementation.cache_tag `"
#: ../Doc/whatsnew/3.12.rst:1575
msgid "``imp.load_module()``"
-msgstr ""
+msgstr "``imp.load_module()``"
#: ../Doc/whatsnew/3.12.rst:1575
msgid ":func:`importlib.import_module`"
-msgstr ""
+msgstr ":func:`importlib.import_module`"
#: ../Doc/whatsnew/3.12.rst:1576
msgid "``imp.new_module(name)``"
-msgstr ""
+msgstr "``imp.new_module(name)``"
#: ../Doc/whatsnew/3.12.rst:1576
msgid "``types.ModuleType(name)``"
-msgstr ""
+msgstr "``types.ModuleType(name)``"
#: ../Doc/whatsnew/3.12.rst:1577
msgid "``imp.reload()``"
-msgstr ""
+msgstr "``imp.reload()``"
#: ../Doc/whatsnew/3.12.rst:1577
msgid ":func:`importlib.reload`"
-msgstr ""
+msgstr ":func:`importlib.reload`"
#: ../Doc/whatsnew/3.12.rst:1578
msgid "``imp.source_from_cache()``"
-msgstr ""
+msgstr "``imp.source_from_cache()``"
#: ../Doc/whatsnew/3.12.rst:1578
msgid ":func:`importlib.util.source_from_cache`"
-msgstr ""
+msgstr ":func:`importlib.util.source_from_cache`"
#: ../Doc/whatsnew/3.12.rst:1579
msgid "``imp.load_source()``"
-msgstr ""
+msgstr "``imp.load_source()``"
#: ../Doc/whatsnew/3.12.rst:1579
msgid "*See below*"
-msgstr ""
+msgstr "*Ver abajo*"
#: ../Doc/whatsnew/3.12.rst:1582
msgid "Replace ``imp.load_source()`` with::"
-msgstr ""
+msgstr "Reemplace ``imp.load_source()`` con::"
#: ../Doc/whatsnew/3.12.rst:1597
msgid "Remove :mod:`!imp` functions and attributes with no replacements:"
-msgstr ""
+msgstr "Elimine las funciones y atributos de :mod:`!imp` sin reemplazos:"
#: ../Doc/whatsnew/3.12.rst:1599
msgid "Undocumented functions:"
-msgstr ""
+msgstr "Funciones no documentadas:"
#: ../Doc/whatsnew/3.12.rst:1601
msgid "``imp.init_builtin()``"
-msgstr ""
+msgstr "``imp.init_builtin()``"
#: ../Doc/whatsnew/3.12.rst:1602
msgid "``imp.load_compiled()``"
-msgstr ""
+msgstr "``imp.load_compiled()``"
#: ../Doc/whatsnew/3.12.rst:1603
msgid "``imp.load_dynamic()``"
-msgstr ""
+msgstr "``imp.load_dynamic()``"
#: ../Doc/whatsnew/3.12.rst:1604
msgid "``imp.load_package()``"
-msgstr ""
+msgstr "``imp.load_package()``"
#: ../Doc/whatsnew/3.12.rst:1606
msgid ""
"``imp.lock_held()``, ``imp.acquire_lock()``, ``imp.release_lock()``: the "
"locking scheme has changed in Python 3.3 to per-module locks."
msgstr ""
+"``imp.lock_held()``, ``imp.acquire_lock()``, ``imp.release_lock()``: el "
+"esquema de bloqueo ha cambiado en Python 3.3 a bloqueos por módulo."
#: ../Doc/whatsnew/3.12.rst:1608
msgid ""
@@ -2421,10 +3222,13 @@ msgid ""
"``PY_COMPILED``, ``C_EXTENSION``, ``PY_RESOURCE``, ``PKG_DIRECTORY``, "
"``C_BUILTIN``, ``PY_FROZEN``, ``PY_CODERESOURCE``, ``IMP_HOOK``."
msgstr ""
+"Constantes ``imp.find_module()``: ``SEARCH_ERROR``, ``PY_SOURCE``, "
+"``PY_COMPILED``, ``C_EXTENSION``, ``PY_RESOURCE``, ``PKG_DIRECTORY``, "
+"``C_BUILTIN``, ``PY_FROZEN``, ``PY_CODERESOURCE``, ``IMP_HOOK``."
#: ../Doc/whatsnew/3.12.rst:1613
msgid "io"
-msgstr ""
+msgstr "io"
#: ../Doc/whatsnew/3.12.rst:1615
msgid ""
@@ -2434,10 +3238,15 @@ msgid ""
"open` is also a static method. (Contributed by Victor Stinner in :gh:"
"`94169`.)"
msgstr ""
+"Elimine ``io.OpenWrapper`` y ``_pyio.OpenWrapper`` de :mod:`io`, obsoletos "
+"en Python 3.10: simplemente use :func:`open` en su lugar. La función :func:"
+"`open` (:func:`io.open`) es una función incorporada. Desde Python 3.10, :"
+"func:`!_pyio.open` también es un método estático. (Aportado por Victor "
+"Stinner en :gh:`94169`.)"
#: ../Doc/whatsnew/3.12.rst:1622
msgid "locale"
-msgstr ""
+msgstr "locale"
#: ../Doc/whatsnew/3.12.rst:1624
msgid ""
@@ -2445,6 +3254,9 @@ msgid ""
"3.7: use :func:`locale.format_string` instead. (Contributed by Victor "
"Stinner in :gh:`94226`.)"
msgstr ""
+"Elimine la función :func:`!locale.format` de :mod:`locale`, obsoleta en "
+"Python 3.7: use :func:`locale.format_string` en su lugar. (Aportado por "
+"Victor Stinner en :gh:`94226`.)"
#: ../Doc/whatsnew/3.12.rst:1628
msgid ""
@@ -2453,26 +3265,34 @@ msgid ""
"module or any other :mod:`asyncio`-based server instead. (Contributed by "
"Oleg Iarygin in :gh:`93243`.)"
msgstr ""
+"``smtpd``: el módulo se eliminó según lo programado en :pep:`594`, ya que "
+"quedó obsoleto en Python 3.4.7 y 3.5.4. Utilice el módulo aiosmtpd_ PyPI o "
+"cualquier otro servidor basado en :mod:`asyncio`. (Contribución de Oleg "
+"Iarygin en :gh:`93243`.)"
#: ../Doc/whatsnew/3.12.rst:1639
msgid ""
"The following undocumented :mod:`sqlite3` features, deprecated in Python "
"3.10, are now removed:"
msgstr ""
+"Las siguientes características :mod:`sqlite3` no documentadas, obsoletas en "
+"Python 3.10, ahora se eliminan:"
#: ../Doc/whatsnew/3.12.rst:1642
msgid "``sqlite3.enable_shared_cache()``"
-msgstr ""
+msgstr "``sqlite3.enable_shared_cache()``"
#: ../Doc/whatsnew/3.12.rst:1643
msgid "``sqlite3.OptimizedUnicode``"
-msgstr ""
+msgstr "``sqlite3.OptimizedUnicode``"
#: ../Doc/whatsnew/3.12.rst:1645
msgid ""
"If a shared cache must be used, open the database in URI mode using the "
"``cache=shared`` query parameter."
msgstr ""
+"Si se debe utilizar una caché compartida, abra la base de datos en modo URI "
+"utilizando el parámetro de consulta ``cache=shared``."
#: ../Doc/whatsnew/3.12.rst:1648
msgid ""
@@ -2481,14 +3301,18 @@ msgid ""
"``OptimizedUnicode`` can either use ``str`` explicitly, or rely on the "
"default value which is also ``str``."
msgstr ""
+"La fábrica de textos ``sqlite3.OptimizedUnicode`` ha sido un alias para :"
+"class:`str` desde Python 3.3. El código que previamente configuró la fábrica "
+"de texto en ``OptimizedUnicode`` puede usar ``str`` explícitamente o confiar "
+"en el valor predeterminado que también es ``str``."
#: ../Doc/whatsnew/3.12.rst:1653
msgid "(Contributed by Erlend E. Aasland in :gh:`92548`.)"
-msgstr ""
+msgstr "(Aportado por Erlend E. Aasland en :gh:`92548`.)"
#: ../Doc/whatsnew/3.12.rst:1656
msgid "ssl"
-msgstr ""
+msgstr "ssl"
#: ../Doc/whatsnew/3.12.rst:1658
msgid ""
@@ -2496,6 +3320,9 @@ msgid ""
"Python 3.6: use :func:`os.urandom` or :func:`ssl.RAND_bytes` instead. "
"(Contributed by Victor Stinner in :gh:`94199`.)"
msgstr ""
+"Elimine la función :func:`!ssl.RAND_pseudo_bytes` de :mod:`ssl`, obsoleta en "
+"Python 3.6: use :func:`os.urandom` o :func:`ssl.RAND_bytes` en su lugar. "
+"(Aportado por Victor Stinner en :gh:`94199`.)"
#: ../Doc/whatsnew/3.12.rst:1662
msgid ""
@@ -2504,6 +3331,10 @@ msgid ""
"uses the :func:`!ssl.match_hostname` function. (Contributed by Victor "
"Stinner in :gh:`94199`.)"
msgstr ""
+"Elimine la función :func:`!ssl.match_hostname`. Quedó obsoleto en Python "
+"3.7. OpenSSL realiza coincidencias de nombres de host desde Python 3.7, "
+"Python ya no usa la función :func:`!ssl.match_hostname`. (Aportado por "
+"Victor Stinner en :gh:`94199`.)"
#: ../Doc/whatsnew/3.12.rst:1668
msgid ""
@@ -2515,156 +3346,169 @@ msgid ""
"`_: Improper Certificate "
"Validation. (Contributed by Victor Stinner in :gh:`94199`.)"
msgstr ""
+"Elimine la función :func:`!ssl.wrap_socket`, obsoleta en Python 3.7: en su "
+"lugar, cree un objeto :class:`ssl.SSLContext` y llame a su método :class:"
+"`ssl.SSLContext.wrap_socket`. Cualquier paquete que todavía use :func:`!ssl."
+"wrap_socket` está roto y es inseguro. La función no envía una extensión SNI "
+"TLS ni valida el nombre de host del servidor. El código está sujeto a "
+"`CWE-295 `_: Validación de "
+"certificado incorrecta. (Aportado por Victor Stinner en :gh:`94199`.)"
#: ../Doc/whatsnew/3.12.rst:1680
msgid "Remove many long-deprecated :mod:`unittest` features:"
msgstr ""
+"Elimine muchas características de :mod:`unittest` que están en desuso desde "
+"hace mucho tiempo:"
#: ../Doc/whatsnew/3.12.rst:1684
msgid "A number of :class:`~unittest.TestCase` method aliases:"
-msgstr ""
+msgstr "Varios alias del método :class:`~unittest.TestCase`:"
#: ../Doc/whatsnew/3.12.rst:1687
msgid "Deprecated alias"
-msgstr ""
+msgstr "Alias obsoleto"
#: ../Doc/whatsnew/3.12.rst:1687
msgid "Method Name"
-msgstr ""
+msgstr "Nombre del método"
#: ../Doc/whatsnew/3.12.rst:1687
msgid "Deprecated in"
-msgstr ""
+msgstr "En desuso en"
#: ../Doc/whatsnew/3.12.rst:1689
msgid "``failUnless``"
-msgstr ""
+msgstr "``failUnless``"
#: ../Doc/whatsnew/3.12.rst:1689 ../Doc/whatsnew/3.12.rst:1696
msgid ":meth:`.assertTrue`"
-msgstr ""
+msgstr ":meth:`.assertTrue`"
#: ../Doc/whatsnew/3.12.rst:1689 ../Doc/whatsnew/3.12.rst:1690
#: ../Doc/whatsnew/3.12.rst:1691 ../Doc/whatsnew/3.12.rst:1692
#: ../Doc/whatsnew/3.12.rst:1693 ../Doc/whatsnew/3.12.rst:1694
#: ../Doc/whatsnew/3.12.rst:1695
msgid "3.1"
-msgstr ""
+msgstr "3.1"
#: ../Doc/whatsnew/3.12.rst:1690
msgid "``failIf``"
-msgstr ""
+msgstr "``failIf``"
#: ../Doc/whatsnew/3.12.rst:1690
msgid ":meth:`.assertFalse`"
-msgstr ""
+msgstr ":meth:`.assertFalse`"
#: ../Doc/whatsnew/3.12.rst:1691
msgid "``failUnlessEqual``"
-msgstr ""
+msgstr "``failUnlessEqual``"
#: ../Doc/whatsnew/3.12.rst:1691 ../Doc/whatsnew/3.12.rst:1697
msgid ":meth:`.assertEqual`"
-msgstr ""
+msgstr ":meth:`.assertEqual`"
#: ../Doc/whatsnew/3.12.rst:1692
msgid "``failIfEqual``"
-msgstr ""
+msgstr "``failIfEqual``"
#: ../Doc/whatsnew/3.12.rst:1692 ../Doc/whatsnew/3.12.rst:1698
msgid ":meth:`.assertNotEqual`"
-msgstr ""
+msgstr ":meth:`.assertNotEqual`"
#: ../Doc/whatsnew/3.12.rst:1693
msgid "``failUnlessAlmostEqual``"
-msgstr ""
+msgstr "``failUnlessAlmostEqual``"
#: ../Doc/whatsnew/3.12.rst:1693 ../Doc/whatsnew/3.12.rst:1699
msgid ":meth:`.assertAlmostEqual`"
-msgstr ""
+msgstr ":meth:`.assertAlmostEqual`"
#: ../Doc/whatsnew/3.12.rst:1694
msgid "``failIfAlmostEqual``"
-msgstr ""
+msgstr "``failIfAlmostEqual``"
#: ../Doc/whatsnew/3.12.rst:1694 ../Doc/whatsnew/3.12.rst:1700
msgid ":meth:`.assertNotAlmostEqual`"
-msgstr ""
+msgstr ":meth:`.assertNotAlmostEqual`"
#: ../Doc/whatsnew/3.12.rst:1695
msgid "``failUnlessRaises``"
-msgstr ""
+msgstr "``failUnlessRaises``"
#: ../Doc/whatsnew/3.12.rst:1695
msgid ":meth:`.assertRaises`"
-msgstr ""
+msgstr ":meth:`.assertRaises`"
#: ../Doc/whatsnew/3.12.rst:1696
msgid "``assert_``"
-msgstr ""
+msgstr "``assert_``"
#: ../Doc/whatsnew/3.12.rst:1696 ../Doc/whatsnew/3.12.rst:1697
#: ../Doc/whatsnew/3.12.rst:1698 ../Doc/whatsnew/3.12.rst:1699
#: ../Doc/whatsnew/3.12.rst:1700 ../Doc/whatsnew/3.12.rst:1701
#: ../Doc/whatsnew/3.12.rst:1702
msgid "3.2"
-msgstr ""
+msgstr "3.2"
#: ../Doc/whatsnew/3.12.rst:1697
msgid "``assertEquals``"
-msgstr ""
+msgstr "``assertEquals``"
#: ../Doc/whatsnew/3.12.rst:1698
msgid "``assertNotEquals``"
-msgstr ""
+msgstr "``assertNotEquals``"
#: ../Doc/whatsnew/3.12.rst:1699
msgid "``assertAlmostEquals``"
-msgstr ""
+msgstr "``assertAlmostEquals``"
#: ../Doc/whatsnew/3.12.rst:1700
msgid "``assertNotAlmostEquals``"
-msgstr ""
+msgstr "``assertNotAlmostEquals``"
#: ../Doc/whatsnew/3.12.rst:1701
msgid "``assertRegexpMatches``"
-msgstr ""
+msgstr "``assertRegexpMatches``"
#: ../Doc/whatsnew/3.12.rst:1701
msgid ":meth:`.assertRegex`"
-msgstr ""
+msgstr ":meth:`.assertRegex`"
#: ../Doc/whatsnew/3.12.rst:1702
msgid "``assertRaisesRegexp``"
-msgstr ""
+msgstr "``assertRaisesRegexp``"
#: ../Doc/whatsnew/3.12.rst:1702
msgid ":meth:`.assertRaisesRegex`"
-msgstr ""
+msgstr ":meth:`.assertRaisesRegex`"
#: ../Doc/whatsnew/3.12.rst:1703
msgid "``assertNotRegexpMatches``"
-msgstr ""
+msgstr "``assertNotRegexpMatches``"
#: ../Doc/whatsnew/3.12.rst:1703
msgid ":meth:`.assertNotRegex`"
-msgstr ""
+msgstr ":meth:`.assertNotRegex`"
#: ../Doc/whatsnew/3.12.rst:1703
msgid "3.5"
-msgstr ""
+msgstr "3.5"
#: ../Doc/whatsnew/3.12.rst:1706
msgid ""
"You can use https://github.com/isidentical/teyit to automatically modernise "
"your unit tests."
msgstr ""
+"Puede utilizar https://github.com/isidentical/teyit para modernizar "
+"automáticamente sus pruebas unitarias."
#: ../Doc/whatsnew/3.12.rst:1709
msgid ""
"Undocumented and broken :class:`~unittest.TestCase` method "
"``assertDictContainsSubset`` (deprecated in Python 3.2)."
msgstr ""
+"Método ``assertDictContainsSubset`` de :class:`~unittest.TestCase` "
+"indocumentado y roto (obsoleto en Python 3.2)."
#: ../Doc/whatsnew/3.12.rst:1712
msgid ""
@@ -2672,20 +3516,25 @@ msgid ""
"loadTestsFromModule>` parameter *use_load_tests* (deprecated and ignored "
"since Python 3.2)."
msgstr ""
+"Parámetro :meth:`TestLoader.loadTestsFromModule ` no documentado *use_load_tests* (obsoleto e ignorado "
+"desde Python 3.2)."
#: ../Doc/whatsnew/3.12.rst:1716
msgid ""
"An alias of the :class:`~unittest.TextTestResult` class: ``_TextTestResult`` "
"(deprecated in Python 3.2)."
msgstr ""
+"Un alias de la clase :class:`~unittest.TextTestResult`: ``_TextTestResult`` "
+"(obsoleto en Python 3.2)."
#: ../Doc/whatsnew/3.12.rst:1719
msgid "(Contributed by Serhiy Storchaka in :gh:`89325`.)"
-msgstr ""
+msgstr "(Contribución de Serhiy Storchaka en :gh:`89325`.)"
#: ../Doc/whatsnew/3.12.rst:1722
msgid "webbrowser"
-msgstr ""
+msgstr "webbrowser"
#: ../Doc/whatsnew/3.12.rst:1724
msgid ""
@@ -2693,10 +3542,14 @@ msgid ""
"browsers include: Grail, Mosaic, Netscape, Galeon, Skipstone, Iceape, "
"Firebird, and Firefox versions 35 and below (:gh:`102871`)."
msgstr ""
+"Elimina la compatibilidad con navegadores obsoletos de :mod:`webbrowser`. "
+"Los navegadores eliminados incluyen: Grail, Mosaic, Netscape, Galeon, "
+"Skipstone, Iceape, Firebird y Firefox versiones 35 e inferiores (:gh:"
+"`102871`)."
#: ../Doc/whatsnew/3.12.rst:1729
msgid "xml.etree.ElementTree"
-msgstr ""
+msgstr "xml.etree.ElementTree"
#: ../Doc/whatsnew/3.12.rst:1731
msgid ""
@@ -2706,10 +3559,15 @@ msgid ""
"no ``copy()`` method, only a ``__copy__()`` method. (Contributed by Victor "
"Stinner in :gh:`94383`.)"
msgstr ""
+"Elimine el método ``ElementTree.Element.copy()`` de la implementación pura "
+"de Python, obsoleto en Python 3.10, use la función :func:`copy.copy` en su "
+"lugar. La implementación C de :mod:`xml.etree.ElementTree` no tiene ningún "
+"método ``copy()``, solo un método ``__copy__()``. (Aportado por Victor "
+"Stinner en :gh:`94383`.)"
#: ../Doc/whatsnew/3.12.rst:1738
msgid "zipimport"
-msgstr ""
+msgstr "zipimport"
#: ../Doc/whatsnew/3.12.rst:1740
msgid ""
@@ -2717,10 +3575,14 @@ msgid ""
"deprecated in Python 3.10: use the ``find_spec()`` method instead. See :pep:"
"`451` for the rationale. (Contributed by Victor Stinner in :gh:`94379`.)"
msgstr ""
+"Elimine los métodos ``find_loader()`` y ``find_module()`` de :mod:"
+"`zipimport`, obsoletos en Python 3.10: use el método ``find_spec()`` en su "
+"lugar. Consulte :pep:`451` para conocer el fundamento. (Aportado por Victor "
+"Stinner en :gh:`94379`.)"
#: ../Doc/whatsnew/3.12.rst:1746
msgid "Others"
-msgstr ""
+msgstr "Otros"
#: ../Doc/whatsnew/3.12.rst:1748
msgid ""
@@ -2729,6 +3591,10 @@ msgid ""
"com/sphinx-contrib/sphinx-lint>`_. (Contributed by Julien Palard in :gh:"
"`98179`.)"
msgstr ""
+"Elimine la regla ``suspicious`` de la documentación :file:`Makefile` y :file:"
+"`Doc/tools/rstlint.py`, ambas a favor de `sphinx-lint `_. (Contribución de Julien Palard en :gh:"
+"`98179`.)"
#: ../Doc/whatsnew/3.12.rst:1753
msgid ""
@@ -2739,20 +3605,27 @@ msgid ""
"(*ssl_context* in :mod:`imaplib`) instead. (Contributed by Victor Stinner "
"in :gh:`94172`.)"
msgstr ""
+"Elimine los parámetros *keyfile* y *certfile* de los módulos :mod:`ftplib`, :"
+"mod:`imaplib`, :mod:`poplib` y :mod:`smtplib`, y los parámetros *key_file*, "
+"*cert_file* y *check_hostname* del módulo :mod:`http.client`, todos "
+"obsoletos desde Python 3.6. Utilice el parámetro *context* (*ssl_context* "
+"en :mod:`imaplib`) en su lugar. (Aportado por Victor Stinner en :gh:`94172`.)"
#: ../Doc/whatsnew/3.12.rst:1764 ../Doc/whatsnew/3.12.rst:2079
msgid "Porting to Python 3.12"
-msgstr ""
+msgstr "Portar a Python 3.12"
#: ../Doc/whatsnew/3.12.rst:1766
msgid ""
"This section lists previously described changes and other bugfixes that may "
"require changes to your code."
msgstr ""
+"Esta sección enumera los cambios descritos anteriormente y otras "
+"correcciones de errores que pueden requerir cambios en su código."
#: ../Doc/whatsnew/3.12.rst:1770
msgid "Changes in the Python API"
-msgstr ""
+msgstr "Cambios en la API de Python"
#: ../Doc/whatsnew/3.12.rst:1772
msgid ""
@@ -2762,6 +3635,12 @@ msgid ""
"strings can now only contain ASCII letters and digits and underscore. "
"(Contributed by Serhiy Storchaka in :gh:`91760`.)"
msgstr ""
+"Ahora se aplican reglas más estrictas para las referencias numéricas de "
+"grupos y los nombres de grupos en expresiones regulares. Ahora sólo se "
+"acepta como referencia numérica la secuencia de dígitos ASCII. El nombre del "
+"grupo en patrones de bytes y cadenas de reemplazo ahora solo puede contener "
+"letras y dígitos ASCII y guiones bajos. (Contribución de Serhiy Storchaka "
+"en :gh:`91760`.)"
#: ../Doc/whatsnew/3.12.rst:1779
msgid ""
@@ -2774,6 +3653,14 @@ msgid ""
"``randrange(10**25)``. (Originally suggested by Serhiy Storchaka :gh:"
"`86388`.)"
msgstr ""
+"Elimine la funcionalidad ``randrange()`` en desuso desde Python 3.10. "
+"Anteriormente, ``randrange(10.0)`` se convertía sin pérdidas a "
+"``randrange(10)``. Ahora, genera un :exc:`TypeError`. Además, la excepción "
+"planteada para valores no enteros como ``randrange(10.5)`` o "
+"``randrange('10')`` se cambió de :exc:`ValueError` a :exc:`TypeError`. Esto "
+"también evita errores en los que ``randrange(1e25)`` seleccionaría "
+"silenciosamente de un rango mayor que ``randrange(10**25)``. (Originalmente "
+"sugerido por Serhiy Storchaka :gh:`86388`.)"
#: ../Doc/whatsnew/3.12.rst:1787
msgid ""
@@ -2784,6 +3671,13 @@ msgid ""
"handler`. Argument files should be encoded in UTF-8 instead of ANSI Codepage "
"on Windows."
msgstr ""
+":class:`argparse.ArgumentParser` cambió la codificación y el controlador de "
+"errores para leer argumentos de un archivo (por ejemplo, la opción "
+"``fromfile_prefix_chars``) de la codificación de texto predeterminada (por "
+"ejemplo, :func:`locale.getpreferredencoding(False) `) a :term:`filesystem encoding and error handler`. Los "
+"archivos de argumentos deben codificarse en UTF-8 en lugar de en la página "
+"de códigos ANSI en Windows."
#: ../Doc/whatsnew/3.12.rst:1793
msgid ""
@@ -2791,6 +3685,9 @@ msgid ""
"and 3.5.4. A recommended replacement is the :mod:`asyncio`-based aiosmtpd_ "
"PyPI module."
msgstr ""
+"Elimine el módulo ``smtpd`` basado en ``asyncore`` que está en desuso en "
+"Python 3.4.7 y 3.5.4. Un reemplazo recomendado es el módulo aiosmtpd_ PyPI "
+"basado en :mod:`asyncio`."
#: ../Doc/whatsnew/3.12.rst:1797
msgid ""
@@ -2798,6 +3695,9 @@ msgid ""
"exception, rather than reading :data:`sys.stdin`. The feature was deprecated "
"in Python 3.9. (Contributed by Victor Stinner in :gh:`94352`.)"
msgstr ""
+":func:`shlex.split`: Pasar ``None`` por el argumento *s* ahora genera una "
+"excepción, en lugar de leer :data:`sys.stdin`. La característica quedó "
+"obsoleta en Python 3.9. (Aportado por Victor Stinner en :gh:`94352`.)"
#: ../Doc/whatsnew/3.12.rst:1802
msgid ""
@@ -2806,6 +3706,9 @@ msgid ""
"type is accepted for bytes strings. (Contributed by Victor Stinner in :gh:"
"`98393`.)"
msgstr ""
+"El módulo :mod:`os` ya no acepta rutas tipo bytes, como los tipos :class:"
+"`bytearray` y :class:`memoryview`: solo se acepta el tipo exacto :class:"
+"`bytes` para cadenas de bytes. (Aportado por Victor Stinner en :gh:`98393`.)"
#: ../Doc/whatsnew/3.12.rst:1807
msgid ""
@@ -2818,6 +3721,15 @@ msgid ""
"process-global resources, which are best managed from the main interpreter. "
"(Contributed by Donghee Na in :gh:`99127`.)"
msgstr ""
+":func:`syslog.openlog` y :func:`syslog.closelog` ahora fallan si se usan en "
+"subintérpretes. :func:`syslog.syslog` aún se puede usar en subintérpretes, "
+"pero ahora solo si :func:`syslog.openlog` ya ha sido llamado en el "
+"intérprete principal. Estas nuevas restricciones no se aplican al intérprete "
+"principal, por lo que sólo un conjunto muy pequeño de usuarios podría verse "
+"afectado. Este cambio ayuda con el aislamiento del intérprete. Además, :mod:"
+"`syslog` es un contenedor de recursos globales de procesos, que se "
+"administran mejor desde el intérprete principal. (Aportado por Donghee Na "
+"en :gh:`99127`.)"
#: ../Doc/whatsnew/3.12.rst:1816
msgid ""
@@ -2830,6 +3742,17 @@ msgid ""
"fine. If synchronization is needed, implement locking within the cached "
"property getter function or around multi-threaded access points."
msgstr ""
+"Se elimina el comportamiento de bloqueo no documentado de :func:`~functools."
+"cached_property`, porque bloqueaba todas las instancias de la clase, lo que "
+"generaba una alta contención de bloqueo. Esto significa que una función de "
+"obtención de propiedades almacenadas en caché ahora podría ejecutarse más de "
+"una vez para una sola instancia, si dos subprocesos se ejecutan. Para la "
+"mayoría de las propiedades almacenadas en caché simples (por ejemplo, "
+"aquellas que son idempotentes y simplemente calculan un valor en función de "
+"otros atributos de la instancia), esto estará bien. Si se necesita "
+"sincronización, implemente el bloqueo dentro de la función de obtención de "
+"propiedades en caché o alrededor de puntos de acceso de subprocesos "
+"múltiples."
#: ../Doc/whatsnew/3.12.rst:1829
msgid ""
@@ -2837,6 +3760,10 @@ msgid ""
"unpack_archive`, pass the *filter* argument to limit features that may be "
"surprising or dangerous. See :ref:`tarfile-extraction-filter` for details."
msgstr ""
+"Al extraer archivos tar usando :mod:`tarfile` o :func:`shutil."
+"unpack_archive`, pase el argumento *filter* para limitar las funciones que "
+"pueden resultar sorprendentes o peligrosas. Consulte :ref:`tarfile-"
+"extraction-filter` para obtener más detalles."
#: ../Doc/whatsnew/3.12.rst:1834
msgid ""
@@ -2849,44 +3776,65 @@ msgid ""
"tokenization in the expression components. For example for the f-string "
"``f\"start {1+1} end\"`` the old version of the tokenizer emitted::"
msgstr ""
+"La salida de las funciones :func:`tokenize.tokenize` y :func:`tokenize."
+"generate_tokens` ahora cambia debido a los cambios introducidos en :pep:"
+"`701`. Esto significa que los tokens ``STRING`` ya no se emiten para cadenas "
+"f y los tokens descritos en :pep:`701` ahora se producen en su lugar: "
+"``FSTRING_START``, ``FSTRING_MIDDLE`` y ``FSTRING_END`` ahora se emiten para "
+"partes de \"cadena\" de cadena f además de los tokens apropiados para la "
+"tokenización. en los componentes de la expresión. Por ejemplo, para la "
+"cadena f ``f\"start {1+1} end\"``, la versión anterior del tokenizador "
+"emitió::"
#: ../Doc/whatsnew/3.12.rst:1845
msgid "while the new version emits::"
-msgstr ""
+msgstr "mientras que la nueva versión emite::"
#: ../Doc/whatsnew/3.12.rst:1857
msgid ""
"Additionally, there may be some minor behavioral changes as a consequence of "
"the changes required to support :pep:`701`. Some of these changes include:"
msgstr ""
+"Además, puede haber algunos cambios de comportamiento menores como "
+"consecuencia de los cambios necesarios para admitir :pep:`701`. Algunos de "
+"estos cambios incluyen:"
#: ../Doc/whatsnew/3.12.rst:1860
msgid ""
"The ``type`` attribute of the tokens emitted when tokenizing some invalid "
"Python characters such as ``!`` has changed from ``ERRORTOKEN`` to ``OP``."
msgstr ""
+"El atributo ``type`` de los tokens emitidos al tokenizar algunos caracteres "
+"de Python no válidos, como ``!``, ha cambiado de ``ERRORTOKEN`` a ``OP``."
#: ../Doc/whatsnew/3.12.rst:1863
msgid ""
"Incomplete single-line strings now also raise :exc:`tokenize.TokenError` as "
"incomplete multiline strings do."
msgstr ""
+"Las cadenas incompletas de una sola línea ahora también generan :exc:"
+"`tokenize.TokenError` como lo hacen las cadenas incompletas de varias líneas."
#: ../Doc/whatsnew/3.12.rst:1866
msgid ""
"Some incomplete or invalid Python code now raises :exc:`tokenize.TokenError` "
"instead of returning arbitrary ``ERRORTOKEN`` tokens when tokenizing it."
msgstr ""
+"Algún código Python incompleto o no válido ahora genera :exc:`tokenize."
+"TokenError` en lugar de devolver tokens ``ERRORTOKEN`` arbitrarios al "
+"tokenizarlo."
#: ../Doc/whatsnew/3.12.rst:1869
msgid ""
"Mixing tabs and spaces as indentation in the same file is not supported "
"anymore and will raise a :exc:`TabError`."
msgstr ""
+"Ya no se admite la combinación de tabulaciones y espacios como sangría en el "
+"mismo archivo y generará un :exc:`TabError`."
#: ../Doc/whatsnew/3.12.rst:1873
msgid "Build Changes"
-msgstr ""
+msgstr "Cambios de compilación"
#: ../Doc/whatsnew/3.12.rst:1875
msgid ""
@@ -2896,6 +3844,12 @@ msgid ""
"config`` and fall back to manual detection. (Contributed by Christian Heimes "
"in :gh:`93939`.)"
msgstr ""
+"Python ya no usa :file:`setup.py` para crear módulos de extensión C "
+"compartidos. Los parámetros de compilación, como encabezados y bibliotecas, "
+"se detectan en el script ``configure``. Las extensiones están construidas "
+"por :file:`Makefile`. La mayoría de las extensiones usan ``pkg-config`` y "
+"recurren a la detección manual. (Aportado por Christian Heimes en :gh:"
+"`93939`.)"
#: ../Doc/whatsnew/3.12.rst:1881
msgid ""
@@ -2903,6 +3857,9 @@ msgid ""
"required to build Python. ``va_start()`` is no longer called with a single "
"parameter. (Contributed by Kumar Aditya in :gh:`93207`.)"
msgstr ""
+"Ahora se requiere ``va_start()`` con dos parámetros, como ``va_start(args, "
+"format),``, para compilar Python. ``va_start()`` ya no se llama con un solo "
+"parámetro. (Aportado por Kumar Aditya en :gh:`93207`.)"
#: ../Doc/whatsnew/3.12.rst:1886
msgid ""
@@ -2910,6 +3867,9 @@ msgid ""
"policy if the Clang compiler accepts the flag. (Contributed by Donghee Na "
"in :gh:`89536`.)"
msgstr ""
+"CPython ahora usa la opción ThinLTO como política predeterminada de "
+"optimización del tiempo de enlace si el compilador Clang acepta la marca. "
+"(Aportado por Donghee Na en :gh:`89536`.)"
#: ../Doc/whatsnew/3.12.rst:1890
msgid ""
@@ -2919,45 +3879,54 @@ msgid ""
"optimization levels (0, 1, 2) at once. (Contributed by Victor Stinner in :gh:"
"`99289`.)"
msgstr ""
+"Agregado la variable ``COMPILEALL_OPTS`` en :file:`Makefile` para anular las "
+"opciones de :mod:`compileall` (predeterminada: ``-j0``) en ``make install``. "
+"También fusionó los 3 comandos ``compileall`` en un solo comando para crear "
+"archivos .pyc para todos los niveles de optimización (0, 1, 2) a la vez. "
+"(Aportado por Victor Stinner en :gh:`99289`.)"
#: ../Doc/whatsnew/3.12.rst:1896
msgid "Add platform triplets for 64-bit LoongArch:"
-msgstr ""
+msgstr "Agregado tripletes de plataforma para LoongArch de 64 bits:"
#: ../Doc/whatsnew/3.12.rst:1898
msgid "loongarch64-linux-gnusf"
-msgstr ""
+msgstr "loongarch64-linux-gnusf"
#: ../Doc/whatsnew/3.12.rst:1899
msgid "loongarch64-linux-gnuf32"
-msgstr ""
+msgstr "loongarch64-linux-gnuf32"
#: ../Doc/whatsnew/3.12.rst:1900
msgid "loongarch64-linux-gnu"
-msgstr ""
+msgstr "loongarch64-linux-gnu"
#: ../Doc/whatsnew/3.12.rst:1902
msgid "(Contributed by Zhang Na in :gh:`90656`.)"
-msgstr ""
+msgstr "(Aportado por Zhang Na en :gh:`90656`.)"
#: ../Doc/whatsnew/3.12.rst:1904
msgid "``PYTHON_FOR_REGEN`` now require Python 3.10 or newer."
-msgstr ""
+msgstr "``PYTHON_FOR_REGEN`` ahora requiere Python 3.10 o posterior."
#: ../Doc/whatsnew/3.12.rst:1906
msgid ""
"Autoconf 2.71 and aclocal 1.16.4 is now required to regenerate :file:`!"
"configure`. (Contributed by Christian Heimes in :gh:`89886`.)"
msgstr ""
+"Ahora se requieren Autoconf 2.71 y aclocal 1.16.4 para regenerar :file:`!"
+"configure`. (Aportado por Christian Heimes en :gh:`89886`.)"
#: ../Doc/whatsnew/3.12.rst:1910
msgid ""
"Windows builds and macOS installers from python.org now use OpenSSL 3.0."
msgstr ""
+"Las compilaciones de Windows y los instaladores de macOS de python.org ahora "
+"usan OpenSSL 3.0."
#: ../Doc/whatsnew/3.12.rst:1914
msgid "C API Changes"
-msgstr ""
+msgstr "Cambios en la API de C"
#: ../Doc/whatsnew/3.12.rst:1921
msgid ""
@@ -2966,66 +3935,84 @@ msgid ""
"change in each minor release of CPython without deprecation warnings. Its "
"contents are marked by the ``PyUnstable_`` prefix in names."
msgstr ""
+":pep:`697`: presente :ref:`Unstable C API tier `, destinado "
+"a herramientas de bajo nivel como depuradores y compiladores JIT. Esta API "
+"puede cambiar en cada versión menor de CPython sin advertencias de "
+"obsolescencia. Su contenido está marcado con el prefijo ``PyUnstable_`` en "
+"los nombres."
#: ../Doc/whatsnew/3.12.rst:1927
msgid "Code object constructors:"
-msgstr ""
+msgstr "Constructores de objetos de código:"
#: ../Doc/whatsnew/3.12.rst:1929
msgid "``PyUnstable_Code_New()`` (renamed from ``PyCode_New``)"
-msgstr ""
+msgstr "``PyUnstable_Code_New()`` (renombrado de ``PyCode_New``)"
#: ../Doc/whatsnew/3.12.rst:1930
msgid ""
"``PyUnstable_Code_NewWithPosOnlyArgs()`` (renamed from "
"``PyCode_NewWithPosOnlyArgs``)"
msgstr ""
+"``PyUnstable_Code_NewWithPosOnlyArgs()`` (renombrado de "
+"``PyCode_NewWithPosOnlyArgs``)"
#: ../Doc/whatsnew/3.12.rst:1932
msgid "Extra storage for code objects (:pep:`523`):"
-msgstr ""
+msgstr "Almacenamiento adicional para objetos de código (:pep:`523`):"
#: ../Doc/whatsnew/3.12.rst:1934
msgid ""
"``PyUnstable_Eval_RequestCodeExtraIndex()`` (renamed from "
"``_PyEval_RequestCodeExtraIndex``)"
msgstr ""
+"``PyUnstable_Eval_RequestCodeExtraIndex()`` (renombrado de "
+"``_PyEval_RequestCodeExtraIndex``)"
#: ../Doc/whatsnew/3.12.rst:1935
msgid "``PyUnstable_Code_GetExtra()`` (renamed from ``_PyCode_GetExtra``)"
-msgstr ""
+msgstr "``PyUnstable_Code_GetExtra()`` (renombrado de ``_PyCode_GetExtra``)"
#: ../Doc/whatsnew/3.12.rst:1936
msgid "``PyUnstable_Code_SetExtra()`` (renamed from ``_PyCode_SetExtra``)"
-msgstr ""
+msgstr "``PyUnstable_Code_SetExtra()`` (renombrado de ``_PyCode_SetExtra``)"
#: ../Doc/whatsnew/3.12.rst:1938
msgid ""
"The original names will continue to be available until the respective API "
"changes."
msgstr ""
+"Los nombres originales seguirán estando disponibles hasta que cambie la API "
+"respectiva."
#: ../Doc/whatsnew/3.12.rst:1941
msgid "(Contributed by Petr Viktorin in :gh:`101101`.)"
-msgstr ""
+msgstr "(Aportado por Petr Viktorin en :gh:`101101`.)"
#: ../Doc/whatsnew/3.12.rst:1943
msgid ""
":pep:`697`: Add an API for extending types whose instance memory layout is "
"opaque:"
msgstr ""
+":pep:`697`: agregue una API para extender tipos cuyo diseño de memoria de "
+"instancia es opaco:"
#: ../Doc/whatsnew/3.12.rst:1946
msgid ""
":c:member:`PyType_Spec.basicsize` can be zero or negative to specify "
"inheriting or extending the base class size."
msgstr ""
+":c:member:`PyType_Spec.basicsize` puede ser cero o negativo para especificar "
+"heredar o ampliar el tamaño de la clase base."
#: ../Doc/whatsnew/3.12.rst:1948
msgid ""
":c:func:`PyObject_GetTypeData` and :c:func:`PyType_GetTypeDataSize` added to "
"allow access to subclass-specific instance data."
msgstr ""
+"Se agregaron :c:func:`PyObject_GetTypeData` y :c:func:"
+"`PyType_GetTypeDataSize` para permitir el acceso a datos de instancia "
+"específicos de subclase."
#: ../Doc/whatsnew/3.12.rst:1950
msgid ""
@@ -3033,16 +4020,21 @@ msgid ""
"to allow safely extending certain variable-sized types, including :c:var:"
"`PyType_Type`."
msgstr ""
+"Se agregaron :c:macro:`Py_TPFLAGS_ITEMS_AT_END` y :c:func:"
+"`PyObject_GetItemData` para permitir extender de forma segura ciertos tipos "
+"de tamaño variable, incluido :c:var:`PyType_Type`."
#: ../Doc/whatsnew/3.12.rst:1953
msgid ""
":c:macro:`Py_RELATIVE_OFFSET` added to allow defining :c:type:`members "
"` in terms of a subclass-specific struct."
msgstr ""
+"Se agregó :c:macro:`Py_RELATIVE_OFFSET` para permitir definir :c:type:"
+"`members ` en términos de una estructura específica de subclase."
#: ../Doc/whatsnew/3.12.rst:1956
msgid "(Contributed by Petr Viktorin in :gh:`103509`.)"
-msgstr ""
+msgstr "(Aportado por Petr Viktorin en :gh:`103509`.)"
#: ../Doc/whatsnew/3.12.rst:1958
msgid ""
@@ -3051,28 +4043,34 @@ msgid ""
"`PyType_FromModuleAndSpec` using an additional metaclass argument. "
"(Contributed by Wenzel Jakob in :gh:`93012`.)"
msgstr ""
+"Agregado la nueva función :ref:`limited C API ` :c:func:"
+"`PyType_FromMetaclass`, que generaliza el :c:func:`PyType_FromModuleAndSpec` "
+"existente utilizando un argumento de metaclase adicional. (Aportado por "
+"Wenzel Jakob en :gh:`93012`.)"
#: ../Doc/whatsnew/3.12.rst:1963
msgid ""
"API for creating objects that can be called using :ref:`the vectorcall "
"protocol ` was added to the :ref:`Limited API `:"
msgstr ""
+"Se agregó API para crear objetos que se pueden llamar usando :ref:`the "
+"vectorcall protocol ` a :ref:`Limited API `:"
#: ../Doc/whatsnew/3.12.rst:1967
msgid ":c:macro:`Py_TPFLAGS_HAVE_VECTORCALL`"
-msgstr ""
+msgstr ":c:macro:`Py_TPFLAGS_HAVE_VECTORCALL`"
#: ../Doc/whatsnew/3.12.rst:1968
msgid ":c:func:`PyVectorcall_NARGS`"
-msgstr ""
+msgstr ":c:func:`PyVectorcall_NARGS`"
#: ../Doc/whatsnew/3.12.rst:1969
msgid ":c:func:`PyVectorcall_Call`"
-msgstr ""
+msgstr ":c:func:`PyVectorcall_Call`"
#: ../Doc/whatsnew/3.12.rst:1970
msgid ":c:type:`vectorcallfunc`"
-msgstr ""
+msgstr ":c:type:`vectorcallfunc`"
#: ../Doc/whatsnew/3.12.rst:1972
msgid ""
@@ -3084,6 +4082,13 @@ msgid ""
"``Py_TPFLAGS_HAVE_VECTORCALL`` flag. (Contributed by Petr Viktorin in :gh:"
"`93274`.)"
msgstr ""
+"El indicador :c:macro:`Py_TPFLAGS_HAVE_VECTORCALL` ahora se elimina de una "
+"clase cuando se reasigna el método :py:meth:`~object.__call__` de la clase. "
+"Esto hace que vectorcall sea seguro de usar con tipos mutables (es decir, "
+"tipos de montón sin el indicador inmutable, :c:macro:"
+"`Py_TPFLAGS_IMMUTABLETYPE`). Los tipos mutables que no anulan :c:member:"
+"`~PyTypeObject.tp_call` ahora heredan el indicador "
+"``Py_TPFLAGS_HAVE_VECTORCALL``. (Aportado por Petr Viktorin en :gh:`93274`.)"
#: ../Doc/whatsnew/3.12.rst:1980
msgid ""
@@ -3092,24 +4097,30 @@ msgid ""
"classes to support object ``__dict__`` and weakrefs with less bookkeeping, "
"using less memory and with faster access."
msgstr ""
+"Se han agregado los indicadores :c:macro:`Py_TPFLAGS_MANAGED_DICT` y :c:"
+"macro:`Py_TPFLAGS_MANAGED_WEAKREF`. Esto permite que las clases de "
+"extensiones admitan el objeto ``__dict__`` y las referencias débiles con "
+"menos contabilidad, usando menos memoria y con un acceso más rápido."
#: ../Doc/whatsnew/3.12.rst:1985
msgid ""
"API for performing calls using :ref:`the vectorcall protocol ` "
"was added to the :ref:`Limited API `:"
msgstr ""
+"Se agregó API para realizar llamadas usando :ref:`the vectorcall protocol "
+"` a :ref:`Limited API `:"
#: ../Doc/whatsnew/3.12.rst:1989
msgid ":c:func:`PyObject_Vectorcall`"
-msgstr ""
+msgstr ":c:func:`PyObject_Vectorcall`"
#: ../Doc/whatsnew/3.12.rst:1990
msgid ":c:func:`PyObject_VectorcallMethod`"
-msgstr ""
+msgstr ":c:func:`PyObject_VectorcallMethod`"
#: ../Doc/whatsnew/3.12.rst:1991
msgid ":c:macro:`PY_VECTORCALL_ARGUMENTS_OFFSET`"
-msgstr ""
+msgstr ":c:macro:`PY_VECTORCALL_ARGUMENTS_OFFSET`"
#: ../Doc/whatsnew/3.12.rst:1993
msgid ""
@@ -3117,6 +4128,9 @@ msgid ""
"protocol are now available in the :ref:`Limited API `. (Contributed "
"by Wenzel Jakob in :gh:`98586`.)"
msgstr ""
+"Esto significa que tanto el extremo entrante como el saliente del protocolo "
+"de llamada vectorial ahora están disponibles en el :ref:`Limited API "
+"`. (Aportado por Wenzel Jakob en :gh:`98586`.)"
#: ../Doc/whatsnew/3.12.rst:1997
msgid ""
@@ -3125,6 +4139,11 @@ msgid ""
"functions in all running threads in addition to the calling one. "
"(Contributed by Pablo Galindo in :gh:`93503`.)"
msgstr ""
+"Agregado dos nuevas funciones públicas, :c:func:"
+"`PyEval_SetProfileAllThreads` y :c:func:`PyEval_SetTraceAllThreads`, que "
+"permiten configurar funciones de seguimiento y creación de perfiles en todos "
+"los subprocesos en ejecución además del que realiza la llamada. (Aportado "
+"por Pablo Galindo en :gh:`93503`.)"
#: ../Doc/whatsnew/3.12.rst:2003
msgid ""
@@ -3132,6 +4151,9 @@ msgid ""
"the vectorcall field of a given :c:type:`PyFunctionObject`. (Contributed by "
"Andrew Frost in :gh:`92257`.)"
msgstr ""
+"Agregado la nueva función :c:func:`PyFunction_SetVectorcall` a la API de C "
+"que establece el campo de llamada vectorial de un :c:type:`PyFunctionObject` "
+"determinado. (Aportado por Andrew Frost en :gh:`92257`.)"
#: ../Doc/whatsnew/3.12.rst:2007
msgid ""
@@ -3141,6 +4163,11 @@ msgid ""
"interpreters, JIT compilers, or debuggers. (Contributed by Carl Meyer in :gh:"
"`91052`.)"
msgstr ""
+"La API de C ahora permite registrar devoluciones de llamada a través de :c:"
+"func:`PyDict_AddWatcher`, :c:func:`PyDict_Watch` y API relacionadas para ser "
+"llamadas cada vez que se modifica un diccionario. Está pensado para "
+"optimizar intérpretes, compiladores JIT o depuradores. (Aportado por Carl "
+"Meyer en :gh:`91052`.)"
#: ../Doc/whatsnew/3.12.rst:2013
msgid ""
@@ -3148,6 +4175,9 @@ msgid ""
"callbacks to receive notification on changes to a type. (Contributed by Carl "
"Meyer in :gh:`91051`.)"
msgstr ""
+"Agregado las API :c:func:`PyType_AddWatcher` y :c:func:`PyType_Watch` para "
+"registrar devoluciones de llamadas y recibir notificaciones sobre cambios en "
+"un tipo. (Aportado por Carl Meyer en :gh:`91051`.)"
#: ../Doc/whatsnew/3.12.rst:2017
msgid ""
@@ -3155,6 +4185,10 @@ msgid ""
"register callbacks to receive notification on creation and destruction of "
"code objects. (Contributed by Itamar Oren in :gh:`91054`.)"
msgstr ""
+"Agregado las API :c:func:`PyCode_AddWatcher` y :c:func:`PyCode_ClearWatcher` "
+"para registrar devoluciones de llamadas y recibir notificaciones sobre la "
+"creación y destrucción de objetos de código. (Aportado por Itamar Oren en :"
+"gh:`91054`.)"
#: ../Doc/whatsnew/3.12.rst:2022
msgid ""
@@ -3162,6 +4196,9 @@ msgid ""
"get a frame variable by its name. (Contributed by Victor Stinner in :gh:"
"`91248`.)"
msgstr ""
+"Agregado las funciones :c:func:`PyFrame_GetVar` y :c:func:"
+"`PyFrame_GetVarString` para obtener una variable de marco por su nombre. "
+"(Aportado por Victor Stinner en :gh:`91248`.)"
#: ../Doc/whatsnew/3.12.rst:2026
msgid ""
@@ -3172,6 +4209,12 @@ msgid ""
"`PyErr_Restore`. This is less error prone and a bit more efficient. "
"(Contributed by Mark Shannon in :gh:`101578`.)"
msgstr ""
+"Agregado :c:func:`PyErr_GetRaisedException` y :c:func:"
+"`PyErr_SetRaisedException` para guardar y restaurar la excepción actual. "
+"Estas funciones devuelven y aceptan un único objeto de excepción, en lugar "
+"de los argumentos triples de los ahora obsoletos :c:func:`PyErr_Fetch` y :c:"
+"func:`PyErr_Restore`. Esto es menos propenso a errores y un poco más "
+"eficiente. (Aportado por Mark Shannon en :gh:`101578`.)"
#: ../Doc/whatsnew/3.12.rst:2034
msgid ""
@@ -3179,6 +4222,9 @@ msgid ""
"replace the legacy-API ``_PyErr_ChainExceptions``, which is now deprecated. "
"(Contributed by Mark Shannon in :gh:`101578`.)"
msgstr ""
+"Agregado ``_PyErr_ChainExceptions1``, que toma una instancia de excepción, "
+"para reemplazar la API heredada ``_PyErr_ChainExceptions``, que ahora está "
+"en desuso. (Aportado por Mark Shannon en :gh:`101578`.)"
#: ../Doc/whatsnew/3.12.rst:2038
msgid ""
@@ -3187,6 +4233,10 @@ msgid ""
"args` passed to the exception's constructor. (Contributed by Mark Shannon "
"in :gh:`101578`.)"
msgstr ""
+"Agregado :c:func:`PyException_GetArgs` y :c:func:`PyException_SetArgs` como "
+"funciones convenientes para recuperar y modificar el :attr:`~BaseException."
+"args` pasado al constructor de la excepción. (Aportado por Mark Shannon en :"
+"gh:`101578`.)"
#: ../Doc/whatsnew/3.12.rst:2043
msgid ""
@@ -3194,63 +4244,78 @@ msgid ""
"replace the legacy-api :c:func:`!PyErr_Display`. (Contributed by Irit "
"Katriel in :gh:`102755`)."
msgstr ""
+"Agregado :c:func:`PyErr_DisplayException`, que toma una instancia de "
+"excepción, para reemplazar la API heredada :c:func:`!PyErr_Display`. "
+"(Aportado por Irit Katriel en :gh:`102755`)."
#: ../Doc/whatsnew/3.12.rst:2049
msgid ""
":pep:`683`: Introduce *Immortal Objects*, which allows objects to bypass "
"reference counts, and related changes to the C-API:"
msgstr ""
+":pep:`683`: presente *Immortal Objects*, que permite que los objetos omitan "
+"los recuentos de referencias y los cambios relacionados en C-API:"
#: ../Doc/whatsnew/3.12.rst:2052
msgid "``_Py_IMMORTAL_REFCNT``: The reference count that defines an object"
msgstr ""
+"``_Py_IMMORTAL_REFCNT``: el recuento de referencias que define un objeto"
#: ../Doc/whatsnew/3.12.rst:2053
msgid "as immortal."
-msgstr ""
+msgstr "como inmortal."
#: ../Doc/whatsnew/3.12.rst:2054
msgid ""
"``_Py_IsImmortal`` Checks if an object has the immortal reference count."
msgstr ""
+"``_Py_IsImmortal`` Comprueba si un objeto tiene el recuento de referencia "
+"inmortal."
#: ../Doc/whatsnew/3.12.rst:2055
msgid "``PyObject_HEAD_INIT`` This will now initialize reference count to"
msgstr ""
+"``PyObject_HEAD_INIT`` Esto ahora inicializará el recuento de referencias"
#: ../Doc/whatsnew/3.12.rst:2056
msgid "``_Py_IMMORTAL_REFCNT`` when used with ``Py_BUILD_CORE``."
-msgstr ""
+msgstr "``_Py_IMMORTAL_REFCNT`` cuando se utiliza con ``Py_BUILD_CORE``."
#: ../Doc/whatsnew/3.12.rst:2057
msgid "``SSTATE_INTERNED_IMMORTAL`` An identifier for interned unicode objects"
msgstr ""
+"``SSTATE_INTERNED_IMMORTAL`` Un identificador para objetos Unicode internos"
#: ../Doc/whatsnew/3.12.rst:2058
msgid "that are immortal."
-msgstr ""
+msgstr "que son inmortales."
#: ../Doc/whatsnew/3.12.rst:2059
msgid "``SSTATE_INTERNED_IMMORTAL_STATIC`` An identifier for interned unicode"
msgstr ""
+"``SSTATE_INTERNED_IMMORTAL_STATIC`` Un identificador para Unicode interno"
#: ../Doc/whatsnew/3.12.rst:2060
msgid "objects that are immortal and static"
-msgstr ""
+msgstr "Objetos inmortales y estáticos."
#: ../Doc/whatsnew/3.12.rst:2063
msgid "``sys.getunicodeinternedsize`` This returns the total number of unicode"
msgstr ""
+"``sys.getunicodeinternedsize`` Esto devuelve el número total de Unicode"
#: ../Doc/whatsnew/3.12.rst:2062
msgid ""
"objects that have been interned. This is now needed for :file:`refleak.py` "
"to correctly track reference counts and allocated blocks"
msgstr ""
+"objetos que han sido internados. Esto ahora es necesario para que :file:"
+"`refleak.py` rastree correctamente los recuentos de referencia y los bloques "
+"asignados."
#: ../Doc/whatsnew/3.12.rst:2065
msgid "(Contributed by Eddie Elizondo in :gh:`84436`.)"
-msgstr ""
+msgstr "(Contribuido por Eddie Elizondo en :gh:`84436`.)"
#: ../Doc/whatsnew/3.12.rst:2067
msgid ""
@@ -3259,6 +4324,10 @@ msgid ""
"with their own GILs. (See :ref:`whatsnew312-pep684` for more info.) "
"(Contributed by Eric Snow in :gh:`104110`.)"
msgstr ""
+":pep:`684`: agregue la nueva función :c:func:`Py_NewInterpreterFromConfig` "
+"y :c:type:`PyInterpreterConfig`, que pueden usarse para crear subintérpretes "
+"con sus propios GIL. (Consulte :ref:`whatsnew312-pep684` para obtener más "
+"información). (Contribución de Eric Snow en :gh:`104110`.)"
#: ../Doc/whatsnew/3.12.rst:2073
msgid ""
@@ -3266,12 +4335,18 @@ msgid ""
"`Py_DECREF` functions are now implemented as opaque function calls to hide "
"implementation details. (Contributed by Victor Stinner in :gh:`105387`.)"
msgstr ""
+"En la versión limitada de C API 3.12, las funciones :c:func:`Py_INCREF` y :c:"
+"func:`Py_DECREF` ahora se implementan como llamadas de función opacas para "
+"ocultar los detalles de implementación. (Aportado por Victor Stinner en :gh:"
+"`105387`.)"
#: ../Doc/whatsnew/3.12.rst:2081
msgid ""
"Legacy Unicode APIs based on ``Py_UNICODE*`` representation has been "
"removed. Please migrate to APIs based on UTF-8 or ``wchar_t*``."
msgstr ""
+"Se han eliminado las API Unicode heredadas basadas en la representación "
+"``Py_UNICODE*``. Migre a API basadas en UTF-8 o ``wchar_t*``."
#: ../Doc/whatsnew/3.12.rst:2084
msgid ""
@@ -3279,6 +4354,9 @@ msgid ""
"``Py_UNICODE*`` based format (e.g. ``u``, ``Z``) anymore. Please migrate to "
"other formats for Unicode like ``s``, ``z``, ``es``, and ``U``."
msgstr ""
+"Las funciones de análisis de argumentos como :c:func:`PyArg_ParseTuple` ya "
+"no admiten el formato basado en ``Py_UNICODE*`` (por ejemplo, ``u``, ``Z``). "
+"Migre a otros formatos para Unicode como ``s``, ``z``, ``es`` y ``U``."
#: ../Doc/whatsnew/3.12.rst:2088
msgid ""
@@ -3288,6 +4366,12 @@ msgid ""
"breakage, consider using the existing public C-API instead, or, if "
"necessary, the (internal-only) ``_PyObject_GET_WEAKREFS_LISTPTR()`` macro."
msgstr ""
+"``tp_weaklist`` para todos los tipos integrados estáticos siempre es "
+"``NULL``. Este es un campo solo interno en ``PyTypeObject``, pero señalamos "
+"el cambio en caso de que alguien acceda al campo directamente de todos "
+"modos. Para evitar roturas, considere utilizar la C-API pública existente o, "
+"si es necesario, la macro ``_PyObject_GET_WEAKREFS_LISTPTR()`` (solo "
+"interna)."
#: ../Doc/whatsnew/3.12.rst:2095
msgid ""
@@ -3296,12 +4380,18 @@ msgid ""
"this. We mention this in case someone happens to be accessing the internal-"
"only field directly."
msgstr ""
+"Es posible que este :c:member:`PyTypeObject.tp_subclasses` solo interno ya "
+"no sea un puntero de objeto válido. Su tipo se cambió a :c:expr:`void *` "
+"para reflejar esto. Mencionamos esto en caso de que alguien acceda "
+"directamente al campo interno."
#: ../Doc/whatsnew/3.12.rst:2100
msgid ""
"To get a list of subclasses, call the Python method :py:meth:`~class."
"__subclasses__` (using :c:func:`PyObject_CallMethod`, for example)."
msgstr ""
+"Para obtener una lista de subclases, llame al método Python :py:meth:`~class."
+"__subclasses__` (usando :c:func:`PyObject_CallMethod`, por ejemplo)."
#: ../Doc/whatsnew/3.12.rst:2104
msgid ""
@@ -3311,6 +4401,11 @@ msgid ""
"and :c:func:`PyUnicode_FromFormatV`. (Contributed by Serhiy Storchaka in :gh:"
"`98836`.)"
msgstr ""
+"Agregado soporte para más opciones de formato (alineación a la izquierda, "
+"octales, hexadecimales en mayúsculas, cadenas :c:type:`intmax_t`, :c:type:"
+"`ptrdiff_t`, :c:type:`wchar_t` C, ancho variable y precisión) en :c:func:"
+"`PyUnicode_FromFormat` y :c:func:`PyUnicode_FromFormatV`. (Aportado por "
+"Serhiy Storchaka en :gh:`98836`.)"
#: ../Doc/whatsnew/3.12.rst:2110
msgid ""
@@ -3320,12 +4415,20 @@ msgid ""
"the result string, and any extra arguments discarded. (Contributed by Serhiy "
"Storchaka in :gh:`95781`.)"
msgstr ""
+"Un carácter de formato no reconocido en :c:func:`PyUnicode_FromFormat` y :c:"
+"func:`PyUnicode_FromFormatV` ahora establece un :exc:`SystemError`. En "
+"versiones anteriores, provocaba que el resto de la cadena de formato se "
+"copiara tal cual en la cadena de resultado y se descartaran los argumentos "
+"adicionales. (Aportado por Serhiy Storchaka en :gh:`95781`.)"
#: ../Doc/whatsnew/3.12.rst:2116
msgid ""
"Fix wrong sign placement in :c:func:`PyUnicode_FromFormat` and :c:func:"
"`PyUnicode_FromFormatV`. (Contributed by Philip Georgi in :gh:`95504`.)"
msgstr ""
+"Se corrigió la ubicación incorrecta de los letreros en :c:func:"
+"`PyUnicode_FromFormat` y :c:func:`PyUnicode_FromFormatV`. (Aportado por "
+"Philip Georgi en :gh:`95504`.)"
#: ../Doc/whatsnew/3.12.rst:2120
msgid ""
@@ -3340,6 +4443,16 @@ msgid ""
"traverse and clear their instance's dictionaries. To clear weakrefs, call :c:"
"func:`PyObject_ClearWeakRefs`, as before."
msgstr ""
+"Las clases de extensión que deseen agregar un ``__dict__`` o una ranura de "
+"referencia débil deben usar :c:macro:`Py_TPFLAGS_MANAGED_DICT` y :c:macro:"
+"`Py_TPFLAGS_MANAGED_WEAKREF` en lugar de ``tp_dictoffset`` y "
+"``tp_weaklistoffset``, respectivamente. El uso de ``tp_dictoffset`` y "
+"``tp_weaklistoffset`` aún se admite, pero no es totalmente compatible con la "
+"herencia múltiple (:gh:`95589`) y el rendimiento puede ser peor. Las clases "
+"que declaran :c:macro:`Py_TPFLAGS_MANAGED_DICT` deben llamar a :c:func:`!"
+"_PyObject_VisitManagedDict` y :c:func:`!_PyObject_ClearManagedDict` para "
+"recorrer y borrar los diccionarios de su instancia. Para borrar referencias "
+"débiles, llame a :c:func:`PyObject_ClearWeakRefs`, como antes."
#: ../Doc/whatsnew/3.12.rst:2132
msgid ""
@@ -3348,6 +4461,10 @@ msgid ""
"exact :class:`bytes` type is accepted for bytes strings. (Contributed by "
"Victor Stinner in :gh:`98393`.)"
msgstr ""
+"La función :c:func:`PyUnicode_FSDecoder` ya no acepta rutas de tipo bytes, "
+"como los tipos :class:`bytearray` y :class:`memoryview`: solo se acepta el "
+"tipo :class:`bytes` exacto para cadenas de bytes. (Aportado por Victor "
+"Stinner en :gh:`98393`.)"
#: ../Doc/whatsnew/3.12.rst:2137
msgid ""
@@ -3356,6 +4473,10 @@ msgid ""
"effects, these side effects are no longer duplicated. (Contributed by Victor "
"Stinner in :gh:`98724`.)"
msgstr ""
+"Las macros :c:macro:`Py_CLEAR`, :c:macro:`Py_SETREF` y :c:macro:`Py_XSETREF` "
+"ahora solo evalúan sus argumentos una vez. Si un argumento tiene efectos "
+"secundarios, estos efectos secundarios ya no se duplican. (Aportado por "
+"Victor Stinner en :gh:`98724`.)"
#: ../Doc/whatsnew/3.12.rst:2142
msgid ""
@@ -3364,6 +4485,10 @@ msgid ""
"that set the error indicator now normalize the exception before storing it. "
"(Contributed by Mark Shannon in :gh:`101578`.)"
msgstr ""
+"El indicador de error del intérprete ahora siempre está normalizado. Esto "
+"significa que :c:func:`PyErr_SetObject`, :c:func:`PyErr_SetString` y las "
+"otras funciones que configuran el indicador de error ahora normalizan la "
+"excepción antes de almacenarla. (Aportado por Mark Shannon en :gh:`101578`.)"
#: ../Doc/whatsnew/3.12.rst:2147
msgid ""
@@ -3372,24 +4497,30 @@ msgid ""
"debug builds. If you happen to be using it then you'll need to start using "
"``_Py_GetGlobalRefTotal()``."
msgstr ""
+"``_Py_RefTotal`` ya no tiene autoridad y solo se conserva por compatibilidad "
+"con ABI. Tenga en cuenta que es un global interno y solo está disponible en "
+"compilaciones de depuración. Si lo está utilizando, deberá comenzar a "
+"utilizar ``_Py_GetGlobalRefTotal()``."
#: ../Doc/whatsnew/3.12.rst:2152
msgid ""
"The following functions now select an appropriate metaclass for the newly "
"created type:"
msgstr ""
+"Las siguientes funciones ahora seleccionan una metaclase apropiada para el "
+"tipo recién creado:"
#: ../Doc/whatsnew/3.12.rst:2155
msgid ":c:func:`PyType_FromSpec`"
-msgstr ""
+msgstr ":c:func:`PyType_FromSpec`"
#: ../Doc/whatsnew/3.12.rst:2156
msgid ":c:func:`PyType_FromSpecWithBases`"
-msgstr ""
+msgstr ":c:func:`PyType_FromSpecWithBases`"
#: ../Doc/whatsnew/3.12.rst:2157
msgid ":c:func:`PyType_FromModuleAndSpec`"
-msgstr ""
+msgstr ":c:func:`PyType_FromModuleAndSpec`"
#: ../Doc/whatsnew/3.12.rst:2159
msgid ""
@@ -3398,6 +4529,10 @@ msgid ""
"functions ignore ``tp_new`` of the metaclass, possibly allowing incomplete "
"initialization."
msgstr ""
+"La creación de clases cuya metaclase anule :c:member:`~PyTypeObject.tp_new` "
+"está en desuso y en Python 3.14+ no estará permitida. Tenga en cuenta que "
+"estas funciones ignoran ``tp_new`` de la metaclase, lo que posiblemente "
+"permita una inicialización incompleta."
#: ../Doc/whatsnew/3.12.rst:2164
msgid ""
@@ -3405,6 +4540,9 @@ msgid ""
"disallows creating classes whose metaclass overrides ``tp_new`` (:meth:"
"`~object.__new__` in Python)."
msgstr ""
+"Tenga en cuenta que :c:func:`PyType_FromMetaclass` (agregado en Python 3.12) "
+"ya no permite la creación de clases cuya metaclase anule ``tp_new`` (:meth:"
+"`~object.__new__` en Python)."
#: ../Doc/whatsnew/3.12.rst:2168
msgid ""
@@ -3414,16 +4552,24 @@ msgid ""
"since (meta)classes assume that ``tp_new`` was called. There is no simple "
"general workaround. One of the following may work for you:"
msgstr ""
+"Dado que ``tp_new`` anula casi todo lo que hacen las funciones "
+"``PyType_From*``, las dos son incompatibles entre sí. El comportamiento "
+"existente (ignorar la metaclase durante varios pasos de la creación de "
+"tipos) no es seguro en general, ya que las (meta)clases suponen que se llamó "
+"a ``tp_new``. No existe una solución general sencilla. Uno de los siguientes "
+"puede funcionar para usted:"
#: ../Doc/whatsnew/3.12.rst:2175
msgid "If you control the metaclass, avoid using ``tp_new`` in it:"
-msgstr ""
+msgstr "Si controlas la metaclase, evita usar ``tp_new`` en ella:"
#: ../Doc/whatsnew/3.12.rst:2177
msgid ""
"If initialization can be skipped, it can be done in :c:member:`~PyTypeObject."
"tp_init` instead."
msgstr ""
+"Si se puede omitir la inicialización, se puede realizar en :c:member:"
+"`~PyTypeObject.tp_init`."
#: ../Doc/whatsnew/3.12.rst:2179
msgid ""
@@ -3432,6 +4578,10 @@ msgid ""
"`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag. This makes it acceptable for "
"``PyType_From*`` functions."
msgstr ""
+"Si no es necesario crear una instancia de la metaclase desde Python, "
+"configure su ``tp_new`` en ``NULL`` usando el indicador :c:macro:"
+"`Py_TPFLAGS_DISALLOW_INSTANTIATION`. Esto lo hace aceptable para funciones "
+"``PyType_From*``."
#: ../Doc/whatsnew/3.12.rst:2184
msgid ""
@@ -3439,12 +4589,17 @@ msgid ""
"(slots or setting the instance size), create types by :ref:`calling ` "
"the metaclass."
msgstr ""
+"Evite las funciones ``PyType_From*``: si no necesita funciones específicas "
+"de C (ranuras o configuración del tamaño de la instancia), cree tipos "
+"mediante la metaclase :ref:`calling `."
#: ../Doc/whatsnew/3.12.rst:2188
msgid ""
"If you *know* the ``tp_new`` can be skipped safely, filter the deprecation "
"warning out using :func:`warnings.catch_warnings` from Python."
msgstr ""
+"Si *know* puede omitir ``tp_new`` de forma segura, filtre la advertencia de "
+"obsolescencia usando :func:`warnings.catch_warnings` de Python."
#: ../Doc/whatsnew/3.12.rst:2191
msgid ""
@@ -3453,6 +4608,11 @@ msgid ""
"because clients generally rely on process-wide global state (since these "
"callbacks have no way of recovering extension module state)."
msgstr ""
+":c:var:`PyOS_InputHook` y :c:var:`PyOS_ReadlineFunctionPointer` ya no se "
+"llaman en :ref:`subinterpreters `. Esto se debe a "
+"que los clientes generalmente dependen del estado global de todo el proceso "
+"(ya que estas devoluciones de llamada no tienen forma de recuperar el estado "
+"del módulo de extensión)."
#: ../Doc/whatsnew/3.12.rst:2196
msgid ""
@@ -3460,6 +4620,9 @@ msgid ""
"a subinterpreter that they don't support (or haven't yet been loaded in). "
"See :gh:`104668` for more info."
msgstr ""
+"Esto también evita situaciones en las que las extensiones pueden encontrarse "
+"ejecutándose en un subintérprete que no admiten (o que aún no se han "
+"cargado). Consulte :gh:`104668` para obtener más información."
#: ../Doc/whatsnew/3.12.rst:2200
msgid ""
@@ -3471,14 +4634,21 @@ msgid ""
"efficient access to the value of :c:struct:`PyLongObject`\\s which fit into "
"a single machine word:"
msgstr ""
+":c:struct:`PyLongObject` ha tenido cambios internos para un mejor "
+"rendimiento. Aunque las partes internas de :c:struct:`PyLongObject` son "
+"privadas, algunos módulos de extensión las utilizan. Ya no se debe acceder "
+"directamente a los campos internos, sino que se deben utilizar las funciones "
+"API que comienzan con ``PyLong_...``. Se proporcionan dos nuevas funciones "
+"API *unstable* para un acceso eficiente al valor de :c:struct:"
+"`PyLongObject`\\s que cabe en una sola palabra de máquina:"
#: ../Doc/whatsnew/3.12.rst:2208
msgid ":c:func:`PyUnstable_Long_IsCompact`"
-msgstr ""
+msgstr ":c:func:`PyUnstable_Long_IsCompact`"
#: ../Doc/whatsnew/3.12.rst:2209
msgid ":c:func:`PyUnstable_Long_CompactValue`"
-msgstr ""
+msgstr ":c:func:`PyUnstable_Long_CompactValue`"
#: ../Doc/whatsnew/3.12.rst:2211
msgid ""
@@ -3488,6 +4658,12 @@ msgid ""
"allocator is not already thread-safe and you need guidance then please "
"create a new GitHub issue and CC ``@ericsnowcurrently``."
msgstr ""
+"Ahora se requiere que los asignadores personalizados, configurados a través "
+"de :c:func:`PyMem_SetAllocator`, sean seguros para subprocesos, "
+"independientemente del dominio de memoria. Los asignadores que no tienen su "
+"propio estado, incluidos los \"ganchos\", no se ven afectados. Si su "
+"asignador personalizado aún no es seguro para subprocesos y necesita "
+"orientación, cree una nueva incidencia en GitHub y CC ``@ericsnowcurrently``."
#: ../Doc/whatsnew/3.12.rst:2221
msgid ""
@@ -3497,182 +4673,223 @@ msgid ""
"in Python 3.14. (Contributed by Ramvikrams and Kumar Aditya in :gh:`101193`. "
"PEP by Ken Jin.)"
msgstr ""
+"De acuerdo con :pep:`699`, el campo ``ma_version_tag`` en :c:type:"
+"`PyDictObject` está obsoleto para los módulos de extensión. Acceder a este "
+"campo generará una advertencia del compilador en el momento de la "
+"compilación. Este campo se eliminará en Python 3.14. (Contribución de "
+"Ramvikrams y Kumar Aditya en :gh:`101193`. PEP de Ken Jin.)"
#: ../Doc/whatsnew/3.12.rst:2226
msgid "Deprecate global configuration variable:"
-msgstr ""
+msgstr "Variable de configuración global obsoleta:"
#: ../Doc/whatsnew/3.12.rst:2228 ../Doc/whatsnew/3.12.rst:2313
msgid ":c:var:`Py_DebugFlag`: use :c:member:`PyConfig.parser_debug`"
-msgstr ""
+msgstr ":c:var:`Py_DebugFlag`: use :c:member:`PyConfig.parser_debug`"
#: ../Doc/whatsnew/3.12.rst:2229 ../Doc/whatsnew/3.12.rst:2314
msgid ":c:var:`Py_VerboseFlag`: use :c:member:`PyConfig.verbose`"
-msgstr ""
+msgstr ":c:var:`Py_VerboseFlag`: use :c:member:`PyConfig.verbose`"
#: ../Doc/whatsnew/3.12.rst:2230 ../Doc/whatsnew/3.12.rst:2315
msgid ":c:var:`Py_QuietFlag`: use :c:member:`PyConfig.quiet`"
-msgstr ""
+msgstr ":c:var:`Py_QuietFlag`: use :c:member:`PyConfig.quiet`"
#: ../Doc/whatsnew/3.12.rst:2231 ../Doc/whatsnew/3.12.rst:2316
msgid ":c:var:`Py_InteractiveFlag`: use :c:member:`PyConfig.interactive`"
-msgstr ""
+msgstr ":c:var:`Py_InteractiveFlag`: use :c:member:`PyConfig.interactive`"
#: ../Doc/whatsnew/3.12.rst:2232 ../Doc/whatsnew/3.12.rst:2317
msgid ":c:var:`Py_InspectFlag`: use :c:member:`PyConfig.inspect`"
-msgstr ""
+msgstr ":c:var:`Py_InspectFlag`: use :c:member:`PyConfig.inspect`"
#: ../Doc/whatsnew/3.12.rst:2233 ../Doc/whatsnew/3.12.rst:2318
msgid ":c:var:`Py_OptimizeFlag`: use :c:member:`PyConfig.optimization_level`"
-msgstr ""
+msgstr ":c:var:`Py_OptimizeFlag`: use :c:member:`PyConfig.optimization_level`"
#: ../Doc/whatsnew/3.12.rst:2234 ../Doc/whatsnew/3.12.rst:2319
msgid ":c:var:`Py_NoSiteFlag`: use :c:member:`PyConfig.site_import`"
-msgstr ""
+msgstr ":c:var:`Py_NoSiteFlag`: use :c:member:`PyConfig.site_import`"
#: ../Doc/whatsnew/3.12.rst:2235 ../Doc/whatsnew/3.12.rst:2320
msgid ":c:var:`Py_BytesWarningFlag`: use :c:member:`PyConfig.bytes_warning`"
-msgstr ""
+msgstr ":c:var:`Py_BytesWarningFlag`: use :c:member:`PyConfig.bytes_warning`"
#: ../Doc/whatsnew/3.12.rst:2236 ../Doc/whatsnew/3.12.rst:2321
msgid ":c:var:`Py_FrozenFlag`: use :c:member:`PyConfig.pathconfig_warnings`"
-msgstr ""
+msgstr ":c:var:`Py_FrozenFlag`: use :c:member:`PyConfig.pathconfig_warnings`"
#: ../Doc/whatsnew/3.12.rst:2237 ../Doc/whatsnew/3.12.rst:2322
msgid ""
":c:var:`Py_IgnoreEnvironmentFlag`: use :c:member:`PyConfig.use_environment`"
msgstr ""
+":c:var:`Py_IgnoreEnvironmentFlag`: use :c:member:`PyConfig.use_environment`"
#: ../Doc/whatsnew/3.12.rst:2238 ../Doc/whatsnew/3.12.rst:2323
msgid ""
":c:var:`Py_DontWriteBytecodeFlag`: use :c:member:`PyConfig.write_bytecode`"
msgstr ""
+":c:var:`Py_DontWriteBytecodeFlag`: use :c:member:`PyConfig.write_bytecode`"
#: ../Doc/whatsnew/3.12.rst:2239 ../Doc/whatsnew/3.12.rst:2324
msgid ""
":c:var:`Py_NoUserSiteDirectory`: use :c:member:`PyConfig.user_site_directory`"
msgstr ""
+":c:var:`Py_NoUserSiteDirectory`: use :c:member:`PyConfig.user_site_directory`"
#: ../Doc/whatsnew/3.12.rst:2240 ../Doc/whatsnew/3.12.rst:2325
msgid ""
":c:var:`Py_UnbufferedStdioFlag`: use :c:member:`PyConfig.buffered_stdio`"
msgstr ""
+":c:var:`Py_UnbufferedStdioFlag`: use :c:member:`PyConfig.buffered_stdio`"
#: ../Doc/whatsnew/3.12.rst:2241 ../Doc/whatsnew/3.12.rst:2326
msgid ""
":c:var:`Py_HashRandomizationFlag`: use :c:member:`PyConfig.use_hash_seed` "
"and :c:member:`PyConfig.hash_seed`"
msgstr ""
+":c:var:`Py_HashRandomizationFlag`: use :c:member:`PyConfig.use_hash_seed` y :"
+"c:member:`PyConfig.hash_seed`"
#: ../Doc/whatsnew/3.12.rst:2243 ../Doc/whatsnew/3.12.rst:2328
msgid ":c:var:`Py_IsolatedFlag`: use :c:member:`PyConfig.isolated`"
-msgstr ""
+msgstr ":c:var:`Py_IsolatedFlag`: use :c:member:`PyConfig.isolated`"
#: ../Doc/whatsnew/3.12.rst:2244 ../Doc/whatsnew/3.12.rst:2329
msgid ""
":c:var:`Py_LegacyWindowsFSEncodingFlag`: use :c:member:`PyPreConfig."
"legacy_windows_fs_encoding`"
msgstr ""
+":c:var:`Py_LegacyWindowsFSEncodingFlag`: use :c:member:`PyPreConfig."
+"legacy_windows_fs_encoding`"
#: ../Doc/whatsnew/3.12.rst:2245 ../Doc/whatsnew/3.12.rst:2330
msgid ""
":c:var:`Py_LegacyWindowsStdioFlag`: use :c:member:`PyConfig."
"legacy_windows_stdio`"
msgstr ""
+":c:var:`Py_LegacyWindowsStdioFlag`: use :c:member:`PyConfig."
+"legacy_windows_stdio`"
#: ../Doc/whatsnew/3.12.rst:2246 ../Doc/whatsnew/3.12.rst:2331
msgid ""
":c:var:`!Py_FileSystemDefaultEncoding`: use :c:member:`PyConfig."
"filesystem_encoding`"
msgstr ""
+":c:var:`!Py_FileSystemDefaultEncoding`: use :c:member:`PyConfig."
+"filesystem_encoding`"
#: ../Doc/whatsnew/3.12.rst:2247 ../Doc/whatsnew/3.12.rst:2332
msgid ""
":c:var:`!Py_HasFileSystemDefaultEncoding`: use :c:member:`PyConfig."
"filesystem_encoding`"
msgstr ""
+":c:var:`!Py_HasFileSystemDefaultEncoding`: use :c:member:`PyConfig."
+"filesystem_encoding`"
#: ../Doc/whatsnew/3.12.rst:2248 ../Doc/whatsnew/3.12.rst:2333
msgid ""
":c:var:`!Py_FileSystemDefaultEncodeErrors`: use :c:member:`PyConfig."
"filesystem_errors`"
msgstr ""
+":c:var:`!Py_FileSystemDefaultEncodeErrors`: use :c:member:`PyConfig."
+"filesystem_errors`"
#: ../Doc/whatsnew/3.12.rst:2249 ../Doc/whatsnew/3.12.rst:2334
msgid ""
":c:var:`!Py_UTF8Mode`: use :c:member:`PyPreConfig.utf8_mode` (see :c:func:"
"`Py_PreInitialize`)"
msgstr ""
+":c:var:`!Py_UTF8Mode`: use :c:member:`PyPreConfig.utf8_mode` (ver :c:func:"
+"`Py_PreInitialize`)"
#: ../Doc/whatsnew/3.12.rst:2251
msgid ""
"The :c:func:`Py_InitializeFromConfig` API should be used with :c:type:"
"`PyConfig` instead. (Contributed by Victor Stinner in :gh:`77782`.)"
msgstr ""
+"La API :c:func:`Py_InitializeFromConfig` debe usarse con :c:type:`PyConfig` "
+"en su lugar. (Aportado por Victor Stinner en :gh:`77782`.)"
#: ../Doc/whatsnew/3.12.rst:2255
msgid ""
"Creating :c:data:`immutable types ` with mutable "
"bases is deprecated and will be disabled in Python 3.14. (:gh:`95388`)"
msgstr ""
+"La creación de :c:data:`immutable types ` con "
+"bases mutables está obsoleta y se deshabilitará en Python 3.14. (:gh:`95388`)"
#: ../Doc/whatsnew/3.12.rst:2258
msgid ""
"The :file:`structmember.h` header is deprecated, though it continues to be "
"available and there are no plans to remove it."
msgstr ""
+"El encabezado :file:`structmember.h` está en desuso, aunque sigue estando "
+"disponible y no hay planes para eliminarlo."
#: ../Doc/whatsnew/3.12.rst:2261
msgid ""
"Its contents are now available just by including :file:`Python.h`, with a "
"``Py`` prefix added if it was missing:"
msgstr ""
+"Su contenido ahora está disponible simplemente incluyendo :file:`Python.h`, "
+"con un prefijo ``Py`` agregado si faltara:"
#: ../Doc/whatsnew/3.12.rst:2264
msgid ""
":c:struct:`PyMemberDef`, :c:func:`PyMember_GetOne` and :c:func:"
"`PyMember_SetOne`"
msgstr ""
+":c:struct:`PyMemberDef`, :c:func:`PyMember_GetOne` y :c:func:"
+"`PyMember_SetOne`"
#: ../Doc/whatsnew/3.12.rst:2266
msgid ""
"Type macros like :c:macro:`Py_T_INT`, :c:macro:`Py_T_DOUBLE`, etc. "
"(previously ``T_INT``, ``T_DOUBLE``, etc.)"
msgstr ""
+"Escriba macros como :c:macro:`Py_T_INT`, :c:macro:`Py_T_DOUBLE`, etc. "
+"(anteriormente ``T_INT``, ``T_DOUBLE``, etc.)"
#: ../Doc/whatsnew/3.12.rst:2268
msgid ""
"The flags :c:macro:`Py_READONLY` (previously ``READONLY``) and :c:macro:"
"`Py_AUDIT_READ` (previously all uppercase)"
msgstr ""
+"Las banderas :c:macro:`Py_READONLY` (anteriormente ``READONLY``) y :c:macro:"
+"`Py_AUDIT_READ` (anteriormente todas en mayúsculas)"
#: ../Doc/whatsnew/3.12.rst:2271
msgid "Several items are not exposed from :file:`Python.h`:"
-msgstr ""
+msgstr "Varios elementos no están expuestos desde :file:`Python.h`:"
#: ../Doc/whatsnew/3.12.rst:2273
msgid ":c:macro:`T_OBJECT` (use :c:macro:`Py_T_OBJECT_EX`)"
-msgstr ""
+msgstr ":c:macro:`T_OBJECT` (use :c:macro:`Py_T_OBJECT_EX`)"
#: ../Doc/whatsnew/3.12.rst:2274
msgid ":c:macro:`T_NONE` (previously undocumented, and pretty quirky)"
-msgstr ""
+msgstr ":c:macro:`T_NONE` (anteriormente indocumentado y bastante peculiar)"
#: ../Doc/whatsnew/3.12.rst:2275
msgid "The macro ``WRITE_RESTRICTED`` which does nothing."
-msgstr ""
+msgstr "La macro ``WRITE_RESTRICTED`` que no hace nada."
#: ../Doc/whatsnew/3.12.rst:2276
msgid ""
"The macros ``RESTRICTED`` and ``READ_RESTRICTED``, equivalents of :c:macro:"
"`Py_AUDIT_READ`."
msgstr ""
+"Las macros ``RESTRICTED`` y ``READ_RESTRICTED``, equivalentes a :c:macro:"
+"`Py_AUDIT_READ`."
#: ../Doc/whatsnew/3.12.rst:2278
msgid ""
"In some configurations, ```` is not included from :file:`Python."
"h`. It should be included manually when using ``offsetof()``."
msgstr ""
+"En algunas configuraciones, ```` no se incluye en :file:`Python."
+"h`. Debe incluirse manualmente cuando se utiliza ``offsetof()``."
#: ../Doc/whatsnew/3.12.rst:2281
msgid ""
@@ -3680,12 +4897,18 @@ msgid ""
"original names. Your old code can stay unchanged, unless the extra include "
"and non-namespaced macros bother you greatly."
msgstr ""
+"El encabezado obsoleto continúa proporcionando su contenido original con los "
+"nombres originales. Su código antiguo puede permanecer sin cambios, a menos "
+"que las macros de inclusión y sin espacio de nombres adicionales le molesten "
+"mucho."
#: ../Doc/whatsnew/3.12.rst:2286
msgid ""
"(Contributed in :gh:`47146` by Petr Viktorin, based on earlier work by "
"Alexander Belopolsky and Matthias Braun.)"
msgstr ""
+"(Contribuido en :gh:`47146` por Petr Viktorin, basado en trabajos anteriores "
+"de Alexander Belopolsky y Matthias Braun.)"
#: ../Doc/whatsnew/3.12.rst:2289
msgid ""
@@ -3693,18 +4916,27 @@ msgid ""
"func:`PyErr_GetRaisedException` and :c:func:`PyErr_SetRaisedException` "
"instead. (Contributed by Mark Shannon in :gh:`101578`.)"
msgstr ""
+":c:func:`PyErr_Fetch` y :c:func:`PyErr_Restore` están en desuso. Utilice :c:"
+"func:`PyErr_GetRaisedException` y :c:func:`PyErr_SetRaisedException` en su "
+"lugar. (Aportado por Mark Shannon en :gh:`101578`.)"
#: ../Doc/whatsnew/3.12.rst:2294
msgid ""
":c:func:`!PyErr_Display` is deprecated. Use :c:func:`PyErr_DisplayException` "
"instead. (Contributed by Irit Katriel in :gh:`102755`)."
msgstr ""
+":c:func:`!PyErr_Display` está en desuso. Utilice :c:func:"
+"`PyErr_DisplayException` en su lugar. (Aportado por Irit Katriel en :gh:"
+"`102755`)."
#: ../Doc/whatsnew/3.12.rst:2297
msgid ""
"``_PyErr_ChainExceptions`` is deprecated. Use ``_PyErr_ChainExceptions1`` "
"instead. (Contributed by Irit Katriel in :gh:`102192`.)"
msgstr ""
+"``_PyErr_ChainExceptions`` está en desuso. Utilice "
+"``_PyErr_ChainExceptions1`` en su lugar. (Aportado por Irit Katriel en :gh:"
+"`102192`.)"
#: ../Doc/whatsnew/3.12.rst:2300
msgid ""
@@ -3712,185 +4944,216 @@ msgid ""
"func:`PyType_FromModuleAndSpec` to create a class whose metaclass overrides :"
"c:member:`~PyTypeObject.tp_new` is deprecated. Call the metaclass instead."
msgstr ""
+"El uso de :c:func:`PyType_FromSpec`, :c:func:`PyType_FromSpecWithBases` o :c:"
+"func:`PyType_FromModuleAndSpec` para crear una clase cuya metaclase anula :c:"
+"member:`~PyTypeObject.tp_new` está en desuso. En su lugar, llame a la "
+"metaclase."
#: ../Doc/whatsnew/3.12.rst:2308
msgid ""
"The ``ma_version_tag`` field in :c:type:`PyDictObject` for extension modules "
"(:pep:`699`; :gh:`101193`)."
msgstr ""
+"El campo ``ma_version_tag`` en :c:type:`PyDictObject` para módulos de "
+"extensión (:pep:`699`; :gh:`101193`)."
#: ../Doc/whatsnew/3.12.rst:2311
msgid "Global configuration variables:"
-msgstr ""
+msgstr "Variables de configuración globales:"
#: ../Doc/whatsnew/3.12.rst:2336
msgid ""
"The :c:func:`Py_InitializeFromConfig` API should be used with :c:type:"
"`PyConfig` instead."
msgstr ""
+"La API :c:func:`Py_InitializeFromConfig` debe usarse con :c:type:`PyConfig` "
+"en su lugar."
#: ../Doc/whatsnew/3.12.rst:2339
msgid ""
"Creating :c:data:`immutable types ` with mutable "
"bases (:gh:`95388`)."
msgstr ""
+"Creando :c:data:`immutable types ` con bases "
+"mutables (:gh:`95388`)."
#: ../Doc/whatsnew/3.12.rst:2343
msgid "Pending Removal in Python 3.15"
-msgstr ""
+msgstr "Eliminación pendiente en Python 3.15"
#: ../Doc/whatsnew/3.12.rst:2345
msgid ""
":c:func:`PyImport_ImportModuleNoBlock`: use :c:func:`PyImport_ImportModule`"
msgstr ""
+":c:func:`PyImport_ImportModuleNoBlock`: utilizar :c:func:"
+"`PyImport_ImportModule`"
#: ../Doc/whatsnew/3.12.rst:2346
msgid ":c:type:`!Py_UNICODE_WIDE` type: use :c:type:`wchar_t`"
-msgstr ""
+msgstr "Tipo :c:type:`!Py_UNICODE_WIDE`: use :c:type:`wchar_t`"
#: ../Doc/whatsnew/3.12.rst:2347
msgid ":c:type:`Py_UNICODE` type: use :c:type:`wchar_t`"
-msgstr ""
+msgstr "Tipo :c:type:`Py_UNICODE`: use :c:type:`wchar_t`"
#: ../Doc/whatsnew/3.12.rst:2348
msgid "Python initialization functions:"
-msgstr ""
+msgstr "Funciones de inicialización de Python:"
#: ../Doc/whatsnew/3.12.rst:2350
msgid ""
":c:func:`PySys_ResetWarnOptions`: clear :data:`sys.warnoptions` and :data:`!"
"warnings.filters`"
msgstr ""
+":c:func:`PySys_ResetWarnOptions`: borrar :data:`sys.warnoptions` y :data:`!"
+"warnings.filters`"
#: ../Doc/whatsnew/3.12.rst:2352
msgid ":c:func:`Py_GetExecPrefix`: get :data:`sys.exec_prefix`"
-msgstr ""
+msgstr ":c:func:`Py_GetExecPrefix`: obtener :data:`sys.exec_prefix`"
#: ../Doc/whatsnew/3.12.rst:2353
msgid ":c:func:`Py_GetPath`: get :data:`sys.path`"
-msgstr ""
+msgstr ":c:func:`Py_GetPath`: obtener :data:`sys.path`"
#: ../Doc/whatsnew/3.12.rst:2354
msgid ":c:func:`Py_GetPrefix`: get :data:`sys.prefix`"
-msgstr ""
+msgstr ":c:func:`Py_GetPrefix`: obtener :data:`sys.prefix`"
#: ../Doc/whatsnew/3.12.rst:2355
msgid ":c:func:`Py_GetProgramFullPath`: get :data:`sys.executable`"
-msgstr ""
+msgstr ":c:func:`Py_GetProgramFullPath`: obtener :data:`sys.executable`"
#: ../Doc/whatsnew/3.12.rst:2356
msgid ":c:func:`Py_GetProgramName`: get :data:`sys.executable`"
-msgstr ""
+msgstr ":c:func:`Py_GetProgramName`: obtener :data:`sys.executable`"
#: ../Doc/whatsnew/3.12.rst:2357
msgid ""
":c:func:`Py_GetPythonHome`: get :c:member:`PyConfig.home` or the :envvar:"
"`PYTHONHOME` environment variable"
msgstr ""
+":c:func:`Py_GetPythonHome`: obtenga :c:member:`PyConfig.home` o la variable "
+"de entorno :envvar:`PYTHONHOME`"
#: ../Doc/whatsnew/3.12.rst:2363
msgid ""
"The following APIs are deprecated and will be removed, although there is "
"currently no date scheduled for their removal."
msgstr ""
+"Las siguientes API están obsoletas y se eliminarán, aunque actualmente no "
+"hay una fecha programada para su eliminación."
#: ../Doc/whatsnew/3.12.rst:2366
msgid ":c:macro:`Py_TPFLAGS_HAVE_FINALIZE`: unneeded since Python 3.8"
-msgstr ""
+msgstr ":c:macro:`Py_TPFLAGS_HAVE_FINALIZE`: innecesario desde Python 3.8"
#: ../Doc/whatsnew/3.12.rst:2367
msgid ":c:func:`PyErr_Fetch`: use :c:func:`PyErr_GetRaisedException`"
-msgstr ""
+msgstr ":c:func:`PyErr_Fetch`: utilizar :c:func:`PyErr_GetRaisedException`"
#: ../Doc/whatsnew/3.12.rst:2368
msgid ""
":c:func:`PyErr_NormalizeException`: use :c:func:`PyErr_GetRaisedException`"
msgstr ""
+":c:func:`PyErr_NormalizeException`: utilizar :c:func:"
+"`PyErr_GetRaisedException`"
#: ../Doc/whatsnew/3.12.rst:2369
msgid ":c:func:`PyErr_Restore`: use :c:func:`PyErr_SetRaisedException`"
-msgstr ""
+msgstr ":c:func:`PyErr_Restore`: utilizar :c:func:`PyErr_SetRaisedException`"
#: ../Doc/whatsnew/3.12.rst:2370
msgid ""
":c:func:`PyModule_GetFilename`: use :c:func:`PyModule_GetFilenameObject`"
msgstr ""
+":c:func:`PyModule_GetFilename`: utilizar :c:func:`PyModule_GetFilenameObject`"
#: ../Doc/whatsnew/3.12.rst:2371
msgid ":c:func:`PyOS_AfterFork`: use :c:func:`PyOS_AfterFork_Child`"
-msgstr ""
+msgstr ":c:func:`PyOS_AfterFork`: utilizar :c:func:`PyOS_AfterFork_Child`"
#: ../Doc/whatsnew/3.12.rst:2372
msgid ""
":c:func:`PySlice_GetIndicesEx`: use :c:func:`PySlice_Unpack` and :c:func:"
"`PySlice_AdjustIndices`"
msgstr ""
+":c:func:`PySlice_GetIndicesEx`: utilice :c:func:`PySlice_Unpack` y :c:func:"
+"`PySlice_AdjustIndices`"
#: ../Doc/whatsnew/3.12.rst:2373
msgid ":c:func:`!PyUnicode_AsDecodedObject`: use :c:func:`PyCodec_Decode`"
msgstr ""
+":c:func:`!PyUnicode_AsDecodedObject`: utilizar :c:func:`PyCodec_Decode`"
#: ../Doc/whatsnew/3.12.rst:2374
msgid ":c:func:`!PyUnicode_AsDecodedUnicode`: use :c:func:`PyCodec_Decode`"
msgstr ""
+":c:func:`!PyUnicode_AsDecodedUnicode`: utilizar :c:func:`PyCodec_Decode`"
#: ../Doc/whatsnew/3.12.rst:2375
msgid ":c:func:`!PyUnicode_AsEncodedObject`: use :c:func:`PyCodec_Encode`"
msgstr ""
+":c:func:`!PyUnicode_AsEncodedObject`: utilizar :c:func:`PyCodec_Encode`"
#: ../Doc/whatsnew/3.12.rst:2376
msgid ":c:func:`!PyUnicode_AsEncodedUnicode`: use :c:func:`PyCodec_Encode`"
msgstr ""
+":c:func:`!PyUnicode_AsEncodedUnicode`: utilizar :c:func:`PyCodec_Encode`"
#: ../Doc/whatsnew/3.12.rst:2377
msgid ":c:func:`PyUnicode_READY`: unneeded since Python 3.12"
-msgstr ""
+msgstr ":c:func:`PyUnicode_READY`: innecesario desde Python 3.12"
#: ../Doc/whatsnew/3.12.rst:2378
msgid ":c:func:`!PyErr_Display`: use :c:func:`PyErr_DisplayException`"
-msgstr ""
+msgstr ":c:func:`!PyErr_Display`: utilizar :c:func:`PyErr_DisplayException`"
#: ../Doc/whatsnew/3.12.rst:2379
msgid ":c:func:`!_PyErr_ChainExceptions`: use ``_PyErr_ChainExceptions1``"
msgstr ""
+":c:func:`!_PyErr_ChainExceptions`: utilizar ``_PyErr_ChainExceptions1``"
#: ../Doc/whatsnew/3.12.rst:2380
msgid ""
":c:member:`!PyBytesObject.ob_shash` member: call :c:func:`PyObject_Hash` "
"instead"
msgstr ""
+"Miembro :c:member:`!PyBytesObject.ob_shash`: llame a :c:func:`PyObject_Hash` "
+"en su lugar"
#: ../Doc/whatsnew/3.12.rst:2382
msgid ":c:member:`!PyDictObject.ma_version_tag` member"
-msgstr ""
+msgstr "Miembro :c:member:`!PyDictObject.ma_version_tag`"
#: ../Doc/whatsnew/3.12.rst:2383
msgid "Thread Local Storage (TLS) API:"
-msgstr ""
+msgstr "API de almacenamiento local de subprocesos (TLS):"
#: ../Doc/whatsnew/3.12.rst:2385
msgid ":c:func:`PyThread_create_key`: use :c:func:`PyThread_tss_alloc`"
-msgstr ""
+msgstr ":c:func:`PyThread_create_key`: utilizar :c:func:`PyThread_tss_alloc`"
#: ../Doc/whatsnew/3.12.rst:2386
msgid ":c:func:`PyThread_delete_key`: use :c:func:`PyThread_tss_free`"
-msgstr ""
+msgstr ":c:func:`PyThread_delete_key`: utilizar :c:func:`PyThread_tss_free`"
#: ../Doc/whatsnew/3.12.rst:2387
msgid ":c:func:`PyThread_set_key_value`: use :c:func:`PyThread_tss_set`"
-msgstr ""
+msgstr ":c:func:`PyThread_set_key_value`: utilizar :c:func:`PyThread_tss_set`"
#: ../Doc/whatsnew/3.12.rst:2388
msgid ":c:func:`PyThread_get_key_value`: use :c:func:`PyThread_tss_get`"
-msgstr ""
+msgstr ":c:func:`PyThread_get_key_value`: utilizar :c:func:`PyThread_tss_get`"
#: ../Doc/whatsnew/3.12.rst:2389
msgid ":c:func:`PyThread_delete_key_value`: use :c:func:`PyThread_tss_delete`"
msgstr ""
+":c:func:`PyThread_delete_key_value`: utilizar :c:func:`PyThread_tss_delete`"
#: ../Doc/whatsnew/3.12.rst:2390
msgid ":c:func:`PyThread_ReInitTLS`: unneeded since Python 3.7"
-msgstr ""
+msgstr ":c:func:`PyThread_ReInitTLS`: innecesario desde Python 3.7"
#: ../Doc/whatsnew/3.12.rst:2395
msgid ""
@@ -3898,61 +5161,73 @@ msgid ""
"C API. The :file:`token.h` header file was only designed to be used by "
"Python internals. (Contributed by Victor Stinner in :gh:`92651`.)"
msgstr ""
+"Elimine el archivo de encabezado :file:`token.h`. Nunca hubo ninguna API C "
+"de tokenizador público. El archivo de encabezado :file:`token.h` solo fue "
+"diseñado para ser utilizado por componentes internos de Python. (Aportado "
+"por Victor Stinner en :gh:`92651`.)"
#: ../Doc/whatsnew/3.12.rst:2400
msgid "Legacy Unicode APIs have been removed. See :pep:`623` for detail."
msgstr ""
+"Se han eliminado las API Unicode heredadas. Consulte :pep:`623` para obtener "
+"más detalles."
#: ../Doc/whatsnew/3.12.rst:2402
msgid ":c:macro:`!PyUnicode_WCHAR_KIND`"
-msgstr ""
+msgstr ":c:macro:`!PyUnicode_WCHAR_KIND`"
#: ../Doc/whatsnew/3.12.rst:2403
msgid ":c:func:`!PyUnicode_AS_UNICODE`"
-msgstr ""
+msgstr ":c:func:`!PyUnicode_AS_UNICODE`"
#: ../Doc/whatsnew/3.12.rst:2404
msgid ":c:func:`!PyUnicode_AsUnicode`"
-msgstr ""
+msgstr ":c:func:`!PyUnicode_AsUnicode`"
#: ../Doc/whatsnew/3.12.rst:2405
msgid ":c:func:`!PyUnicode_AsUnicodeAndSize`"
-msgstr ""
+msgstr ":c:func:`!PyUnicode_AsUnicodeAndSize`"
#: ../Doc/whatsnew/3.12.rst:2406
msgid ":c:func:`!PyUnicode_AS_DATA`"
-msgstr ""
+msgstr ":c:func:`!PyUnicode_AS_DATA`"
#: ../Doc/whatsnew/3.12.rst:2407
msgid ":c:func:`!PyUnicode_FromUnicode`"
-msgstr ""
+msgstr ":c:func:`!PyUnicode_FromUnicode`"
#: ../Doc/whatsnew/3.12.rst:2408
msgid ":c:func:`!PyUnicode_GET_SIZE`"
-msgstr ""
+msgstr ":c:func:`!PyUnicode_GET_SIZE`"
#: ../Doc/whatsnew/3.12.rst:2409
msgid ":c:func:`!PyUnicode_GetSize`"
-msgstr ""
+msgstr ":c:func:`!PyUnicode_GetSize`"
#: ../Doc/whatsnew/3.12.rst:2410
msgid ":c:func:`!PyUnicode_GET_DATA_SIZE`"
-msgstr ""
+msgstr ":c:func:`!PyUnicode_GET_DATA_SIZE`"
#: ../Doc/whatsnew/3.12.rst:2412
msgid ""
"Remove the ``PyUnicode_InternImmortal()`` function macro. (Contributed by "
"Victor Stinner in :gh:`85858`.)"
msgstr ""
+"Elimine la macro de función ``PyUnicode_InternImmortal()``. (Aportado por "
+"Victor Stinner en :gh:`85858`.)"
#: ../Doc/whatsnew/3.12.rst:2415
msgid ""
"Remove ``Jython`` compatibility hacks from several stdlib modules and tests. "
"(Contributed by Nikita Sobolev in :gh:`99482`.)"
msgstr ""
+"Elimine los trucos de compatibilidad ``Jython`` de varios módulos y pruebas "
+"stdlib. (Aportado por Nikita Sobolev en :gh:`99482`.)"
#: ../Doc/whatsnew/3.12.rst:2418
msgid ""
"Remove ``_use_broken_old_ctypes_structure_semantics_`` flag from :mod:"
"`ctypes` module. (Contributed by Nikita Sobolev in :gh:`99285`.)"
msgstr ""
+"Elimine el indicador ``_use_broken_old_ctypes_structure_semantics_`` del "
+"módulo :mod:`ctypes`. (Aportado por Nikita Sobolev en :gh:`99285`.)"
From 0ed2a24cfe2f3979d6db0826d6332fa2db40462c Mon Sep 17 00:00:00 2001
From: Leonardo
Date: Sat, 6 Jan 2024 06:52:39 -0500
Subject: [PATCH 048/136] Traducido archivo library/ast (#2703)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Closes #2623
---------
Co-authored-by: rtobar
Co-authored-by: Cristián Maureira-Fredes
Co-authored-by: Cristián Maureira-Fredes
---
library/ast.po | 81 ++++++++++++++++++++++++++++++++++----------------
1 file changed, 56 insertions(+), 25 deletions(-)
diff --git a/library/ast.po b/library/ast.po
index d92d77051d..2d70aee65d 100644
--- a/library/ast.po
+++ b/library/ast.po
@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: 2022-10-30 22:11-0300\n"
+"PO-Revision-Date: 2023-10-22 21:17-0500\n"
"Last-Translator: Marco Richetta \n"
-"Language: es\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
+"X-Generator: Poedit 2.3\n"
#: ../Doc/library/ast.rst:2
msgid ":mod:`ast` --- Abstract Syntax Trees"
@@ -246,45 +247,58 @@ msgstr ""
#: ../Doc/library/ast.rst:153
msgid "Root nodes"
-msgstr ""
+msgstr "Nodos raíz"
#: ../Doc/library/ast.rst:157
msgid ""
"A Python module, as with :ref:`file input `. Node type generated "
"by :func:`ast.parse` in the default ``\"exec\"`` *mode*."
msgstr ""
+"Un módulo de Python, como con :ref:`archivo-entrada `. Tipo de "
+"nodo generado por :func:`ast.parse` en el modo por defecto ``\"exec\"`` "
+"*mode*.*mode*."
#: ../Doc/library/ast.rst:160
msgid "*body* is a :class:`list` of the module's :ref:`ast-statements`."
-msgstr ""
+msgstr "*body* es una :class:`list` de las :ref:`ast-statements` del módulo."
#: ../Doc/library/ast.rst:162
msgid ""
"*type_ignores* is a :class:`list` of the module's type ignore comments; see :"
"func:`ast.parse` for more details."
msgstr ""
+"*type_ignores* es una :class:`list` de los comentarios para ignorar tipos "
+"del módulo; véase :func:`ast.parse` para más detalles."
#: ../Doc/library/ast.rst:179
msgid ""
"A single Python :ref:`expression input `. Node type "
"generated by :func:`ast.parse` when *mode* is ``\"eval\"``."
msgstr ""
+"Una única :ref:`expression input ` de Python. Tipo de nodo "
+"generado por :func:`ast.parse` cuando *mode* es ``\"eval\"``."
#: ../Doc/library/ast.rst:182
msgid ""
"*body* is a single node, one of the :ref:`expression types `."
msgstr ""
+"*body* es un único nodo, uno de los :ref:`tipos de expresión `."
#: ../Doc/library/ast.rst:194
msgid ""
"A single :ref:`interactive input `, like in :ref:`tut-interac`. "
"Node type generated by :func:`ast.parse` when *mode* is ``\"single\"``."
msgstr ""
+"Una única :ref:`entrada interactiva `, como en :ref:`tut-"
+"interac`. Tipo de nodo generado por :func:`ast.parse` cuando *mode* es "
+"``\"single\"``."
#: ../Doc/library/ast.rst:197
msgid "*body* is a :class:`list` of :ref:`statement nodes `."
msgstr ""
+"*body* es una :class:`list` de :ref:`nodos de declaración `."
#: ../Doc/library/ast.rst:216
msgid ""
@@ -292,19 +306,25 @@ msgid ""
"versions prior to 3.5 didn't support :pep:`484` annotations. Node type "
"generated by :func:`ast.parse` when *mode* is ``\"func_type\"``."
msgstr ""
+"Una interpretación de un comentario de tipo de estilo antiguo para "
+"funciones, ya que las versiones de Python anteriores a la 3.5 no soportaban "
+"anotaciones :pep:`484`. Tipo de nodo generado por :func:`ast.parse` cuando "
+"*mode* es ``\"func_type\"``."
#: ../Doc/library/ast.rst:220
msgid "Such type comments would look like this::"
-msgstr ""
+msgstr "Los comentarios de este tipo tendrían el siguiente aspecto::"
#: ../Doc/library/ast.rst:226
msgid ""
"*argtypes* is a :class:`list` of :ref:`expression nodes `."
msgstr ""
+"*argtypes* es una :class:`list` de :ref:`nodos de expresión `."
#: ../Doc/library/ast.rst:228
msgid "*returns* is a single :ref:`expression node `."
-msgstr ""
+msgstr "*returns* es un único :ref:`nodo de expresión `."
#: ../Doc/library/ast.rst:246
msgid "Literals"
@@ -542,22 +562,20 @@ msgid "``args`` holds a list of the arguments passed by position."
msgstr "``args`` contiene una lista de argumentos pasados por posición."
#: ../Doc/library/ast.rst:588
-#, fuzzy
msgid ""
"``keywords`` holds a list of :class:`.keyword` objects representing "
"arguments passed by keyword."
msgstr ""
-"``keywords`` contiene una lista de objetos :class:`keyword` que representan "
+"``keywords`` contiene una lista de objetos :class:`.keyword` que representan "
"argumentos pasados por nombre clave."
#: ../Doc/library/ast.rst:591
-#, fuzzy
msgid ""
"When creating a ``Call`` node, ``args`` and ``keywords`` are required, but "
"they can be empty lists."
msgstr ""
"Cuando se crea un nodo ``Call``, ``args`` y ``keywords`` son requeridos pero "
-"pueden ser listas vacías. ``starargs`` y ``kwargs`` son opcionales."
+"pueden ser listas vacías."
#: ../Doc/library/ast.rst:615
msgid ""
@@ -767,6 +785,10 @@ msgid ""
"ref:`type parameters `, and ``value`` is the value of the "
"type alias."
msgstr ""
+"Un alias :ref:`type alias ` creado mediante la sentencia :"
+"keyword:`type`. ``name`` es el nombre del alias, ``type_params`` es una "
+"lista de parámetros :ref:`type `, y ``value`` es el valor "
+"del alias de tipo."
#: ../Doc/library/ast.rst:1042
msgid ""
@@ -837,7 +859,6 @@ msgstr ""
"nodo anterior."
#: ../Doc/library/ast.rst:1152
-#, fuzzy
msgid ""
"A ``for`` loop. ``target`` holds the variable(s) the loop assigns to, as a "
"single :class:`Name`, :class:`Tuple`, :class:`List`, :class:`Attribute` or :"
@@ -846,12 +867,13 @@ msgid ""
"Those in ``orelse`` are executed if the loop finishes normally, rather than "
"via a ``break`` statement."
msgstr ""
-"Un bucle ``for``. ``target`` contiene la(s) variable(s) donde asigna el "
-"bucle como un único nodo :class:`Name`, :class:`Tuple` o :class:`List`. "
-"``iter`` contiene el item por el cual se va recorrer como un único nodo. "
-"``body`` y ``orelse`` contienen una lista de nodos a ejecutar. Aquellos en "
-"``orelse`` son ejecutados si el bucle termina normalmente, en contra de si "
-"terminan utilizando la declaración ``break``."
+"Un bucle ``for``. ``target`` contiene las variables a las que asigna el "
+"bucle, como un único nodo :class:`Name`, :class:`Tuple`, :class:`List`, :"
+"class:`Attribute` o :class:`Subscript`. ``iter`` contiene el elemento sobre "
+"el que se realizará el bucle, nuevamente como un solo nodo. ``body`` y "
+"``orelse`` contienen listas de nodos para ejecutar. Los de ``orelse`` se "
+"ejecutan si el ciclo finaliza normalmente, en lugar de mediante una "
+"instrucción ``break``."
#: ../Doc/library/ast.rst:1187
msgid ""
@@ -1116,13 +1138,15 @@ msgstr ""
#: ../Doc/library/ast.rst:1793
msgid "Type parameters"
-msgstr ""
+msgstr "Tipos de parámetro"
#: ../Doc/library/ast.rst:1795
msgid ""
":ref:`Type parameters ` can exist on classes, functions, and "
"type aliases."
msgstr ""
+"\":ref:`Parámetros de tipo ` pueden existir en clases, "
+"funciones y tipos de alias\""
#: ../Doc/library/ast.rst:1800
msgid ""
@@ -1130,18 +1154,26 @@ msgid ""
"``bound`` is the bound or constraints, if any. If ``bound`` is a :class:"
"`Tuple`, it represents constraints; otherwise it represents the bound."
msgstr ""
+"Una :class:`typing.TypeVar`. ``name`` es el nombre de la variable de tipo. "
+"``bound`` es el límite o las restricciones, si las hay. Si ``bound`` es una :"
+"class:`Tuple`, representa las restricciones; en caso contrario, representa "
+"el límite."
#: ../Doc/library/ast.rst:1825
msgid ""
"A :class:`typing.ParamSpec`. ``name`` is the name of the parameter "
"specification."
msgstr ""
+"Una :class:`typing.ParamSpec`. ``name`` es el nombre de la especificación "
+"del parámetro."
#: ../Doc/library/ast.rst:1850
msgid ""
"A :class:`typing.TypeVarTuple`. ``name`` is the name of the type variable "
"tuple."
msgstr ""
+"Una :class:`typing.TypeVarTuple`. ``name`` es el nombre de la tupla variable "
+"de tipo."
#: ../Doc/library/ast.rst:1875
msgid "Function and class definitions"
@@ -1180,11 +1212,12 @@ msgstr "``returns`` es la anotación de retorno."
#: ../Doc/library/ast.rst:1887 ../Doc/library/ast.rst:2065
msgid "``type_params`` is a list of :ref:`type parameters `."
msgstr ""
+"``type_params`` es una lista de :ref:`parametros de tipo `."
#: ../Doc/library/ast.rst:1893 ../Doc/library/ast.rst:2094
#: ../Doc/library/ast.rst:2105
msgid "Added ``type_params``."
-msgstr ""
+msgstr "Se ha añadido ``type_params``."
#: ../Doc/library/ast.rst:1899
msgid ""
@@ -1285,13 +1318,12 @@ msgstr ""
"explícitamente."
#: ../Doc/library/ast.rst:2059
-#, fuzzy
msgid ""
"``keywords`` is a list of :class:`.keyword` nodes, principally for "
"'metaclass'. Other keywords will be passed to the metaclass, as per "
"`PEP-3115 `_."
msgstr ""
-"``keywords`` es una lista de nodos :class:`keyword`, principalmente para "
+"``keywords`` es una lista de nodos :class:`.keyword`, principalmente para "
"'metaclase'. Otras palabras clave se pasarán a la metaclase, según `PEP-3115 "
"`_."
@@ -1975,16 +2007,15 @@ msgstr ""
#: ../Doc/library/ast.rst:59
msgid "? (question mark)"
-msgstr ""
+msgstr "? (question mark)"
#: ../Doc/library/ast.rst:59 ../Doc/library/ast.rst:60
-#, fuzzy
msgid "in AST grammar"
msgstr "Gramática abstracta"
#: ../Doc/library/ast.rst:60
msgid "* (asterisk)"
-msgstr ""
+msgstr "* (asterisk)"
#~ msgid ""
#~ "``starargs`` and ``kwargs`` are each a single node, as in a function "
From c226174fd51570eb6e57152a5a9095406909d0b6 Mon Sep 17 00:00:00 2001
From: Marcos Medrano <786907+mmmarcos@users.noreply.github.com>
Date: Sat, 6 Jan 2024 12:54:23 +0100
Subject: [PATCH 049/136] Traducido `glossary.po` (#2757)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Este archivo no tiene ningún issue asociado.
---------
Co-authored-by: rtobar
---
dictionaries/glossary.txt | 1 +
glossary.po | 178 +++++++++++++++++++-------------------
2 files changed, 92 insertions(+), 87 deletions(-)
diff --git a/dictionaries/glossary.txt b/dictionaries/glossary.txt
index 2433fdb1d2..b4381a0eb9 100644
--- a/dictionaries/glossary.txt
+++ b/dictionaries/glossary.txt
@@ -1 +1,2 @@
+serializarla
suscripto
diff --git a/glossary.po b/glossary.po
index 6128e97a0e..3a65ef2cec 100644
--- a/glossary.po
+++ b/glossary.po
@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: 2021-08-04 11:03+0200\n"
-"Last-Translator: Cristián Maureira-Fredes \n"
-"Language: es\n"
+"PO-Revision-Date: 2023-11-26 22:33+0100\n"
+"Last-Translator: Marcos Medrano \n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
+"X-Generator: Poedit 3.4.1\n"
#: ../Doc/glossary.rst:5
msgid "Glossary"
@@ -215,15 +216,14 @@ msgid "asynchronous context manager"
msgstr "administrador asincrónico de contexto"
#: ../Doc/glossary.rst:94
-#, fuzzy
msgid ""
"An object which controls the environment seen in an :keyword:`async with` "
"statement by defining :meth:`~object.__aenter__` and :meth:`~object."
"__aexit__` methods. Introduced by :pep:`492`."
msgstr ""
"Un objeto que controla el entorno visible en un sentencia :keyword:`async "
-"with` al definir los métodos :meth:`__aenter__` :meth:`__aexit__`. "
-"Introducido por :pep:`492`."
+"with` al definir los métodos :meth:`~object.__aenter__` y :meth:`~object."
+"__aexit__`. Introducido por :pep:`492`."
#: ../Doc/glossary.rst:97
msgid "asynchronous generator"
@@ -269,7 +269,6 @@ msgid "An object created by a :term:`asynchronous generator` function."
msgstr "Un objeto creado por una función :term:`asynchronous generator`."
#: ../Doc/glossary.rst:115
-#, fuzzy
msgid ""
"This is an :term:`asynchronous iterator` which when called using the :meth:"
"`~object.__anext__` method returns an awaitable object which will execute "
@@ -277,12 +276,11 @@ msgid ""
"`yield` expression."
msgstr ""
"Este es un :term:`asynchronous iterator` el cual cuando es llamado usa el "
-"método :meth:`__anext__` retornando un objeto a la espera (*awaitable*) el "
-"cual ejecutará el cuerpo de la función generadora asincrónica hasta la "
-"siguiente expresión :keyword:`yield`."
+"método :meth:`~object.__anext__` retornando un objeto a la espera "
+"(*awaitable*) el cual ejecutará el cuerpo de la función generadora "
+"asincrónica hasta la siguiente expresión :keyword:`yield`."
#: ../Doc/glossary.rst:120
-#, fuzzy
msgid ""
"Each :keyword:`yield` temporarily suspends processing, remembering the "
"location execution state (including local variables and pending try-"
@@ -294,30 +292,28 @@ msgstr ""
"estado local de ejecución (incluyendo a las variables locales y las "
"sentencias `try` pendientes). Cuando el *iterador del generador asincrónico* "
"vuelve efectivamente con otro objeto a la espera (*awaitable*) retornado por "
-"el método :meth:`__anext__`, retoma donde lo dejó. Vea :pep:`492` y :pep:"
-"`525`."
+"el método :meth:`~object.__anext__`, retoma donde lo dejó. Vea :pep:`492` y :"
+"pep:`525`."
#: ../Doc/glossary.rst:125
msgid "asynchronous iterable"
msgstr "iterable asincrónico"
#: ../Doc/glossary.rst:127
-#, fuzzy
msgid ""
"An object, that can be used in an :keyword:`async for` statement. Must "
"return an :term:`asynchronous iterator` from its :meth:`~object.__aiter__` "
"method. Introduced by :pep:`492`."
msgstr ""
"Un objeto, que puede ser usado en una sentencia :keyword:`async for`. Debe "
-"retornar un :term:`asynchronous iterator` de su método :meth:`__aiter__`. "
-"Introducido por :pep:`492`."
+"retornar un :term:`asynchronous iterator` de su método :meth:`~object."
+"__aiter__`. Introducido por :pep:`492`."
#: ../Doc/glossary.rst:130
msgid "asynchronous iterator"
msgstr "iterador asincrónico"
#: ../Doc/glossary.rst:132
-#, fuzzy
msgid ""
"An object that implements the :meth:`~object.__aiter__` and :meth:`~object."
"__anext__` methods. :meth:`~object.__anext__` must return an :term:"
@@ -325,26 +321,25 @@ msgid ""
"an asynchronous iterator's :meth:`~object.__anext__` method until it raises "
"a :exc:`StopAsyncIteration` exception. Introduced by :pep:`492`."
msgstr ""
-"Un objeto que implementa los métodos :meth:`__aiter__` y :meth:`__anext__`. "
-"``__anext__`` debe retornar un objeto :term:`awaitable`. :keyword:`async "
-"for` resuelve los esperables retornados por un método de iterador "
-"asincrónico :meth:`__anext__` hasta que lanza una excepción :exc:"
-"`StopAsyncIteration`. Introducido por :pep:`492`."
+"Un objeto que implementa los métodos :meth:`~object.__aiter__` y :meth:"
+"`~object.__anext__`. :meth:`~object.__anext__` debe retornar un objeto :term:"
+"`awaitable`. :keyword:`async for` resuelve los esperables retornados por un "
+"método de iterador asincrónico :meth:`~object.__anext__` hasta que lanza una "
+"excepción :exc:`StopAsyncIteration`. Introducido por :pep:`492`."
#: ../Doc/glossary.rst:137
msgid "attribute"
msgstr "atributo"
#: ../Doc/glossary.rst:139
-#, fuzzy
msgid ""
"A value associated with an object which is usually referenced by name using "
"dotted expressions. For example, if an object *o* has an attribute *a* it "
"would be referenced as *o.a*."
msgstr ""
-"Un valor asociado a un objeto que es referencias por el nombre usado "
-"expresiones de punto. Por ejemplo, si un objeto *o* tiene un atributo *a* "
-"sería referenciado como *o.a*."
+"Un valor asociado a un objeto al que se suele hacer referencia por su nombre "
+"utilizando expresiones punteadas. Por ejemplo, si un objeto *o* tiene un "
+"atributo *a* se referenciaría como *o.a*."
#: ../Doc/glossary.rst:144
msgid ""
@@ -354,21 +349,24 @@ msgid ""
"using a dotted expression, and would instead need to be retrieved with :func:"
"`getattr`."
msgstr ""
+"Es posible dar a un objeto un atributo cuyo nombre no sea un identificador "
+"definido por :ref:`identifiers`, por ejemplo usando :func:`setattr`, si el "
+"objeto lo permite. Dicho atributo no será accesible utilizando una expresión "
+"con puntos, y en su lugar deberá ser recuperado con :func:`getattr`."
#: ../Doc/glossary.rst:149
msgid "awaitable"
msgstr "a la espera"
#: ../Doc/glossary.rst:151
-#, fuzzy
msgid ""
"An object that can be used in an :keyword:`await` expression. Can be a :"
"term:`coroutine` or an object with an :meth:`~object.__await__` method. See "
"also :pep:`492`."
msgstr ""
-"Es un objeto a la espera (*awaitable*) que puede ser usado en una expresión :"
-"keyword:`await`. Puede ser una :term:`coroutine` o un objeto con un método :"
-"meth:`__await__`. Vea también :pep:`492`."
+"Un objeto que puede utilizarse en una expresión :keyword:`await`. Puede ser "
+"una :term:`corutina ` o un objeto con un método :meth:`~object."
+"__await__`. Véase también :pep:`492`."
#: ../Doc/glossary.rst:154
msgid "BDFL"
@@ -414,7 +412,6 @@ msgid "borrowed reference"
msgstr "referencia prestada"
#: ../Doc/glossary.rst:171
-#, fuzzy
msgid ""
"In Python's C API, a borrowed reference is a reference to an object, where "
"the code using the object does not own the reference. It becomes a dangling "
@@ -422,10 +419,10 @@ msgid ""
"remove the last :term:`strong reference` to the object and so destroy it."
msgstr ""
"En la API C de Python, una referencia prestada es una referencia a un "
-"objeto. No modifica el recuento de referencias de objetos. Se convierte en "
-"un puntero colgante si se destruye el objeto. Por ejemplo, una recolección "
-"de basura puede eliminar el último :term:`strong reference` del objeto y así "
-"destruirlo."
+"objeto, donde el código usando el objeto no posee la referencia. Se "
+"convierte en un puntero colgante si se destruye el objeto. Por ejemplo, una "
+"recolección de basura puede eliminar el último :term:`strong reference` del "
+"objeto y así destruirlo."
#: ../Doc/glossary.rst:177
msgid ""
@@ -513,15 +510,16 @@ msgstr ""
"documentación de :ref:`el módulo dis `."
#: ../Doc/glossary.rst:213
-#, fuzzy
msgid "callable"
-msgstr "hashable"
+msgstr "callable"
#: ../Doc/glossary.rst:215
msgid ""
"A callable is an object that can be called, possibly with a set of arguments "
"(see :term:`argument`), with the following syntax::"
msgstr ""
+"Un callable es un objeto que puede ser llamado, posiblemente con un conjunto "
+"de argumentos (véase :term:`argument`), con la siguiente sintaxis::"
#: ../Doc/glossary.rst:220
msgid ""
@@ -529,6 +527,9 @@ msgid ""
"instance of a class that implements the :meth:`~object.__call__` method is "
"also a callable."
msgstr ""
+"Una :term:`function`, y por extensión un :term:`method`, es un callable. Una "
+"instancia de una clase que implementa el método :meth:`~object.__call__` "
+"también es un callable."
#: ../Doc/glossary.rst:223
msgid "callback"
@@ -1019,9 +1020,8 @@ msgstr ""
"de :c:type:`PyConfig`."
#: ../Doc/glossary.rst:428
-#, fuzzy
msgid "See also the :term:`locale encoding`."
-msgstr "Vea también :term:`locale encoding`"
+msgstr "Vea también :term:`locale encoding`."
#: ../Doc/glossary.rst:429
msgid "finder"
@@ -1249,21 +1249,22 @@ msgid "generic type"
msgstr "tipos genéricos"
#: ../Doc/glossary.rst:531
-#, fuzzy
msgid ""
"A :term:`type` that can be parameterized; typically a :ref:`container "
"class` such as :class:`list` or :class:`dict`. Used for :"
"term:`type hints ` and :term:`annotations `."
msgstr ""
-"Un :term:`type` que se puede parametrizar; normalmente un contenedor como :"
-"class:`list`. Usado para :term:`type hints ` y :term:`annotations "
-"`."
+"Un :term:`type` que se puede parametrizar; normalmente un :ref:`container "
+"class` como :class:`list` o :class:`dict`. Usado para :term:"
+"`type hints ` y :term:`annotations `."
#: ../Doc/glossary.rst:536
msgid ""
"For more details, see :ref:`generic alias types`, :pep:"
"`483`, :pep:`484`, :pep:`585`, and the :mod:`typing` module."
msgstr ""
+"Para más detalles, véase :ref:`generic alias types`, :"
+"pep:`483`, :pep:`484`, :pep:`585`, y el módulo :mod:`typing`."
#: ../Doc/glossary.rst:538
msgid "GIL"
@@ -1296,7 +1297,6 @@ msgstr ""
"múltiples procesadores."
#: ../Doc/glossary.rst:552
-#, fuzzy
msgid ""
"However, some extension modules, either standard or third-party, are "
"designed so as to release the GIL when doing computationally intensive tasks "
@@ -1383,15 +1383,14 @@ msgid "IDLE"
msgstr "IDLE"
#: ../Doc/glossary.rst:587
-#, fuzzy
msgid ""
"An Integrated Development and Learning Environment for Python. :ref:`idle` "
"is a basic editor and interpreter environment which ships with the standard "
"distribution of Python."
msgstr ""
-"El entorno integrado de desarrollo de Python, o *Integrated Development "
-"Environment for Python*. IDLE es un editor básico y un entorno de "
-"intérprete que se incluye con la distribución estándar de Python."
+"Un Entorno Integrado de Desarrollo y Aprendizaje para Python. :ref:`idle` es "
+"un editor básico y un entorno de intérprete que se incluye con la "
+"distribución estándar de Python."
#: ../Doc/glossary.rst:590
msgid "immutable"
@@ -1530,7 +1529,6 @@ msgid "iterable"
msgstr "iterable"
#: ../Doc/glossary.rst:644
-#, fuzzy
msgid ""
"An object capable of returning its members one at a time. Examples of "
"iterables include all sequence types (such as :class:`list`, :class:`str`, "
@@ -1544,7 +1542,7 @@ msgstr ""
"class:`tuple`) y algunos de tipos no secuenciales, como :class:`dict`, :term:"
"`objeto archivo `, y objetos de cualquier clase que defina con "
"los métodos :meth:`__iter__` o con un método :meth:`__getitem__` que "
-"implementen la semántica de :term:`Sequence `."
+"implementen la semántica de :term:`sequence`."
#: ../Doc/glossary.rst:651
msgid ""
@@ -1614,6 +1612,8 @@ msgid ""
"CPython does not consistently apply the requirement that an iterator define :"
"meth:`__iter__`."
msgstr ""
+"CPython no aplica consistentemente el requisito de que un iterador defina :"
+"meth:`__iter__`."
#: ../Doc/glossary.rst:684
msgid "key function"
@@ -1643,7 +1643,6 @@ msgstr ""
"func:`heapq.nsmallest`, :func:`heapq.nlargest`, y :func:`itertools.groupby`."
#: ../Doc/glossary.rst:697
-#, fuzzy
msgid ""
"There are several ways to create a key function. For example. the :meth:"
"`str.lower` method can serve as a key function for case insensitive sorts. "
@@ -1657,11 +1656,10 @@ msgstr ""
"`str.lower` puede servir como función clave para ordenamientos que no "
"distingan mayúsculas de minúsculas. Como alternativa, una función clave "
"puede ser realizada con una expresión :keyword:`lambda` como ``lambda r: "
-"(r[0], r[2])``. También, el módulo :mod:`operator` provee tres "
-"constructores de funciones clave: :func:`~operator.attrgetter`, :func:"
-"`~operator.itemgetter`, y :func:`~operator.methodcaller`. Vea en :ref:"
-"`Sorting HOW TO ` ejemplos de cómo crear y usar funciones "
-"clave."
+"(r[0], r[2])``. Además, :func:`operator.attrgetter`, :func:`operator."
+"itemgetter` y :func:`operator.methodcaller` son tres constructores de "
+"funciones clave. Consulte :ref:`Sorting HOW TO ` para ver "
+"ejemplos de cómo crear y utilizar funciones clave."
#: ../Doc/glossary.rst:704
msgid "keyword argument"
@@ -1722,35 +1720,35 @@ msgid "locale encoding"
msgstr "codificación de la configuración regional"
#: ../Doc/glossary.rst:726
-#, fuzzy
msgid ""
"On Unix, it is the encoding of the LC_CTYPE locale. It can be set with :func:"
"`locale.setlocale(locale.LC_CTYPE, new_locale) `."
msgstr ""
"En Unix, es la codificación de la configuración regional LC_CTYPE. Se puede "
-"configurar con ``locale.setlocale(locale.LC_CTYPE, new_locale)``."
+"configurar con :func:`locale.setlocale(locale.LC_CTYPE, new_locale) `."
#: ../Doc/glossary.rst:729
-#, fuzzy
msgid "On Windows, it is the ANSI code page (ex: ``\"cp1252\"``)."
-msgstr "En Windows, es la página de códigos ANSI (por ejemplo, ``cp1252``)."
+msgstr ""
+"En Windows, es la página de códigos ANSI (por ejemplo, ``\"cp1252\"``)."
#: ../Doc/glossary.rst:731
msgid ""
"On Android and VxWorks, Python uses ``\"utf-8\"`` as the locale encoding."
msgstr ""
+"En Android y VxWorks, Python utiliza ``\"utf-8\"`` como codificación "
+"regional."
#: ../Doc/glossary.rst:733
-#, fuzzy
msgid "``locale.getencoding()`` can be used to get the locale encoding."
msgstr ""
-"``locale.getpreferredencoding(False)`` se puede utilizar para obtener la "
-"codificación de la configuración regional."
+"``locale.getencoding()`` se puede utilizar para obtener la codificación de "
+"la configuración regional."
#: ../Doc/glossary.rst:735
-#, fuzzy
msgid "See also the :term:`filesystem encoding and error handler`."
-msgstr "codificación del sistema de archivos y manejador de errores"
+msgstr "Vea también :term:`filesystem encoding and error handler`."
#: ../Doc/glossary.rst:736
msgid "list"
@@ -1814,7 +1812,6 @@ msgid "mapping"
msgstr "mapeado"
#: ../Doc/glossary.rst:762
-#, fuzzy
msgid ""
"A container object that supports arbitrary key lookups and implements the "
"methods specified in the :class:`collections.abc.Mapping` or :class:"
@@ -1824,8 +1821,8 @@ msgid ""
"`collections.Counter`."
msgstr ""
"Un objeto contenedor que permite recupero de claves arbitrarias y que "
-"implementa los métodos especificados en la :class:`~collections.abc.Mapping` "
-"o :class:`~collections.abc.MutableMapping` :ref:`abstract base classes "
+"implementa los métodos especificados en la :class:`collections.abc.Mapping` "
+"o :class:`collections.abc.MutableMapping` :ref:`abstract base classes "
"`. Por ejemplo, :class:`dict`, :class:"
"`collections.defaultdict`, :class:`collections.OrderedDict` y :class:"
"`collections.Counter`."
@@ -2113,7 +2110,6 @@ msgid "package"
msgstr "paquete"
#: ../Doc/glossary.rst:885
-#, fuzzy
msgid ""
"A Python :term:`module` which can contain submodules or recursively, "
"subpackages. Technically, a package is a Python module with a ``__path__`` "
@@ -2484,7 +2480,6 @@ msgid "reference count"
msgstr "contador de referencias"
#: ../Doc/glossary.rst:1066
-#, fuzzy
msgid ""
"The number of references to an object. When the reference count of an "
"object drops to zero, it is deallocated. Some objects are \"immortal\" and "
@@ -2495,11 +2490,13 @@ msgid ""
"reference count for a particular object."
msgstr ""
"El número de referencias a un objeto. Cuando el contador de referencias de "
-"un objeto cae hasta cero, éste es desalojable. En conteo de referencias no "
-"suele ser visible en el código de Python, pero es un elemento clave para la "
-"implementación de :term:`CPython`. El módulo :mod:`sys` define la :func:"
-"`~sys.getrefcount` que los programadores pueden emplear para retornar el "
-"conteo de referencias de un objeto en particular."
+"un objeto cae hasta cero, éste se desaloja. Algunos objetos son "
+"\"inmortales\" y tienen recuentos de referencias que nunca se modifican, y "
+"por lo tanto los objetos nunca son desalojan. El conteo de referencias "
+"generalmente no es visible para el código Python, pero es un elemento clave "
+"de la implementación de :term:`CPython`. Los programadores pueden llamar a "
+"la función :func:`sys.getrefcount` para obtener el número de referencias de "
+"un objeto concreto."
#: ../Doc/glossary.rst:1074
msgid "regular package"
@@ -2652,16 +2649,17 @@ msgid "strong reference"
msgstr "referencia fuerte"
#: ../Doc/glossary.rst:1136
-#, fuzzy
msgid ""
"In Python's C API, a strong reference is a reference to an object which is "
"owned by the code holding the reference. The strong reference is taken by "
"calling :c:func:`Py_INCREF` when the reference is created and released with :"
"c:func:`Py_DECREF` when the reference is deleted."
msgstr ""
-"En la API C de Python, una referencia fuerte es una referencia a un objeto "
-"que incrementa el recuento de referencias del objeto cuando se crea y "
-"disminuye el recuento de referencias del objeto cuando se elimina."
+"En la API de C de Python, una referencia fuerte es una referencia a un "
+"objeto que es propiedad del código que mantiene la referencia. La "
+"referencia fuerte se toma llamando a :c:func:`Py_INCREF` cuando se crea la "
+"referencia y se libera con :c:func:`Py_DECREF` cuando se elimina la "
+"referencia."
#: ../Doc/glossary.rst:1142
msgid ""
@@ -2689,18 +2687,27 @@ msgid ""
"``U+0000``--``U+10FFFF``). To store or transfer a string, it needs to be "
"serialized as a sequence of bytes."
msgstr ""
+"Una cadena de caracteres en Python es una secuencia de puntos de código "
+"Unicode (en el rango ``U+0000``--``U+10FFFF``). Para almacenar o transferir "
+"una cadena de caracteres, es necesario serializarla como una secuencia de "
+"bytes."
#: ../Doc/glossary.rst:1154
msgid ""
"Serializing a string into a sequence of bytes is known as \"encoding\", and "
"recreating the string from the sequence of bytes is known as \"decoding\"."
msgstr ""
+"La serialización de una cadena de caracteres en una secuencia de bytes se "
+"conoce como \"codificación\", y la recreación de la cadena de caracteres a "
+"partir de la secuencia de bytes se conoce como \"decodificación\"."
#: ../Doc/glossary.rst:1157
msgid ""
"There are a variety of different text serialization :ref:`codecs `, which are collectively referred to as \"text encodings\"."
msgstr ""
+"Existe una gran variedad de serializaciones de texto :ref:`codecs `, que se denominan colectivamente \"codificaciones de texto\"."
#: ../Doc/glossary.rst:1160
msgid "text file"
@@ -2924,20 +2931,17 @@ msgstr ""
"ingresando \"``import this``\" en la consola interactiva."
#: ../Doc/glossary.rst:264
-#, fuzzy
msgid "C-contiguous"
-msgstr "contiguo"
+msgstr "C-contiguous"
#: ../Doc/glossary.rst:264
-#, fuzzy
msgid "Fortran contiguous"
-msgstr "contiguo"
+msgstr "Fortran contiguous"
#: ../Doc/glossary.rst:757
msgid "magic"
-msgstr ""
+msgstr "magic"
#: ../Doc/glossary.rst:1123
-#, fuzzy
msgid "special"
-msgstr "método especial"
+msgstr "special"
From 4a1c89c5519266ff8212fa8a4f762f81032029ee Mon Sep 17 00:00:00 2001
From: Jakepys <81931114+JuanPerdomo00@users.noreply.github.com>
Date: Sat, 6 Jan 2024 06:58:17 -0500
Subject: [PATCH 050/136] Correccion de algunas traducciones, traducido.
library/socket.po (#2761)
---
dictionaries/library_socket.txt | 2 +
library/socket.po | 186 +++++++++++++++++---------------
2 files changed, 102 insertions(+), 86 deletions(-)
diff --git a/dictionaries/library_socket.txt b/dictionaries/library_socket.txt
index 32f28b1508..d49153a683 100644
--- a/dictionaries/library_socket.txt
+++ b/dictionaries/library_socket.txt
@@ -26,3 +26,5 @@ Unix
Windows
Winsock
WinSock
+Hyper
+divert
diff --git a/library/socket.po b/library/socket.po
index 17bcea02d4..1dd9f93549 100644
--- a/library/socket.po
+++ b/library/socket.po
@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
-"PO-Revision-Date: 2022-10-30 15:53+0100\n"
+"PO-Revision-Date: 2023-11-27 13:14-0500\n"
"Last-Translator: \n"
-"Language: es_ES\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es_ES\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.13.0\n"
+"X-Generator: Poedit 3.4.1\n"
#: ../Doc/library/socket.rst:2
msgid ":mod:`socket` --- Low-level networking interface"
@@ -48,9 +49,8 @@ msgstr ""
"llamadas se realizan a las API de socket del sistema operativo."
#: ../Doc/includes/wasm-notavail.rst:3
-#, fuzzy
msgid ":ref:`Availability `: not Emscripten, not WASI."
-msgstr ":ref:`Availability `: no Emscripten, no WASI."
+msgstr ":ref:`Availability `: no escritos, no WASI."
#: ../Doc/includes/wasm-notavail.rst:5
msgid ""
@@ -379,7 +379,7 @@ msgid ""
"cryptography. An algorithm socket is configured with a tuple of two to four "
"elements ``(type, name [, feat [, mask]])``, where:"
msgstr ""
-":const:`AF_ALG` es una interfaz basada en socket sólo Linux para la "
+":const:`AF_ALG` es una interfaz basada en socket solo Linux para la "
"criptografía del núcleo. Un socket de algoritmo se configura con una tupla "
"de dos a cuatro elementos ``(type, name [, feat [, mask]])``, donde:"
@@ -452,6 +452,10 @@ msgid ""
"types>` or any other Ethernet protocol number. Value must be in network-byte-"
"order."
msgstr ""
+"*proto* - El número del protocolo Ethernet. Puede ser :data:`ETH_P_ALL` para "
+"capturar todos los protocolos, una de las :ref:`constantes ETHERTYPE_* "
+"` o cualquier otro número de protocolo Ethernet. El "
+"valor debe estar en bytes de red-orden."
#: ../Doc/library/socket.rst:197
msgid "*pkttype* - Optional integer specifying the packet type:"
@@ -552,22 +556,20 @@ msgstr ""
"IPPROTO_UDPLITE)`` para IPV6."
#: ../Doc/library/socket.rst:234
-#, fuzzy
msgid ":ref:`Availability `: Linux >= 2.6.20, FreeBSD >= 10.1"
-msgstr ":ref:`Availability `: Linux >= 2.6.25, NetBSD >= 8."
+msgstr ":ref:`Availability `: Linux >= 2.6.20, NetBSD >= 10.1"
#: ../Doc/library/socket.rst:238
-#, fuzzy
msgid ""
":const:`AF_HYPERV` is a Windows-only socket based interface for "
"communicating with Hyper-V hosts and guests. The address family is "
"represented as a ``(vm_id, service_id)`` tuple where the ``vm_id`` and "
"``service_id`` are UUID strings."
msgstr ""
-":const:`AF_QIPCRTR` es una interfaz basada en sockets solo para Linux para "
-"comunicarse con servicios que se ejecutan en co-procesadores en plataformas "
-"Qualcomm. La familia de direcciones se representa como una tupla ``(node, "
-"port)`` donde el *node* y *port* son enteros no negativos."
+":const:`AF_HYPERV` es una interfaz basada en sockets exclusiva de Windows "
+"para comunicarse con hosts e invitados de Hyper-V. La familia de direcciones "
+"se representa como una tupla ``(vm_id, service_id)`` donde ``vm_id`` y "
+"``service_id`` son cadenas UUID."
#: ../Doc/library/socket.rst:243
msgid ""
@@ -575,30 +577,37 @@ msgid ""
"values if the target is not a specific virtual machine. Known VMID constants "
"defined on ``socket`` are:"
msgstr ""
+"El ``vm_id`` es el identificador de la máquina virtual o un conjunto de VMID "
+"conocidos valores si el objetivo no es una máquina virtual específica. "
+"Constantes VMID conocidas definidos en ``socket`` son:"
#: ../Doc/library/socket.rst:247
msgid "``HV_GUID_ZERO``"
-msgstr ""
+msgstr "``HV_GUID_ZERO``"
#: ../Doc/library/socket.rst:248
msgid "``HV_GUID_BROADCAST``"
-msgstr ""
+msgstr "``HV_GUID_BROADCAST``"
#: ../Doc/library/socket.rst:249
msgid ""
"``HV_GUID_WILDCARD`` - Used to bind on itself and accept connections from "
"all partitions."
msgstr ""
+"``HV_GUID_WILDCARD`` - Se utiliza para vincularse a sí mismo y aceptar "
+"conexiones de todas las particiones."
#: ../Doc/library/socket.rst:251
msgid ""
"``HV_GUID_CHILDREN`` - Used to bind on itself and accept connection from "
"child partitions."
msgstr ""
+"``HV_GUID_CHILDREN`` - Se utiliza para vincularse a sí mismo y aceptar "
+"conexiones desde particiones secundarias."
#: ../Doc/library/socket.rst:253
msgid "``HV_GUID_LOOPBACK`` - Used as a target to itself."
-msgstr ""
+msgstr "``HV_GUID_LOOPBACK`` - Se utiliza como objetivo para sí mismo."
#: ../Doc/library/socket.rst:254
msgid ""
@@ -606,10 +615,13 @@ msgid ""
"partition. When used as an address target it will connect to the parent "
"partition."
msgstr ""
+"``HV_GUID_PARENT`` - Cuando se usa como enlace, acepta la conexión del padre "
+"partición. Cuando se utiliza como dirección de destino, se conectará al "
+"padre dividir."
#: ../Doc/library/socket.rst:257
msgid "The ``service_id`` is the service identifier of the registered service."
-msgstr ""
+msgstr "El ``service_id`` es el identificador del servicio registrado."
#: ../Doc/library/socket.rst:261
msgid ""
@@ -865,6 +877,18 @@ msgid ""
"``IP_BLOCK_SOURCE``, ``IP_ADD_SOURCE_MEMBERSHIP``, "
"``IP_DROP_SOURCE_MEMBERSHIP``."
msgstr ""
+"Se agregaron ``SO_RTABLE`` y ``SO_USER_COOKIE``. En OpenBSD y FreeBSD "
+"respectivamente, esas constantes se pueden usar de la misma manera que "
+"``SO_MARK`` es usado en Linux. También se agregaron opciones de socket TCP "
+"faltantes de Linux: ``TCP_MD5SIG``, ``TCP_THIN_LINEAR_TIMEOUTS``, "
+"``TCP_THIN_DUPACK``, ``TCP_REPAIR``, ``TCP_REPAIR_QUEUE``, "
+"``TCP_QUEUE_SEQ``, ``TCP_REPAIR_OPTIONS``, ``TCP_TIMESTAMP``, "
+"``TCP_CC_INFO``, ``TCP_SAVE_SYN``, ``TCP_SAVED_SYN``, ``TCP_REPAIR_WINDOW``, "
+"``TCP_FASTOPEN_CONNECT``, ``TCP_ULP``, ``TCP_MD5SIG_EXT``, "
+"``TCP_FASTOPEN_KEY``, ``TCP_FASTOPEN_NO_COOKIE``, ``TCP_ZEROCOPY_RECEIVE``, "
+"``TCP_INQ``, ``TCP_TX_DELAY``. Se agregó ``IP_PKTINFO``, "
+"``IP_UNBLOCK_SOURCE``, ``IP_BLOCK_SOURCE``, ``IP_ADD_SOURCE_MEMBERSHIP``, "
+"``IP_DROP_SOURCE_MEMBERSHIP``."
#: ../Doc/library/socket.rst:447 ../Doc/library/socket.rst:528
#: ../Doc/library/socket.rst:552
@@ -956,18 +980,16 @@ msgid ":ref:`Availability `: Linux >= 5.4."
msgstr ":ref:`Availability `: Linux >= 5.4."
#: ../Doc/library/socket.rst:516
-#, fuzzy
msgid ""
"These two constants, documented in the FreeBSD divert(4) manual page, are "
"also defined in the socket module."
msgstr ""
-"Muchas constantes de estos formularios, documentadas en la documentación de "
-"Linux, también se definen en el módulo de socket."
+"Estas dos constantes, documentadas en la página del manual de FreeBSD "
+"divert(4), también están definidas en el módulo de socket."
#: ../Doc/library/socket.rst:519
-#, fuzzy
msgid ":ref:`Availability