diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index ce3f782041..f7bc273a5c 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -22,11 +22,14 @@ jobs:
- name: Instalar dependencias
run: |
sudo apt-get update
- sudo apt-get install -y hunspell hunspell-es gettext
+ sudo apt-get install -y hunspell hunspell-es gettext language-pack-es
python -m pip install -r requirements.txt
pip list
pospell --version
powrap --version
+ - name: TRANSLATORS
+ run: |
+ diff -Naur TRANSLATORS <(LANG=es python scripts/sort.py < TRANSLATORS)
- name: Powrap
run: powrap --check --quiet **/*.po
- name: Pospell
diff --git a/.overrides/CONTRIBUTING.rst b/.overrides/CONTRIBUTING.rst
index 386832596c..7b04de3175 100644
--- a/.overrides/CONTRIBUTING.rst
+++ b/.overrides/CONTRIBUTING.rst
@@ -114,7 +114,7 @@ realizado para no traducir dos veces lo mismo. El proceso para traducir un
archivo es el siguiente:
-#. Elige cualquier de los que *no están asignados* a otra persona.
+#. Elige cualquiera de los issues que *no están asignados* a otra persona.
#. Deja un comentario en el issue diciendo que quieres trabajar en él.
#. Espera a que un administrador te asigne el issue.
#. ¡Empieza a traducir!
diff --git a/.overrides/logo/README.md b/.overrides/logo/README.md
new file mode 100755
index 0000000000..aa172814a2
--- /dev/null
+++ b/.overrides/logo/README.md
@@ -0,0 +1,58 @@
+README
+======
+
+Introducción
+------------
+
+Este README describe la técnica utilizada en Inkscape para generar
+el logo de python-docs-es con el nombre de todos los traductores.
+
+La tecnica se llama a veces "Text portrait" y consiste simplemente
+en utilizar una imagen como mascara para un texto. Muchos tutoriales
+en línea explican el proceso de forma mas o menos completa.
+
+Los archivos `ready-centered.svg` y `ready-fullpage.svg` ya tienen
+la tecnica aplicada sobre la imágen de una letra "ñ".
+
+La lista de todos los traductores está en el archivo `./TRANSLATORS`.
+Lo ideal es transformar los `\n` en espacios poder copiar y pegar.
+Por ejemplo: `$ cat TRANSLATORS | tr '\n' ' ' `
+
+
+Modificar la lista de traductores
+---------------------------------
+
+Si sólo se quiere modificar la lista de traductores:
+
+0. En Inkscape abrir uno de los archivos SVG (`ready-centered.svg` o `ready-fullpage.svg`)
+1. Abrir el panel de objetos (`Object`/`Objects...`).
+2. Seleccionar el objeto `text`
+3. Abrir el panel de texto (`Text`/`Text and fonts...` o `Shift`+`Ctrl`+`T`)
+4. Elegir el tabs `Text` del panel de texto
+5. Remplazar el contenido y cliquear `Apply`
+
+Si el texto es mas corto o mas largo, para que el texto ocupe toda la imágen
+puede que haya que adaptar la fuente utilizada (fuente, tamaño, espaciado, ...).
+
+
+Modificar la imágen
+-------------------
+
+Si se quiere modificar la imágen utilizada:
+
+0. En Inkscape abrir uno de los archivos SVG (`ready-centered.svg` o `ready-fullpage.svg`)
+1. Abrir el panel de objetos (`Object`/`Objects...`)
+2. Seleccionar el objeto `text`
+3. Elegir la opción `Object`/`Mask`/`Release` para "soltar" la máscara utilizada
+4. En el panel de objetos, aparece un grupo (`gXXXXX`) con la la ñ y un fondo gris
+5. Eliminar u ocultar el grupo
+6. Agregar la nueva imágen a utilizar (via Drag and Drop o `File`/`Import...`)
+7. Aseguarse que la imágen tiene el mismo tamaño que el texto:
+ a. Seleccionar el objeto texto -> `Ctrl`+`C`
+ b. Seleccionar la imágen agregada -> `Edit`/`Paste Size`/`Paste Size`
+8. Centrar la imágen sobre la página (panel `Object`/`Align and Distribute`)
+9. En el panel de objetos, seleccionar la imágen y luego el texto
+10. Setear la máscara con `Object`/`Mask`/`Set`
+
+En las partes oscuras de la imágen aparece el texto claro y viceversa.
+Puede que sea necesario ajustar la imágen para obtener un buen resultado.
diff --git a/.overrides/logo/ready-centered.svg b/.overrides/logo/ready-centered.svg
new file mode 100755
index 0000000000..88d89c5c48
--- /dev/null
+++ b/.overrides/logo/ready-centered.svg
@@ -0,0 +1,526 @@
+
+
+
+
diff --git a/.overrides/logo/ready-fullpage.svg b/.overrides/logo/ready-fullpage.svg
new file mode 100755
index 0000000000..84017dd5b9
--- /dev/null
+++ b/.overrides/logo/ready-fullpage.svg
@@ -0,0 +1,526 @@
+
+
+
+
diff --git a/.overrides/upgrade-python-version.rst b/.overrides/upgrade-python-version.rst
index faefcd7942..89388f330b 100644
--- a/.overrides/upgrade-python-version.rst
+++ b/.overrides/upgrade-python-version.rst
@@ -1,42 +1,93 @@
:orphan:
-=======================================
- How to update to a new Python version
-=======================================
+How to update to a new Python version
+=====================================
-We are currently in branch 3.7, and we want to update the strings from 3.8.
+We are currently in branch 3.10, and we want to update the strings from 3.11.
-#. Fetch the `lastet commit of 3.8 branch `_::
+#. Make sure you are in a clean state of the branch 3.10
+
+#. Create a new branch
+
+#. Fetch the `latest commit of 3.10 branch `_::
cd cpython/
- git fetch --depth 1 origin 70fe95cdc9ac1b00d4f86b7525dca80caf7003e1
+ git fetch --depth 1 origin 69b6b56d857440183e227ca0b10c84bca4239985
+
+ .. note:: you could also base the hash on the 'git tag' from the desired
+ version: `git checkout tags/v3.11.0 -b 3.11` considering that
+ `3.11` doesn't exist locally.
#. Checkout that commit locally::
- git checkout 70fe95cdc9ac1b00d4f86b7525dca80caf7003e1
+ git checkout 69b6b56d857440183e227ca0b10c84bca4239985
+
+#. Update the branch on the `Makefile` and check the `requirements.txt` from
+ the cpython repository, to see if upgrades on the modules like sphinx is
+ needed.
+
+#. Verify that the docs build with the new versions you changed from
+ `requirements.txt` mainly the sphinx version.
+
+#. Commit the update of the submodule change::
+
+ git add cpython
+ git commit -m "Update the cpython submodule"
+
+ .. note:: This is important, so the later `make build` step will not reset
+ the cpython submodule to the previous hash on the old branch.
#. Clean possible garbage (form previous builds)::
rm -rf _build ../python-docs-es-pot cpython/Doc/CONTRIBUTING.rst cpython/Doc/upgrade-python-version.rst
+ .. note: the 'python-docs-es-pot' is a temporary directory that is created
+ 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.8::
SPHINX_GETTEXT=True sphinx-build -j auto -b gettext -d _build/doctrees . ../python-docs-es-pot
.. note::
- In `../python-docs-es-pot` directory, we will have the new .pot files with new strings from 3.8 branch.
- All these strings will be *unstranslated* at this point.
+ In `../python-docs-es-pot` directory, we will have the new .pot files with new strings from 3.11 branch.
+ All these strings will be *untranslated* at this point.
#. Now, we update our translated files form the source language (English) with new strings::
sphinx-intl update --language es --pot-dir ../python-docs-es-pot --locale-dir cpython/locales/
-#. Remove `python-docs-cpython/` prefix added by `sphinx-build` to avoid clazy diffs::
+#. At this point, all the `.po` files will have a different comment on each translation phrase,
+ for example::
+
+ -#: ../Doc/whatsnew/3.9.rst:3
+ +#: ../python-docs-es/cpython/Doc/whatsnew/3.9.rst:3
+
+ As you can see, it added the path of the local repository, but you can
+ remove it from it with this regular expression::
sed -i **/*.po -e "s|python-docs-es/cpython/||g"
+ ..note:: if you have your local repository cloned with a different name,
+ please make sure to adapt the expression.
+
#. Pass `powrap` to make the column widths consistent::
powrap --modified
+
+#. Prepare for fireworks! Now it's time for an initial build::
+
+ make build
+
+ you will find many warnings that needs to be fixed before the push
+ of the new branch is done. So prepare a cup of any hot beverage
+ and fix them.
diff --git a/TRANSLATORS b/TRANSLATORS
index 4bbbffaa53..0e7308fcaa 100644
--- a/TRANSLATORS
+++ b/TRANSLATORS
@@ -1,168 +1,219 @@
-Juan Alegría (@zejiran)
-Juan Diego Alfonso Ocampo (@halcolo)
-Nahuel Ambrosini (@ambro17)
-Gabriel Anguita (@gabrielanguita)
-Paula Aragón (@pandrearro)
-Constanza Areal (@geekcoty)
-Emmanuel Arias (@eamanu)
-Jhonatan Barrera (@iam3mer)
-Reinny Almonte Ramos (@jighdan)
-Brian Bokser (@brianbok)
+0-Arngerdur-1 (@0-Arngerdur-1)
+Adolfo Hristo David Roque Gámez (@hristoroque)
+Adolfo Villalobos (@AdolfoVillalobos)
+AdolfoMichel
+Adriaan Beiertz
+Adrian Carrillo (@oropher)
+Agustina Quiros (@qagustina)
+Alan Verdugo Muñoz (@alanverdugo)
Albert Calvo (@albertcalv)
-José Luis Cantilo (@jcantilo)
-Héctor Canto (@hectorcanto)
-Carlos Crespo (@cacrespo)
-Leandro E. Colombo Viña (@lecovi)
-Douglas I Cueva Jr (@itisDouglas)
-Raúl Cumplido (@raulcd)
-Tatiana Delgadillo (@Tai543)
-Fabrizio Damicelli (@fabridamicelli)
-Javier Daza (@javierdaza)
-Carlos Joel Delgado Pizarro (@c0x6a)
-Sergio Delgado Quintero (@sdelquin)
-Nicolás Demarchi (@gilgamezh)
-Ignacio Dopazo (@ignaciodopazo)
-Marcelo Elizeche Landó (@melizeche)
-Natalia Elvira Astoreca (@nea23)
-Nahuel Espinosa (@nahueespinosa)
-Nataya Soledad Flores (@natayafs)
-Xavi Francisco (@srxavi)
-Santiago E Fraire Willemoes (@Woile)
-Leonardo Gomez (@gomezgleonardob)
-María Camila Guerrero Giraldo (@macaguegi)
-José Miguel Hernández Cabrera (@miguelheca)
-Sergio Infante (@neosergio)
-Martín Gaitán (@mgaitan)
-Manuel Kaufmann (@humitos)
-Julieta Kogan Moyano (@JuliKM3)
-Sergio Infante (@neosergio)
-Luis Llave (@llaveluis)
-Angelica Landazabal (@ALandazabal)
-Pablo Lobariñas (@Qkolnek)
+Alcides Rivarola (@alcides29)
+Alejando J. Cura (@alecu)
+Alexander Mejía
+Alfonso Reyes (@mxarc)
+Alfonso Trigo (@alftri)
Alvar Maciel (@alvarmaciel @amaciel)
+Alvaro Cárdenas (@alvaruz)
+Álvaro Mondéjar Rubio (@mondeja)
+alycolbar
+Ana (@popiula)
+Ana de la Calle
+Ana Elisa Kuhn (@AnitaaKuhn)
+Ana Medina Bernal (@ana-med)
+Andres Bermeo
+Andreu Vallbona Plazas (@avallbona)
+Andros Fenollosa Hurtado (@tanrax)
+Angelica Landazabal (@ALandazabal)
+Antonio González Fernández (@iam-agf)
+Antonio Rodriguez Mejias (@Tony-Rome)
+Ayose Figuera (@ayosefiguera)
+Azul Maia Vallejos Salgado (@bleucode)
+Beatriz Cabrero Saiz (@Xhiel23)
+Bibo
+Brian Bokser (@brianbok)
Briceida Mariscal (@BriceidaMars)
-Juan Sebastián Marquez (@juansemarquez)
-Cristián Maureira-Fredes (@cmaureir)
+Bruno Geninatti (@bgeninatti)
+Camilo Baquero (@camilooob)
+Carlos A. Crespo (@cacrespo)
+Carlos Bernad (@carlos-bernad)
+Carlos Joel Delgado Pizarro (@c0x6a)
+Carlos Martel Lamas (@Letram)
+Catalina Arrey Amunátegui (@CatalinaArrey)
+Claudia Millán Nebot (@clacri @cheshireminima)
+Constanza Areal (@geekcoty)
+Cristhian Ortiz (@crisortiz92)
Cristian Andrés Maximiliano Mayuti (@mayuti)
-Omar Mendo (@beejeke)
+Cristián Maureira-Fredes (@cmaureir)
+Cristian Rengifo (@ingrengifo)
+Damian (@damdev)
+Daniel Armas Ramírez
+Daniel F. Moisset (@dmoisset)
+Daniel Vera Nieto (@dveni)
+Daniela Zuluaga Ocampo (@Nany262)
Darwing Medina Lacayo (@darwing1210)
-Claudia Millán Nebot (@clacri @cheshireminima)
-María José Molina Contreras (@mjmolina)
-Manuel Ramos (@manuelramos)
-Álvaro Mondéjar Rubio (@mondeja)
-Marco Moresi (@mrcmoresi)
+David Lorenzo (@David-Lor)
+David Revillas (@r3v1)
+David Silva (@dvidsilva)
+David Trigo Chávez (@dtrinf)
+Diego Cristóbal Herreros (@dcristobalh)
+Diego Mascialino (@dmascialino)
+Douglas I Cueva Jr (@itisDouglas)
+EduFriesen00
+Elena He
+Elias Urios Alacreu (@Buzzeitor30)
+Elisabeth Ortega (@draentropia)
+Emiliano Vazquez (@gamba47)
+Emmanuel Arias (@eamanu)
+Endika Gil (@endikagil)
+Enrique Giménez (@fenriquegimenez)
+Enrique Zárate (@enrique-zarate)
+erasmo
+Erick G. Islas-Osuna (@erickisos)
+Esteban Solórzano (@estebansolo)
+Fabrizio Damicelli (@fabridamicelli)
+Facundo Batista (@facundobatista)
Federico Jurío (@FedericoJurio)
-Marco Richetta (@marcorichetta)
-Silvina Tamburini (@silvinabt87)
+Federico Zuccolo (@fzuccolo)
+Fnar
+Fonso
+Francisco Ecatl Melo Valle
+Francisco Jesús Sevilla García (@fjsevilla-dev)
+Francisco Mora (@framorac)
+Frank Montalvo Ochoa (@fmontalvoo)
+G0erman
+Gabriel Anguita (@gabrielanguita)
+Gabriela Monsalve Martínez (@gmmonsalve)
+Gianfranco Salomone (@gianfranco-s)
+Gibran Herrera (@gibranhl)
+Ginés Salar Ibáñez (@Ibnmardanis24)
+gmdeluca
+Gonzalo Delgado (@gonzalodelgado)
+Gonzalo Tixilima (@javoweb)
+Gustavo Adolfo Huarcaya Delgado (@diavolo)
+Héctor Canto (@hectorcanto)
+Héctor Sánchez Barrera (@hector-sab)
+Hugo Valencia Vargas(@psicobloc)
+Ignacio Dopazo (@ignaciodopazo)
+Ignacio Sanz (@elnaquete)
+Ignasi Fosch
+Ingrid Bianka Garcia Lino (@ibianka)
+Iracema Caballero (@iracaballero)
+Italo Farfán Vera
+Ivonne Yañez Mendoza (@TiaIvonne)
+Jaime Rodrigo González Rodríguez (@jairock282)
+Jaume Montané (@jaumemy)
+Javier Artiga Garijo (@jartigag)
Javier Daza (@javierdaza)
-Adolfo Hristo David Roque Gámez (@hristoroque)
-Elisabeth Ortega (@draentropia)
-Cristian Rengifo (@ingrengifo)
+Jhonatan Barrera (@iam3mer)
+Jonathan Aguilar (@drawsoek)
+Jorge Maldonado Ventura (@jorgesumle)
+José Luis Cantilo (@jcantilo)
+José Luis Salgado Banda (@josephLSalgado)
+José Miguel Hernández Cabrera (@miguelheca)
+Juan Alegría (@zejiran)
+Juan Antonio Lagos (@alochimpasplum)
+Juan Biondi (@yeyeto2788)
+Juan Carlos (@juancarlospaco)
+Juan Carlos Rojas Ortega (@juancacorps)
+Juan Carlos Tello (@jctello)
+Juan Diego Alfonso Ocampo (@halcolo)
+Juan E. D. (@j-e-d)
+Juan Elias Rodriguez (@Juerodriguez)
Juan Ignacio Rodríguez de León (@euribates)
-Pablo Lobariñas (@Qkolnek)
-Santiago Piccinini (@spiccinini)
+Juan Molina Riddell
+Juan Perdomo(@JuanPerdomo00)
+Juan Sebastián Marquez (@juansemarquez)
+JuanD
+Juanjo Conti (@jjconti)
Julián Pérez (@jcpmmx)
-Victoria Perez Mola (@victoriapm)
-Agustina Quiros (@qagustina)
-Ramón Salado (@ramsal)
-Juan Carlos Rojas Ortega (@juancacorps)
-Xavi Rambla Centellas (@xavirambla)
-Cristian Rengifo (@ingrengifo)
-Marco Richetta (@marcorichetta)
-Adolfo Hristo David Roque Gámez (@hristoroque)
-Luis Llave (@llaveluis)
-Marcos Sánchez Provencio (@rapto)
-Francisco Jesús Sevilla García (@fjsevilla-dev)
-Bruno Geninatti (@bgeninatti)
-María Camila Guerrero Giraldo (@macaguegi)
-José Miguel Hernández Cabrera (@miguelheca)
-Carlos Bernad (@carlos-bernad)
-María Andrea Vignau (@mavignau @marian-vignau)
+Julieta Kogan Moyano (@JuliKM3)
+Katia Lira
+Kevin Cajachuán (@Kajachuan)
+kikocorreoso
+Kosmas-Louis Meta
+Krystal Austin
+ktowen
+Laura Gutierrez Funderburk
+Laureano Silva
+Leandro E. Colombo Viña (@lecovi)
Leonardo Gomez (@gomezgleonardob)
+Lis
+Lucas Miranda
+Luciano Bovio (@lbovio)
+Luis Llave (@llaveluis)
Luis Sánchez (@LuisAISanchez)
+Maia
+Manu de Frutos Vila (@manudefrutosvila)
+Manuel Garrido
+Manuel Kaufmann (@humitos)
+Manuel Quiñones (@manuq)
+Manuel Ramos (@manuelramos)
+Marcelo Elizeche Landó (@melizeche)
+Marco Moresi (@mrcmoresi)
+Marco Richetta (@marcorichetta)
+Marcos Medrano (@mmmarcos)
+Marcos Moreno (@marcosmamg)
Marcos Sánchez Provencio (@rapto)
-David Trigo Chávez (@dtrinf)
-Esteban Solórzano (@estebansolo)
-José Miguel Hernández Cabrera (@miguelheca)
-Camilo Baquero (@camilooob)
-Naryie Vásquez Martínez (@narvmtz)
María Andrea Vignau (@mavignau @marian-vignau)
-David Revillas (@r3v1)
-Xavi Rambla Centellas (@xavirambla)
+María Camila Guerrero Giraldo (@macaguegi)
+María José Molina Contreras (@mjmolina)
+María Saiz Muñoz (@mariasm87)
+Martín Gaitán (@mgaitan)
+Martín Ramírez (@tinchoram)
+Matias Bordese (@matiasb)
+Melissa Escobar Gutiérrez (@MelissaEscobar)
+Miguel Ángel
+Nahuel Ambrosini (@ambro17)
+Nahuel Espinosa (@nahueespinosa)
+Naryie Vásquez Martínez (@narvmtz)
+Natalia Elvira Astoreca (@nea23)
+Nataya Soledad Flores (@natayafs)
+Neptali Gil Martorelli
+nicocastanio
+Nicolás Demarchi (@gilgamezh)
+Omar Mendo (@beejeke)
+Oscar Martinez
+Pablo Lobariñas (@Qkolnek)
+Paula Aragón (@pandrearro)
+Pedro Aaron (@paaaron)
+Pedro Jorge De Los Santos
+Qkolnek
+Ramiro Algozino (@ralgozino)
+Ramón Salado (@ramsal)
+Raúl Cumplido (@raulcd)
+Reinny Almonte Ramos (@jighdan)
+Ric
+Ricardo Rodríguez (@ricrogz)
+Rishabh Mishra (@rishabhmishra25)
+Roberto Alsina (@ralsina)
Rodrigo Poblete Diaz (@rodpoblete)
-Elias Urios Alacreu (@Buzzeitor30)
-Santiago E Fraire Willemoes (@Woile)
-Gustavo Adolfo Huarcaya Delgado (@diavolo)
+Rodrigo Tobar (@rtobar)
+roluisker
Rubén de Celis Hernández (@RDCH106)
Samantha Valdez A. (@samvaldez)
-Adrian Carrillo (@oropher)
-Alfonso Reyes (@mxarc)
-Enrique Giménez (@fenriquegimenez)
-Rishabh Mishra (@rishabhmishra25)
-Carlos Martel Lamas (@Letram)
-Jonathan Aguilar (@drawsoek)
-David Lorenzo (@David-Lor)
-Juan Antonio Lagos (@alochimpasplum)
-Antonio González Fernández (@iam-agf)
-Yennifer Paola Herrera Ariza (@Yenniferh)
-Willian Garcia (@wgarcia1309)
-Ana Medina Bernal (@ana-med)
-Juan Biondi (@yeyeto2788)
-Hugo Valencia Vargas(@psicobloc)
-Pedro Aaron (@paaaron)
-Azul Maia Vallejos Salgado (@bleucode)
-Iracema Caballero (@iracaballero)
-Andreu Vallbona Plazas (@avallbona)
-Javier Artiga Garijo (@jartigag)
-Ayose Figuera (@ayosefiguera)
-Alvaro Cárdenas (@alvaruz)
-Daniel Vera Nieto (@dveni)
-Beatriz Cabrero Saiz (@Xhiel23)
-Andros Fenollosa Hurtado (@tanrax)
-Marcos Moreno (@marcosmamg)
-María Saiz Muñoz (@mariasm87)
+Santiago E Fraire Willemoes (@Woile)
+Santiago Piccinini (@spiccinini)
+Screpnik Claudia Raquel
+Sergio Delgado Quintero (@sdelquin)
+Sergio Infante (@neosergio)
+Silvina Tamburini (@silvinabt87)
Sofia Carballo (@sofiacarballo)
-Alan Verdugo Muñoz (@alanverdugo)
-Alcides Rivarola (@alcides29)
-Juan Carlos Tello (@jctello)
-Ricardo Rodríguez (@ricrogz)
-Daniela Zuluaga Ocampo (@Nany262)
-Ginés Salar Ibáñez (@Ibnmardanis24)
-Ana (@popiula)
-David Silva (@dvidsilva)
-Ricardo Rodríguez (@ricrogz)
-(@0-Arngerdur-1)
-Melissa Escobar Gutiérrez (@MelissaEscobar)
-Enrique Zárate (@enrique-zarate)
-Jaume Montané (@jaumemy)
-Endika Gil (@endikagil)
-Federico Zuccolo (@fzuccolo)
-Francisco Mora (@framorac)
-Gibran Herrera (@gibranhl)
+Sofía Denner
+Stephanie Orellana Bello
+Sumit Kashyap
+Summerok
+Tatiana Delgadillo (@Tai543)
+Tony-Rome
Ulises Alexander Argüelles Monjaraz (@UlisesAlexanderAM)
-Juan Elias Rodriguez (@Juerodriguez)
Victor Carlos (@tuxtitlan)
-Ignacio Sanz (@elnaquete)
-Jaime Rodrigo González Rodríguez (@jairock282)
-Martín Ramírez (@tinchoram)
-Kevin Cajachuán (@Kajachuan)
-Adolfo Villalobos (@AdolfoVillalobos)
+Víctor Yelicich
+Victoria Perez Mola (@victoriapm)
+VladimirGonzalez
+Willian Garcia (@wgarcia1309)
+willian593
+Xaraxx
+Xavi Francisco (@srxavi)
+Xavi Rambla Centellas (@xavirambla)
+Yennifer Paola Herrera Ariza (@Yenniferh)
Yohanna Padrino (@Yo-hanaPR)
-Adolfo Villalobos (@AdolfoVillalobos)
-José Luis Salgado Banda (@josephLSalgado)
-Marcos Medrano (@mmmarcos)
-Cristhian Ortiz (@crisortiz92)
-Gonzalo Tixilima (@javoweb)
-Frank Montalvo Ochoa (@fmontalvoo)
-Diego Cristóbal (@dcristobalh)
-Rodrigo Tobar (@rtobar)
-Catalina Arrey Amunátegui (@CatalinaArrey)
-Manu de Frutos Vila (@manudefrutosvila)
-Gianfranco Salomone (@gianfranco-s)
-Gabriela Monsalve Martínez (@gmmonsalve)
-Juan Perdomo(@JuanPerdomo00)
-Ana Elisa Kuhn (@AnitaaKuhn)
-Ivonne Yañez Mendoza (@TiaIvonne)
-Antonio Rodriguez Mejias (@Tony-Rome)
-Ingrid Bianka Garcia Lino (@ibianka)
-Héctor Sánchez Barrera (@hector-sab)
+zejiran
diff --git a/c-api/abstract.po b/c-api/abstract.po
index 4bb55ded7e..4ee0e2681c 100644
--- a/c-api/abstract.po
+++ b/c-api/abstract.po
@@ -33,7 +33,7 @@ msgstr ""
"Las funciones de este capítulo interactúan con los objetos de Python "
"independientemente de su tipo, o con amplias clases de tipos de objetos (por "
"ejemplo, todos los tipos numéricos o todos los tipos de secuencia). Cuando "
-"se usan en tipos de objetos para los que no se aplican, generarán una "
+"se usan en tipos de objetos para los que no se aplican, lanzarán una "
"excepción de Python."
#: ../Doc/c-api/abstract.rst:14
diff --git a/c-api/arg.po b/c-api/arg.po
index a309eac962..d897e1fff8 100644
--- a/c-api/arg.po
+++ b/c-api/arg.po
@@ -857,8 +857,7 @@ msgstr ""
"argumento :c:type:`void*` que se pasó a la función :c:func:`PyArg_Parse\\*`. "
"El *status* retornado debe ser ``1`` para una conversión exitosa y ``0`` si "
"la conversión ha fallado. Cuando la conversión falla, la función *converter* "
-"debería generar una excepción y dejar el contenido de *address* sin "
-"modificar."
+"debería lanzar una excepción y dejar el contenido de *address* sin modificar."
#: ../Doc/c-api/arg.rst:343
msgid ""
@@ -1052,7 +1051,7 @@ msgid ""
msgstr ""
"Analiza los parámetros de una función que solo toma parámetros posicionales "
"en variables locales. Retorna verdadero en el éxito; en caso de fallo, "
-"retorna falso y genera la excepción apropiada."
+"retorna falso y lanza la excepción apropiada."
#: ../Doc/c-api/arg.rst:430
msgid ""
@@ -1075,7 +1074,7 @@ msgstr ""
"terminado en ``NULL`` de nombres de parámetros de palabras clave. Los "
"nombres vacíos denotan :ref:`parámetros solo posicionales `. Retorna verdadero cuando hay éxito; en caso de fallo, "
-"retorna falso y genera la excepción apropiada."
+"retorna falso y lanza la excepción apropiada."
#: ../Doc/c-api/arg.rst:443
msgid ""
@@ -1184,7 +1183,7 @@ msgid ""
msgstr ""
"Crea un nuevo valor basado en una cadena de formato similar a los aceptados "
"por la familia de funciones :c:func:`PyArg_Parse\\*` y una secuencia de "
-"valores. Retorna el valor o ``NULL`` en caso de error; se generará una "
+"valores. Retorna el valor o ``NULL`` en caso de error; se lanzará una "
"excepción si se retorna ``NULL``."
#: ../Doc/c-api/arg.rst:525
@@ -1540,40 +1539,3 @@ msgid ""
msgstr ""
"Idéntico a :c:func:`Py_BuildValue`, excepto que acepta una *va_list* en "
"lugar de un número variable de argumentos."
-
-#~ msgid ""
-#~ "For all ``#`` variants of formats (``s#``, ``y#``, etc.), the type of the "
-#~ "length argument (int or :c:type:`Py_ssize_t`) is controlled by defining "
-#~ "the macro :c:macro:`PY_SSIZE_T_CLEAN` before including :file:`Python.h`. "
-#~ "If the macro was defined, length is a :c:type:`Py_ssize_t` rather than "
-#~ "an :c:type:`int`. This behavior will change in a future Python version to "
-#~ "only support :c:type:`Py_ssize_t` and drop :c:type:`int` support. It is "
-#~ "best to always define :c:macro:`PY_SSIZE_T_CLEAN`."
-#~ msgstr ""
-#~ "Para todas las variantes de formato de ``#`` ( ``s#``, ``y#``, etc.), el "
-#~ "tipo del argumento *length* (int o :c:type:`Py_ssize_t`) es controlado "
-#~ "por la definición de la macro :c:macro:`PY_SSIZE_T_CLEAN` antes de "
-#~ "incluir :file:`Python.h`. Si se ha definido la macro, *lenght* es un :c:"
-#~ "type:`Py_ssize_t` en lugar de un :c:type:`int`. Este comportamiento va a "
-#~ "cambiar en futuras versiones de Python para soportar únicamente :c:type:"
-#~ "`Py_ssize_t` y dejar el soporte de :c:type:`int`. Es mejor definir "
-#~ "siempre :c:macro:`PY_SSIZE_T_CLEAN`."
-
-#~ msgid ""
-#~ "``u#`` (:class:`str`) [const Py_UNICODE \\*, int or :c:type:`Py_ssize_t`]"
-#~ msgstr ""
-#~ "``u#`` (:class:`str`) [const Py_UNICODE \\*, int o :c:type:`Py_ssize_t`]"
-
-#~ msgid ""
-#~ "``Z#`` (:class:`str` or ``None``) [const Py_UNICODE \\*, int or :c:type:"
-#~ "`Py_ssize_t`]"
-#~ msgstr ""
-#~ "``Z#`` (:class:`str` o ``None``) [const Py_UNICODE \\*, int o :c:type:"
-#~ "`Py_ssize_t`]"
-
-#~ msgid ""
-#~ "``U#`` (:class:`str` or ``None``) [const char \\*, int or :c:type:"
-#~ "`Py_ssize_t`]"
-#~ msgstr ""
-#~ "``U#`` (:class:`str` o ``None``) [const char \\*, int o :c:type:"
-#~ "`Py_ssize_t`]"
diff --git a/c-api/bytes.po b/c-api/bytes.po
index af7a296a8f..eeeb32a403 100644
--- a/c-api/bytes.po
+++ b/c-api/bytes.po
@@ -346,7 +346,7 @@ msgid ""
"raised."
msgstr ""
"Si *length* es ``NULL``, el objeto bytes no puede contener bytes nulos "
-"incrustados; si lo hace, la función retorna ``-1`` y se genera un :exc:"
+"incrustados; si lo hace, la función retorna ``-1`` y se lanza un :exc:"
"`ValueError`."
#: ../Doc/c-api/bytes.rst:166
diff --git a/c-api/call.po b/c-api/call.po
index 94c6c99352..0a17363d51 100644
--- a/c-api/call.po
+++ b/c-api/call.po
@@ -518,7 +518,7 @@ msgid ""
"Return the result of the call on success, or raise an exception and return "
"*NULL* on failure."
msgstr ""
-"Retorna el resultado de la llamada en caso de éxito o genera una excepción y "
+"Retorna el resultado de la llamada en caso de éxito o lanza una excepción y "
"retorna *NULL* en caso de error."
#: ../Doc/c-api/call.rst:236
diff --git a/c-api/codec.po b/c-api/codec.po
index 3db5f07c50..9b9014973f 100644
--- a/c-api/codec.po
+++ b/c-api/codec.po
@@ -181,7 +181,7 @@ msgstr ""
"`UnicodeTranslateError` que contiene información sobre la secuencia "
"problemática de caracteres o bytes y su desplazamiento en la cadena original "
"(consulte :ref:`unicodeexceptions` para funciones para extraer esta "
-"información). La devolución de llamada debe generar la excepción dada o "
+"información). La devolución de llamada debe lanzar la excepción dada o "
"retornar una tupla de dos elementos que contiene el reemplazo de la "
"secuencia problemática, y un número entero que proporciona el desplazamiento "
"en la cadena original en la que se debe reanudar la codificación / "
diff --git a/c-api/conversion.po b/c-api/conversion.po
index f3112befbb..69f6bccf35 100644
--- a/c-api/conversion.po
+++ b/c-api/conversion.po
@@ -282,12 +282,3 @@ msgstr ""
"Comparación no sensible a mayúsculas y minúsculas en cadenas de caracteres. "
"La función se comporta casi de manera idéntica a :c:func:`strncmp`, excepto "
"que ignora el caso."
-
-#~ msgid ""
-#~ "If the platform doesn't have :c:func:`vsnprintf` and the buffer size "
-#~ "needed to avoid truncation exceeds *size* by more than 512 bytes, Python "
-#~ "aborts with a :c:func:`Py_FatalError`."
-#~ msgstr ""
-#~ "Si la plataforma no tiene :c:func:`vsnprintf` y el tamaño del búfer "
-#~ "necesario para evitar el truncamiento excede *size* en más de 512 bytes, "
-#~ "Python aborta con a :c:func:`Py_FatalError`."
diff --git a/c-api/dict.po b/c-api/dict.po
index 54a84e00e5..f3c630f772 100644
--- a/c-api/dict.po
+++ b/c-api/dict.po
@@ -325,7 +325,3 @@ msgstr ""
"el último gana si *override* es verdadero, de lo contrario, el primero gana. "
"Retorna ``0`` en caso de éxito o ``-1`` si se produjo una excepción. El "
"equivalente en Python (excepto el valor de retorno) ::"
-
-#~ msgid "Clear the free list. Return the total number of freed items."
-#~ msgstr ""
-#~ "Borra la lista libre. Retorna el número total de artículos liberados."
diff --git a/c-api/exceptions.po b/c-api/exceptions.po
index d35470dc69..21df2cead2 100644
--- a/c-api/exceptions.po
+++ b/c-api/exceptions.po
@@ -272,10 +272,10 @@ msgid ""
"returns ``NULL``, so a wrapper function around a system call can write "
"``return PyErr_SetFromErrno(type);`` when the system call returns an error."
msgstr ""
-"Esta es una función conveniente para generar una excepción cuando una "
-"función de biblioteca C ha retornado un error y establece la variable C :c:"
-"data:`errno`. Construye un objeto tupla cuyo primer elemento es el valor "
-"entero :c:data:`errno` y cuyo segundo elemento es el mensaje de error "
+"Esta es una función conveniente para lanzar una excepción cuando una función "
+"de biblioteca C ha retornado un error y establece la variable C :c:data:"
+"`errno`. Construye un objeto tupla cuyo primer elemento es el valor entero :"
+"c:data:`errno` y cuyo segundo elemento es el mensaje de error "
"correspondiente (obtenido de :c:func:`strerror`), y luego llama a "
"``PyErr_SetObject(type , objeto)``. En Unix, cuando el valor :c:data:`errno` "
"es :const:`EINTR`, que indica una llamada interrumpida del sistema, esto "
@@ -304,7 +304,7 @@ msgid ""
"filenames fails."
msgstr ""
"Similar a :c:func:`PyErr_SetFromErrnoWithFilenameObject`, pero toma un "
-"segundo objeto de nombre de archivo, para generar errores cuando falla una "
+"segundo objeto de nombre de archivo, para lanzar errores cuando falla una "
"función que toma dos nombres de archivo."
#: ../Doc/c-api/exceptions.rst:184
@@ -351,7 +351,7 @@ msgid ""
"specifying the exception type to be raised."
msgstr ""
"Similar a :c:func:`PyErr_SetFromWindowsErr`, con un parámetro adicional que "
-"especifica el tipo de excepción que se generará."
+"especifica el tipo de excepción que se lanzará."
#: ../Doc/c-api/exceptions.rst:213
msgid ""
@@ -370,7 +370,7 @@ msgid ""
"additional parameter specifying the exception type to be raised."
msgstr ""
"Similar a :c:func:`PyErr_SetFromWindowsErrWithFilenameObject`, con un "
-"parámetro adicional que especifica el tipo de excepción que se generará."
+"parámetro adicional que especifica el tipo de excepción que se lanzará."
#: ../Doc/c-api/exceptions.rst:230
msgid ""
@@ -386,7 +386,7 @@ msgid ""
"parameter specifying the exception type to be raised."
msgstr ""
"Similar a :c:func:`PyErr_SetFromWindowsErrWithFilename`, con un parámetro "
-"adicional que especifica el tipo de excepción que se generará."
+"adicional que especifica el tipo de excepción que se lanzará."
#: ../Doc/c-api/exceptions.rst:248
msgid ""
@@ -462,10 +462,10 @@ msgstr ""
"funciones similares exportadas por el módulo Python :mod:`warnings`. "
"Normalmente imprimen un mensaje de advertencia a *sys.stderr*; sin embargo, "
"también es posible que el usuario haya especificado que las advertencias se "
-"conviertan en errores, y en ese caso generarán una excepción. También es "
+"conviertan en errores, y en ese caso lanzarán una excepción. También es "
"posible que las funciones generen una excepción debido a un problema con la "
-"maquinaria de advertencia. El valor de retorno es ``0`` si no se genera una "
-"excepción, o ``-1`` si se genera una excepción. (No es posible determinar si "
+"maquinaria de advertencia. El valor de retorno es ``0`` si no se lanza una "
+"excepción, o ``-1`` si se lanza una excepción. (No es posible determinar si "
"realmente se imprime un mensaje de advertencia, ni cuál es el motivo de la "
"excepción; esto es intencional). Si se produce una excepción, la persona que "
"llama debe hacer su manejo normal de excepciones (por ejemplo, referencias "
@@ -786,7 +786,7 @@ msgid ""
"`PyErr_CheckSignals()` invocation)."
msgstr ""
"La función intenta manejar todas las señales pendientes y luego devuelve "
-"``0``. Sin embargo, si un manejador de señales de Python genera una "
+"``0``. Sin embargo, si un manejador de señales de Python lanza una "
"excepción, el indicador de error se establece y la función devuelve ``-1`` "
"inmediatamente (de modo que es posible que otras señales pendientes no se "
"hayan manejado todavía: estarán en la siguiente invocación de :c:func:"
@@ -815,7 +815,7 @@ msgid ""
"`KeyboardInterrupt` exception."
msgstr ""
"El controlador de señales de Python predeterminado para :const:`SIGINT` "
-"genera la excepción :exc:`KeyboardInterrupt`."
+"lanza la excepción :exc:`KeyboardInterrupt`."
#: ../Doc/c-api/exceptions.rst:539
msgid ""
@@ -1905,24 +1905,3 @@ msgstr ":c:data:`PyExc_ResourceWarning`."
#: ../Doc/c-api/exceptions.rst:1098
msgid "This is a base class for other standard warning categories."
msgstr "Esta es una clase base para otras categorías de advertencia estándar."
-
-#~ msgid ""
-#~ "This function interacts with Python's signal handling. It checks whether "
-#~ "a signal has been sent to the processes and if so, invokes the "
-#~ "corresponding signal handler. If the :mod:`signal` module is supported, "
-#~ "this can invoke a signal handler written in Python. In all cases, the "
-#~ "default effect for :const:`SIGINT` is to raise the :exc:"
-#~ "`KeyboardInterrupt` exception. If an exception is raised the error "
-#~ "indicator is set and the function returns ``-1``; otherwise the function "
-#~ "returns ``0``. The error indicator may or may not be cleared if it was "
-#~ "previously set."
-#~ msgstr ""
-#~ "Esta función interactúa con el manejo de la señal de Python. Comprueba si "
-#~ "se ha enviado una señal a los procesos y, de ser así, invoca el "
-#~ "controlador de señal correspondiente. Si el módulo :mod:`signal` es "
-#~ "compatible, esto puede invocar un controlador de señal escrito en Python. "
-#~ "En todos los casos, el efecto predeterminado para :const:`SIGINT` es "
-#~ "aumentar la excepción :exc:`KeyboardInterrupt`. Si se produce una "
-#~ "excepción, se establece el indicador de error y la función retorna "
-#~ "``-1``; de lo contrario, la función retorna ``0``. El indicador de error "
-#~ "puede o no borrarse si se configuró previamente."
diff --git a/c-api/float.po b/c-api/float.po
index e3e0e3106f..f73243005a 100644
--- a/c-api/float.po
+++ b/c-api/float.po
@@ -126,10 +126,3 @@ msgid ""
msgstr ""
"Retorna el flotante positivo normalizado mínimo *DBL_MIN* como C :c:type:"
"`double`."
-
-#~ msgid ""
-#~ "Clear the float free list. Return the number of items that could not be "
-#~ "freed."
-#~ msgstr ""
-#~ "Borra la lista libre de flotantes. Retorna el número de artículos que no "
-#~ "se pudieron liberar."
diff --git a/c-api/import.po b/c-api/import.po
index 04c340f9ee..ca6ae26d1d 100644
--- a/c-api/import.po
+++ b/c-api/import.po
@@ -474,12 +474,3 @@ msgstr ""
"Si Python es inicializado múltiples veces, se debe llamar :c:func:"
"`PyImport_AppendInittab` o :c:func:`PyImport_ExtendInittab` antes de cada "
"inicialización de Python."
-
-#~ msgid "Initialize the import mechanism. For internal use only."
-#~ msgstr "Inicializa el mecanismo de importación. Sólo para uso interno."
-
-#~ msgid "Empty the module table. For internal use only."
-#~ msgstr "Vacía la tabla del módulo (*module table*). Sólo para uso interno."
-
-#~ msgid "Finalize the import mechanism. For internal use only."
-#~ msgstr "Finaliza el mecanismo de importación. Sólo para uso interno."
diff --git a/c-api/init.po b/c-api/init.po
index 81761aa14e..73e43a90c4 100644
--- a/c-api/init.po
+++ b/c-api/init.po
@@ -2907,26 +2907,3 @@ msgid ""
msgstr ""
"Debido al problema de compatibilidad mencionado anteriormente, esta versión "
"de la API no debe usarse en código nuevo."
-
-#~ msgid ""
-#~ "Initialize and acquire the global interpreter lock. It should be called "
-#~ "in the main thread before creating a second thread or engaging in any "
-#~ "other thread operations such as ``PyEval_ReleaseThread(tstate)``. It is "
-#~ "not needed before calling :c:func:`PyEval_SaveThread` or :c:func:"
-#~ "`PyEval_RestoreThread`."
-#~ msgstr ""
-#~ "Inicializa y adquiere el bloqueo global de intérprete. Debe llamarse en "
-#~ "el hilo principal antes de crear un segundo hilo o participar en "
-#~ "cualquier otra operación de hilo como ``PyEval_ReleaseThread(tstate)``. "
-#~ "No es necesario antes de llamar a :c:func:`PyEval_SaveThread` o :c:func:"
-#~ "`PyEval_RestoreThread`."
-
-#~ msgid "This is a no-op when called for a second time."
-#~ msgstr "Esto es un *no-op* cuando se llama por segunda vez."
-
-#~ msgid ""
-#~ "If the flag is non-zero, use the ``mbcs`` encoding instead of the UTF-8 "
-#~ "encoding for the filesystem encoding."
-#~ msgstr ""
-#~ "Si el indicador no es cero, use la codificación ``mbcs`` en lugar de la "
-#~ "codificación UTF-8 para la codificación del sistema de archivos."
diff --git a/c-api/init_config.po b/c-api/init_config.po
index 64ad4991a6..6cc988f521 100644
--- a/c-api/init_config.po
+++ b/c-api/init_config.po
@@ -11,12 +11,12 @@ msgstr ""
"POT-Creation-Date: 2021-10-16 21:42+0200\n"
"PO-Revision-Date: 2021-08-02 01:43+0200\n"
"Last-Translator: Cristián Maureira-Fredes \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.9.1\n"
#: ../Doc/c-api/init_config.rst:7
@@ -29,11 +29,13 @@ msgid ""
"type:`PyConfig` structure. It can be preinitialized with :c:func:"
"`Py_PreInitialize` and the :c:type:`PyPreConfig` structure."
msgstr ""
+"Python se puede inicializar con :c:func:`Py_InitializeFromConfig` y la "
+"estructura :c:type:`PyConfig`. Se puede preinicializar con :c:func:"
+"`Py_PreInitialize` y la estructura :c:type:`PyPreConfig`."
#: ../Doc/c-api/init_config.rst:15
-#, fuzzy
msgid "There are two kinds of configuration:"
-msgstr "Lee toda la configuración de Python."
+msgstr "Hay dos tipos de configuración:"
#: ../Doc/c-api/init_config.rst:17
msgid ""
@@ -42,6 +44,10 @@ msgid ""
"environments variables and command line arguments are used to configure "
"Python."
msgstr ""
+"La :ref:`Configuración de Python ` se puede utilizar "
+"para crear un Python personalizado que se comporte como el Python normal. "
+"Por ejemplo, las variables de entorno y los argumentos de la línea de "
+"comandos se utilizan para configurar Python."
#: ../Doc/c-api/init_config.rst:22
msgid ""
@@ -50,12 +56,18 @@ msgid ""
"environments variables are ignored, the LC_CTYPE locale is left unchanged "
"and no signal handler is registered."
msgstr ""
+"La :ref:`Configuración Aislada ` se puede utilizar para "
+"incrustar Python en una aplicación. Aísla a Python del sistema. Por ejemplo, "
+"las variables de entorno se ignoran, la configuración regional LC_CTYPE se "
+"deja sin cambios y no se registra ningún manejador de señales."
#: ../Doc/c-api/init_config.rst:27
msgid ""
"The :c:func:`Py_RunMain` function can be used to write a customized Python "
"program."
msgstr ""
+"La función :c:func:`Py_RunMain` se puede utilizar para escribir un programa "
+"Python personalizado."
#: ../Doc/c-api/init_config.rst:30
msgid ""
@@ -69,9 +81,8 @@ msgid ":pep:`587` \"Python Initialization Configuration\"."
msgstr ":pep:`587` \"Configuración de inicialización de Python\"."
#: ../Doc/c-api/init_config.rst:37
-#, fuzzy
msgid "Example"
-msgstr "Ejemplo::"
+msgstr "Ejemplo"
#: ../Doc/c-api/init_config.rst:39
msgid "Example of customized Python always running in isolated mode::"
@@ -176,7 +187,7 @@ msgstr "Error de inicialización con un mensaje."
#: ../Doc/c-api/init_config.rst:148
msgid "*err_msg* must not be ``NULL``."
-msgstr ""
+msgstr "*err_msg* no debe ser ``NULL``."
#: ../Doc/c-api/init_config.rst:152
msgid "Memory allocation failure (out of memory)."
@@ -233,9 +244,8 @@ msgid "PyPreConfig"
msgstr "PyPreConfig"
#: ../Doc/c-api/init_config.rst:211
-#, fuzzy
msgid "Structure used to preinitialize Python."
-msgstr "Estructura utilizada para preinicializar Python:"
+msgstr "Estructura utilizada para preinicializar Python."
#: ../Doc/c-api/init_config.rst:213
msgid "Function to initialize a preconfiguration:"
@@ -258,61 +268,63 @@ msgstr ""
"isolated-conf>`."
#: ../Doc/c-api/init_config.rst:229
-#, fuzzy
msgid "Name of the Python memory allocators:"
-msgstr "Nombre del asignador de memoria:"
+msgstr "Nombre de los asignadores de memoria de Python:"
#: ../Doc/c-api/init_config.rst:231
-#, fuzzy
msgid ""
"``PYMEM_ALLOCATOR_NOT_SET`` (``0``): don't change memory allocators (use "
"defaults)."
msgstr ""
-"``PYMEM_ALLOCATOR_NOT_SET`` (``0``): no cambie los asignadores de memoria "
-"(use los valores predeterminados)"
+"``PYMEM_ALLOCATOR_NOT_SET`` (``0``): no cambia asignadores de memoria (usa "
+"los valores predeterminados)"
#: ../Doc/c-api/init_config.rst:233
msgid ""
"``PYMEM_ALLOCATOR_DEFAULT`` (``1``): :ref:`default memory allocators "
"`."
msgstr ""
+"``PYMEM_ALLOCATOR_DEFAULT`` (``1``): :ref:`asignadores de memoria "
+"predeterminados `."
#: ../Doc/c-api/init_config.rst:235
msgid ""
"``PYMEM_ALLOCATOR_DEBUG`` (``2``): :ref:`default memory allocators ` with :ref:`debug hooks `."
msgstr ""
+"``PYMEM_ALLOCATOR_DEBUG`` (``2``): :ref:`asignadores de memoria "
+"predeterminados ` con :ref:`ganchos de depuración "
+"`."
#: ../Doc/c-api/init_config.rst:238
msgid "``PYMEM_ALLOCATOR_MALLOC`` (``3``): use ``malloc()`` of the C library."
msgstr ""
+"``PYMEM_ALLOCATOR_MALLOC`` (``3``): usa ``malloc()`` de la biblioteca C."
#: ../Doc/c-api/init_config.rst:239
-#, fuzzy
msgid ""
"``PYMEM_ALLOCATOR_MALLOC_DEBUG`` (``4``): force usage of ``malloc()`` with :"
"ref:`debug hooks `."
msgstr ""
-"``PYMEM_ALLOCATOR_MALLOC_DEBUG`` (``4``): fuerza el uso de ``malloc()`` con "
-"ganchos de depuración"
+"``PYMEM_ALLOCATOR_MALLOC_DEBUG`` (``4``): fuerza el uso de ``malloc()`` con :"
+"ref:`ganchos de depuración `."
#: ../Doc/c-api/init_config.rst:241
-#, fuzzy
msgid ""
"``PYMEM_ALLOCATOR_PYMALLOC`` (``5``): :ref:`Python pymalloc memory allocator "
"`."
msgstr ""
-"``PYMEM_ALLOCATOR_PYMALLOC`` (``5``): :ref:`Python pymalloc memory allocator "
-"`"
+"``PYMEM_ALLOCATOR_PYMALLOC`` (``5``): :ref:`asignador de memoria pymalloc de "
+"Python `"
#: ../Doc/c-api/init_config.rst:243
-#, fuzzy
msgid ""
"``PYMEM_ALLOCATOR_PYMALLOC_DEBUG`` (``6``): :ref:`Python pymalloc memory "
"allocator ` with :ref:`debug hooks `."
msgstr ""
-"``PYMEM_ALLOCATOR_PYMALLOC_DEBUG`` (``6``): :ref:`Python pymalloc memory "
-"allocator ` con ganchos de depuración"
+"``PYMEM_ALLOCATOR_PYMALLOC_DEBUG`` (``6``): :ref:`asignador de memoria "
+"pymalloc de Python ` con :ref:`ganchos de depuración `."
#: ../Doc/c-api/init_config.rst:247
msgid ""
@@ -320,6 +332,9 @@ msgid ""
"supported if Python is :option:`configured using --without-pymalloc <--"
"without-pymalloc>`."
msgstr ""
+"``PYMEM_ALLOCATOR_PYMALLOC`` y ``PYMEM_ALLOCATOR_PYMALLOC_DEBUG`` no son "
+"compatibles si Python es :option:`configurado usando --without-pymalloc <--"
+"without-pymalloc>`."
#: ../Doc/c-api/init_config.rst:251
msgid "See :ref:`Memory Management `."
@@ -327,46 +342,49 @@ msgstr "Ver :ref:`Administración de memorias `."
#: ../Doc/c-api/init_config.rst:253
msgid "Default: ``PYMEM_ALLOCATOR_NOT_SET``."
-msgstr ""
+msgstr "Predeterminado: ``PYMEM_ALLOCATOR_NOT_SET``."
#: ../Doc/c-api/init_config.rst:257
msgid "Set the LC_CTYPE locale to the user preferred locale?"
msgstr ""
+"¿Establecer la configuración regional LC_CTYPE en la configuración regional "
+"preferida del usuario?"
#: ../Doc/c-api/init_config.rst:259
-#, fuzzy
msgid ""
"If equals to 0, set :c:member:`~PyPreConfig.coerce_c_locale` and :c:member:"
"`~PyPreConfig.coerce_c_locale_warn` members to 0."
msgstr ""
-"¿Establece la configuración regional LC_CTYPE en la configuración regional "
-"preferida por el usuario? Si es igual a 0, establece :c:member:"
-"`coerce_c_locale` y :c:member:`coerce_c_locale_warn` en 0."
+"Si es igual a 0, establezca los miembros :c:member:`~PyPreConfig."
+"coerce_c_locale` y :c:member:`~PyPreConfig.coerce_c_locale_warn` en 0."
#: ../Doc/c-api/init_config.rst:262 ../Doc/c-api/init_config.rst:273
msgid "See the :term:`locale encoding`."
-msgstr ""
+msgstr "Vea el :term:`locale encoding`."
#: ../Doc/c-api/init_config.rst:264 ../Doc/c-api/init_config.rst:319
#: ../Doc/c-api/init_config.rst:627
msgid "Default: ``1`` in Python config, ``0`` in isolated config."
msgstr ""
+"Predeterminado: ``1`` en la configuración de Python, ``0`` en la "
+"configuración aislada."
#: ../Doc/c-api/init_config.rst:268
msgid "If equals to 2, coerce the C locale."
-msgstr ""
+msgstr "Si es igual a 2, imponga la configuración regional C."
#: ../Doc/c-api/init_config.rst:270
-#, fuzzy
msgid ""
"If equals to 1, read the LC_CTYPE locale to decide if it should be coerced."
msgstr ""
-"Si es igual a 2, coaccione la configuración regional C; si es igual a 1, lea "
-"la configuración regional LC_CTYPE para decidir si debe ser forzado."
+"Si es igual a 1, lea la configuración regional LC_CTYPE para decidir si debe "
+"ser coaccionado."
#: ../Doc/c-api/init_config.rst:275 ../Doc/c-api/init_config.rst:281
msgid "Default: ``-1`` in Python config, ``0`` in isolated config."
msgstr ""
+"Predeterminado: ``-1`` en la configuración de Python, ``0`` en la "
+"configuración aislada."
#: ../Doc/c-api/init_config.rst:279
msgid "If non-zero, emit a warning if the C locale is coerced."
@@ -375,53 +393,49 @@ msgstr ""
"coaccionada."
#: ../Doc/c-api/init_config.rst:285
-#, fuzzy
msgid ""
"If non-zero, enables the :ref:`Python Development Mode `: see :c:"
"member:`PyConfig.dev_mode`."
msgstr ""
-"Si es distinto de cero, habilita :ref:`Modo de desarrollo de Python "
-"`."
+"Si es distinto de cero, habilita el :ref:`Modo de desarrollo de Python "
+"`: consulte :c:member:`PyConfig.dev_mode`."
#: ../Doc/c-api/init_config.rst:288 ../Doc/c-api/init_config.rst:633
#: ../Doc/c-api/init_config.rst:675 ../Doc/c-api/init_config.rst:1094
msgid "Default: ``-1`` in Python mode, ``0`` in isolated mode."
-msgstr ""
+msgstr "Por defecto: ``-1`` en modo Python, ``0`` en modo aislado."
#: ../Doc/c-api/init_config.rst:292
-#, fuzzy
msgid "Isolated mode: see :c:member:`PyConfig.isolated`."
-msgstr "Ver :c:member:`PyConfig.isolated`."
+msgstr "Modo aislado: consulte :c:member:`PyConfig.isolated`."
#: ../Doc/c-api/init_config.rst:294 ../Doc/c-api/init_config.rst:798
msgid "Default: ``0`` in Python mode, ``1`` in isolated mode."
-msgstr ""
+msgstr "Por defecto: ``0`` en modo Python, ``1`` en modo aislado."
#: ../Doc/c-api/init_config.rst:298
msgid "If non-zero:"
-msgstr ""
+msgstr "Si no es cero:"
#: ../Doc/c-api/init_config.rst:300
-#, fuzzy
msgid "Set :c:member:`PyPreConfig.utf8_mode` to ``0``,"
-msgstr "Ver :c:member:`PyConfig.dev_mode`."
+msgstr "Establezca :c:member:`PyPreConfig.utf8_mode` en ``0``,"
#: ../Doc/c-api/init_config.rst:301
msgid "Set :c:member:`PyConfig.filesystem_encoding` to ``\"mbcs\"``,"
-msgstr ""
+msgstr "Establezca :c:member:`PyConfig.filesystem_encoding` en ``\"mbcs\"``,"
#: ../Doc/c-api/init_config.rst:302
msgid "Set :c:member:`PyConfig.filesystem_errors` to ``\"replace\"``."
-msgstr ""
+msgstr "Establezca :c:member:`PyConfig.filesystem_errors` en ``\"replace\"``."
#: ../Doc/c-api/init_config.rst:304
-#, fuzzy
msgid ""
"Initialized the from :envvar:`PYTHONLEGACYWINDOWSFSENCODING` environment "
"variable value."
msgstr ""
-"Inicializado desde valor de variable de entorno :envvar:`PYTHONPATH` por "
-"defecto."
+"Inicializado desde valor de variable de entorno :envvar:"
+"`PYTHONLEGACYWINDOWSFSENCODING`."
#: ../Doc/c-api/init_config.rst:307 ../Doc/c-api/init_config.rst:811
msgid ""
@@ -440,7 +454,7 @@ msgstr ""
#: ../Doc/c-api/init_config.rst:1029 ../Doc/c-api/init_config.rst:1058
#: ../Doc/c-api/init_config.rst:1129
msgid "Default: ``0``."
-msgstr ""
+msgstr "Predeterminado: ``0``."
#: ../Doc/c-api/init_config.rst:314
msgid ""
@@ -455,62 +469,71 @@ msgstr ""
"`Argumentos de línea de comandos `."
#: ../Doc/c-api/init_config.rst:323
-#, fuzzy
msgid ""
"Use :ref:`environment variables `? See :c:member:`PyConfig."
"use_environment`."
-msgstr "Si es mayor que 0, use :ref:`variables de entorno `."
+msgstr ""
+"¿Utiliza :ref:`variables de entorno `? Consulte :c:member:"
+"`PyConfig.use_environment`."
#: ../Doc/c-api/init_config.rst:326 ../Doc/c-api/init_config.rst:1103
msgid "Default: ``1`` in Python config and ``0`` in isolated config."
msgstr ""
+"Predeterminado: ``1`` en la configuración de Python y ``0`` en la "
+"configuración aislada."
#: ../Doc/c-api/init_config.rst:330
-#, fuzzy
msgid "If non-zero, enable the :ref:`Python UTF-8 Mode `."
-msgstr ""
-"Si es distinto de cero, habilita :ref:`Modo de desarrollo de Python "
-"`."
+msgstr "Si es distinto de cero, habilite :ref:`Python UTF-8 Mode `."
#: ../Doc/c-api/init_config.rst:332
msgid ""
"Set by the :option:`-X utf8 <-X>` command line option and the :envvar:"
"`PYTHONUTF8` environment variable."
msgstr ""
+"Establecido por la opción de línea de comando :option:`-X utf8 <-X>` y la "
+"variable de entorno :envvar:`PYTHONUTF8`."
#: ../Doc/c-api/init_config.rst:335
msgid "Default: ``-1`` in Python config and ``0`` in isolated config."
msgstr ""
+"Predeterminado: ``-1`` en la configuración de Python y ``0`` en la "
+"configuración aislada."
#: ../Doc/c-api/init_config.rst:341
-#, fuzzy
msgid "Preinitialize Python with PyPreConfig"
-msgstr "Preinicialización con PyPreConfig"
+msgstr "Preinicialización de Python con PyPreConfig"
#: ../Doc/c-api/init_config.rst:343
-#, fuzzy
msgid "The preinitialization of Python:"
-msgstr "Preinicialización con PyPreConfig"
+msgstr "La preinicialización de Python:"
#: ../Doc/c-api/init_config.rst:345
msgid "Set the Python memory allocators (:c:member:`PyPreConfig.allocator`)"
msgstr ""
+"Establecer los asignadores de memoria de Python (:c:member:`PyPreConfig."
+"allocator`)"
#: ../Doc/c-api/init_config.rst:346
msgid "Configure the LC_CTYPE locale (:term:`locale encoding`)"
msgstr ""
+"Configurar la configuración regional LC_CTYPE (:term:`locale encoding`)"
#: ../Doc/c-api/init_config.rst:347
msgid ""
"Set the :ref:`Python UTF-8 Mode ` (:c:member:`PyPreConfig."
"utf8_mode`)"
msgstr ""
+"Establecer el :ref:`Python UTF-8 Mode ` (:c:member:`PyPreConfig."
+"utf8_mode`)"
#: ../Doc/c-api/init_config.rst:350
msgid ""
"The current preconfiguration (``PyPreConfig`` type) is stored in "
"``_PyRuntime.preconfig``."
msgstr ""
+"La preconfiguración actual (tipo ``PyPreConfig``) se almacena en "
+"``_PyRuntime.preconfig``."
#: ../Doc/c-api/init_config.rst:353
msgid "Functions to preinitialize Python:"
@@ -524,19 +547,23 @@ msgstr "Preinicializa Python desde la preconfiguración *preconfig*."
#: ../Doc/c-api/init_config.rst:359 ../Doc/c-api/init_config.rst:368
#: ../Doc/c-api/init_config.rst:377
msgid "*preconfig* must not be ``NULL``."
-msgstr ""
+msgstr "*preconfig* no debe ser ``NULL``."
#: ../Doc/c-api/init_config.rst:365
msgid ""
"Parse *argv* command line arguments (bytes strings) if :c:member:"
"`~PyPreConfig.parse_argv` of *preconfig* is non-zero."
msgstr ""
+"Analice los argumentos de la línea de comando *argv* (cadenas de bytes) si :"
+"c:member:`~PyPreConfig.parse_argv` de *preconfig* no es cero."
#: ../Doc/c-api/init_config.rst:374
msgid ""
"Parse *argv* command line arguments (wide strings) if :c:member:"
"`~PyPreConfig.parse_argv` of *preconfig* is non-zero."
msgstr ""
+"Analice los argumentos de la línea de comando *argv* (cadenas anchas) si :c:"
+"member:`~PyPreConfig.parse_argv` de *preconfig* no es cero."
#: ../Doc/c-api/init_config.rst:379 ../Doc/c-api/init_config.rst:1191
msgid ""
@@ -548,7 +575,6 @@ msgstr ""
"`Py_ExitStatusException`."
#: ../Doc/c-api/init_config.rst:382
-#, fuzzy
msgid ""
"For :ref:`Python Configuration ` (:c:func:"
"`PyPreConfig_InitPythonConfig`), if Python is initialized with command line "
@@ -559,10 +585,11 @@ msgid ""
msgstr ""
"Para :ref:`Configuración de Python ` (:c:func:"
"`PyPreConfig_InitPythonConfig`), si Python se inicializa con argumentos de "
-"línea de comando, los argumentos de línea de comando también deben pasarse "
-"para preinicializar Python, ya que tienen un efecto en la preconfiguración "
-"como codificaciones. Por ejemplo, la opción de línea de comando :option:`-X "
-"utf8 <-X>` habilita el modo UTF-8."
+"línea de comando, los argumentos de la línea de comando también deben "
+"pasarse para preinicializar Python, ya que tienen un efecto en la "
+"preconfiguración como codificaciones. Por ejemplo, la opción de línea de "
+"comando :option:`-X utf8 <-X>` habilita el :ref:`Python UTF-8 Mode `."
#: ../Doc/c-api/init_config.rst:389
msgid ""
@@ -578,7 +605,6 @@ msgstr ""
"``PYMEM_ALLOCATOR_NOT_SET``."
#: ../Doc/c-api/init_config.rst:394
-#, fuzzy
msgid ""
"Python memory allocation functions like :c:func:`PyMem_RawMalloc` must not "
"be used before the Python preinitialization, whereas calling directly "
@@ -588,15 +614,16 @@ msgstr ""
"Las funciones de asignación de memoria de Python como :c:func:"
"`PyMem_RawMalloc` no deben usarse antes de la preinicialización de Python, "
"mientras que llamar directamente a ``malloc()`` y ``free()`` siempre es "
-"seguro. :c:func:`Py_DecodeLocale` no debe llamarse antes de la "
-"preinicialización."
+"seguro. No se debe llamar a :c:func:`Py_DecodeLocale` antes de la "
+"preinicialización de Python."
#: ../Doc/c-api/init_config.rst:399
-#, fuzzy
msgid ""
"Example using the preinitialization to enable the :ref:`Python UTF-8 Mode "
"`::"
-msgstr "Ejemplo usando la preinicialización para habilitar el modo UTF-8::"
+msgstr ""
+"Ejemplo usando la preinicialización para habilitar el :ref:`Python UTF-8 "
+"Mode ` ::"
#: ../Doc/c-api/init_config.rst:421
msgid "PyConfig"
@@ -612,28 +639,28 @@ msgid ""
"When done, the :c:func:`PyConfig_Clear` function must be used to release the "
"configuration memory."
msgstr ""
+"Cuando termine, se debe utilizar la función :c:func:`PyConfig_Clear` para "
+"liberar la memoria de configuración."
#: ../Doc/c-api/init_config.rst:430
msgid "Structure methods:"
msgstr "Métodos de estructura:"
#: ../Doc/c-api/init_config.rst:434
-#, fuzzy
msgid ""
"Initialize configuration with the :ref:`Python Configuration `."
msgstr ""
-"Inicializa la configuración con :ref:`Configuración de Python `."
+"Inicialice la configuración con la :ref:`Configuración de Python `."
#: ../Doc/c-api/init_config.rst:439
-#, fuzzy
msgid ""
"Initialize configuration with the :ref:`Isolated Configuration `."
msgstr ""
-"Inicializa la configuración con :ref:`Configuración aislada `."
+"Inicialice la configuración con la :ref:`Configuración Aislada `."
#: ../Doc/c-api/init_config.rst:444
msgid "Copy the wide character string *str* into ``*config_str``."
@@ -642,26 +669,24 @@ msgstr "Copia la cadena de caracteres anchos *str* en ``*config_str``."
#: ../Doc/c-api/init_config.rst:446 ../Doc/c-api/init_config.rst:453
#: ../Doc/c-api/init_config.rst:460 ../Doc/c-api/init_config.rst:468
#: ../Doc/c-api/init_config.rst:474 ../Doc/c-api/init_config.rst:488
-#, fuzzy
msgid ":ref:`Preinitialize Python ` if needed."
-msgstr "Preinicializa Python si es necesario."
+msgstr ":ref:`Preinicializa Python ` si es necesario."
#: ../Doc/c-api/init_config.rst:450
-#, fuzzy
msgid ""
"Decode *str* using :c:func:`Py_DecodeLocale` and set the result into "
"``*config_str``."
msgstr ""
-"Decodifica *str* usando ``Py_DecodeLocale()`` y configure el resultado en "
-"``*config_str``."
+"Decodifique *str* usando :c:func:`Py_DecodeLocale` y establezca el resultado "
+"en ``*config_str``."
#: ../Doc/c-api/init_config.rst:457
-#, fuzzy
msgid ""
"Set command line arguments (:c:member:`~PyConfig.argv` member of *config*) "
"from the *argv* list of wide character strings."
msgstr ""
-"Establezca argumentos de línea de comando a partir de cadenas de caracteres "
+"Configure los argumentos de la línea de comando (miembro :c:member:"
+"`~PyConfig.argv` de *config*) de la lista *argv* de cadenas de caracteres "
"anchas."
#: ../Doc/c-api/init_config.rst:464
@@ -670,6 +695,9 @@ msgid ""
"from the *argv* list of bytes strings. Decode bytes using :c:func:"
"`Py_DecodeLocale`."
msgstr ""
+"Establezca argumentos de línea de comando (miembro :c:member:`~PyConfig."
+"argv` de *config*) de la lista *argv* de cadenas de bytes. Decodifica bytes "
+"usando :c:func:`Py_DecodeLocale`."
#: ../Doc/c-api/init_config.rst:472
msgid "Set the list of wide strings *list* to *length* and *items*."
@@ -693,6 +721,11 @@ msgid ""
"`PyConfig.argv`, parsing arguments twice would parse the application options "
"as Python options."
msgstr ""
+"La función :c:func:`PyConfig_Read` solo analiza los argumentos :c:member:"
+"`PyConfig.argv` una vez: :c:member:`PyConfig.parse_argv` se establece en "
+"``2`` después de analizar los argumentos. Dado que los argumentos de Python "
+"se eliminan de :c:member:`PyConfig.argv`, analizar los argumentos dos veces "
+"analizaría las opciones de la aplicación como opciones de Python."
#: ../Doc/c-api/init_config.rst:490
msgid ""
@@ -700,13 +733,16 @@ msgid ""
"`PyConfig.parse_argv` is set to ``2`` after arguments are parsed, and "
"arguments are only parsed if :c:member:`PyConfig.parse_argv` equals ``1``."
msgstr ""
+"Los argumentos :c:member:`PyConfig.argv` ahora solo se analizan una vez, :c:"
+"member:`PyConfig.parse_argv` se establece en ``2`` después de analizar los "
+"argumentos y los argumentos solo se analizan si :c:member:`PyConfig."
+"parse_argv` es igual a ``1``."
#: ../Doc/c-api/init_config.rst:498
msgid "Release configuration memory."
msgstr "Libera memoria de configuración."
#: ../Doc/c-api/init_config.rst:500
-#, fuzzy
msgid ""
"Most ``PyConfig`` methods :ref:`preinitialize Python ` if needed. "
"In that case, the Python preinitialization configuration (:c:type:"
@@ -714,44 +750,40 @@ msgid ""
"which are in common with :c:type:`PyPreConfig` are tuned, they must be set "
"before calling a :c:type:`PyConfig` method:"
msgstr ""
-"La mayoría de los métodos ``PyConfig`` preinicializan Python si es "
-"necesario. En ese caso, la configuración de preinicialización de Python se "
-"basa en :c:type:`PyConfig`. Si los campos de configuración que son comunes "
-"con :c:type:`PyPreConfig` están ajustados, deben configurarse antes de "
-"llamar al método :c:type:`PyConfig`:"
+"La mayoría de los método ``PyConfig`` :ref:`preinitializan Python ` si es necesario. En ese caso, la configuración de "
+"preinicialización de Python (:c:type:`PyPreConfig`) se basa en :c:type:"
+"`PyConfig`. Si se ajustan los campos de configuración que son comunes con :c:"
+"type:`PyPreConfig`, deben establecerse antes de llamar a un método :c:type:"
+"`PyConfig`:"
#: ../Doc/c-api/init_config.rst:506
-#, fuzzy
msgid ":c:member:`PyConfig.dev_mode`"
-msgstr ":c:member:`~PyConfig.dev_mode`"
+msgstr ":c:member:`PyConfig.dev_mode`"
#: ../Doc/c-api/init_config.rst:507
-#, fuzzy
msgid ":c:member:`PyConfig.isolated`"
-msgstr ":c:member:`~PyConfig.isolated`"
+msgstr ":c:member:`PyConfig.isolated`"
#: ../Doc/c-api/init_config.rst:508
-#, fuzzy
msgid ":c:member:`PyConfig.parse_argv`"
-msgstr ":c:member:`~PyConfig.parse_argv`"
+msgstr ":c:member:`PyConfig.parse_argv`"
#: ../Doc/c-api/init_config.rst:509
-#, fuzzy
msgid ":c:member:`PyConfig.use_environment`"
-msgstr ":c:member:`~PyConfig.use_environment`"
+msgstr ":c:member:`PyConfig.use_environment`"
#: ../Doc/c-api/init_config.rst:511
-#, fuzzy
msgid ""
"Moreover, if :c:func:`PyConfig_SetArgv` or :c:func:`PyConfig_SetBytesArgv` "
"is used, this method must be called before other methods, since the "
"preinitialization configuration depends on command line arguments (if :c:"
"member:`parse_argv` is non-zero)."
msgstr ""
-"Además, si se utiliza :c:func:`PyConfig_SetArgv` o :c:func:"
-"`PyConfig_SetBytesArgv`, este método debe llamarse primero, antes que otros "
-"métodos, ya que la configuración de preinicialización depende de los "
-"argumentos de la línea de comandos (si :c:member:`parse_argv` no es cero)."
+"Además, si se usa :c:func:`PyConfig_SetArgv` o :c:func:"
+"`PyConfig_SetBytesArgv`, este método debe llamarse antes que otros métodos, "
+"ya que la configuración de preinicialización depende de los argumentos de la "
+"línea de comando (si :c:member:`parse_argv` no es cero)."
#: ../Doc/c-api/init_config.rst:516
msgid ""
@@ -764,7 +796,7 @@ msgstr ""
#: ../Doc/c-api/init_config.rst:523
msgid "Command line arguments: :data:`sys.argv`."
-msgstr ""
+msgstr "Argumentos de la línea de comando: :data:`sys.argv`."
#: ../Doc/c-api/init_config.rst:525
msgid ""
@@ -772,12 +804,18 @@ msgid ""
"argv` the same way the regular Python parses Python command line arguments "
"and then to strip Python arguments from :c:member:`~PyConfig.argv`."
msgstr ""
+"Configure :c:member:`~PyConfig.parse_argv` en ``1`` para analizar :c:member:"
+"`~PyConfig.argv` de la misma manera que Python normal analiza los argumentos "
+"de la línea de comandos de Python y luego quita los argumentos de Python de :"
+"c:member:`~PyConfig.argv`."
#: ../Doc/c-api/init_config.rst:530
msgid ""
"If :c:member:`~PyConfig.argv` is empty, an empty string is added to ensure "
"that :data:`sys.argv` always exists and is never empty."
msgstr ""
+"Si :c:member:`~PyConfig.argv` está vacío, se agrega una cadena vacía para "
+"garantizar que :data:`sys.argv` siempre exista y nunca esté vacío."
#: ../Doc/c-api/init_config.rst:533 ../Doc/c-api/init_config.rst:541
#: ../Doc/c-api/init_config.rst:553 ../Doc/c-api/init_config.rst:561
@@ -786,14 +824,12 @@ msgstr ""
#: ../Doc/c-api/init_config.rst:949 ../Doc/c-api/init_config.rst:967
#: ../Doc/c-api/init_config.rst:981 ../Doc/c-api/init_config.rst:998
#: ../Doc/c-api/init_config.rst:1010 ../Doc/c-api/init_config.rst:1018
-#, fuzzy
msgid "Default: ``NULL``."
-msgstr "El valor predeterminado es: ``default``."
+msgstr "Valor predeterminado: ``NULL``."
#: ../Doc/c-api/init_config.rst:535
-#, fuzzy
msgid "See also the :c:member:`~PyConfig.orig_argv` member."
-msgstr ":c:member:`~PyConfig.parse_argv`"
+msgstr "Consulte también el miembro :c:member:`~PyConfig.orig_argv`."
#: ../Doc/c-api/init_config.rst:539
msgid ":data:`sys.base_exec_prefix`."
@@ -803,23 +839,21 @@ msgstr ":data:`sys.base_exec_prefix`."
#: ../Doc/c-api/init_config.rst:563 ../Doc/c-api/init_config.rst:655
#: ../Doc/c-api/init_config.rst:664 ../Doc/c-api/init_config.rst:868
#: ../Doc/c-api/init_config.rst:951
-#, fuzzy
msgid "Part of the :ref:`Python Path Configuration ` output."
-msgstr "Aplique la :ref:`Configuración de ruta `;"
+msgstr ""
+"Parte de la salida :ref:`Python Path Configuration `."
#: ../Doc/c-api/init_config.rst:547
-#, fuzzy
msgid "Python base executable: :data:`sys._base_executable`."
-msgstr ":data:`sys.executable`."
+msgstr "Ejecutable base de Python: :data:`sys._base_executable`."
#: ../Doc/c-api/init_config.rst:549
msgid "Set by the :envvar:`__PYVENV_LAUNCHER__` environment variable."
-msgstr ""
+msgstr "Establecido por la variable de entorno :envvar:`__PYVENV_LAUNCHER__`."
#: ../Doc/c-api/init_config.rst:551
-#, fuzzy
msgid "Set from :c:member:`PyConfig.executable` if ``NULL``."
-msgstr ":c:member:`PyConfig.executable`"
+msgstr "Establecido desde :c:member:`PyConfig.executable` si ``NULL``."
#: ../Doc/c-api/init_config.rst:559
msgid ":data:`sys.base_prefix`."
@@ -830,12 +864,16 @@ msgid ""
"If equals to 0 and :c:member:`~PyConfig.configure_c_stdio` is non-zero, "
"disable buffering on the C streams stdout and stderr."
msgstr ""
+"Si es igual a 0 y :c:member:`~PyConfig.configure_c_stdio` no es cero, "
+"deshabilite el almacenamiento en búfer en las secuencias C stdout y stderr."
#: ../Doc/c-api/init_config.rst:570
msgid ""
"Set to 0 by the :option:`-u` command line option and the :envvar:"
"`PYTHONUNBUFFERED` environment variable."
msgstr ""
+"Establecido en 0 por la opción de línea de comando :option:`-u` y la "
+"variable de entorno :envvar:`PYTHONUNBUFFERED`."
#: ../Doc/c-api/init_config.rst:573
msgid "stdin is always opened in buffered mode."
@@ -844,30 +882,27 @@ msgstr "stdin siempre se abre en modo de búfer."
#: ../Doc/c-api/init_config.rst:575 ../Doc/c-api/init_config.rst:1046
#: ../Doc/c-api/init_config.rst:1161
msgid "Default: ``1``."
-msgstr ""
+msgstr "Predeterminado: ``1``."
#: ../Doc/c-api/init_config.rst:579
-#, fuzzy
msgid ""
"If equals to 1, issue a warning when comparing :class:`bytes` or :class:"
"`bytearray` with :class:`str`, or comparing :class:`bytes` with :class:`int`."
msgstr ""
-"Si es igual a 1, emita una advertencia cuando compare :class:`bytes` o :"
-"class:`bytearray` con :class:`str`, o compare :class:`bytes` con :class:"
-"`int`. Si es igual o mayor a 2, lanza una excepción :exc:`BytesWarning`."
+"Si es igual a 1, emite una advertencia al comparar :class:`bytes` o :class:"
+"`bytearray` con :class:`str`, o al comparar :class:`bytes` con :class:`int`."
#: ../Doc/c-api/init_config.rst:583
msgid ""
"If equal or greater to 2, raise a :exc:`BytesWarning` exception in these "
"cases."
msgstr ""
+"Si es igual o mayor a 2, lanza una excepción :exc:`BytesWarning` en estos "
+"casos."
#: ../Doc/c-api/init_config.rst:586
-#, fuzzy
msgid "Incremented by the :option:`-b` command line option."
-msgstr ""
-"Establecido en 1 por la opción de línea de comandos :option:`-X showrefcount "
-"<-X>`."
+msgstr "Incrementado por la opción de línea de comando :option:`-b`."
#: ../Doc/c-api/init_config.rst:592
msgid ""
@@ -875,66 +910,78 @@ msgid ""
"TextIOWrapper` uses its default encoding. See :ref:`io-encoding-warning` for "
"details."
msgstr ""
+"Si no es cero, emite una advertencia :exc:`EncodingWarning` cuando :class:"
+"`io.TextIOWrapper` usa su codificación predeterminada. Consulte :ref:`io-"
+"encoding-warning` para obtener más detalles."
#: ../Doc/c-api/init_config.rst:601
-#, fuzzy
msgid ""
"Control the validation behavior of hash-based ``.pyc`` files: value of the :"
"option:`--check-hash-based-pycs` command line option."
msgstr ""
-"Controla el comportamiento de validación de los archivos ``.pyc`` basados en "
-"hash (consulte :pep:`552`): con el valor de la opción de línea de comando :"
-"option:`--check-hash-based-pycs`."
+"Controla el comportamiento de validación de archivos ``.pyc`` basados en "
+"hash: valor de la opción de línea de comando :option:`--check-hash-based-"
+"pycs`."
#: ../Doc/c-api/init_config.rst:604
msgid "Valid values:"
-msgstr ""
+msgstr "Valores válidos:"
#: ../Doc/c-api/init_config.rst:606
msgid ""
"``L\"always\"``: Hash the source file for invalidation regardless of value "
"of the 'check_source' flag."
msgstr ""
+"``L\"always\"``: Calcula el hash el archivo fuente para invalidación "
+"independientemente del valor de la marca 'check_source'."
#: ../Doc/c-api/init_config.rst:608
msgid "``L\"never\"``: Assume that hash-based pycs always are valid."
msgstr ""
+"``L\"never\"``: suponga que los pycs basados en hash siempre son válidos."
#: ../Doc/c-api/init_config.rst:609
msgid ""
"``L\"default\"``: The 'check_source' flag in hash-based pycs determines "
"invalidation."
msgstr ""
+"``L\"default\"``: El indicador 'check_source' en pycs basados en hash "
+"determina la invalidación."
#: ../Doc/c-api/init_config.rst:612
-#, fuzzy
msgid "Default: ``L\"default\"``."
-msgstr "El valor predeterminado es: ``default``."
+msgstr "Predeterminado: ``L\"default\"``."
#: ../Doc/c-api/init_config.rst:614
msgid "See also :pep:`552` \"Deterministic pycs\"."
-msgstr ""
+msgstr "Consulte también :pep:`552` \"Pycs deterministas\"."
#: ../Doc/c-api/init_config.rst:618
msgid "If non-zero, configure C standard streams:"
-msgstr ""
+msgstr "Si es distinto de cero, configure los flujos estándar de C:"
#: ../Doc/c-api/init_config.rst:620
msgid ""
"On Windows, set the binary mode (``O_BINARY``) on stdin, stdout and stderr."
msgstr ""
+"En Windows, configure el modo binario (``O_BINARY``) en stdin, stdout y "
+"stderr."
#: ../Doc/c-api/init_config.rst:622
msgid ""
"If :c:member:`~PyConfig.buffered_stdio` equals zero, disable buffering of "
"stdin, stdout and stderr streams."
msgstr ""
+"Si :c:member:`~PyConfig.buffered_stdio` es igual a cero, deshabilite el "
+"almacenamiento en búfer de los flujos stdin, stdout y stderr."
#: ../Doc/c-api/init_config.rst:624
msgid ""
"If :c:member:`~PyConfig.interactive` is non-zero, enable stream buffering on "
"stdin and stdout (only stdout on Windows)."
msgstr ""
+"Si :c:member:`~PyConfig.interactive` no es cero, habilite el almacenamiento "
+"en búfer de flujo en stdin y stdout (solo stdout en Windows)."
#: ../Doc/c-api/init_config.rst:631
msgid "If non-zero, enable the :ref:`Python Development Mode `."
@@ -944,7 +991,7 @@ msgstr ""
#: ../Doc/c-api/init_config.rst:637
msgid "Dump Python refererences?"
-msgstr ""
+msgstr "¿Volcar referencias de Python?"
#: ../Doc/c-api/init_config.rst:639
msgid "If non-zero, dump all objects which are still alive at exit."
@@ -954,28 +1001,36 @@ msgstr ""
#: ../Doc/c-api/init_config.rst:641
msgid "Set to ``1`` by the :envvar:`PYTHONDUMPREFS` environment variable."
msgstr ""
+"Establecido en ``1`` por la variable de entorno :envvar:`PYTHONDUMPREFS`."
#: ../Doc/c-api/init_config.rst:643
msgid ""
"Need a special build of Python with the ``Py_TRACE_REFS`` macro defined: see "
"the :option:`configure --with-trace-refs option <--with-trace-refs>`."
msgstr ""
+"Necesita una compilación especial de Python con la macro ``Py_TRACE_REFS`` "
+"definida: consulte la :option:`opción de configure --with-trace-refs option "
+"<--with-trace-refs>`."
#: ../Doc/c-api/init_config.rst:650
msgid ""
"The site-specific directory prefix where the platform-dependent Python files "
"are installed: :data:`sys.exec_prefix`."
msgstr ""
+"El prefijo de directorio específico del sitio donde se instalan los archivos "
+"Python dependientes de la plataforma: :data:`sys.exec_prefix`."
#: ../Doc/c-api/init_config.rst:659
msgid ""
"The absolute path of the executable binary for the Python interpreter: :data:"
"`sys.executable`."
msgstr ""
+"La ruta absoluta del binario ejecutable para el intérprete de Python: :data:"
+"`sys.executable`."
#: ../Doc/c-api/init_config.rst:668
msgid "Enable faulthandler?"
-msgstr ""
+msgstr "¿Habilitar administrador de fallas?"
#: ../Doc/c-api/init_config.rst:670
msgid "If non-zero, call :func:`faulthandler.enable` at startup."
@@ -986,18 +1041,21 @@ msgid ""
"Set to ``1`` by :option:`-X faulthandler <-X>` and the :envvar:"
"`PYTHONFAULTHANDLER` environment variable."
msgstr ""
+"Establecido en ``1`` por :option:`-X faulthandler <-X>` y la variable de "
+"entorno :envvar:`PYTHONFAULTHANDLER`."
#: ../Doc/c-api/init_config.rst:679
-#, fuzzy
msgid ""
":term:`Filesystem encoding `: :func:"
"`sys.getfilesystemencoding`."
msgstr ""
-"Codificación del sistema de archivos, :func:`sys.getfilesystemencoding`."
+":term:`Codificación del sistema de archvios `: :func:`sys.getfilesystemencoding`."
#: ../Doc/c-api/init_config.rst:682
msgid "On macOS, Android and VxWorks: use ``\"utf-8\"`` by default."
msgstr ""
+"En macOS, Android y VxWorks: use ``\"utf-8\"`` de forma predeterminada."
#: ../Doc/c-api/init_config.rst:684
msgid ""
@@ -1005,15 +1063,18 @@ msgid ""
"`~PyPreConfig.legacy_windows_fs_encoding` of :c:type:`PyPreConfig` is non-"
"zero."
msgstr ""
+"En Windows: utilice ``\"utf-8\"`` de forma predeterminada o ``\"mbcs\"`` si :"
+"c:member:`~PyPreConfig.legacy_windows_fs_encoding` de :c:type:`PyPreConfig` "
+"no es cero."
#: ../Doc/c-api/init_config.rst:688
msgid "Default encoding on other platforms:"
-msgstr ""
+msgstr "Codificación predeterminada en otras plataformas:"
#: ../Doc/c-api/init_config.rst:690
-#, fuzzy
msgid "``\"utf-8\"`` if :c:member:`PyPreConfig.utf8_mode` is non-zero."
-msgstr "Si :c:member:`~PyConfig.isolated` es cero:"
+msgstr ""
+"``\"utf-8\"`` si :c:member:`PyPreConfig.utf8_mode` es distinto de cero."
#: ../Doc/c-api/init_config.rst:691
msgid ""
@@ -1021,34 +1082,42 @@ msgid ""
"ASCII encoding (or Roman8 encoding on HP-UX), whereas the ``mbstowcs()`` "
"function decodes from a different encoding (usually Latin1)."
msgstr ""
+"``\"ascii\"`` si Python detecta que ``nl_langinfo(CODESET)`` anuncia la "
+"codificación ASCII (o la codificación Roman8 en HP-UX), mientras que la "
+"función ``mbstowcs()`` descodifica a partir de una codificación diferente "
+"(generalmente Latin1)."
#: ../Doc/c-api/init_config.rst:695
msgid "``\"utf-8\"`` if ``nl_langinfo(CODESET)`` returns an empty string."
-msgstr ""
+msgstr "``\"utf-8\"`` si ``nl_langinfo(CODESET)`` retorna una cadena vacía."
#: ../Doc/c-api/init_config.rst:696
msgid ""
"Otherwise, use the :term:`locale encoding`: ``nl_langinfo(CODESET)`` result."
msgstr ""
+"De lo contrario, utilice el resultado :term:`locale encoding`: "
+"``nl_langinfo(CODESET)``."
#: ../Doc/c-api/init_config.rst:699
msgid ""
"At Python startup, the encoding name is normalized to the Python codec name. "
"For example, ``\"ANSI_X3.4-1968\"`` is replaced with ``\"ascii\"``."
msgstr ""
+"Al inicio de Python, el nombre de codificación se normaliza al nombre del "
+"códec de Python. Por ejemplo, ``\"ANSI_X3.4-1968\"`` se reemplaza por ``"
+"\"ascii\"``."
#: ../Doc/c-api/init_config.rst:702
msgid "See also the :c:member:`~PyConfig.filesystem_errors` member."
-msgstr ""
+msgstr "Consulte también el miembro :c:member:`~PyConfig.filesystem_errors`."
#: ../Doc/c-api/init_config.rst:706
-#, fuzzy
msgid ""
":term:`Filesystem error handler `: :"
"func:`sys.getfilesystemencodeerrors`."
msgstr ""
-"Errores de codificación del sistema de archivos, :func:`sys."
-"getfilesystemencodeerrors`."
+":term:`Manejador de errores del sistema de archivos `: :func:`sys.getfilesystemencodeerrors`."
#: ../Doc/c-api/init_config.rst:709
msgid ""
@@ -1056,53 +1125,58 @@ msgid ""
"member:`~PyPreConfig.legacy_windows_fs_encoding` of :c:type:`PyPreConfig` is "
"non-zero."
msgstr ""
+"En Windows: utilice ``\"surrogatepass\"`` de forma predeterminada o ``"
+"\"replace\"`` si :c:member:`~PyPreConfig.legacy_windows_fs_encoding` de :c:"
+"type:`PyPreConfig` no es cero."
#: ../Doc/c-api/init_config.rst:713
msgid "On other platforms: use ``\"surrogateescape\"`` by default."
msgstr ""
+"En otras plataformas: utilice ``\"surrogateescape\"`` de forma "
+"predeterminada."
#: ../Doc/c-api/init_config.rst:715
msgid "Supported error handlers:"
-msgstr ""
+msgstr "Controladores de errores admitidos:"
#: ../Doc/c-api/init_config.rst:717
msgid "``\"strict\"``"
-msgstr ""
+msgstr "``\"strict\"``"
#: ../Doc/c-api/init_config.rst:718
msgid "``\"surrogateescape\"``"
-msgstr ""
+msgstr "``\"surrogateescape\"``"
#: ../Doc/c-api/init_config.rst:719
msgid "``\"surrogatepass\"`` (only supported with the UTF-8 encoding)"
-msgstr ""
+msgstr "``\"surrogatepass\"`` (solo compatible con la codificación UTF-8)"
#: ../Doc/c-api/init_config.rst:721
-#, fuzzy
msgid "See also the :c:member:`~PyConfig.filesystem_encoding` member."
-msgstr "Ver :c:member:`PyConfig.use_environment`."
+msgstr "Consulte también el miembro :c:member:`~PyConfig.filesystem_encoding`."
#: ../Doc/c-api/init_config.rst:726
msgid "Randomized hash function seed."
msgstr "Funciones de semillas aleatorias hash."
#: ../Doc/c-api/init_config.rst:728
-#, fuzzy
msgid ""
"If :c:member:`~PyConfig.use_hash_seed` is zero, a seed is chosen randomly at "
"Python startup, and :c:member:`~PyConfig.hash_seed` is ignored."
msgstr ""
-"Si :c:member:`~PyConfig.use_hash_seed` es cero, se elige una semilla "
-"aleatoriamente en Pythonstartup, y :c:member:`~PyConfig.hash_seed` se ignora."
+"Si :c:member:`~PyConfig.use_hash_seed` es cero, se elige una semilla al azar "
+"en el inicio de Python y se ignora :c:member:`~PyConfig.hash_seed`."
#: ../Doc/c-api/init_config.rst:731
msgid "Set by the :envvar:`PYTHONHASHSEED` environment variable."
-msgstr ""
+msgstr "Establecido por la variable de entorno :envvar:`PYTHONHASHSEED`."
#: ../Doc/c-api/init_config.rst:733
msgid ""
"Default *use_hash_seed* value: ``-1`` in Python mode, ``0`` in isolated mode."
msgstr ""
+"Valor predeterminado de *use_hash_seed*: ``-1`` en modo Python, ``0`` en "
+"modo aislado."
#: ../Doc/c-api/init_config.rst:738
msgid "Python home directory."
@@ -1113,17 +1187,19 @@ msgid ""
"If :c:func:`Py_SetPythonHome` has been called, use its argument if it is not "
"``NULL``."
msgstr ""
+"Si se ha llamado a :c:func:`Py_SetPythonHome`, use su argumento si no es "
+"``NULL``."
#: ../Doc/c-api/init_config.rst:743
msgid "Set by the :envvar:`PYTHONHOME` environment variable."
-msgstr ""
+msgstr "Establecido por la variable de entorno :envvar:`PYTHONHOME`."
#: ../Doc/c-api/init_config.rst:747 ../Doc/c-api/init_config.rst:840
#: ../Doc/c-api/init_config.rst:853 ../Doc/c-api/init_config.rst:942
#: ../Doc/c-api/init_config.rst:969
-#, fuzzy
msgid "Part of the :ref:`Python Path Configuration ` input."
-msgstr "Aplique la :ref:`Configuración de ruta `;"
+msgstr ""
+"Parte de la entrada :ref:`Python Path Configuration `."
#: ../Doc/c-api/init_config.rst:751
msgid "If non-zero, profile import time."
@@ -1134,6 +1210,8 @@ msgid ""
"Set the ``1`` by the :option:`-X importtime <-X>` option and the :envvar:"
"`PYTHONPROFILEIMPORTTIME` environment variable."
msgstr ""
+"Configure el ``1`` mediante la opción :option:`-X importtime <-X>` y la "
+"variable de entorno :envvar:`PYTHONPROFILEIMPORTTIME`."
#: ../Doc/c-api/init_config.rst:760
msgid "Enter interactive mode after executing a script or a command."
@@ -1146,34 +1224,35 @@ msgid ""
"or the -c option is used, enter interactive mode after executing the script "
"or the command, even when :data:`sys.stdin` does not appear to be a terminal."
msgstr ""
+"Si es mayor que 0, habilite inspeccionar: cuando se pasa una secuencia de "
+"comandos como primer argumento o se usa la opción -c, ingrese al modo "
+"interactivo después de ejecutar la secuencia de comandos o el comando, "
+"incluso cuando :data:`sys.stdin` no parezca ser una terminal."
#: ../Doc/c-api/init_config.rst:767
msgid ""
"Incremented by the :option:`-i` command line option. Set to ``1`` if the :"
"envvar:`PYTHONINSPECT` environment variable is non-empty."
msgstr ""
+"Incrementado por la opción de línea de comando :option:`-i`. Establecido en "
+"``1`` si la variable de entorno :envvar:`PYTHONINSPECT` no está vacía."
#: ../Doc/c-api/init_config.rst:774
-#, fuzzy
msgid "Install Python signal handlers?"
-msgstr "¿Instala manejadores de señal?"
+msgstr "¿Instalar controladores de señales de Python?"
#: ../Doc/c-api/init_config.rst:776 ../Doc/c-api/init_config.rst:916
#: ../Doc/c-api/init_config.rst:940 ../Doc/c-api/init_config.rst:1113
msgid "Default: ``1`` in Python mode, ``0`` in isolated mode."
-msgstr ""
+msgstr "Por defecto: ``1`` en modo Python, ``0`` en modo aislado."
#: ../Doc/c-api/init_config.rst:780
-#, fuzzy
msgid "If greater than 0, enable the interactive mode (REPL)."
-msgstr "Si es mayor que 0, habilite el modo aislado:"
+msgstr "Si es mayor que 0, habilita el modo interactivo (REPL)."
#: ../Doc/c-api/init_config.rst:782
-#, fuzzy
msgid "Incremented by the :option:`-i` command line option."
-msgstr ""
-"Establecido en 1 por la opción de línea de comandos :option:`-X showrefcount "
-"<-X>`."
+msgstr "Incrementado por la opción de línea de comando :option:`-i`."
#: ../Doc/c-api/init_config.rst:788
msgid "If greater than 0, enable isolated mode:"
@@ -1205,9 +1284,8 @@ msgstr ""
"user_site_directory` en 0."
#: ../Doc/c-api/init_config.rst:800
-#, fuzzy
msgid "See also :c:member:`PyPreConfig.isolated`."
-msgstr "Ver :c:member:`PyConfig.isolated`."
+msgstr "Ver también :c:member:`PyPreConfig.isolated`."
#: ../Doc/c-api/init_config.rst:804
msgid ""
@@ -1223,10 +1301,14 @@ msgid ""
"Set to ``1`` if the :envvar:`PYTHONLEGACYWINDOWSSTDIO` environment variable "
"is set to a non-empty string."
msgstr ""
+"Establecido en ``1`` si la variable de entorno :envvar:"
+"`PYTHONLEGACYWINDOWSSTDIO` está establecida en una cadena no vacía."
#: ../Doc/c-api/init_config.rst:816
msgid "See also the :pep:`528` (Change Windows console encoding to UTF-8)."
msgstr ""
+"Consulte también :pep:`528` (Cambiar la codificación de la consola de "
+"Windows a UTF-8)."
#: ../Doc/c-api/init_config.rst:820
msgid ""
@@ -1239,22 +1321,25 @@ msgstr ""
#: ../Doc/c-api/init_config.rst:823
msgid "Set to ``1`` by the :envvar:`PYTHONMALLOCSTATS` environment variable."
msgstr ""
+"Establecido en ``1`` por la variable de entorno :envvar:`PYTHONMALLOCSTATS`."
#: ../Doc/c-api/init_config.rst:825
-#, fuzzy
msgid ""
"The option is ignored if Python is :option:`configured using the --without-"
"pymalloc option <--without-pymalloc>`."
msgstr ""
-"La opción se ignora si Python se construye usando ``--without-pymalloc``."
+"La opción se ignora si Python es :option:`configurado usando la opción --"
+"without-pymalloc <--without-pymalloc>`."
#: ../Doc/c-api/init_config.rst:832
msgid "Platform library directory name: :data:`sys.platlibdir`."
msgstr ""
+"Nombre del directorio de la biblioteca de la plataforma: :data:`sys."
+"platlibdir`."
#: ../Doc/c-api/init_config.rst:834
msgid "Set by the :envvar:`PYTHONPLATLIBDIR` environment variable."
-msgstr ""
+msgstr "Establecido por la variable de entorno :envvar:`PYTHONPLATLIBDIR`."
#: ../Doc/c-api/init_config.rst:836
msgid ""
@@ -1262,23 +1347,25 @@ msgid ""
"`configure --with-platlibdir option <--with-platlibdir>` (default: ``\"lib"
"\"``)."
msgstr ""
+"Predeterminado: valor de la macro ``PLATLIBDIR`` que establece la :option:"
+"`opción configure --with-platlibdir <--with-platlibdir>` (predeterminado: ``"
+"\"lib\"``)."
#: ../Doc/c-api/init_config.rst:846
-#, fuzzy
msgid ""
"Module search paths (:data:`sys.path`) as a string separated by ``DELIM`` (:"
"data:`os.path.pathsep`)."
msgstr ""
-"Módulo de rutas de búsqueda como una cadena separada por ``DELIM`` (:data:"
-"`os.path.pathsep`)."
+"Rutas de búsqueda de módulos (:data:`sys.path`) como una cadena separada por "
+"``DELIM`` (:data:`os.path.pathsep`)."
#: ../Doc/c-api/init_config.rst:849
msgid "Set by the :envvar:`PYTHONPATH` environment variable."
-msgstr ""
+msgstr "Establecido por la variable de entorno :envvar:`PYTHONPATH`."
#: ../Doc/c-api/init_config.rst:858
msgid "Module search paths: :data:`sys.path`."
-msgstr ""
+msgstr "Rutas de búsqueda del módulo: :data:`sys.path`."
#: ../Doc/c-api/init_config.rst:860
msgid ""
@@ -1287,47 +1374,51 @@ msgid ""
"overrides the :c:member:`~PyConfig.module_search_paths` and sets :c:member:"
"`~PyConfig.module_search_paths_set` to ``1``."
msgstr ""
+"Si :c:member:`~PyConfig.module_search_paths_set` es igual a 0, la función "
+"que calcula :ref:`Python Path Configuration ` anula :c:"
+"member:`~PyConfig.module_search_paths` y establece :c:member:`~PyConfig."
+"module_search_paths_set` en ``1``."
#: ../Doc/c-api/init_config.rst:865
msgid ""
"Default: empty list (``module_search_paths``) and ``0`` "
"(``module_search_paths_set``)."
msgstr ""
+"Por defecto: lista vacía (``module_search_paths``) y ``0`` "
+"(``module_search_paths_set``)."
#: ../Doc/c-api/init_config.rst:872
msgid "Compilation optimization level:"
msgstr "Nivel de optimización de compilación:"
#: ../Doc/c-api/init_config.rst:874
-#, fuzzy
msgid "``0``: Peephole optimizer, set ``__debug__`` to ``True``."
-msgstr ""
-"0: Optimizador de mirilla (y ``__debug__`` está configurado como ``True``)"
+msgstr "``0``: Optimizador de mirilla, configure ``__debug__`` en ``True``."
#: ../Doc/c-api/init_config.rst:875
-#, fuzzy
msgid "``1``: Level 0, remove assertions, set ``__debug__`` to ``False``."
-msgstr "1: Elimina las aserciones, establece ``__debug__`` en ``False``"
+msgstr ""
+"``1``: Nivel 0, elimina las aserciones, establece ``__debug__`` en ``False``."
#: ../Doc/c-api/init_config.rst:876
-#, fuzzy
msgid "``2``: Level 1, strip docstrings."
-msgstr "2: *Strip* docstrings"
+msgstr "``2``: Nivel 1, elimina docstrings."
#: ../Doc/c-api/init_config.rst:878
msgid ""
"Incremented by the :option:`-O` command line option. Set to the :envvar:"
"`PYTHONOPTIMIZE` environment variable value."
msgstr ""
+"Incrementado por la opción de línea de comando :option:`-O`. Establecido en "
+"el valor de la variable de entorno :envvar:`PYTHONOPTIMIZE`."
#: ../Doc/c-api/init_config.rst:885
-#, fuzzy
msgid ""
"The list of the original command line arguments passed to the Python "
"executable: :data:`sys.orig_argv`."
msgstr ""
-"Obtiene los argumentos originales de la línea de comandos, antes de que "
-"Python los modificara."
+"La lista de los argumentos originales de la línea de comandos pasados al "
+"ejecutable de Python: :data:`sys.orig_argv`."
#: ../Doc/c-api/init_config.rst:888
msgid ""
@@ -1337,21 +1428,28 @@ msgid ""
"before modifying :c:member:`~PyConfig.argv` (if :c:member:`~PyConfig."
"parse_argv` is non-zero)."
msgstr ""
+"Si la lista :c:member:`~PyConfig.orig_argv` está vacía y :c:member:"
+"`~PyConfig.argv` no es una lista que solo contiene una cadena vacía, :c:func:"
+"`PyConfig_Read` copia :c:member:`~PyConfig.argv` en :c:member:`~PyConfig."
+"orig_argv` antes de modificar :c:member:`~PyConfig.argv` (si :c:member:"
+"`~PyConfig.parse_argv` no es cero)."
#: ../Doc/c-api/init_config.rst:895
msgid ""
"See also the :c:member:`~PyConfig.argv` member and the :c:func:"
"`Py_GetArgcArgv` function."
msgstr ""
+"Consulte también el miembro :c:member:`~PyConfig.argv` y la función :c:func:"
+"`Py_GetArgcArgv`."
#: ../Doc/c-api/init_config.rst:898 ../Doc/c-api/init_config.rst:1148
#: ../Doc/c-api/init_config.rst:1167
msgid "Default: empty list."
-msgstr ""
+msgstr "Predeterminado: lista vacía."
#: ../Doc/c-api/init_config.rst:904
msgid "Parse command line arguments?"
-msgstr ""
+msgstr "¿Analizar los argumentos de la línea de comando?"
#: ../Doc/c-api/init_config.rst:906
msgid ""
@@ -1359,27 +1457,34 @@ msgid ""
"regular Python parses :ref:`command line arguments `, and "
"strip Python arguments from :c:member:`~PyConfig.argv`."
msgstr ""
+"Si es igual a ``1``, analiza :c:member:`~PyConfig.argv` de la misma forma "
+"que Python normal analiza :ref:`argumentos de línea de comando ` y elimina los argumentos de Python de :c:member:`~PyConfig.argv`."
#: ../Doc/c-api/init_config.rst:918
msgid ""
"The :c:member:`PyConfig.argv` arguments are now only parsed if :c:member:"
"`PyConfig.parse_argv` equals to ``1``."
msgstr ""
+"Los argumentos :c:member:`PyConfig.argv` ahora solo se analizan si :c:member:"
+"`PyConfig.parse_argv` es igual a ``1``."
#: ../Doc/c-api/init_config.rst:924
-#, fuzzy
msgid ""
"Parser debug mode. If greater than 0, turn on parser debugging output (for "
"expert only, depending on compilation options)."
msgstr ""
-"Si no es cero, activa la salida de depuración del analizador (solo para "
-"expertos, dependiendo de las opciones de compilación)."
+"Modo de depuración del analizador. Si es mayor que 0, active la salida de "
+"depuración del analizador (solo para expertos, según las opciones de "
+"compilación)."
#: ../Doc/c-api/init_config.rst:927
msgid ""
"Incremented by the :option:`-d` command line option. Set to the :envvar:"
"`PYTHONDEBUG` environment variable value."
msgstr ""
+"Incrementado por la opción de línea de comando :option:`-d`. Establecido en "
+"el valor de la variable de entorno :envvar:`PYTHONDEBUG`."
#: ../Doc/c-api/init_config.rst:934
msgid ""
@@ -1387,114 +1492,125 @@ msgid ""
"path-config>` can log warnings into ``stderr``. If equals to 0, suppress "
"these warnings."
msgstr ""
+"En Unix, si es distinto de cero, el cálculo de :ref:`Python Path "
+"Configuration ` puede registrar advertencias en "
+"``stderr``. Si es igual a 0, suprima estas advertencias."
#: ../Doc/c-api/init_config.rst:938
msgid "It has no effect on Windows."
-msgstr ""
+msgstr "No tiene ningún efecto en Windows."
#: ../Doc/c-api/init_config.rst:946
msgid ""
"The site-specific directory prefix where the platform independent Python "
"files are installed: :data:`sys.prefix`."
msgstr ""
+"El prefijo de directorio específico del sitio donde se instalan los archivos "
+"Python independientes de la plataforma: :data:`sys.prefix`."
#: ../Doc/c-api/init_config.rst:955
-#, fuzzy
msgid ""
"Program name used to initialize :c:member:`~PyConfig.executable` and in "
"early error messages during Python initialization."
msgstr ""
-"Nombre del programa Se usa para inicializar :c:member:`~PyConfig."
-"executable`, y en los primeros mensajes de error."
+"Nombre del programa utilizado para inicializar :c:member:`~PyConfig."
+"executable` y en los primeros mensajes de error durante la inicialización de "
+"Python."
#: ../Doc/c-api/init_config.rst:958
msgid "If :func:`Py_SetProgramName` has been called, use its argument."
-msgstr ""
+msgstr "Si se ha llamado a :func:`Py_SetProgramName`, usa su argumento."
#: ../Doc/c-api/init_config.rst:959
msgid "On macOS, use :envvar:`PYTHONEXECUTABLE` environment variable if set."
msgstr ""
+"En macOS, usa la variable de entorno :envvar:`PYTHONEXECUTABLE` si está "
+"configurada."
#: ../Doc/c-api/init_config.rst:960
msgid ""
"If the ``WITH_NEXT_FRAMEWORK`` macro is defined, use :envvar:"
"`__PYVENV_LAUNCHER__` environment variable if set."
msgstr ""
+"Si se define la macro ``WITH_NEXT_FRAMEWORK``, utiliza la variable de "
+"entorno :envvar:`__PYVENV_LAUNCHER__` si está configurada."
#: ../Doc/c-api/init_config.rst:962
msgid ""
"Use ``argv[0]`` of :c:member:`~PyConfig.argv` if available and non-empty."
msgstr ""
+"Utiliza ``argv[0]`` de :c:member:`~PyConfig.argv` si está disponible y no "
+"está vacío."
#: ../Doc/c-api/init_config.rst:964
msgid ""
"Otherwise, use ``L\"python\"`` on Windows, or ``L\"python3\"`` on other "
"platforms."
msgstr ""
+"De lo contrario, utiliza ``L\"python\"`` en Windows o ``L\"python3\"`` en "
+"otras plataformas."
#: ../Doc/c-api/init_config.rst:973
msgid ""
"Directory where cached ``.pyc`` files are written: :data:`sys."
"pycache_prefix`."
msgstr ""
+"Directorio donde se escriben los archivos ``.pyc`` almacenados en caché: :"
+"data:`sys.pycache_prefix`."
#: ../Doc/c-api/init_config.rst:976
msgid ""
"Set by the :option:`-X pycache_prefix=PATH <-X>` command line option and "
"the :envvar:`PYTHONPYCACHEPREFIX` environment variable."
msgstr ""
+"Establecido por la opción de línea de comando :option:`-X "
+"pycache_prefix=PATH <-X>` y la variable de entorno :envvar:"
+"`PYTHONPYCACHEPREFIX`."
#: ../Doc/c-api/init_config.rst:979
msgid "If ``NULL``, :data:`sys.pycache_prefix` is set to ``None``."
msgstr "Si ``NULL``, :data:`sys.pycache_prefix` es establecido a ``None``."
#: ../Doc/c-api/init_config.rst:985
-#, fuzzy
msgid ""
"Quiet mode. If greater than 0, don't display the copyright and version at "
"Python startup in interactive mode."
msgstr ""
-"Modo silencioso. Por ejemplo, no muestra los mensajes de copyright y versión "
-"en modo interactivo."
+"Modo silencioso. Si es mayor que 0, no muestre los derechos de autor y la "
+"versión al inicio de Python en modo interactivo."
#: ../Doc/c-api/init_config.rst:988
-#, fuzzy
msgid "Incremented by the :option:`-q` command line option."
-msgstr ""
-"Establecido en 1 por la opción de línea de comandos :option:`-X showrefcount "
-"<-X>`."
+msgstr "Incrementado por la opción de línea de comando :option:`-q`."
#: ../Doc/c-api/init_config.rst:994
-#, fuzzy
msgid "Value of the :option:`-c` command line option."
-msgstr ""
-"Establecido en 1 por la opción de línea de comandos :option:`-X showrefcount "
-"<-X>`."
+msgstr "Valor de la opción de línea de comando :option:`-c`."
#: ../Doc/c-api/init_config.rst:996 ../Doc/c-api/init_config.rst:1008
#: ../Doc/c-api/init_config.rst:1016
-#, fuzzy
msgid "Used by :c:func:`Py_RunMain`."
-msgstr ":c:func:`Py_RunMain`"
+msgstr "Usado por :c:func:`Py_RunMain`."
#: ../Doc/c-api/init_config.rst:1002
msgid ""
"Filename passed on the command line: trailing command line argument without :"
"option:`-c` or :option:`-m`."
msgstr ""
+"Nombre de archivo pasado en la línea de comando: argumento de línea de "
+"comando final sin :option:`-c` o :option:`-m`."
#: ../Doc/c-api/init_config.rst:1005
msgid ""
"For example, it is set to ``script.py`` by the ``python3 script.py arg`` "
"command."
msgstr ""
+"Por ejemplo, el comando ``python3 script.py arg`` lo establece en ``script."
+"py``."
#: ../Doc/c-api/init_config.rst:1014
-#, fuzzy
msgid "Value of the :option:`-m` command line option."
-msgstr ""
-"Establecido en 1 por la opción de línea de comandos :option:`-X showrefcount "
-"<-X>`."
+msgstr "Valor de la opción de línea de comando :option:`-m`."
#: ../Doc/c-api/init_config.rst:1022
msgid "Show total reference count at exit?"
@@ -1507,13 +1623,12 @@ msgstr ""
"<-X>`."
#: ../Doc/c-api/init_config.rst:1026
-#, fuzzy
msgid ""
"Need a :ref:`debug build of Python ` (the ``Py_REF_DEBUG`` "
"macro must be defined)."
msgstr ""
-"Necesita una compilación de depuración de Python (se debe definir la macro "
-"``Py_REF_DEBUG``)."
+"Necesita una :ref:`compilación de depuración de Python ` (se "
+"debe definir la macro ``Py_REF_DEBUG``)."
#: ../Doc/c-api/init_config.rst:1033
msgid "Import the :mod:`site` module at startup?"
@@ -1524,103 +1639,111 @@ msgid ""
"If equal to zero, disable the import of the module site and the site-"
"dependent manipulations of :data:`sys.path` that it entails."
msgstr ""
+"Si es igual a cero, desactive la importación del sitio del módulo y las "
+"manipulaciones dependientes del sitio de :data:`sys.path` que conlleva."
#: ../Doc/c-api/init_config.rst:1038
msgid ""
"Also disable these manipulations if the :mod:`site` module is explicitly "
"imported later (call :func:`site.main` if you want them to be triggered)."
msgstr ""
+"También deshabilite estas manipulaciones si el módulo :mod:`site` se importa "
+"explícitamente más tarde (llame a :func:`site.main` si desea que se activen)."
#: ../Doc/c-api/init_config.rst:1041
-#, fuzzy
msgid "Set to ``0`` by the :option:`-S` command line option."
msgstr ""
-"Establecido en 1 por la opción de línea de comandos :option:`-X showrefcount "
-"<-X>`."
+"Establecido en ``0`` mediante la opción de línea de comando :option:`-S`."
#: ../Doc/c-api/init_config.rst:1043
-#, fuzzy
msgid ""
":data:`sys.flags.no_site` is set to the inverted value of :c:member:"
"`~PyConfig.site_import`."
msgstr ""
-":data:`sys.dont_write_bytecode` se inicializa al valor invertido de :c:"
-"member:`~PyConfig.write_bytecode`."
+":data:`sys.flags.no_site` se establece en el valor invertido de :c:member:"
+"`~PyConfig.site_import`."
#: ../Doc/c-api/init_config.rst:1050
msgid ""
"If non-zero, skip the first line of the :c:member:`PyConfig.run_filename` "
"source."
msgstr ""
+"Si no es cero, omita la primera línea de la fuente :c:member:`PyConfig."
+"run_filename`."
#: ../Doc/c-api/init_config.rst:1053
msgid ""
"It allows the usage of non-Unix forms of ``#!cmd``. This is intended for a "
"DOS specific hack only."
msgstr ""
+"Permite el uso de formas de ``#!cmd`` que no son Unix. Esto está destinado "
+"únicamente a un truco específico de DOS."
#: ../Doc/c-api/init_config.rst:1056
-#, fuzzy
msgid "Set to ``1`` by the :option:`-x` command line option."
msgstr ""
-"Establecido en 1 por la opción de línea de comandos :option:`-X showrefcount "
-"<-X>`."
+"Establecido en ``1`` mediante la opción de línea de comando :option:`-x`."
#: ../Doc/c-api/init_config.rst:1063
-#, fuzzy
msgid ""
"Encoding and encoding errors of :data:`sys.stdin`, :data:`sys.stdout` and :"
"data:`sys.stderr` (but :data:`sys.stderr` always uses ``\"backslashreplace"
"\"`` error handler)."
msgstr ""
-"Codificación y codificación de errores de :data:`sys.stdin`, :data:`sys."
-"stdout` y :data:`sys.stderr`."
+"Codificación y errores de codificación de :data:`sys.stdin`, :data:`sys."
+"stdout` y :data:`sys.stderr` (pero :data:`sys.stderr` siempre usa el "
+"controlador de errores ``\"backslashreplace\"``)."
#: ../Doc/c-api/init_config.rst:1067
msgid ""
"If :c:func:`Py_SetStandardStreamEncoding` has been called, use its *error* "
"and *errors* arguments if they are not ``NULL``."
msgstr ""
+"Si se ha llamado a :c:func:`Py_SetStandardStreamEncoding`, utilice sus "
+"argumentos *error* y *errors* si no son ``NULL``."
#: ../Doc/c-api/init_config.rst:1070
msgid ""
"Use the :envvar:`PYTHONIOENCODING` environment variable if it is non-empty."
msgstr ""
+"Utilice la variable de entorno :envvar:`PYTHONIOENCODING` si no está vacía."
#: ../Doc/c-api/init_config.rst:1073
msgid "Default encoding:"
-msgstr ""
+msgstr "Codificación predeterminada:"
#: ../Doc/c-api/init_config.rst:1075
-#, fuzzy
msgid "``\"UTF-8\"`` if :c:member:`PyPreConfig.utf8_mode` is non-zero."
-msgstr "Si :c:member:`~PyConfig.isolated` es cero:"
+msgstr ""
+"``\"UTF-8\"`` si :c:member:`PyPreConfig.utf8_mode` es distinto de cero."
#: ../Doc/c-api/init_config.rst:1076
msgid "Otherwise, use the :term:`locale encoding`."
-msgstr ""
+msgstr "De lo contrario, usa el :term:`locale encoding`."
#: ../Doc/c-api/init_config.rst:1078
msgid "Default error handler:"
-msgstr ""
+msgstr "Manejador de errores predeterminado:"
#: ../Doc/c-api/init_config.rst:1080
msgid "On Windows: use ``\"surrogateescape\"``."
-msgstr ""
+msgstr "En Windows: use ``\"surrogateescape\"``."
#: ../Doc/c-api/init_config.rst:1081
msgid ""
"``\"surrogateescape\"`` if :c:member:`PyPreConfig.utf8_mode` is non-zero, or "
"if the LC_CTYPE locale is \"C\" or \"POSIX\"."
msgstr ""
+"``\"surrogateescape\"`` si :c:member:`PyPreConfig.utf8_mode` no es cero o si "
+"la configuración regional LC_CTYPE es \"C\" o \"POSIX\"."
#: ../Doc/c-api/init_config.rst:1083
msgid "``\"strict\"`` otherwise."
-msgstr ""
+msgstr "``\"strict\"`` de lo contrario."
#: ../Doc/c-api/init_config.rst:1087
msgid "Enable tracemalloc?"
-msgstr ""
+msgstr "¿Habilitar tracemalloc?"
#: ../Doc/c-api/init_config.rst:1089
msgid "If non-zero, call :func:`tracemalloc.start` at startup."
@@ -1631,35 +1754,37 @@ msgid ""
"Set by :option:`-X tracemalloc=N <-X>` command line option and by the :"
"envvar:`PYTHONTRACEMALLOC` environment variable."
msgstr ""
+"Establecido por la opción de línea de comando :option:`-X tracemalloc=N <-"
+"X>` y por la variable de entorno :envvar:`PYTHONTRACEMALLOC`."
#: ../Doc/c-api/init_config.rst:1098
-#, fuzzy
msgid "Use :ref:`environment variables `?"
-msgstr "Si es mayor que 0, use :ref:`variables de entorno `."
+msgstr "¿Utiliza :ref:`variables de entorno `?"
#: ../Doc/c-api/init_config.rst:1100
-#, fuzzy
msgid ""
"If equals to zero, ignore the :ref:`environment variables `."
-msgstr "Si es mayor que 0, use :ref:`variables de entorno `."
+msgstr ""
+"Si es igual a cero, ignora las :ref:`variables de entorno `."
#: ../Doc/c-api/init_config.rst:1107
-#, fuzzy
msgid "If non-zero, add the user site directory to :data:`sys.path`."
msgstr ""
-"Si no es cero, agrega el directorio del sitio del usuario a :data:`sys.path`."
+"Si es distinto de cero, agregue el directorio del sitio del usuario a :data:"
+"`sys.path`."
#: ../Doc/c-api/init_config.rst:1109
-#, fuzzy
msgid "Set to ``0`` by the :option:`-s` and :option:`-I` command line options."
msgstr ""
-"Establecido en 1 por la opción de línea de comandos :option:`-X showrefcount "
-"<-X>`."
+"Establecido en ``0`` por las opciones de línea de comando :option:`-s` y :"
+"option:`-I`."
#: ../Doc/c-api/init_config.rst:1111
msgid "Set to ``0`` by the :envvar:`PYTHONNOUSERSITE` environment variable."
msgstr ""
+"Establecido en ``0`` por la variable de entorno :envvar:`PYTHONNOUSERSITE`."
#: ../Doc/c-api/init_config.rst:1117
msgid ""
@@ -1667,6 +1792,9 @@ msgid ""
"imported, showing the place (filename or built-in module) from which it is "
"loaded."
msgstr ""
+"Modo detallado. Si es mayor que 0, imprima un mensaje cada vez que se "
+"importe un módulo, mostrando el lugar (nombre de archivo o módulo integrado) "
+"desde el que se carga."
#: ../Doc/c-api/init_config.rst:1121
msgid ""
@@ -1674,26 +1802,26 @@ msgid ""
"when searching for a module. Also provides information on module cleanup at "
"exit."
msgstr ""
+"Si es mayor o igual a 2, imprima un mensaje para cada archivo que se "
+"compruebe al buscar un módulo. También proporciona información sobre la "
+"limpieza del módulo al salir."
#: ../Doc/c-api/init_config.rst:1125
-#, fuzzy
msgid "Incremented by the :option:`-v` command line option."
-msgstr ""
-"Establecido en 1 por la opción de línea de comandos :option:`-X showrefcount "
-"<-X>`."
+msgstr "Incrementado por la opción de línea de comando :option:`-v`."
#: ../Doc/c-api/init_config.rst:1127
msgid "Set to the :envvar:`PYTHONVERBOSE` environment variable value."
msgstr ""
+"Establecido en el valor de la variable de entorno :envvar:`PYTHONVERBOSE`."
#: ../Doc/c-api/init_config.rst:1133
-#, fuzzy
msgid ""
"Options of the :mod:`warnings` module to build warnings filters, lowest to "
"highest priority: :data:`sys.warnoptions`."
msgstr ""
-":data:`sys.warnoptions`: opciones del módulo :mod:`warnings` para crear "
-"filtros de advertencia: de menor a mayor prioridad."
+"Opciones del módulo :mod:`warnings` para crear filtros de advertencias, de "
+"menor a mayor prioridad: :data:`sys.warnoptions`."
#: ../Doc/c-api/init_config.rst:1136
msgid ""
@@ -1711,6 +1839,8 @@ msgid ""
"The :option:`-W` command line options adds its value to :c:member:`~PyConfig."
"warnoptions`, it can be used multiple times."
msgstr ""
+"Las opciones de la línea de comando :option:`-W` agregan su valor a :c:"
+"member:`~PyConfig.warnoptions`, se puede usar varias veces."
#: ../Doc/c-api/init_config.rst:1144
msgid ""
@@ -1718,18 +1848,25 @@ msgid ""
"warning options. Multiple options can be specified, separated by commas (``,"
"``)."
msgstr ""
+"La variable de entorno :envvar:`PYTHONWARNINGS` también se puede utilizar "
+"para agregar opciones de advertencia. Se pueden especificar varias opciones, "
+"separadas por comas (``,``)."
#: ../Doc/c-api/init_config.rst:1152
msgid ""
"If equal to 0, Python won't try to write ``.pyc`` files on the import of "
"source modules."
msgstr ""
+"Si es igual a 0, Python no intentará escribir archivos ``.pyc`` en la "
+"importación de módulos fuente."
#: ../Doc/c-api/init_config.rst:1155
msgid ""
"Set to ``0`` by the :option:`-B` command line option and the :envvar:"
"`PYTHONDONTWRITEBYTECODE` environment variable."
msgstr ""
+"Establecido en ``0`` por la opción de línea de comando :option:`-B` y la "
+"variable de entorno :envvar:`PYTHONDONTWRITEBYTECODE`."
#: ../Doc/c-api/init_config.rst:1158
msgid ""
@@ -1742,6 +1879,8 @@ msgstr ""
#: ../Doc/c-api/init_config.rst:1165
msgid "Values of the :option:`-X` command line options: :data:`sys._xoptions`."
msgstr ""
+"Valores de las opciones de la línea de comando :option:`-X`: :data:`sys."
+"_xoptions`."
#: ../Doc/c-api/init_config.rst:1169
msgid ""
@@ -1750,15 +1889,18 @@ msgid ""
"line arguments `, and Python arguments are stripped from :"
"c:member:`~PyConfig.argv`."
msgstr ""
+"Si :c:member:`~PyConfig.parse_argv` no es cero, los argumentos de :c:member:"
+"`~PyConfig.argv` se analizan de la misma forma que Python normal analiza :"
+"ref:`argumentos de línea de comando `, y los argumentos de "
+"Python se eliminan de :c:member:`~PyConfig.argv`."
#: ../Doc/c-api/init_config.rst:1174
-#, fuzzy
msgid ""
"The :c:member:`~PyConfig.xoptions` options are parsed to set other options: "
"see the :option:`-X` command line option."
msgstr ""
-"Las opciones ``xoptions`` se analizan para establecer otras opciones: ver la "
-"opción :option:`-X`."
+"Las opciones de :c:member:`~PyConfig.xoptions` se analizan para establecer "
+"otras opciones: consulte la opción de línea de comando :option:`-X`."
#: ../Doc/c-api/init_config.rst:1179
msgid "The ``show_alloc_count`` field has been removed."
@@ -1784,15 +1926,19 @@ msgid ""
"initialized multiple times, :c:func:`PyImport_AppendInittab` or :c:func:"
"`PyImport_ExtendInittab` must be called before each Python initialization."
msgstr ""
+"Si se utilizan :c:func:`PyImport_FrozenModules`, :c:func:"
+"`PyImport_AppendInittab` o :c:func:`PyImport_ExtendInittab`, deben "
+"establecerse o llamarse después de la preinicialización de Python y antes de "
+"la inicialización de Python. Si Python se inicializa varias veces, se debe "
+"llamar a :c:func:`PyImport_AppendInittab` o :c:func:`PyImport_ExtendInittab` "
+"antes de cada inicialización de Python."
#: ../Doc/c-api/init_config.rst:1201
-#, fuzzy
msgid ""
"The current configuration (``PyConfig`` type) is stored in "
"``PyInterpreterState.config``."
msgstr ""
-"La preconfiguración (tipo ``PyPreConfig``) se almacena en ``_PyRuntime."
-"preconfig`` y la configuración (tipo ``PyConfig``) se almacena en "
+"La configuración actual (tipo ``PyConfig``) se almacena en "
"``PyInterpreterState.config``."
#: ../Doc/c-api/init_config.rst:1204
@@ -1835,17 +1981,16 @@ msgstr ""
"LC_CTYPE no se modifican. Los manejadores de señal no están instalados."
#: ../Doc/c-api/init_config.rst:1295
-#, fuzzy
msgid ""
"Configuration files are still used with this configuration. Set the :ref:"
"`Python Path Configuration ` (\"output fields\") to ignore "
"these configuration files and avoid the function computing the default path "
"configuration."
msgstr ""
-"Los archivos de configuración todavía se usan con esta configuración. "
-"Configure :ref:`Configuración de ruta ` (\"campos de salida"
-"\") para ignorar estos archivos de configuración y evitar la función que "
-"calcula la configuración de ruta predeterminada."
+"Los archivos de configuración todavía se utilizan con esta configuración. "
+"Configure el :ref:`Python Path Configuration ` (\"campos "
+"de salida\") para ignorar estos archivos de configuración y evitar que la "
+"función calcule la configuración de ruta predeterminada."
#: ../Doc/c-api/init_config.rst:1304
msgid "Python Configuration"
@@ -1871,21 +2016,19 @@ msgstr ""
"global se ignoran."
#: ../Doc/c-api/init_config.rst:1313
-#, fuzzy
msgid ""
"This function enables C locale coercion (:pep:`538`) and :ref:`Python UTF-8 "
"Mode ` (:pep:`540`) depending on the LC_CTYPE locale, :envvar:"
"`PYTHONUTF8` and :envvar:`PYTHONCOERCECLOCALE` environment variables."
msgstr ""
-"Esta función permite la coerción de configuración regional C (:pep:`538`) y "
-"el modo UTF-8 (:pep:`540`) dependiendo de la configuración regional "
-"LC_CTYPE, :envvar:`PYTHONUTF8` y variables de entorno :envvar:"
+"Esta función habilita la coerción de configuración regional C (:pep:`538`) "
+"y :ref:`Python UTF-8 Mode ` (:pep:`540`) según la configuración "
+"regional LC_CTYPE, las variables de entorno :envvar:`PYTHONUTF8` y :envvar:"
"`PYTHONCOERCECLOCALE`."
#: ../Doc/c-api/init_config.rst:1322
-#, fuzzy
msgid "Python Path Configuration"
-msgstr "Configuración de Python"
+msgstr "Configuración de la ruta de Python"
#: ../Doc/c-api/init_config.rst:1324
msgid ":c:type:`PyConfig` contains multiple fields for the path configuration:"
@@ -2154,9 +2297,8 @@ msgstr ""
"Python los modificara."
#: ../Doc/c-api/init_config.rst:1428
-#, fuzzy
msgid "See also :c:member:`PyConfig.orig_argv` member."
-msgstr ":c:member:`~PyConfig.parse_argv`"
+msgstr "Ver también el miembro :c:member:`PyConfig.orig_argv`."
#: ../Doc/c-api/init_config.rst:1432
msgid "Multi-Phase Initialization Private Provisional API"
@@ -2306,340 +2448,3 @@ msgid ""
msgstr ""
"Ejemplo de ejecución de código Python entre las fases de inicialización "
"\"Core\" y \"Main\"::"
-
-#~ msgid "Development mode: see :option:`-X dev <-X>`."
-#~ msgstr "Modo de desarrollo: ver :option:`-X dev <-X>`."
-
-#~ msgid ""
-#~ "Require a debug build of Python (``Py_REF_DEBUG`` macro must be defined)."
-#~ msgstr ""
-#~ "Requerir una compilación de depuración de Python (la macro "
-#~ "``Py_REF_DEBUG`` debe estar definida)."
-
-#~ msgid "Show allocation counts at exit?"
-#~ msgstr "¿Mostrar recuentos de asignación en la salida?"
-
-#~ msgid "Set to 1 by :option:`-X showalloccount <-X>` command line option."
-#~ msgstr ""
-#~ "Establecido en 1 por la opción de línea de comandos :option:`-X "
-#~ "showalloccount <-X>`."
-
-#~ msgid "Need a special Python build with ``COUNT_ALLOCS`` macro defined."
-#~ msgstr ""
-#~ "Necesita una compilación especial de Python con la macro ``COUNT_ALLOCS`` "
-#~ "definida."
-
-#~ msgid "Structures:"
-#~ msgstr "Estructuras:"
-
-#~ msgid ":c:type:`PyConfig`"
-#~ msgstr ":c:type:`PyConfig`"
-
-#~ msgid ":c:type:`PyPreConfig`"
-#~ msgstr ":c:type:`PyPreConfig`"
-
-#~ msgid ":c:type:`PyStatus`"
-#~ msgstr ":c:type:`PyStatus`"
-
-#~ msgid ":c:type:`PyWideStringList`"
-#~ msgstr ":c:type:`PyWideStringList`"
-
-#~ msgid "Functions:"
-#~ msgstr "Funciones:"
-
-#~ msgid ":c:func:`PyConfig_Clear`"
-#~ msgstr ":c:func:`PyConfig_Clear`"
-
-#~ msgid ":c:func:`PyConfig_InitIsolatedConfig`"
-#~ msgstr ":c:func:`PyConfig_InitIsolatedConfig`"
-
-#~ msgid ":c:func:`PyConfig_InitPythonConfig`"
-#~ msgstr ":c:func:`PyConfig_InitPythonConfig`"
-
-#~ msgid ":c:func:`PyConfig_Read`"
-#~ msgstr ":c:func:`PyConfig_Read`"
-
-#~ msgid ":c:func:`PyConfig_SetArgv`"
-#~ msgstr ":c:func:`PyConfig_SetArgv`"
-
-#~ msgid ":c:func:`PyConfig_SetBytesArgv`"
-#~ msgstr ":c:func:`PyConfig_SetBytesArgv`"
-
-#~ msgid ":c:func:`PyConfig_SetBytesString`"
-#~ msgstr ":c:func:`PyConfig_SetBytesString`"
-
-#~ msgid ":c:func:`PyConfig_SetString`"
-#~ msgstr ":c:func:`PyConfig_SetString`"
-
-#~ msgid ":c:func:`PyConfig_SetWideStringList`"
-#~ msgstr ":c:func:`PyConfig_SetWideStringList`"
-
-#~ msgid ":c:func:`PyPreConfig_InitIsolatedConfig`"
-#~ msgstr ":c:func:`PyPreConfig_InitIsolatedConfig`"
-
-#~ msgid ":c:func:`PyPreConfig_InitPythonConfig`"
-#~ msgstr ":c:func:`PyPreConfig_InitPythonConfig`"
-
-#~ msgid ":c:func:`PyStatus_Error`"
-#~ msgstr ":c:func:`PyStatus_Error`"
-
-#~ msgid ":c:func:`PyStatus_Exception`"
-#~ msgstr ":c:func:`PyStatus_Error`"
-
-#~ msgid ":c:func:`PyStatus_Exit`"
-#~ msgstr ":c:func:`PyStatus_Error`"
-
-#~ msgid ":c:func:`PyStatus_IsError`"
-#~ msgstr ":c:func:`PyStatus_IsError`"
-
-#~ msgid ":c:func:`PyStatus_IsExit`"
-#~ msgstr ":c:func:`PyStatus_IsExit`"
-
-#~ msgid ":c:func:`PyStatus_NoMemory`"
-#~ msgstr ":c:func:`PyStatus_NoMemory`"
-
-#~ msgid ":c:func:`PyStatus_Ok`"
-#~ msgstr ":c:func:`PyStatus_Ok`"
-
-#~ msgid ":c:func:`PyWideStringList_Append`"
-#~ msgstr ":c:func:`PyWideStringList_Append`"
-
-#~ msgid ":c:func:`PyWideStringList_Insert`"
-#~ msgstr ":c:func:`PyWideStringList_Insert`"
-
-#~ msgid ":c:func:`Py_ExitStatusException`"
-#~ msgstr ":c:func:`Py_ExitStatusException`"
-
-#~ msgid ":c:func:`Py_InitializeFromConfig`"
-#~ msgstr ":c:func:`Py_InitializeFromConfig`"
-
-#~ msgid ":c:func:`Py_PreInitialize`"
-#~ msgstr ":c:func:`Py_PreInitialize`"
-
-#~ msgid ":c:func:`Py_PreInitializeFromArgs`"
-#~ msgstr ":c:func:`Py_PreInitializeFromArgs`"
-
-#~ msgid ":c:func:`Py_PreInitializeFromBytesArgs`"
-#~ msgstr ":c:func:`Py_PreInitializeFromBytesArgs`"
-
-#~ msgid ":c:func:`Py_GetArgcArgv`"
-#~ msgstr ":c:func:`Py_GetArgcArgv`"
-
-#~ msgid "Set the Python memory allocator"
-#~ msgstr "Establece el asignador de memoria de Python"
-
-#~ msgid "Configure the LC_CTYPE locale"
-#~ msgstr "Configure el entorno local LC_CTYPE"
-
-#~ msgid "Set the UTF-8 mode"
-#~ msgstr "Establece el modo UTF-8"
-
-#~ msgid "``PYMEM_ALLOCATOR_DEFAULT`` (``1``): default memory allocators"
-#~ msgstr ""
-#~ "``PYMEM_ALLOCATOR_DEFAULT`` (``1``): asignadores de memoria "
-#~ "predeterminados"
-
-#~ msgid ""
-#~ "``PYMEM_ALLOCATOR_DEBUG`` (``2``): default memory allocators with debug "
-#~ "hooks"
-#~ msgstr ""
-#~ "``PYMEM_ALLOCATOR_DEBUG`` (``2``): asignadores de memoria predeterminados "
-#~ "con ganchos de depuración"
-
-#~ msgid "``PYMEM_ALLOCATOR_MALLOC`` (``3``): force usage of ``malloc()``"
-#~ msgstr "``PYMEM_ALLOCATOR_MALLOC`` (``3``): fuerza el uso de ``malloc()``"
-
-#~ msgid ""
-#~ "``PYMEM_ALLOCATOR_PYMALLOC`` and ``PYMEM_ALLOCATOR_PYMALLOC_DEBUG`` are "
-#~ "not supported if Python is configured using ``--without-pymalloc``"
-#~ msgstr ""
-#~ "``PYMEM_ALLOCATOR_PYMALLOC`` y ``PYMEM_ALLOCATOR_PYMALLOC_DEBUG`` no son "
-#~ "compatibles si Python está configurado con ``--with-pymalloc``"
-
-#~ msgid ""
-#~ "If non-zero, disable UTF-8 Mode, set the Python filesystem encoding to "
-#~ "``mbcs``, set the filesystem error handler to ``replace``."
-#~ msgstr ""
-#~ "Si no es cero, desactive el modo UTF-8, configure la codificación del "
-#~ "sistema de archivos Python en ``mbcs``, configure el controlador de "
-#~ "errores del sistema de archivos en ``replace``."
-
-#~ msgid "If non-zero, enable the UTF-8 mode."
-#~ msgstr "Si no es cero, habilita el modo UTF-8."
-
-#~ msgid ""
-#~ "Preinitialize Python from *preconfig* preconfiguration and command line "
-#~ "arguments (bytes strings)."
-#~ msgstr ""
-#~ "Preinicializa Python desde la preconfiguración *preconfig* y argumentos "
-#~ "de línea de comando (cadenas de caracteres de bytes)."
-
-#~ msgid ""
-#~ "Preinitialize Python from *preconfig* preconfiguration and command line "
-#~ "arguments (wide strings)."
-#~ msgstr ""
-#~ "Preinicializa Python desde la preconfiguración *preconfig* y argumentos "
-#~ "de línea de comando (cadenas de caracteres anchas)."
-
-#~ msgid ""
-#~ "Set command line arguments: decode bytes using :c:func:`Py_DecodeLocale`."
-#~ msgstr ""
-#~ "Establezca argumentos de línea de comando: decodifique bytes usando :c:"
-#~ "func:`Py_DecodeLocale`."
-
-#~ msgid ""
-#~ "Command line arguments, :data:`sys.argv`. See :c:member:`~PyConfig."
-#~ "parse_argv` to parse :c:member:`~PyConfig.argv` the same way the regular "
-#~ "Python parses Python command line arguments. If :c:member:`~PyConfig."
-#~ "argv` is empty, an empty string is added to ensure that :data:`sys.argv` "
-#~ "always exists and is never empty."
-#~ msgstr ""
-#~ "Argumentos de línea de comando, :data:`sys.argv`. Consulta :c:member:"
-#~ "`~PyConfig.parse_argv` para analizar :c:member:`~PyConfig.argv` de la "
-#~ "misma manera que Python normal analiza los argumentos de la línea de "
-#~ "comandos de Python. Si :c:member:`~PyConfig.argv` está vacío, se agrega "
-#~ "una cadena de caracteres vacía para garantizar que :data:`sys.argv` "
-#~ "siempre exista y nunca esté vacío."
-
-#~ msgid ""
-#~ ":data:`sys._base_executable`: ``__PYVENV_LAUNCHER__`` environment "
-#~ "variable value, or copy of :c:member:`PyConfig.executable`."
-#~ msgstr ""
-#~ ":data:`sys._base_executable`: ``__PYVENV_LAUNCHER__`` valor de la "
-#~ "variable de entorno, o copia de :c:member:`PyConfig.executable`."
-
-#~ msgid ""
-#~ ":data:`sys.platlibdir`: platform library directory name, set at configure "
-#~ "time by ``--with-platlibdir``, overrideable by the ``PYTHONPLATLIBDIR`` "
-#~ "environment variable."
-#~ msgstr ""
-#~ ":data:`sys.platlibdir`: nombre del directorio de la biblioteca de la "
-#~ "plataforma, establecido en el momento de la configuración por ``--with-"
-#~ "platlibdir``, anulable por la variable de entorno ``PYTHONPLATLIBDIR``."
-
-#~ msgid ""
-#~ "If equals to 0, enable unbuffered mode, making the stdout and stderr "
-#~ "streams unbuffered."
-#~ msgstr ""
-#~ "Si es igual a 0, habilite el modo sin búfer, haciendo que las secuencias "
-#~ "stdout y stderr no tengan búfer."
-
-#~ msgid "Valid values: ``always``, ``never`` and ``default``."
-#~ msgstr "Valores válidos: ``always``, ``never`` y ``default``."
-
-#~ msgid ""
-#~ "If non-zero, configure C standard streams (``stdio``, ``stdout``, "
-#~ "``stdout``). For example, set their mode to ``O_BINARY`` on Windows."
-#~ msgstr ""
-#~ "Si no es cero, configure las secuencias estándar C (``stdio``, "
-#~ "``stdout``, ``stdout``). Por ejemplo, configure su modo en ``O_BINARY`` "
-#~ "en Windows."
-
-#~ msgid "``Py_TRACE_REFS`` macro must be defined in build."
-#~ msgstr "El macro ``Py_TRACE_REFS`` debe ser definido en la construcción."
-
-#~ msgid ":data:`sys.exec_prefix`."
-#~ msgstr ":data:`sys.exec_prefix`."
-
-#~ msgid ""
-#~ "Initialized from :envvar:`PYTHONHOME` environment variable value by "
-#~ "default."
-#~ msgstr ""
-#~ "Inicializado desde valor de variable de entorno :envvar:`PYTHONHOME` por "
-#~ "defecto."
-
-#~ msgid "Interactive mode."
-#~ msgstr "Modo interactivo."
-
-#~ msgid ""
-#~ ":data:`sys.path`. If :c:member:`~PyConfig.module_search_paths_set` is "
-#~ "equal to 0, the :c:member:`~PyConfig.module_search_paths` is overridden "
-#~ "by the function calculating the :ref:`Path Configuration `."
-#~ msgstr ""
-#~ ":data:`sys.path`. Si :c:member:`~PyConfig.module_search_paths_set` es "
-#~ "igual a 0, el :c:member:`~PyConfig.module_search_paths` es anulado por la "
-#~ "función que calcula :ref:`Configuración de ruta ` ."
-
-#~ msgid ""
-#~ "If non-zero, parse :c:member:`~PyConfig.argv` the same way the regular "
-#~ "Python command line arguments, and strip Python arguments from :c:member:"
-#~ "`~PyConfig.argv`: see :ref:`Command Line Arguments `."
-#~ msgstr ""
-#~ "Si no es cero, analiza :c:member:`~PyConfig.argv` de la misma manera que "
-#~ "los argumentos regulares de la línea de comandos de Python, y elimine los "
-#~ "argumentos de Python de :c:member:`~PyConfig.argv`: vea :ref:`Argumentos "
-#~ "de línea de comando `."
-
-#~ msgid ""
-#~ "If equal to 0, suppress warnings when calculating the :ref:`Path "
-#~ "Configuration ` (Unix only, Windows does not log any "
-#~ "warning). Otherwise, warnings are written into ``stderr``."
-#~ msgstr ""
-#~ "Si es igual a 0, suprime las advertencias al calcular :ref:`Configuración "
-#~ "de ruta ` (solo Unix, Windows no registra ninguna "
-#~ "advertencia). De lo contrario, las advertencias se escriben en ``stderr``."
-
-#~ msgid ":data:`sys.prefix`."
-#~ msgstr ":data:`sys.prefix`."
-
-#~ msgid ":data:`sys.pycache_prefix`: ``.pyc`` cache prefix."
-#~ msgstr ":data:`sys.pycache_prefix`: prefijo de caché ``.pyc``."
-
-#~ msgid "``python3 -c COMMAND`` argument. Used by :c:func:`Py_RunMain`."
-#~ msgstr ""
-#~ "Argumento ``python3 -c COMMAND``. Utilizado por :c:func:`Py_RunMain`."
-
-#~ msgid "``python3 FILENAME`` argument. Used by :c:func:`Py_RunMain`."
-#~ msgstr "Argumento ``python3 FILENAME``. Utilizado por :c:func:`Py_RunMain`."
-
-#~ msgid "``python3 -m MODULE`` argument. Used by :c:func:`Py_RunMain`."
-#~ msgstr ""
-#~ "Argumento ``python3 -m MODULE``. Utilizado por :c:func:`Py_RunMain`."
-
-#~ msgid "Skip the first line of the source?"
-#~ msgstr "¿Saltar la primera línea de la fuente?"
-
-#~ msgid "If non-zero, enable verbose mode."
-#~ msgstr "Si no es cero, habilita el modo detallado."
-
-#~ msgid "If non-zero, write ``.pyc`` files."
-#~ msgstr "Si no es cero, escribe los archivos ``.pyc``."
-
-#~ msgid ":data:`sys._xoptions`."
-#~ msgstr ":data:`sys._xoptions`."
-
-#~ msgid "Enable PEG parser? Default: 1."
-#~ msgstr "Habilitar parser PEG? Por defecto: 1."
-
-#~ msgid ""
-#~ "Set to 0 by :option:`-X oldparser <-X>` and :envvar:`PYTHONOLDPARSER`."
-#~ msgstr ""
-#~ "Establecido en 0 por :option:`-X oldparser <-X>` y :envvar:"
-#~ "`PYTHONOLDPARSER`."
-
-#~ msgid "See also :pep:`617`."
-#~ msgstr "Vea también :pep:`617`."
-
-#~ msgid ""
-#~ "If ``parse_argv`` is non-zero, ``argv`` arguments are parsed the same way "
-#~ "the regular Python parses command line arguments, and Python arguments "
-#~ "are stripped from ``argv``: see :ref:`Command Line Arguments `."
-#~ msgstr ""
-#~ "Si ``parse_argv`` no es cero, los argumentos ``argv`` se analizan de la "
-#~ "misma manera que Python analiza los argumentos de línea de comando, y los "
-#~ "argumentos de Python se eliminan de ``argv``: ver :ref:`Argumentos de "
-#~ "línea de comando `."
-
-#~ msgid ""
-#~ "If ``PyImport_FrozenModules``, ``PyImport_AppendInittab()`` or "
-#~ "``PyImport_ExtendInittab()`` are used, they must be set or called after "
-#~ "Python preinitialization and before the Python initialization."
-#~ msgstr ""
-#~ "Si se usan ``PyImport_FrozenModules``, ``PyImport_AppendInittab()`` o "
-#~ "``PyImport_ExtendInittab()``, deben configurarse o llamarse después de la "
-#~ "preinicialización de Python y antes de la inicialización de Python."
-
-#~ msgid "Path Configuration"
-#~ msgstr "Configuración de ruta"
diff --git a/c-api/intro.po b/c-api/intro.po
index 72f8768d5c..33a43cec52 100644
--- a/c-api/intro.po
+++ b/c-api/intro.po
@@ -1145,68 +1145,3 @@ msgid ""
msgstr ""
"Consulte :file:`Misc/SpecialBuilds.txt` en la distribución fuente de Python "
"para obtener información más detallada."
-
-#~ msgid ""
-#~ "Use this when you have a code path that you do not expect to be reached. "
-#~ "For example, in the ``default:`` clause in a ``switch`` statement for "
-#~ "which all possible values are covered in ``case`` statements. Use this "
-#~ "in places where you might be tempted to put an ``assert(0)`` or "
-#~ "``abort()`` call."
-#~ msgstr ""
-#~ "Use esto cuando tenga una ruta de código que no espera alcanzar. Por "
-#~ "ejemplo, en la cláusula ``default:`` en una declaración ``switch`` para "
-#~ "la cual todos los valores posibles están cubiertos en las declaraciones "
-#~ "``case``. Use esto en lugares donde podría sentirse tentado a poner una "
-#~ "llamada ``assert(0)`` o ``abort()``."
-
-#~ msgid "Extra checks are added to the object allocator."
-#~ msgstr "Se agregan comprobaciones adicionales al asignador de objetos."
-
-#~ msgid "Extra checks are added to the parser and compiler."
-#~ msgstr "Se agregan verificaciones adicionales al analizador y compilador."
-
-#~ msgid ""
-#~ "Downcasts from wide types to narrow types are checked for loss of "
-#~ "information."
-#~ msgstr ""
-#~ "Las conversiones de tipos hacia abajo (*downcasting*) de tipos anchos a "
-#~ "tipos estrechos se comprueban por pérdida de información."
-
-#~ msgid ""
-#~ "A number of assertions are added to the dictionary and set "
-#~ "implementations. In addition, the set object acquires a :meth:"
-#~ "`test_c_api` method."
-#~ msgstr ""
-#~ "Se agregan varias aserciones al diccionario y se establecen "
-#~ "implementaciones. Además, el objeto set adquiere un método :meth:"
-#~ "`test_c_api`."
-
-#~ msgid "Sanity checks of the input arguments are added to frame creation."
-#~ msgstr ""
-#~ "Las comprobaciones de cordura (*sanity checks*) de los argumentos de "
-#~ "entrada se agregan a la creación del marco."
-
-#~ msgid ""
-#~ "The storage for ints is initialized with a known invalid pattern to catch "
-#~ "reference to uninitialized digits."
-#~ msgstr ""
-#~ "El almacenamiento para *ints* se inicializa con un patrón no válido "
-#~ "conocido para capturar referencias a dígitos no inicializados."
-
-#~ msgid ""
-#~ "Low-level tracing and extra exception checking are added to the runtime "
-#~ "virtual machine."
-#~ msgstr ""
-#~ "El seguimiento de bajo nivel y la comprobación de excepciones adicionales "
-#~ "se agregan a la máquina virtual en tiempo de ejecución."
-
-#~ msgid "Extra checks are added to the memory arena implementation."
-#~ msgstr ""
-#~ "Se agregan verificaciones adicionales a la implementación de la arena de "
-#~ "memoria."
-
-#~ msgid "Extra debugging is added to the thread module."
-#~ msgstr "Se agrega depuración adicional al módulo de hilos."
-
-#~ msgid "There may be additional checks not mentioned here."
-#~ msgstr "Puede haber controles adicionales no mencionados aquí."
diff --git a/c-api/iter.po b/c-api/iter.po
index 96f2a949dc..d90cd201bb 100644
--- a/c-api/iter.po
+++ b/c-api/iter.po
@@ -96,5 +96,5 @@ msgid ""
"``PYGEN_ERROR`` if iterator has raised and exception. *presult* is set to "
"``NULL``."
msgstr ""
-"``PYGEN_ERROR`` si el iterador ha generado una excepción. *presult* se "
+"``PYGEN_ERROR`` si el iterador ha lanzado una excepción. *presult* se "
"establece en ``NULL``."
diff --git a/c-api/list.po b/c-api/list.po
index 0790f22707..bad57e1938 100644
--- a/c-api/list.po
+++ b/c-api/list.po
@@ -209,7 +209,3 @@ msgid ""
msgstr ""
"Retorna un nuevo objeto tupla que contiene el contenido de *list*; "
"equivalente a ``tuple(list)``."
-
-#~ msgid "Clear the free list. Return the total number of freed items."
-#~ msgstr ""
-#~ "Limpia la lista libre. Retorna el número total de elementos liberados."
diff --git a/c-api/long.po b/c-api/long.po
index 2fe871435e..d4a8818dba 100644
--- a/c-api/long.po
+++ b/c-api/long.po
@@ -436,7 +436,7 @@ msgid ""
"c:func:`PyLong_FromVoidPtr`."
msgstr ""
"Convierte un entero Python *pylong* en un puntero C :c:type:`void`. Si "
-"*pylong* no se puede convertir, se generará un :exc:`OverflowError`. Esto "
+"*pylong* no se puede convertir, se lanzará un :exc:`OverflowError`. Esto "
"solo se garantiza para producir un puntero utilizable :c:type:`void` para "
"valores creados con :c:func:`PyLong_FromVoidPtr`."
@@ -446,51 +446,3 @@ msgid ""
msgstr ""
"Retorna ``NULL`` en caso de error. Use :c:func:`PyErr_Occurred` para "
"desambiguar."
-
-#~ msgid ""
-#~ "Convert a sequence of Unicode digits to a Python integer value. The "
-#~ "Unicode string is first encoded to a byte string using :c:func:"
-#~ "`PyUnicode_EncodeDecimal` and then converted using :c:func:"
-#~ "`PyLong_FromString`."
-#~ msgstr ""
-#~ "Convierte una secuencia de dígitos Unicode en un valor entero de Python. "
-#~ "La cadena de caracteres Unicode se codifica primero en una cadena de "
-#~ "bytes usando :c:func:`PyUnicode_EncodeDecimal` y luego se convierte "
-#~ "usando :c:func:`PyLong_FromString`."
-
-#~ msgid ""
-#~ "Convert a sequence of Unicode digits in the string *u* to a Python "
-#~ "integer value. The Unicode string is first encoded to a byte string "
-#~ "using :c:func:`PyUnicode_EncodeDecimal` and then converted using :c:func:"
-#~ "`PyLong_FromString`."
-#~ msgstr ""
-#~ "Convierte una secuencia de dígitos Unicode en la cadena de caracteres *u* "
-#~ "a un valor entero de Python. La cadena de caracteres Unicode se codifica "
-#~ "primero en una cadena de bytes usando :c:func:`PyUnicode_EncodeDecimal` y "
-#~ "luego se convierte usando :c:func:`PyLong_FromString`."
-
-#~ msgid ""
-#~ "If the value of *obj* is greater than :const:`PY_LLONG_MAX` or less than :"
-#~ "const:`PY_LLONG_MIN`, set *\\*overflow* to ``1`` or ``-1``, respectively, "
-#~ "and return ``-1``; otherwise, set *\\*overflow* to ``0``. If any other "
-#~ "exception occurs set *\\*overflow* to ``0`` and return ``-1`` as usual."
-#~ msgstr ""
-#~ "Si el valor de *obj* es mayor que :const:`PY_LLONG_MAX` o menor que :"
-#~ "const:`PY_LLONG_MIN`, establece *\\*overflow* en ``1`` o ``-1``, "
-#~ "respectivamente, y retorna ``-1``; de lo contrario, establece *"
-#~ "\\*overflow* en ``0``. Si se produce alguna otra excepción, configura *"
-#~ "\\*overflow* en ``0`` y retorna ``-1`` como de costumbre."
-
-#~ msgid "Convert a sequence of Unicode digits to a Python integer value."
-#~ msgstr ""
-#~ "Convierte una secuencia de dígitos Unicode en un valor entero de Python."
-
-#~ msgid ""
-#~ "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :"
-#~ "c:func:`PyLong_FromUnicodeObject`."
-#~ msgstr ""
-#~ "Parte de la API de viejo estilo :c:type:`Py_UNICODE`; por favor migrar "
-#~ "para usar :c:func:`PyLong_FromUnicodeObject`."
-
-#~ msgid "Using :meth:`__int__` is deprecated."
-#~ msgstr "Usar :meth:`__int__` está deprecado."
diff --git a/c-api/memory.po b/c-api/memory.po
index 6fedf74586..50015035ba 100644
--- a/c-api/memory.po
+++ b/c-api/memory.po
@@ -1361,59 +1361,3 @@ msgid ""
msgstr ""
"Esto se explicará en el próximo capítulo sobre cómo definir e implementar "
"nuevos tipos de objetos en C."
-
-#~ msgid "``void free(void *ctx, size_t size, void *ptr)``"
-#~ msgstr "``void free(void *ctx, size_t size, void *ptr)``"
-
-#~ msgid ""
-#~ "\"+ debug\": with debug hooks installed by :c:func:`PyMem_SetupDebugHooks`"
-#~ msgstr ""
-#~ "\"+ debug\": con ganchos de depuración instalados por :c:func:"
-#~ "`PyMem_SetupDebugHooks`"
-
-#~ msgid ""
-#~ "Newly allocated memory is filled with the byte ``0xCD`` (``CLEANBYTE``), "
-#~ "freed memory is filled with the byte ``0xDD`` (``DEADBYTE``). Memory "
-#~ "blocks are surrounded by \"forbidden bytes\" (``FORBIDDENBYTE``: byte "
-#~ "``0xFD``)."
-#~ msgstr ""
-#~ "La memoria recién asignada se llena con el byte ``0xCD`` (``CLEANBYTE``), "
-#~ "la memoria liberada se llena con el byte ``0xDD`` (``DEADBYTE``). Los "
-#~ "bloques de memoria están rodeados por \"bytes prohibidos"
-#~ "\" (``FORBIDDENBYTE``: byte ``0xFD``)."
-
-#~ msgid ""
-#~ "These hooks are :ref:`installed by default ` "
-#~ "if Python is compiled in debug mode. The :envvar:`PYTHONMALLOC` "
-#~ "environment variable can be used to install debug hooks on a Python "
-#~ "compiled in release mode."
-#~ msgstr ""
-#~ "Estos enlaces son :ref:`instalado por defecto ` si Python se compila en modo de depuración. La variable de "
-#~ "entorno :envvar:`PYTHONMALLOC` puede usarse para instalar enlaces de "
-#~ "depuración en un Python compilado en modo de lanzamiento."
-
-#~ msgid ""
-#~ "This function now also works on Python compiled in release mode. On "
-#~ "error, the debug hooks now use :mod:`tracemalloc` to get the traceback "
-#~ "where a memory block was allocated. The debug hooks now also check if the "
-#~ "GIL is held when functions of :c:data:`PYMEM_DOMAIN_OBJ` and :c:data:"
-#~ "`PYMEM_DOMAIN_MEM` domains are called."
-#~ msgstr ""
-#~ "Esta función ahora también funciona en Python compilado en modo de "
-#~ "lanzamiento. En caso de error, los enlaces de depuración ahora usan :mod:"
-#~ "`tracemalloc` para obtener el rastreo donde se asignó un bloque de "
-#~ "memoria. Los enlaces de depuración ahora también verifican si el GIL se "
-#~ "mantiene cuando se llaman a las funciones de :c:data:`PYMEM_DOMAIN_OBJ` y "
-#~ "dominios :c:data:`PYMEM_DOMAIN_MEM`."
-
-#~ msgid ""
-#~ "Byte patterns ``0xCB`` (``CLEANBYTE``), ``0xDB`` (``DEADBYTE``) and "
-#~ "``0xFB`` (``FORBIDDENBYTE``) have been replaced with ``0xCD``, ``0xDD`` "
-#~ "and ``0xFD`` to use the same values than Windows CRT debug ``malloc()`` "
-#~ "and ``free()``."
-#~ msgstr ""
-#~ "Los patrones de bytes ``0xCB`` (``CLEANBYTE``), ``0xDB`` (``DEADBYTE``) y "
-#~ "``0xFB`` (``FORBIDDENBYTE``) han sido reemplazados por ``0xCD``, ``0xDD`` "
-#~ "y ``0xFD`` para usar los mismos valores que la depuración CRT de Windows "
-#~ "``malloc()`` y ``free()``."
diff --git a/c-api/method.po b/c-api/method.po
index 700f8bd972..0d75788c6f 100644
--- a/c-api/method.po
+++ b/c-api/method.po
@@ -140,7 +140,3 @@ msgid "Macro version of :c:func:`PyMethod_Self` which avoids error checking."
msgstr ""
"Versión macro de :c:func:`PyMethod_Self` que evita la comprobación de "
"errores."
-
-#~ msgid "Clear the free list. Return the total number of freed items."
-#~ msgstr ""
-#~ "Borra la lista libre. Retorna el número total de artículos liberados."
diff --git a/c-api/module.po b/c-api/module.po
index b2ce6ef48b..84c692d5aa 100644
--- a/c-api/module.po
+++ b/c-api/module.po
@@ -88,7 +88,7 @@ msgstr ""
"Retorna el objeto del diccionario que implementa el espacio de nombres de "
"*module*; este objeto es el mismo que el atributo :attr:`~object.__dict__` "
"del objeto módulo. Si *module* no es un objeto módulo (o un subtipo de un "
-"objeto de módulo), :exc:`SystemError` se genera y se retorna ``NULL``."
+"objeto de módulo), se lanza :exc:`SystemError` y se retorna ``NULL``."
#: ../Doc/c-api/module.rst:67
msgid ""
@@ -918,50 +918,3 @@ msgid ""
msgstr ""
"Elimina el objeto del módulo creado a partir de *def* del estado del "
"intérprete. Retorna 0 en caso de éxito o -1 en caso de error."
-
-#~ msgid ""
-#~ "A traversal function to call during GC traversal of the module object, or "
-#~ "``NULL`` if not needed. This function may be called before module state "
-#~ "is allocated (:c:func:`PyModule_GetState()` may return `NULL`), and "
-#~ "before the :c:member:`Py_mod_exec` function is executed."
-#~ msgstr ""
-#~ "Una función transversal para llamar durante el recorrido del GC del "
-#~ "objeto del módulo, o ``NULL`` si no es necesario. Se puede llamar a esta "
-#~ "función antes de asignar el estado del módulo (:c:func:"
-#~ "`PyModule_GetState()` puede retornar `NULL`), y antes de que se ejecute "
-#~ "la función :c:member:`Py_mod_exec`."
-
-#~ msgid ""
-#~ "A clear function to call during GC clearing of the module object, or "
-#~ "``NULL`` if not needed. This function may be called before module state "
-#~ "is allocated (:c:func:`PyModule_GetState()` may return `NULL`), and "
-#~ "before the :c:member:`Py_mod_exec` function is executed."
-#~ msgstr ""
-#~ "Una función clara para llamar durante la eliminación de GC del objeto del "
-#~ "módulo, o ``NULL`` si no es necesario. Se puede llamar a esta función "
-#~ "antes de asignar el estado del módulo (:c:func:`PyModule_GetState()` "
-#~ "puede retornar `NULL`), y antes de que se ejecute la función :c:member:"
-#~ "`Py_mod_exec`."
-
-#~ msgid ""
-#~ "A function to call during deallocation of the module object, or ``NULL`` "
-#~ "if not needed. This function may be called before module state is "
-#~ "allocated (:c:func:`PyModule_GetState()` may return `NULL`), and before "
-#~ "the :c:member:`Py_mod_exec` function is executed."
-#~ msgstr ""
-#~ "Una función para llamar durante la desasignación del objeto del módulo, o "
-#~ "``NULL`` si no es necesario. Se puede llamar a esta función antes de "
-#~ "asignar el estado del módulo (:c:func:`PyModule_GetState()` puede "
-#~ "retornar `NULL`), y antes de que se ejecute la función :c:member:"
-#~ "`Py_mod_exec`."
-
-#~ msgid ""
-#~ "Add an object to *module* as *name*. This is a convenience function "
-#~ "which can be used from the module's initialization function. This steals "
-#~ "a reference to *value* on success. Return ``-1`` on error, ``0`` on "
-#~ "success."
-#~ msgstr ""
-#~ "Agrega un objeto a *module* como *name*. Esta es una función conveniente "
-#~ "que se puede utilizar desde la función de inicialización del módulo. Esto "
-#~ "roba una referencia al *value* en caso de éxito. Retorna ``-1`` en caso "
-#~ "de error, ``0`` en caso de éxito."
diff --git a/c-api/number.po b/c-api/number.po
index 0db1c4488b..123e863125 100644
--- a/c-api/number.po
+++ b/c-api/number.po
@@ -370,7 +370,7 @@ msgid ""
"`TypeError` exception raised on failure."
msgstr ""
"Retorna el *o* convertido aun entero de Python (*int*) en caso de éxito o "
-"``NULL`` con una excepción :exc:`TypeError` generada en caso de error."
+"``NULL`` con una excepción :exc:`TypeError` lanzada en caso de error."
#: ../Doc/c-api/number.rst:259
msgid ""
@@ -400,7 +400,7 @@ msgid ""
"integer. If the call fails, an exception is raised and ``-1`` is returned."
msgstr ""
"Retorna *o* convertido a un valor ``Py_ssize_t`` si *o* puede interpretarse "
-"como un entero. Si la llamada falla, se genera una excepción y se retorna "
+"como un entero. Si la llamada falla, se lanza una excepción y se retorna "
"``-1``."
#: ../Doc/c-api/number.rst:278
@@ -413,8 +413,8 @@ msgid ""
"negative integer or ``PY_SSIZE_T_MAX`` for a positive integer."
msgstr ""
"Si *o* se puede convertir a un entero Python (*int*) pero el intento de "
-"convertir a un valor ``Py_ssize_t`` generaría un :exc:`OverflowError`, "
-"entonces el argumento *exc* es el tipo de excepción que se generará "
+"convertir a un valor ``Py_ssize_t`` lanzaría un :exc:`OverflowError`, "
+"entonces el argumento *exc* es el tipo de excepción que se lanzará "
"(generalmente :exc:`IndexError` o :exc:`OverflowError`). Si *exc* es "
"``NULL``, la excepción se borra y el valor se recorta a ``PY_SSIZE_T_MIN`` "
"para un entero negativo o ``PY_SSIZE_T_MAX`` para un entero positivo."
diff --git a/c-api/object.po b/c-api/object.po
index 0c245ca452..a191c82208 100644
--- a/c-api/object.po
+++ b/c-api/object.po
@@ -123,7 +123,7 @@ msgstr ""
"`~object.__ dict__` (si está presente). Como se describe en :ref:"
"`descriptors`, los descriptores de datos tienen preferencia sobre los "
"atributos de instancia, mientras que los descriptores que no son de datos no "
-"lo hacen. De lo contrario, se genera un :exc:`AttributeError`."
+"lo hacen. De lo contrario, se lanza un :exc:`AttributeError`."
#: ../Doc/c-api/object.rst:79 ../Doc/c-api/object.rst:90
msgid ""
@@ -132,9 +132,9 @@ msgid ""
"success. This is the equivalent of the Python statement ``o.attr_name = v``."
msgstr ""
"Establece el valor del atributo llamado *attr_name*, para el objeto *o*, en "
-"el valor *v*. Genera una excepción y retorna ``-1`` en caso de falla; "
-"retorna ``0`` en caso de éxito. Este es el equivalente de la declaración de "
-"Python ``o.attr_name = v``."
+"el valor *v*. Lanza una excepción y retorna ``-1`` en caso de falla; retorna "
+"``0`` en caso de éxito. Este es el equivalente de la declaración de Python "
+"``o.attr_name = v``."
#: ../Doc/c-api/object.rst:84
msgid ""
@@ -170,7 +170,7 @@ msgstr ""
"la configuración o eliminación del atributo en el diccionario de instancias. "
"De lo contrario, el atributo se establece o elimina en el objeto :attr:"
"`~object.__dict__` (si está presente). En caso de éxito, se retorna ``0``; "
-"de lo contrario, se genera un :exc:`AttributeError` y se retorna ``-1``."
+"de lo contrario, se lanza un :exc:`AttributeError` y se retorna ``-1``."
#: ../Doc/c-api/object.rst:113 ../Doc/c-api/object.rst:119
msgid ""
@@ -497,10 +497,10 @@ msgid ""
"on failure; return ``0`` on success. This is the equivalent of the Python "
"statement ``o[key] = v``. This function *does not* steal a reference to *v*."
msgstr ""
-"Asigna el objeto *key* al valor *v*. Genera una excepción y retorna ``-1`` "
-"en caso de error; retorna ``0`` en caso de éxito. Este es el equivalente de "
-"la declaración de Python ``o[key] = v``. Esta función *no* roba una "
-"referencia a *v*."
+"Asigna el objeto *key* al valor *v*. Lanza una excepción y retorna ``-1`` en "
+"caso de error; retorna ``0`` en caso de éxito. Este es el equivalente de la "
+"declaración de Python ``o[key] = v``. Esta función *no* roba una referencia "
+"a *v*."
#: ../Doc/c-api/object.rst:340
msgid ""
@@ -551,244 +551,3 @@ msgstr ""
"un nuevo iterador, pero si el argumento es :class:`AsyncIterator`, se "
"retornará a sí mismo. Lanza :exc:`TypeError` y retorna ``NULL`` si el objeto "
"no puede ser iterado."
-
-#~ msgid ""
-#~ "Determine if the object *o* is callable. Return ``1`` if the object is "
-#~ "callable and ``0`` otherwise. This function always succeeds."
-#~ msgstr ""
-#~ "Determina si el objeto *o* es invocable. Retorna ``1`` si el objeto es "
-#~ "invocable y ``0`` de lo contrario. Esta función siempre tiene éxito."
-
-#~ msgid ""
-#~ "Call a callable Python object *callable*, with arguments given by the "
-#~ "tuple *args*, and named arguments given by the dictionary *kwargs*."
-#~ msgstr ""
-#~ "Llama un objeto Python invocable *invocable*, con argumentos dados por la "
-#~ "tupla *args*, y argumentos con nombre dados por el diccionario *kwargs*."
-
-#~ msgid ""
-#~ "*args* must not be ``NULL``, use an empty tuple if no arguments are "
-#~ "needed. If no named arguments are needed, *kwargs* can be ``NULL``."
-#~ msgstr ""
-#~ "*args* no debe ser ``NULL``, use una tupla vacía si no se necesitan "
-#~ "argumentos. Si no se necesitan argumentos con nombre, *kwargs* puede ser "
-#~ "``NULL``."
-
-#~ msgid ""
-#~ "Return the result of the call on success, or raise an exception and "
-#~ "return ``NULL`` on failure."
-#~ msgstr ""
-#~ "Retorna el resultado de la llamada en caso de éxito o genera una "
-#~ "excepción y retorna ``NULL`` en caso de error."
-
-#~ msgid ""
-#~ "This is the equivalent of the Python expression: ``callable(*args, "
-#~ "**kwargs)``."
-#~ msgstr ""
-#~ "Este es el equivalente de la expresión de Python: ``callable(*args, "
-#~ "**kwargs)``."
-
-#~ msgid ""
-#~ "Call a callable Python object *callable*, with arguments given by the "
-#~ "tuple *args*. If no arguments are needed, then *args* can be ``NULL``."
-#~ msgstr ""
-#~ "Llama un objeto Python invocable *invocable*, con argumentos dados por la "
-#~ "tupla *args*. Si no se necesitan argumentos, entonces *args* puede ser "
-#~ "``NULL``."
-
-#~ msgid ""
-#~ "This is the equivalent of the Python expression: ``callable(*args)``."
-#~ msgstr ""
-#~ "Este es el equivalente de la expresión de Python: ``callable(*args)``."
-
-#~ msgid ""
-#~ "Call a callable Python object *callable*, with a variable number of C "
-#~ "arguments. The C arguments are described using a :c:func:`Py_BuildValue` "
-#~ "style format string. The format can be ``NULL``, indicating that no "
-#~ "arguments are provided."
-#~ msgstr ""
-#~ "Llama un objeto Python invocable *invocable*, con un número variable de "
-#~ "argumentos C. Los argumentos de C se describen utilizando una cadena de "
-#~ "caracteres de formato de estilo :c:func:`Py_BuildValue`. El formato puede "
-#~ "ser ``NULL``, lo que indica que no se proporcionan argumentos."
-
-#~ msgid ""
-#~ "Note that if you only pass :c:type:`PyObject \\*` args, :c:func:"
-#~ "`PyObject_CallFunctionObjArgs` is a faster alternative."
-#~ msgstr ""
-#~ "Tenga en cuenta que si solo pasa argumentos :c:type:`PyObject\\*`, :c:"
-#~ "func:`PyObject_CallFunctionObjArgs` es una alternativa más rápida."
-
-#~ msgid "The type of *format* was changed from ``char *``."
-#~ msgstr "El tipo de *format* se cambió de ``char *``."
-
-#~ msgid ""
-#~ "Call the method named *name* of object *obj* with a variable number of C "
-#~ "arguments. The C arguments are described by a :c:func:`Py_BuildValue` "
-#~ "format string that should produce a tuple."
-#~ msgstr ""
-#~ "Llama al método llamado *nombre* del objeto *obj* con un número variable "
-#~ "de argumentos C. Los argumentos de C se describen mediante una cadena de "
-#~ "caracteres de formato :c:func:`Py_BuildValue` que debería producir una "
-#~ "tupla."
-
-#~ msgid ""
-#~ "The format can be ``NULL``, indicating that no arguments are provided."
-#~ msgstr ""
-#~ "El formato puede ser ``NULL``, lo que indica que no se proporcionan "
-#~ "argumentos."
-
-#~ msgid ""
-#~ "This is the equivalent of the Python expression: ``obj.name(arg1, "
-#~ "arg2, ...)``."
-#~ msgstr ""
-#~ "Este es el equivalente de la expresión de Python: ``obj.name(arg1, "
-#~ "arg2, ...)``."
-
-#~ msgid ""
-#~ "Note that if you only pass :c:type:`PyObject \\*` args, :c:func:"
-#~ "`PyObject_CallMethodObjArgs` is a faster alternative."
-#~ msgstr ""
-#~ "Tenga en cuenta que si solo pasa argumentos :c:type:`PyObject\\*`, :c:"
-#~ "func:`PyObject_CallMethodObjArgs` es una alternativa más rápida."
-
-#~ msgid "The types of *name* and *format* were changed from ``char *``."
-#~ msgstr "Los tipos de *name* y *format* se cambiaron de ``char *``."
-
-#~ msgid ""
-#~ "Call a callable Python object *callable*, with a variable number of :c:"
-#~ "type:`PyObject\\*` arguments. The arguments are provided as a variable "
-#~ "number of parameters followed by ``NULL``."
-#~ msgstr ""
-#~ "Llama un objeto Python invocable *invocable*, con un número variable de "
-#~ "argumentos :c:type:`PyObject\\*`. Los argumentos se proporcionan como un "
-#~ "número variable de parámetros seguido de ``NULL``."
-
-#~ msgid ""
-#~ "This is the equivalent of the Python expression: ``callable(arg1, "
-#~ "arg2, ...)``."
-#~ msgstr ""
-#~ "Este es el equivalente de la expresión de Python: ``callable(arg1, "
-#~ "arg2, ...)``."
-
-#~ msgid ""
-#~ "Calls a method of the Python object *obj*, where the name of the method "
-#~ "is given as a Python string object in *name*. It is called with a "
-#~ "variable number of :c:type:`PyObject\\*` arguments. The arguments are "
-#~ "provided as a variable number of parameters followed by ``NULL``."
-#~ msgstr ""
-#~ "Llama un método del objeto Python *obj*, donde el nombre del método se da "
-#~ "como un objeto de cadena de caracteres Python en *nombre*. Se llama con "
-#~ "un número variable de argumentos :c:type:`PyObject\\*`. Los argumentos se "
-#~ "proporcionan como un número variable de parámetros seguido de ``NULL``."
-
-#~ msgid ""
-#~ "Call a callable Python object *callable*, using :c:data:`vectorcall "
-#~ "` if possible."
-#~ msgstr ""
-#~ "Llama un objeto Python invocable *invocable*, utilizando :c:data:"
-#~ "`vectorcall ` si es posible."
-
-#~ msgid "*args* is a C array with the positional arguments."
-#~ msgstr "*args* es una arreglo en C con los argumentos posicionales."
-
-#~ msgid ""
-#~ "*nargsf* is the number of positional arguments plus optionally the flag :"
-#~ "const:`PY_VECTORCALL_ARGUMENTS_OFFSET` (see below). To get actual number "
-#~ "of arguments, use :c:func:`PyVectorcall_NARGS(nargsf) "
-#~ "`."
-#~ msgstr ""
-#~ "*nargsf* es el número de argumentos posicionales más, opcionalmente, el "
-#~ "indicador :const:`PY_VECTORCALL_ARGUMENTS_OFFSET` (ver más abajo). Para "
-#~ "obtener el número real de argumentos, use :c:func:"
-#~ "`PyVectorcall_NARGS(nargsf) `."
-
-#~ msgid ""
-#~ "*kwnames* can be either ``NULL`` (no keyword arguments) or a tuple of "
-#~ "keyword names. In the latter case, the values of the keyword arguments "
-#~ "are stored in *args* after the positional arguments. The number of "
-#~ "keyword arguments does not influence *nargsf*."
-#~ msgstr ""
-#~ "*kwnames* puede ser ``NULL`` (sin argumentos de palabras clave) o una "
-#~ "tupla de nombres de palabras clave. En el último caso, los valores de los "
-#~ "argumentos de palabras clave se almacenan en *args* después de los "
-#~ "argumentos posicionales. El número de argumentos de palabras clave no "
-#~ "influye en *nargsf*."
-
-#~ msgid ""
-#~ "*kwnames* must contain only objects of type ``str`` (not a subclass), and "
-#~ "all keys must be unique."
-#~ msgstr ""
-#~ "*kwnames* debe contener solo objetos de tipo ``str`` (no una subclase), y "
-#~ "todas las claves deben ser únicas."
-
-#~ msgid ""
-#~ "This uses the vectorcall protocol if the callable supports it; otherwise, "
-#~ "the arguments are converted to use :c:member:`~PyTypeObject.tp_call`."
-#~ msgstr ""
-#~ "Esto usa el protocolo *vectorcall* si el invocable lo admite; de lo "
-#~ "contrario, los argumentos se convierten para usar :c:member:"
-#~ "`~PyTypeObject.tp_call`."
-
-#~ msgid ""
-#~ "This function is provisional and expected to become public in Python 3.9, "
-#~ "with a different name and, possibly, changed semantics. If you use the "
-#~ "function, plan for updating your code for Python 3.9."
-#~ msgstr ""
-#~ "Esta función es provisional y se espera que se haga pública en Python "
-#~ "3.9, con un nombre diferente y, posiblemente, una semántica cambiada. Si "
-#~ "usa la función, planifique actualizar su código para Python 3.9."
-
-#~ msgid ""
-#~ "If set in a vectorcall *nargsf* argument, the callee is allowed to "
-#~ "temporarily change ``args[-1]``. In other words, *args* points to "
-#~ "argument 1 (not 0) in the allocated vector. The callee must restore the "
-#~ "value of ``args[-1]`` before returning."
-#~ msgstr ""
-#~ "Si se establece en un argumento *vectorcall* *nargsf*, la persona que "
-#~ "llama puede cambiar temporalmente ``args[-1]``. En otras palabras, *args* "
-#~ "apunta al argumento 1 (no 0) en el vector asignado. La persona que llama "
-#~ "debe restaurar el valor de ``args[-1]`` antes de retornar."
-
-#~ msgid ""
-#~ "Whenever they can do so cheaply (without additional allocation), callers "
-#~ "are encouraged to use :const:`PY_VECTORCALL_ARGUMENTS_OFFSET`. Doing so "
-#~ "will allow callables such as bound methods to make their onward calls "
-#~ "(which include a prepended *self* argument) cheaply."
-#~ msgstr ""
-#~ "Siempre que puedan hacerlo a bajo costo (sin asignación adicional), se "
-#~ "recomienda a las personas que llaman que utilicen :const:"
-#~ "`PY_VECTORCALL_ARGUMENTS_OFFSET`. Hacerlo permitirá que los invocables, "
-#~ "como los métodos enlazados, realicen sus llamadas posteriores (que "
-#~ "incluyen un argumento *self* antepuesto) a bajo precio."
-
-#~ msgid ""
-#~ "Given a vectorcall *nargsf* argument, return the actual number of "
-#~ "arguments. Currently equivalent to ``nargsf & "
-#~ "~PY_VECTORCALL_ARGUMENTS_OFFSET``."
-#~ msgstr ""
-#~ "Dado un argumento *vectorcall* *nargsf*, retorna el número real de "
-#~ "argumentos. Actualmente equivalente a ``nargsf & "
-#~ "~PY_VECTORCALL_ARGUMENTS_OFFSET``."
-
-#~ msgid ""
-#~ "Same as :c:func:`_PyObject_Vectorcall` except that the keyword arguments "
-#~ "are passed as a dictionary in *kwdict*. This may be ``NULL`` if there are "
-#~ "no keyword arguments."
-#~ msgstr ""
-#~ "Igual que :c:func:`_PyObject_Vectorcall` excepto que los argumentos de "
-#~ "palabras clave se pasan como un diccionario en *kwdict*. Esto puede ser "
-#~ "``NULL`` si no hay argumentos de palabras clave."
-
-#~ msgid ""
-#~ "For callables supporting :c:data:`vectorcall `, the arguments are internally converted to the "
-#~ "vectorcall convention. Therefore, this function adds some overhead "
-#~ "compared to :c:func:`_PyObject_Vectorcall`. It should only be used if the "
-#~ "caller already has a dictionary ready to use."
-#~ msgstr ""
-#~ "Para llamadas que admiten :c:data:`vectorcall `, los argumentos se convierten internamente a la "
-#~ "convención *vectorcall*. Por lo tanto, esta función agrega algunos gastos "
-#~ "generales en comparación con :c:func:`_PyObject_Vectorcall`. Solo debe "
-#~ "usarse si la persona que llama ya tiene un diccionario listo para usar."
diff --git a/c-api/refcounting.po b/c-api/refcounting.po
index 5f1243e3f6..fd0e4265a1 100644
--- a/c-api/refcounting.po
+++ b/c-api/refcounting.po
@@ -220,14 +220,3 @@ msgstr ""
"Las siguientes funciones o macros son solo para uso dentro del núcleo del "
"intérprete: :c:func:`_Py_Dealloc`, :c:func:`_Py_ForgetReference`, :c:func:"
"`_Py_NewReference`, así como la variable global :c:data:`_Py_RefTotal`."
-
-#~ msgid ""
-#~ "Decrement the reference count for object *o*. The object must not be "
-#~ "``NULL``; if you aren't sure that it isn't ``NULL``, use :c:func:"
-#~ "`Py_XDECREF`. If the reference count reaches zero, the object's type's "
-#~ "deallocation function (which must not be ``NULL``) is invoked."
-#~ msgstr ""
-#~ "Disminuye el conteo de referencia para el objeto *o*. El objeto no debe "
-#~ "ser ``NULL``; si no está seguro de que no sea ``NULL``, use :c:func:"
-#~ "`Py_XDECREF`. Si el conteo de referencia llega a cero, se invoca la "
-#~ "función de desasignación del tipo de objeto (que no debe ser ``NULL``)."
diff --git a/c-api/set.po b/c-api/set.po
index 359efd98b1..f7bdb844c4 100644
--- a/c-api/set.po
+++ b/c-api/set.po
@@ -269,7 +269,3 @@ msgstr ""
#: ../Doc/c-api/set.rst:166
msgid "Empty an existing set of all elements."
msgstr "Vacía un conjunto existente de todos los elementos."
-
-#~ msgid "Clear the free list. Return the total number of freed items."
-#~ msgstr ""
-#~ "Borra la lista libre. Retorna el número total de artículos liberados."
diff --git a/c-api/stable.po b/c-api/stable.po
index cb52a33533..dd3754a08d 100644
--- a/c-api/stable.po
+++ b/c-api/stable.po
@@ -342,78 +342,3 @@ msgstr "Contenido de la API limitada"
#: ../Doc/c-api/stable.rst:156
msgid "Currently, the Limited API includes the following items:"
msgstr "Actualmente, la API limitada incluye los siguientes elementos:"
-
-#~ msgid ""
-#~ "Traditionally, the C API of Python will change with every release. Most "
-#~ "changes will be source-compatible, typically by only adding API, rather "
-#~ "than changing existing API or removing API (although some interfaces do "
-#~ "get removed after being deprecated first)."
-#~ msgstr ""
-#~ "Tradicionalmente, la API en C de Python cambiará con cada lanzamiento. La "
-#~ "mayoría de los cambios serán compatibles con la fuente, generalmente solo "
-#~ "agregando API, en lugar de cambiar la API existente o eliminar la API "
-#~ "(aunque algunas interfaces se eliminan después de ser desaprobadas "
-#~ "primero)."
-
-#~ msgid ""
-#~ "Unfortunately, the API compatibility does not extend to binary "
-#~ "compatibility (the ABI). The reason is primarily the evolution of struct "
-#~ "definitions, where addition of a new field, or changing the type of a "
-#~ "field, might not break the API, but can break the ABI. As a consequence, "
-#~ "extension modules need to be recompiled for every Python release "
-#~ "(although an exception is possible on Unix when none of the affected "
-#~ "interfaces are used). In addition, on Windows, extension modules link "
-#~ "with a specific pythonXY.dll and need to be recompiled to link with a "
-#~ "newer one."
-#~ msgstr ""
-#~ "Desafortunadamente, la compatibilidad API no se extiende a la "
-#~ "compatibilidad binaria (el ABI). La razón es principalmente la evolución "
-#~ "de las definiciones de estructura, donde la adición de un nuevo campo, o "
-#~ "el cambio del tipo de campo, puede no romper la API, pero puede romper la "
-#~ "ABI. Como consecuencia, los módulos de extensión deben volver a "
-#~ "compilarse para cada versión de Python (aunque es posible una excepción "
-#~ "en Unix cuando no se utiliza ninguna de las interfaces afectadas). "
-#~ "Además, en Windows, los módulos de extensión se vinculan con un pythonXY."
-#~ "dll específico y deben recompilarse para vincularse con uno más nuevo."
-
-#~ msgid ""
-#~ "Since Python 3.2, a subset of the API has been declared to guarantee a "
-#~ "stable ABI. Extension modules wishing to use this API (called \"limited "
-#~ "API\") need to define ``Py_LIMITED_API``. A number of interpreter details "
-#~ "then become hidden from the extension module; in return, a module is "
-#~ "built that works on any 3.x version (x>=2) without recompilation."
-#~ msgstr ""
-#~ "Desde Python 3.2, se ha declarado un subconjunto de la API para "
-#~ "garantizar un ABI estable. Los módulos de extensión que deseen utilizar "
-#~ "esta API (llamada \"API limitada\") deben definir ``Py_LIMITED_API``. "
-#~ "Varios detalles del intérprete se ocultan del módulo de extensión; a "
-#~ "cambio, se construye un módulo que funciona en cualquier versión 3.x (x> "
-#~ "= 2) sin recompilación."
-
-#~ msgid ""
-#~ "In some cases, the stable ABI needs to be extended with new functions. "
-#~ "Extension modules wishing to use these new APIs need to set "
-#~ "``Py_LIMITED_API`` to the ``PY_VERSION_HEX`` value (see :ref:"
-#~ "`apiabiversion`) of the minimum Python version they want to support (e.g. "
-#~ "``0x03030000`` for Python 3.3). Such modules will work on all subsequent "
-#~ "Python releases, but fail to load (because of missing symbols) on the "
-#~ "older releases."
-#~ msgstr ""
-#~ "En algunos casos, el ABI estable debe ampliarse con nuevas funciones. Los "
-#~ "módulos de extensión que deseen utilizar estas nuevas API deben "
-#~ "establecer ``Py_LIMITED_API`` en el valor ``PY_VERSION_HEX`` (ver :ref:"
-#~ "`apiabiversion`) de la versión mínima de Python que desean admitir (por "
-#~ "ejemplo,``0x03030000`` para Python 3.3). Dichos módulos funcionarán en "
-#~ "todas las versiones posteriores de Python, pero no se cargarán (debido a "
-#~ "la falta de símbolos) en las versiones anteriores."
-
-#~ msgid ""
-#~ "As of Python 3.2, the set of functions available to the limited API is "
-#~ "documented in :pep:`384`. In the C API documentation, API elements that "
-#~ "are not part of the limited API are marked as \"Not part of the limited "
-#~ "API.\""
-#~ msgstr ""
-#~ "A partir de Python 3.2, el conjunto de funciones disponibles para la API "
-#~ "limitada se documenta en :pep:`384`. En la documentación de la API de C, "
-#~ "los elementos de la API que no forman parte de la API limitada se marcan "
-#~ "como \"No forma parte de la API limitada\"."
diff --git a/c-api/structures.po b/c-api/structures.po
index 5db25e6704..599ebd69de 100644
--- a/c-api/structures.po
+++ b/c-api/structures.po
@@ -927,48 +927,3 @@ msgstr ""
"En caso de que el atributo deba suprimirse el segundo parámetro es ``NULL``. "
"Debe retornar ``0`` en caso de éxito o ``-1`` con una excepción explícita en "
"caso de fallo."
-
-#~ msgid ""
-#~ "Type of the functions used to implement Python callables in C with "
-#~ "signature :const:`METH_VARARGS | METH_KEYWORDS`."
-#~ msgstr ""
-#~ "Tipo de las funciones que se utilizan para implementar invocables Python "
-#~ "en C con la firma :const:`METH_VARARGS | METH_KEYWORDS`."
-
-#~ msgid ""
-#~ "Type of the functions used to implement Python callables in C with "
-#~ "signature :const:`METH_FASTCALL | METH_KEYWORDS`."
-#~ msgstr ""
-#~ "Tipo de las funciones que se utilizan para implementar invocables Python "
-#~ "en C con la firma :const:`METH_FASTCALL | METH_KEYWORDS`."
-
-#~ msgid ""
-#~ "There are four basic calling conventions for positional arguments and two "
-#~ "of them can be combined with :const:`METH_KEYWORDS` to support also "
-#~ "keyword arguments. So there are a total of 6 calling conventions:"
-#~ msgstr ""
-#~ "Hay cuatro convenciones básicas de llamadas de argumentos posicionales y "
-#~ "dos de ellos se pueden combinar con :const:`METH_KEYWORDS` para soportar "
-#~ "también argumentos de palabra clave (*keyword*). Así que hay un total de "
-#~ "6 convenciones de llamada:"
-
-#~ msgid ""
-#~ "This macro is used to access the :attr:`ob_type` member of a Python "
-#~ "object. It expands to::"
-#~ msgstr ""
-#~ "Esta macro se utiliza para acceder al miembro :attr:`ob_type` de un "
-#~ "objeto Python. Se expande a::"
-
-#~ msgid ""
-#~ "This macro is used to access the :attr:`ob_refcnt` member of a Python "
-#~ "object. It expands to::"
-#~ msgstr ""
-#~ "Esta macro se utiliza para acceder al miembro :attr:`ob_refcnt` de un "
-#~ "objeto Python. Se expande a::"
-
-#~ msgid ""
-#~ "This macro is used to access the :attr:`ob_size` member of a Python "
-#~ "object. It expands to::"
-#~ msgstr ""
-#~ "Esta macro se utiliza para acceder al miembro :attr:`ob_size` de un "
-#~ "objeto Python. Se expande a::"
diff --git a/c-api/sys.po b/c-api/sys.po
index bab5563c92..cb18a742b7 100644
--- a/c-api/sys.po
+++ b/c-api/sys.po
@@ -632,8 +632,8 @@ msgid ""
"and the exception is cleared. As a result, callers cannot assume that their "
"hook has been added unless they control all existing hooks."
msgstr ""
-"Si el intérprete se inicializa, esta función genera un evento de auditoría "
-"``sys.addaudithook`` sin argumentos. Si algún enlace existente genera una "
+"Si el intérprete se inicializa, esta función lanza un evento de auditoría "
+"``sys.addaudithook`` sin argumentos. Si algún enlace existente lanza una "
"excepción derivada de :class:`Exception`, el nuevo gancho no se agregará y "
"la excepción se borrará. Como resultado, las personas que llaman no pueden "
"asumir que su gancho ha sido agregado a menos que controlen todos los "
@@ -706,44 +706,3 @@ msgstr ""
"primero. Cada función de limpieza se llamará como máximo una vez. Dado que "
"la finalización interna de Python se habrá completado antes de la función de "
"limpieza, *func* no debería llamar a las API de Python."
-
-#~ msgid "Encoding, highest priority to lowest priority:"
-#~ msgstr "Codificación, de máxima prioridad a menor prioridad:"
-
-#~ msgid "``UTF-8`` on macOS, Android, and VxWorks;"
-#~ msgstr "`` UTF-8`` en macOS, Android y VxWorks;"
-
-#~ msgid ""
-#~ "``UTF-8`` on Windows if :c:data:`Py_LegacyWindowsFSEncodingFlag` is zero;"
-#~ msgstr ""
-#~ "``UTF-8`` en Windows si :c:data:`Py_LegacyWindowsFSEncodingFlag` es cero;"
-
-#~ msgid "``UTF-8`` if the Python UTF-8 mode is enabled;"
-#~ msgstr "`` UTF-8`` si el modo Python UTF-8 está habilitado;"
-
-#~ msgid ""
-#~ "``ASCII`` if the ``LC_CTYPE`` locale is ``\"C\"``, "
-#~ "``nl_langinfo(CODESET)`` returns the ``ASCII`` encoding (or an alias), "
-#~ "and :c:func:`mbstowcs` and :c:func:`wcstombs` functions uses the "
-#~ "``ISO-8859-1`` encoding."
-#~ msgstr ""
-#~ "``ASCII`` si la configuración regional ``LC_CTYPE`` es ``\"C\"``, "
-#~ "``nl_langinfo (CODESET)`` retorna la codificación ``ASCII`` (o un alias) "
-#~ "y las funciones :c:func:`mbstowcs` y :c:func:`wcstombs` utilizan la "
-#~ "codificación ``ISO-8859-1``."
-
-#~ msgid "the current locale encoding."
-#~ msgstr "la codificación de la configuración regional actual."
-
-#~ msgid "The function now uses the UTF-8 encoding in the UTF-8 mode."
-#~ msgstr "La función ahora usa la codificación UTF-8 en el modo UTF-8."
-
-#~ msgid ""
-#~ "Encode a wide character string to the locale encoding with the :ref:"
-#~ "`surrogateescape error handler `: surrogate characters "
-#~ "in the range U+DC80..U+DCFF are converted to bytes 0x80..0xFF."
-#~ msgstr ""
-#~ "Codifica una cadena de caracteres anchos en la codificación de "
-#~ "configuración regional con :ref:`controlador de error de surrogateescape "
-#~ "`: los caracteres sustitutos en el rango U+DC80..U+DCFF "
-#~ "se convierten en bytes 0x80..0xFF."
diff --git a/c-api/tuple.po b/c-api/tuple.po
index 1317e1f599..df7a4962b8 100644
--- a/c-api/tuple.po
+++ b/c-api/tuple.po
@@ -347,7 +347,3 @@ msgstr "Esta función \"roba\" una referencia a *o*."
#: ../Doc/c-api/tuple.rst:218
msgid "Macro equivalent of :c:func:`PyStructSequence_SetItem`."
msgstr "Macro equivalente de :c:func:`PyStructSequence_SetItem`."
-
-#~ msgid "Clear the free list. Return the total number of freed items."
-#~ msgstr ""
-#~ "Borra la lista libre. Retorna el número total de artículos liberados."
diff --git a/c-api/type.po b/c-api/type.po
index e75fc4f777..46e7f461af 100644
--- a/c-api/type.po
+++ b/c-api/type.po
@@ -494,31 +494,3 @@ msgstr ""
#: ../Doc/c-api/type.rst:282
msgid "Slots other than ``Py_tp_doc`` may not be ``NULL``."
msgstr "Las ranuras que no sean ``Py_tp_doc`` pueden no ser ``NULL``."
-
-#~ msgid ":c:member:`~PyTypeObject.tp_print`"
-#~ msgstr ":c:member:`~PyTypeObject.tp_print`"
-
-#~ msgid ":c:member:`~PyTypeObject.tp_dictoffset`"
-#~ msgstr ":c:member:`~PyTypeObject.tp_dictoffset`"
-
-#~ msgid "An exception is raised if *type* is not a heap type."
-#~ msgstr "Se lanza una excepción si *type* no es un tipo montículo (*heap*)."
-
-#~ msgid ""
-#~ "If *bases* is a tuple, the created heap type contains all types contained "
-#~ "in it as base types."
-#~ msgstr ""
-#~ "Si *bases* es una tupla, el tipo montículo (*heap*) creado contiene todos "
-#~ "los tipos contenidos en él como tipos básicos."
-
-#~ msgid ""
-#~ "If *bases* is ``NULL``, the *Py_tp_bases* slot is used instead. If that "
-#~ "also is ``NULL``, the *Py_tp_base* slot is used instead. If that also is "
-#~ "``NULL``, the new type derives from :class:`object`."
-#~ msgstr ""
-#~ "Si *bases* es ``NULL``, en su lugar se usa la ranura *Py_tp_base*. Si eso "
-#~ "también es ``NULL``, en su lugar, se utiliza la ranura *Py_tp_base*. Si "
-#~ "eso también es ``NULL``, el nuevo tipo se deriva de :class:`object`."
-
-#~ msgid "May not be ``NULL``."
-#~ msgstr "Puede no ser ``NULL``."
diff --git a/c-api/typeobj.po b/c-api/typeobj.po
index 362490620e..e6ea5b6e46 100644
--- a/c-api/typeobj.po
+++ b/c-api/typeobj.po
@@ -13,12 +13,12 @@ msgstr ""
"POT-Creation-Date: 2021-10-16 21:42+0200\n"
"PO-Revision-Date: 2021-08-01 20:07+0200\n"
"Last-Translator: Cristián Maureira-Fredes \n"
-"Language: es\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"Generated-By: Babel 2.9.1\n"
#: ../Doc/c-api/typeobj.rst:6
@@ -675,14 +675,12 @@ msgid "__anext__"
msgstr "__anext__"
#: ../Doc/c-api/typeobj.rst:202
-#, fuzzy
msgid ":c:member:`~PyAsyncMethods.am_send`"
-msgstr ":c:member:`~PyAsyncMethods.am_anext`"
+msgstr ":c:member:`~PyAsyncMethods.am_send`"
#: ../Doc/c-api/typeobj.rst:202
-#, fuzzy
msgid ":c:type:`sendfunc`"
-msgstr ":c:type:`lenfunc`"
+msgstr ":c:type:`sendfunc`"
#: ../Doc/c-api/typeobj.rst:206
msgid ":c:member:`~PyNumberMethods.nb_add`"
@@ -731,9 +729,8 @@ msgid ":c:member:`~PyNumberMethods.nb_inplace_subtract`"
msgstr ":c:member:`~PyNumberMethods.nb_inplace_subtract`"
#: ../Doc/c-api/typeobj.rst:214
-#, fuzzy
msgid "__isub__"
-msgstr "__sub__"
+msgstr "__isub__"
#: ../Doc/c-api/typeobj.rst:216
msgid ":c:member:`~PyNumberMethods.nb_multiply`"
@@ -764,9 +761,8 @@ msgid ":c:member:`~PyNumberMethods.nb_inplace_remainder`"
msgstr ":c:member:`~PyNumberMethods.nb_inplace_remainder`"
#: ../Doc/c-api/typeobj.rst:224
-#, fuzzy
msgid "__imod__"
-msgstr "__mod__"
+msgstr "__imod__"
#: ../Doc/c-api/typeobj.rst:226
msgid ":c:member:`~PyNumberMethods.nb_divmod`"
@@ -789,9 +785,8 @@ msgid ":c:member:`~PyNumberMethods.nb_inplace_power`"
msgstr ":c:member:`~PyNumberMethods.nb_inplace_power`"
#: ../Doc/c-api/typeobj.rst:232
-#, fuzzy
msgid "__ipow__"
-msgstr "__pow__"
+msgstr "__ipow__"
#: ../Doc/c-api/typeobj.rst:234
msgid ":c:member:`~PyNumberMethods.nb_negative`"
@@ -846,9 +841,8 @@ msgid ":c:member:`~PyNumberMethods.nb_inplace_lshift`"
msgstr ":c:member:`~PyNumberMethods.nb_inplace_lshift`"
#: ../Doc/c-api/typeobj.rst:247
-#, fuzzy
msgid "__ilshift__"
-msgstr "__lshift__"
+msgstr "__ilshift__"
#: ../Doc/c-api/typeobj.rst:249
msgid ":c:member:`~PyNumberMethods.nb_rshift`"
@@ -863,9 +857,8 @@ msgid ":c:member:`~PyNumberMethods.nb_inplace_rshift`"
msgstr ":c:member:`~PyNumberMethods.nb_inplace_rshift`"
#: ../Doc/c-api/typeobj.rst:252
-#, fuzzy
msgid "__irshift__"
-msgstr "__rshift__"
+msgstr "__irshift__"
#: ../Doc/c-api/typeobj.rst:254
msgid ":c:member:`~PyNumberMethods.nb_and`"
@@ -880,9 +873,8 @@ msgid ":c:member:`~PyNumberMethods.nb_inplace_and`"
msgstr ":c:member:`~PyNumberMethods.nb_inplace_and`"
#: ../Doc/c-api/typeobj.rst:257
-#, fuzzy
msgid "__iand__"
-msgstr "__and__"
+msgstr "__iand__"
#: ../Doc/c-api/typeobj.rst:259
msgid ":c:member:`~PyNumberMethods.nb_xor`"
@@ -897,9 +889,8 @@ msgid ":c:member:`~PyNumberMethods.nb_inplace_xor`"
msgstr ":c:member:`~PyNumberMethods.nb_inplace_xor`"
#: ../Doc/c-api/typeobj.rst:262
-#, fuzzy
msgid "__ixor__"
-msgstr "__xor__"
+msgstr "__ixor__"
#: ../Doc/c-api/typeobj.rst:264
msgid ":c:member:`~PyNumberMethods.nb_or`"
@@ -914,9 +905,8 @@ msgid ":c:member:`~PyNumberMethods.nb_inplace_or`"
msgstr ":c:member:`~PyNumberMethods.nb_inplace_or`"
#: ../Doc/c-api/typeobj.rst:267
-#, fuzzy
msgid "__ior__"
-msgstr "__or__"
+msgstr "__ior__"
#: ../Doc/c-api/typeobj.rst:269
msgid ":c:member:`~PyNumberMethods.nb_int`"
@@ -957,9 +947,8 @@ msgid ":c:member:`~PyNumberMethods.nb_inplace_floor_divide`"
msgstr ":c:member:`~PyNumberMethods.nb_inplace_floor_divide`"
#: ../Doc/c-api/typeobj.rst:277
-#, fuzzy
msgid "__ifloordiv__"
-msgstr "__floordiv__"
+msgstr "__ifloordiv__"
#: ../Doc/c-api/typeobj.rst:279
msgid ":c:member:`~PyNumberMethods.nb_true_divide`"
@@ -974,9 +963,8 @@ msgid ":c:member:`~PyNumberMethods.nb_inplace_true_divide`"
msgstr ":c:member:`~PyNumberMethods.nb_inplace_true_divide`"
#: ../Doc/c-api/typeobj.rst:281
-#, fuzzy
msgid "__itruediv__"
-msgstr "__truediv__"
+msgstr "__itruediv__"
#: ../Doc/c-api/typeobj.rst:283
msgid ":c:member:`~PyNumberMethods.nb_index`"
@@ -999,9 +987,8 @@ msgid ":c:member:`~PyNumberMethods.nb_inplace_matrix_multiply`"
msgstr ":c:member:`~PyNumberMethods.nb_inplace_matrix_multiply`"
#: ../Doc/c-api/typeobj.rst:288
-#, fuzzy
msgid "__imatmul__"
-msgstr "__matmul__"
+msgstr "__imatmul__"
#: ../Doc/c-api/typeobj.rst:292
msgid ":c:member:`~PyMappingMethods.mp_length`"
@@ -1202,7 +1189,6 @@ msgstr ""
"objetos de tipo) *deben* tener el campo :attr:`ob_size`."
#: ../Doc/c-api/typeobj.rst:487
-#, fuzzy
msgid ""
"This is the type object's reference count, initialized to ``1`` by the "
"``PyObject_HEAD_INIT`` macro. Note that for :ref:`statically allocated type "
@@ -1211,12 +1197,12 @@ msgid ""
"`dynamically allocated type objects `, the instances *do* count "
"as references."
msgstr ""
-"Este es el recuento de referencia del objeto tipo, inicializado a ``1`` por "
-"el macro ``PyObject_HEAD_INIT``. Tenga en cuenta que para los objetos de "
-"tipo asignados estáticamente, las instancias del tipo (objetos cuyo :attr:"
-"`ob_type` apunta al tipo) *no* cuentan como referencias. Pero para los "
-"objetos de tipo asignados dinámicamente, las instancias *sí* cuentan como "
-"referencias."
+"Este es el recuento de referencias del objeto de tipo, inicializado a ``1`` "
+"por la macro ``PyObject_HEAD_INIT``. Tenga en cuenta que para :ref:`objetos "
+"de tipo estáticamente asignados `, las instancias del tipo "
+"(objetos cuyo :attr:`ob_type` apunta al tipo) *no* cuentan como referencias. "
+"Pero para :ref:`objetos de tipo asignados dinámicamente `, las "
+"instancias *sí* cuentan como referencias."
#: ../Doc/c-api/typeobj.rst:494 ../Doc/c-api/typeobj.rst:517
#: ../Doc/c-api/typeobj.rst:539 ../Doc/c-api/typeobj.rst:553
@@ -1304,6 +1290,9 @@ msgid ""
"These fields are only present when the macro ``Py_TRACE_REFS`` is defined "
"(see the :option:`configure --with-trace-refs option <--with-trace-refs>`)."
msgstr ""
+"Estos campos solo están presentes cuando se define la macro "
+"``Py_TRACE_REFS`` (ver la :option:`opción configure --with-trace-refs <--"
+"with-trace-refs>`)."
#: ../Doc/c-api/typeobj.rst:528
msgid ""
@@ -1313,6 +1302,11 @@ msgid ""
"allocated objects `, these two fields are used to link the "
"object into a doubly-linked list of *all* live objects on the heap."
msgstr ""
+"La macro ``PyObject_HEAD_INIT`` se encarga de su inicialización a ``NULL``. "
+"Para :ref:`objetos asignados estáticamente `, estos campos "
+"siempre siguen siendo ``NULL``. Para :ref:`objetos asignados dinámicamente "
+"`, estos dos campos se utilizan para vincular el objeto a una "
+"lista doblemente vinculada de *todos* los objetos en el heap."
#: ../Doc/c-api/typeobj.rst:534
msgid ""
@@ -1321,6 +1315,10 @@ msgid ""
"still alive at the end of a run when the environment variable :envvar:"
"`PYTHONDUMPREFS` is set."
msgstr ""
+"Esto podría usarse para varios propósitos de depuración; actualmente, los "
+"únicos usos son la función :func:`sys.getobjects` y para imprimir los "
+"objetos que aún están vivos al final de una ejecución cuando se establece la "
+"variable de entorno :envvar:`PYTHONDUMPREFS`."
#: ../Doc/c-api/typeobj.rst:541
msgid "These fields are not inherited by subtypes."
@@ -1331,15 +1329,14 @@ msgid "PyVarObject Slots"
msgstr "Ranuras ``PyVarObject``"
#: ../Doc/c-api/typeobj.rst:549
-#, fuzzy
msgid ""
"For :ref:`statically allocated type objects `, this should be "
"initialized to zero. For :ref:`dynamically allocated type objects `, this field has a special internal meaning."
msgstr ""
-"Para los objetos tipo asignados estáticamente, esto debe inicializarse a "
-"cero. Para los objetos tipo asignados dinámicamente, este campo tiene un "
-"significado interno especial."
+"Para :ref:`objetos de tipo estáticamente asignados `, debe "
+"inicializarse a cero. Para :ref:`objetos de tipo dinámicamente asignados "
+"`, este campo tiene un significado interno especial."
#: ../Doc/c-api/typeobj.rst:559
msgid "PyTypeObject Slots"
@@ -1380,28 +1377,27 @@ msgstr ""
"tp_name` ``\"PQMT\"``."
#: ../Doc/c-api/typeobj.rst:576
-#, fuzzy
msgid ""
"For :ref:`dynamically allocated type objects `, this should just "
"be the type name, and the module name explicitly stored in the type dict as "
"the value for key ``'__module__'``."
msgstr ""
-"Para los objetos tipo asignados dinámicamente, este debería ser solo el "
-"nombre del tipo, y el nombre del módulo almacenado explícitamente en el tipo "
-"diccionario (*dict*) como el valor para la clave ``'__module__'``."
+"Para :ref:`objetos de tipo dinámicamente asignados `, éste debe "
+"ser sólo el nombre del tipo, y el nombre del módulo almacenado "
+"explícitamente en el dict tipo que el valor de ``'__module__'`` clave."
#: ../Doc/c-api/typeobj.rst:581
-#, fuzzy
msgid ""
"For :ref:`statically allocated type objects `, the *tp_name* "
"field should contain a dot. Everything before the last dot is made "
"accessible as the :attr:`__module__` attribute, and everything after the "
"last dot is made accessible as the :attr:`~definition.__name__` attribute."
msgstr ""
-"Para los objetos tipo asignados estáticamente, el campo ``tp_name`` debe "
-"contener un punto. Todo antes del último punto se hace accesible como el "
-"atributo :attr:`__module__`, y todo después del último punto se hace "
-"accesible como el atributo :attr:`~definition.__name__`."
+"Para :ref:`objetos de tipo estáticamente asignados `, el campo "
+"*tp_name* debe contener un punto. Todo lo que está antes del último punto se "
+"hace accesible como el atributo :attr:`__module__`, y todo lo que está "
+"después del último punto se hace accesible como el atributo :attr:"
+"`~definition.__name__`."
#: ../Doc/c-api/typeobj.rst:587
msgid ""
@@ -1585,7 +1581,7 @@ msgid ""
"calling the type deallocator. In order to avoid dangling pointers, the "
"recommended way to achieve this is:"
msgstr ""
-"Finalmente, si el tipo está asignado en el montón (:const:"
+"Finalmente, si el tipo está asignado en el heap (:const:"
"`Py_TPFLAGS_HEAPTYPE`), el desasignador debería disminuir el conteo de "
"referencia para su objeto tipo después de llamar al desasignador del tipo. "
"Para evitar punteros colgantes, la forma recomendada de lograr esto es:"
@@ -1641,7 +1637,7 @@ msgid ""
"*tp_call* is updated, likely making it inconsistent with the vectorcall "
"function."
msgstr ""
-"No se recomienda para :ref:`tipos de pila ` para implementar el "
+"No se recomienda para :ref:`tipos heap ` para implementar el "
"protocolo vectorcall. Cuando un usuario establece :attr:`__call__` en código "
"Python, solo se actualiza *tp_call*, lo que probablemente lo haga "
"inconsistente con la función vectorcall."
@@ -1665,7 +1661,6 @@ msgstr ""
"se usó para imprimir en un archivo. En Python 3.0 a 3.7, no se usó."
#: ../Doc/c-api/typeobj.rst:732
-#, fuzzy
msgid ""
"This field is always inherited. However, the :const:"
"`Py_TPFLAGS_HAVE_VECTORCALL` flag is not always inherited. If it's not, then "
@@ -1673,11 +1668,12 @@ msgid ""
"`PyVectorcall_Call` is explicitly called. This is in particular the case "
"for :ref:`heap types ` (including subclasses defined in Python)."
msgstr ""
-"Este campo siempre se hereda. Sin embargo, el flag :const:"
-"`Py_TPFLAGS_HAVE_VECTORCALL` no siempre se hereda. Si no es así, entonces la "
-"subclase no usará :ref:`vectorcall `, excepto cuando :c:func:"
-"`PyVectorcall_Call` se llame explícitamente. Este es en particular el caso "
-"de los `heap types`_ (incluidas las subclases definidas en Python)."
+"Este campo siempre se hereda. Sin embargo, la bandera :const:"
+"`Py_TPFLAGS_HAVE_VECTORCALL` no siempre se hereda. Si no es así, la subclase "
+"no usará :ref:`vectorcall `, excepto cuando se llame "
+"explícitamente a :c:func:`PyVectorcall_Call`. Este es en particular el caso "
+"de :ref:`tipos heap ` (incluidas las subclases definidas en "
+"Python)."
#: ../Doc/c-api/typeobj.rst:743
msgid "An optional pointer to the get-attribute-string function."
@@ -2165,7 +2161,7 @@ msgid ""
"instances of subtypes; only the type referenced by the instance's ob_type "
"gets INCREF'ed or DECREF'ed)."
msgstr ""
-"Este bit se establece cuando el objeto de tipo se asigna en el montón, por "
+"Este bit se establece cuando el objeto de tipo se asigna en el heap, por "
"ejemplo, los tipos creados dinámicamente usando :c:func:`PyType_FromSpec`. "
"En este caso, el campo :attr:`ob_type` de sus instancias se considera una "
"referencia al tipo, y el objeto de tipo se llama *INCREF* cuando se crea una "
@@ -2244,16 +2240,15 @@ msgstr ""
"``NULL``."
#: ../Doc/c-api/typeobj.rst:1098
-#, fuzzy
msgid ""
"This is a bitmask of all the bits that pertain to the existence of certain "
"fields in the type object and its extension structures. Currently, it "
"includes the following bits: :const:`Py_TPFLAGS_HAVE_STACKLESS_EXTENSION`."
msgstr ""
"Esta es una máscara de bits de todos los bits que pertenecen a la existencia "
-"de ciertos campos en el objeto tipo y sus estructuras de extensión. "
+"de ciertos campos en el objeto de tipo y sus estructuras de extensión. "
"Actualmente, incluye los siguientes bits: :const:"
-"`Py_TPFLAGS_HAVE_STACKLESS_EXTENSION`, :const:`Py_TPFLAGS_HAVE_VERSION_TAG`."
+"`Py_TPFLAGS_HAVE_STACKLESS_EXTENSION`."
#: ../Doc/c-api/typeobj.rst:1109
msgid "This bit indicates that objects behave like unbound methods."
@@ -2291,15 +2286,14 @@ msgstr ""
"vinculado\" para ``obj.meth``."
#: ../Doc/c-api/typeobj.rst:1127
-#, fuzzy
msgid ""
"This flag is never inherited by :ref:`heap types `. For "
"extension types, it is inherited whenever :c:member:`~PyTypeObject."
"tp_descr_get` is inherited."
msgstr ""
-"Este indicador (*flag*) nunca es heredada por los tipos de montón. Para los "
-"tipos de extensión, se hereda siempre que :c:member:`~PyTypeObject."
-"tp_descr_get` se hereda."
+"Esta bandera nunca es heredada por :ref:`tipos heap `. Para los "
+"tipos de extensión, se hereda siempre que se hereda :c:member:`~PyTypeObject."
+"tp_descr_get`."
#: ../Doc/c-api/typeobj.rst:1144
msgid ""
@@ -2347,44 +2341,52 @@ msgstr ""
"obtener más detalles."
#: ../Doc/c-api/typeobj.rst:1174
-#, fuzzy
msgid ""
"This bit is inherited for :ref:`static subtypes ` if :c:member:"
"`~PyTypeObject.tp_call` is also inherited. :ref:`Heap types ` do "
"not inherit ``Py_TPFLAGS_HAVE_VECTORCALL``."
msgstr ""
-"Este bit se hereda para subtipos *static* si :c:member:`~PyTypeObject."
-"tp_call` también se hereda. `Heap types`_ no heredan "
-"``Py_TPFLAGS_HAVE_VECTORCALL``."
+"Este bit se hereda para :ref:`static subtypes ` si también se "
+"hereda :c:member:`~PyTypeObject.tp_call`. :ref:`Tipos heap ` no "
+"hereda ``Py_TPFLAGS_HAVE_VECTORCALL``."
#: ../Doc/c-api/typeobj.rst:1182
msgid ""
"This bit is set for type objects that are immutable: type attributes cannot "
"be set nor deleted."
msgstr ""
+"Este bit se establece para objetos de tipo que son inmutables: los atributos "
+"de tipo no se pueden establecer ni eliminar."
#: ../Doc/c-api/typeobj.rst:1184
msgid ""
":c:func:`PyType_Ready` automatically applies this flag to :ref:`static types "
"`."
msgstr ""
+":c:func:`PyType_Ready` aplica automáticamente este indicador a :ref:`static "
+"types `."
#: ../Doc/c-api/typeobj.rst:1189 ../Doc/c-api/typeobj.rst:1208
-#, fuzzy
msgid "This flag is not inherited."
-msgstr "Este campo no se hereda."
+msgstr "Este flag no se hereda."
#: ../Doc/c-api/typeobj.rst:1195
msgid ""
"Disallow creating instances of the type: set :c:member:`~PyTypeObject."
"tp_new` to NULL and don't create the ``__new__`` key in the type dictionary."
msgstr ""
+"No permita la creación de instancias del tipo: establezca :c:member:"
+"`~PyTypeObject.tp_new` en NULL y no cree la clave ``__new__`` en el "
+"diccionario de tipos."
#: ../Doc/c-api/typeobj.rst:1199
msgid ""
"The flag must be set before creating the type, not after. For example, it "
"must be set before :c:func:`PyType_Ready` is called on the type."
msgstr ""
+"La bandera debe establecerse antes de crear el tipo, no después. Por "
+"ejemplo, debe establecerse antes de que se llame a :c:func:`PyType_Ready` en "
+"el tipo."
#: ../Doc/c-api/typeobj.rst:1202
msgid ""
@@ -2392,6 +2394,9 @@ msgid ""
"member:`~PyTypeObject.tp_base` is NULL or ``&PyBaseObject_Type`` and :c:"
"member:`~PyTypeObject.tp_new` is NULL."
msgstr ""
+"La bandera se establece automáticamente en :ref:`static types ` si :c:member:`~PyTypeObject.tp_base` es NULL o "
+"``&PyBaseObject_Type`` y :c:member:`~PyTypeObject.tp_new` es NULL."
#: ../Doc/c-api/typeobj.rst:1215
msgid ""
@@ -2400,22 +2405,31 @@ msgid ""
"set when registering or subclassing :class:`collections.abc.Mapping`, and "
"unset when registering :class:`collections.abc.Sequence`."
msgstr ""
+"Este bit indica que las instancias de la clase pueden coincidir con los "
+"patrones de correspondencia cuando se utilizan como sujeto de un bloque :"
+"keyword:`match`. Se configura automáticamente al registrar o subclasificar :"
+"class:`collections.abc.Mapping`, y se desarma al registrar :class:"
+"`collections.abc.Sequence`."
#: ../Doc/c-api/typeobj.rst:1222 ../Doc/c-api/typeobj.rst:1244
msgid ""
":const:`Py_TPFLAGS_MAPPING` and :const:`Py_TPFLAGS_SEQUENCE` are mutually "
"exclusive; it is an error enable both flags simultaneously."
msgstr ""
+":const:`Py_TPFLAGS_MAPPING` y :const:`Py_TPFLAGS_SEQUENCE` se excluyen "
+"mutuamente; es un error habilitar ambos indicadores simultáneamente."
#: ../Doc/c-api/typeobj.rst:1227
msgid ""
"This flag is inherited by types that do not already set :const:"
"`Py_TPFLAGS_SEQUENCE`."
msgstr ""
+"Esta bandera la heredan los tipos que aún no configuran :const:"
+"`Py_TPFLAGS_SEQUENCE`."
#: ../Doc/c-api/typeobj.rst:1230 ../Doc/c-api/typeobj.rst:1252
msgid ":pep:`634` -- Structural Pattern Matching: Specification"
-msgstr ""
+msgstr ":pep:`634` - Coincidencia de patrones estructurales: especificación"
#: ../Doc/c-api/typeobj.rst:1237
msgid ""
@@ -2424,12 +2438,19 @@ msgid ""
"set when registering or subclassing :class:`collections.abc.Sequence`, and "
"unset when registering :class:`collections.abc.Mapping`."
msgstr ""
+"Este bit indica que las instancias de la clase pueden coincidir con los "
+"patrones de secuencia cuando se utilizan como sujeto de un bloque :keyword:"
+"`match`. Se configura automáticamente al registrar o subclasificar :class:"
+"`collections.abc.Sequence`, y se desarma al registrar :class:`collections."
+"abc.Mapping`."
#: ../Doc/c-api/typeobj.rst:1249
msgid ""
"This flag is inherited by types that do not already set :const:"
"`Py_TPFLAGS_MAPPING`."
msgstr ""
+"Esta bandera la heredan los tipos que aún no configuran :const:"
+"`Py_TPFLAGS_MAPPING`."
#: ../Doc/c-api/typeobj.rst:1259
msgid ""
@@ -2503,7 +2524,6 @@ msgstr ""
"incluirá."
#: ../Doc/c-api/typeobj.rst:1302
-#, fuzzy
msgid ""
"When implementing :c:member:`~PyTypeObject.tp_traverse`, only the members "
"that the instance *owns* (by having :term:`strong references `). Por ejemplo, si un objeto admite referencias "
+"débiles a través de la ranura :c:member:`~PyTypeObject.tp_weaklist`, el "
+"puntero que respalda la lista vinculada (a lo que apunta *tp_weaklist*) "
+"**no** debe visitarse ya que la instancia no posee directamente las "
+"referencias débiles a sí misma (la lista de referencias débiles está ahí "
+"para respaldar la maquinaria de referencia débil, pero la instancia no tiene "
+"una fuerte referencia a los elementos dentro de ella, ya que pueden "
+"eliminarse incluso si la instancia todavía está viva)."
#: ../Doc/c-api/typeobj.rst:1313
msgid ""
@@ -2544,6 +2564,12 @@ msgid ""
"``tp_traverse`` of another heap-allocated type (such as a heap-allocated "
"superclass). If they do not, the type object may not be garbage-collected."
msgstr ""
+"Las instancias de :ref:`heap-allocated types ` contienen una "
+"referencia a su tipo. Por lo tanto, su función transversal debe visitar :c:"
+"func:`Py_TYPE(self) ` o delegar esta responsabilidad llamando a "
+"``tp_traverse`` de otro tipo asignado al heap (como una superclase asignada "
+"al heap). Si no es así, es posible que el objeto de tipo no se recolecte "
+"como basura."
#: ../Doc/c-api/typeobj.rst:1326
msgid ""
@@ -2551,7 +2577,7 @@ msgid ""
"``tp_traverse``. In earlier versions of Python, due to `bug 40217 `_, doing this may lead to crashes in subclasses."
msgstr ""
-"Se espera que los tipos asignados al montón visiten ``Py_TYPE(self)`` en "
+"Se espera que los tipos asignados al heap visiten ``Py_TYPE(self)`` en "
"``tp_traverse``. En versiones anteriores de Python, debido al `bug 40217 "
"`_, hacer esto puede provocar fallas en "
"las subclases."
@@ -2651,6 +2677,11 @@ msgid ""
"to determine that an object is no longer used, the cyclic garbage collector "
"is not involved and :c:member:`~PyTypeObject.tp_dealloc` is called directly."
msgstr ""
+"Tenga en cuenta que :c:member:`~PyTypeObject.tp_clear` no se llama *siempre* "
+"antes de que se desasigne una instancia. Por ejemplo, cuando el recuento de "
+"referencias es suficiente para determinar que un objeto ya no se utiliza, el "
+"recolector de basura cíclico no está involucrado y se llama directamente a :"
+"c:member:`~PyTypeObject.tp_dealloc`."
#: ../Doc/c-api/typeobj.rst:1389
msgid ""
@@ -3276,13 +3307,13 @@ msgstr ""
"debería agregarse como una característica como :attr:`__weakref__` aunque.)"
#: ../Doc/c-api/typeobj.rst:1739
-#, fuzzy
msgid ""
"This slot has no default. For :ref:`static types `, if the "
"field is ``NULL`` then no :attr:`__dict__` gets created for instances."
msgstr ""
-"Esta ranura no tiene valor predeterminado. Para los tipos estáticos, si el "
-"campo es ``NULL``, entonces no :attr:`__dict__` se crea para las instancias."
+"Esta ranura no tiene ningún valor predeterminado. Para :ref:`tipos estáticos "
+"`, si el campo es ``NULL``, no se crea ningún :attr:`__dict__` "
+"para las instancias."
#: ../Doc/c-api/typeobj.rst:1745
msgid "An optional pointer to an instance initialization function."
@@ -3337,10 +3368,11 @@ msgstr ""
"error."
#: ../Doc/c-api/typeobj.rst:1775
-#, fuzzy
msgid ""
"For :ref:`static types ` this field does not have a default."
-msgstr "Para los tipos estáticos, este campo no tiene un valor predeterminado."
+msgstr ""
+"Para :ref:`tipos estáticos `, este campo no tiene un valor "
+"predeterminado."
#: ../Doc/c-api/typeobj.rst:1780
msgid "An optional pointer to an instance allocation function."
@@ -3360,7 +3392,7 @@ msgid ""
"`PyType_GenericAlloc`, to force a standard heap allocation strategy."
msgstr ""
"Para subtipos dinámicos, este campo siempre se establece en :c:func:"
-"`PyType_GenericAlloc`, para forzar una estrategia de asignación de montón "
+"`PyType_GenericAlloc`, para forzar una estrategia de asignación de heap "
"estándar."
#: ../Doc/c-api/typeobj.rst:1797
@@ -3417,30 +3449,30 @@ msgid ""
"Set the :const:`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag to disallow creating "
"instances of the type in Python."
msgstr ""
+"Configure la marca :const:`Py_TPFLAGS_DISALLOW_INSTANTIATION` para no "
+"permitir la creación de instancias del tipo en Python."
#: ../Doc/c-api/typeobj.rst:1829
-#, fuzzy
msgid ""
"This field is inherited by subtypes, except it is not inherited by :ref:"
"`static types ` whose :c:member:`~PyTypeObject.tp_base` is "
"``NULL`` or ``&PyBaseObject_Type``."
msgstr ""
-"Este campo es heredado por subtipos, excepto que no es heredado por tipos "
-"estáticos cuyo :c:member:`~PyTypeObject.tp_base` es ``NULL`` o "
-"``&PyBaseObject_Type``."
+"Este campo se hereda por subtipos, excepto que no lo heredan :ref:`tipos "
+"estáticos ` cuyo :c:member:`~PyTypeObject.tp_base` es ``NULL`` "
+"o ``&PyBaseObject_Type``."
#: ../Doc/c-api/typeobj.rst:1835
-#, fuzzy
msgid ""
"For :ref:`static types ` this field has no default. This means "
"if the slot is defined as ``NULL``, the type cannot be called to create new "
"instances; presumably there is some other way to create instances, like a "
"factory function."
msgstr ""
-"Para los tipos estáticos, este campo no tiene valor predeterminado. Esto "
-"significa que si el espacio se define como ``NULL``, no se puede llamar al "
-"tipo para crear nuevas instancias; presumiblemente hay otra forma de crear "
-"instancias, como una función de fábrica."
+"Para :ref:`tipos estáticos `, este campo no tiene ningún valor "
+"predeterminado. Esto significa que si la ranura se define como ``NULL``, no "
+"se puede llamar al tipo para crear nuevas instancias; presumiblemente hay "
+"alguna otra forma de crear instancias, como una función de fábrica."
#: ../Doc/c-api/typeobj.rst:1843
msgid ""
@@ -3504,15 +3536,14 @@ msgstr ""
"``0`` para una instancia no coleccionable. La firma es::"
#: ../Doc/c-api/typeobj.rst:1877
-#, fuzzy
msgid ""
"(The only example of this are types themselves. The metatype, :c:data:"
"`PyType_Type`, defines this function to distinguish between statically and :"
"ref:`dynamically allocated types `.)"
msgstr ""
-"(El único ejemplo de esto son los mismo tipos. El metatipo, :c:data:"
-"`PyType_Type`, define esta función para distinguir entre tipos asignados "
-"estáticamente y dinámicamente.)"
+"(El único ejemplo de esto son los tipos en sí. El metatipo, :c:data:"
+"`PyType_Type`, define esta función para distinguir entre tipos estática y :"
+"ref:`dinámicamente asignados `)."
#: ../Doc/c-api/typeobj.rst:1887
msgid ""
@@ -3672,9 +3703,8 @@ msgstr ""
"la biblioteca."
#: ../Doc/c-api/typeobj.rst:2028
-#, fuzzy
msgid "Static Types"
-msgstr "Un tipo estático básico::"
+msgstr "Tipos estáticos"
#: ../Doc/c-api/typeobj.rst:2030
msgid ""
@@ -3732,30 +3762,29 @@ msgstr ""
#: ../Doc/c-api/typeobj.rst:2052
msgid "Heap Types"
-msgstr "Tipos Montículos (*Heap Types*)"
+msgstr "Tipos Heap"
#: ../Doc/c-api/typeobj.rst:2054
-#, fuzzy
msgid ""
"An alternative to :ref:`static types ` is *heap-allocated "
"types*, or *heap types* for short, which correspond closely to classes "
"created by Python's ``class`` statement. Heap types have the :const:"
"`Py_TPFLAGS_HEAPTYPE` flag set."
msgstr ""
-"Una alternativa a los tipos estáticos es *tipos asignados al montículo* "
-"(*heap-allocated types*), o *tipos montículo* (*heap types*) para abreviar, "
-"que corresponden estrechamente a las clases creadas por la declaración "
-"``class`` de Python."
+"Una alternativa a :ref:`tipos estáticos ` es *heap-allocated "
+"types*, o *tipos heap* para abreviar, que se corresponden estrechamente con "
+"las clases creadas por la declaración ``class`` de Python. Los tipos de heap "
+"tienen establecida la bandera :const:`Py_TPFLAGS_HEAPTYPE`."
#: ../Doc/c-api/typeobj.rst:2059
-#, fuzzy
msgid ""
"This is done by filling a :c:type:`PyType_Spec` structure and calling :c:"
"func:`PyType_FromSpec`, :c:func:`PyType_FromSpecWithBases`, or :c:func:"
"`PyType_FromModuleAndSpec`."
msgstr ""
-"Esto se hace completando una estructura :c:type:`PyType_Spec` y llamando a :"
-"c:func:`PyType_FromSpecWithBases`."
+"Esto se hace llenando una estructura :c:type:`PyType_Spec` y llamando a :c:"
+"func:`PyType_FromSpec`, :c:func:`PyType_FromSpecWithBases` o :c:func:"
+"`PyType_FromModuleAndSpec`."
#: ../Doc/c-api/typeobj.rst:2067
msgid "Number Object Structures"
@@ -4209,6 +4238,8 @@ msgstr ""
msgid ""
"See :c:func:`PyIter_Send` for details. This slot may be set to ``NULL``."
msgstr ""
+"Consulte :c:func:`PyIter_Send` para obtener más detalles. Esta ranura se "
+"puede establecer en ``NULL``."
#: ../Doc/c-api/typeobj.rst:2459
msgid "Slot Type typedefs"
@@ -4309,9 +4340,8 @@ msgid "See :c:member:`~PyTypeObject.tp_iternext`."
msgstr "Consulte :c:member:`~PyTypeObject.tp_iternext`."
#: ../Doc/c-api/typeobj.rst:2552
-#, fuzzy
msgid "See :c:member:`~PyAsyncMethods.am_send`."
-msgstr ":c:member:`~PyAsyncMethods.am_anext`"
+msgstr "Consulte :c:member:`~PyAsyncMethods.am_send`."
#: ../Doc/c-api/typeobj.rst:2568
msgid "Examples"
@@ -4331,9 +4361,8 @@ msgstr ""
"types`) y \"tópicos de nuevos tipos (:ref:`new-types-topics`)."
#: ../Doc/c-api/typeobj.rst:2575
-#, fuzzy
msgid "A basic :ref:`static type `::"
-msgstr "Un tipo estático básico::"
+msgstr "Un :ref:`tipo estático ` básico:"
#: ../Doc/c-api/typeobj.rst:2592
msgid ""
@@ -4350,199 +4379,26 @@ msgstr ""
"y *hashing*::"
#: ../Doc/c-api/typeobj.rst:2663
-#, fuzzy
msgid ""
"A str subclass that cannot be subclassed and cannot be called to create "
"instances (e.g. uses a separate factory func) using :c:data:"
"`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag::"
msgstr ""
-"Una subclase de *str* que no se puede subclasificar (*subclassed*) y no se "
-"puede llamar para crear instancias (por ejemplo, utiliza una función de "
-"fábrica separada)::"
+"Una subclase str que no se puede subclasificar y no se puede llamar para "
+"crear instancias (por ejemplo, usa una función de fábrica separada) usando "
+"el indicador :c:data:`Py_TPFLAGS_DISALLOW_INSTANTIATION`:"
#: ../Doc/c-api/typeobj.rst:2682
-#, fuzzy
msgid ""
"The simplest :ref:`static type ` with fixed-length instances::"
-msgstr "El tipo estático más simple (con instancias de longitud fija)::"
+msgstr ""
+"El :ref:`tipo estático ` más simple con instancias de longitud "
+"fija:"
#: ../Doc/c-api/typeobj.rst:2693
-#, fuzzy
msgid ""
"The simplest :ref:`static type ` with variable-length "
"instances::"
-msgstr "El tipo estático más simple (con instancias de longitud variable)::"
-
-#~ msgid ""
-#~ "If :const:`COUNT_ALLOCS` is defined then the following (internal-only) "
-#~ "fields exist as well:"
-#~ msgstr ""
-#~ "Si :const:`COUNT_ALLOCS` está definido, entonces también existen los "
-#~ "siguientes campos (solo internos):"
-
-#~ msgid ":c:member:`~PyTypeObject.tp_allocs`"
-#~ msgstr ":c:member:`~PyTypeObject.tp_allocs`"
-
-#~ msgid ":c:member:`~PyTypeObject.tp_frees`"
-#~ msgstr ":c:member:`~PyTypeObject.tp_frees`"
-
-#~ msgid ":c:member:`~PyTypeObject.tp_maxalloc`"
-#~ msgstr ":c:member:`~PyTypeObject.tp_maxalloc`"
-
-#~ msgid ":c:member:`~PyTypeObject.tp_prev`"
-#~ msgstr ":c:member:`~PyTypeObject.tp_prev`"
-
-#~ msgid ":c:member:`~PyTypeObject.tp_next`"
-#~ msgstr ":c:member:`~PyTypeObject.tp_next`"
-
-#~ msgid ""
-#~ "Call *callable*'s *vectorcallfunc* with positional and keyword arguments "
-#~ "given in a tuple and dict, respectively."
-#~ msgstr ""
-#~ "Llama el *callable* de *vectorcallfunc* con argumentos posicionales y de "
-#~ "palabras clave dados en una tupla y diccionario (*dict*), respectivamente."
-
-#~ msgid ""
-#~ "This function is intended to be used in the ``tp_call`` slot. It does not "
-#~ "fall back to ``tp_call`` and it currently does not check the "
-#~ "``_Py_TPFLAGS_HAVE_VECTORCALL`` flag. To call an object, use one of the :"
-#~ "c:func:`PyObject_Call ` functions instead."
-#~ msgstr ""
-#~ "Esta función está destinada a ser utilizada en la ranura ``tp_call``. No "
-#~ "vuelve a caer a ``tp_call`` y actualmente no marca la bandera "
-#~ "``_Py_TPFLAGS_HAVE_VECTORCALL``. Para llamar a un objeto, use una de las "
-#~ "funciones :c:func:`PyObject_Call` en su lugar."
-
-#~ msgid ""
-#~ "This slot was used for print formatting in Python 2.x. In Python 3.0 to "
-#~ "3.7, it was reserved and named ``tp_print``."
-#~ msgstr ""
-#~ "Esta ranura se usó para el formato de impresión en Python 2.x. En Python "
-#~ "3.0 a 3.7, estaba reservado y se llamaba ``tp_print``."
-
-#~ msgid ""
-#~ "This field is inherited by subtypes together with :c:member:"
-#~ "`~PyTypeObject.tp_call`: a subtype inherits :c:member:`~PyTypeObject."
-#~ "tp_vectorcall_offset` from its base type when the subtype’s :c:member:"
-#~ "`~PyTypeObject.tp_call` is ``NULL``."
-#~ msgstr ""
-#~ "Los subtipos heredan este campo junto con :c:member:`~PyTypeObject."
-#~ "tp_call`: un subtipo hereda :c:member:`~PyTypeObject."
-#~ "tp_vectorcall_offset` de su tipo base cuando el subtipo :c:member:"
-#~ "`~PyTypeObject.tp_call` es ``NULL``."
-
-#~ msgid ""
-#~ "Note that `heap types`_ (including subclasses defined in Python) do not "
-#~ "inherit the :const:`_Py_TPFLAGS_HAVE_VECTORCALL` flag."
-#~ msgstr ""
-#~ "Tenga en cuenta que los tipos montículo, (`heap types`_, incluidas las "
-#~ "subclases definidas en Python) no heredan el indicador :const:"
-#~ "`_Py_TPFLAGS_HAVE_VECTORCALL`."
-
-#~ msgid ""
-#~ "This bit is set on *static* subtypes if ``tp_flags`` is not overridden: a "
-#~ "subtype inherits ``_Py_TPFLAGS_HAVE_VECTORCALL`` from its base type when "
-#~ "the subtype’s :c:member:`~PyTypeObject.tp_call` is ``NULL`` and the "
-#~ "subtype's ``Py_TPFLAGS_HEAPTYPE`` is not set."
-#~ msgstr ""
-#~ "Este bit se establece en los subtipos *static* si ``tp_flags`` no se "
-#~ "reemplaza: un subtipo hereda ``_Py_TPFLAGS_HAVE_VECTORCALL`` de su tipo "
-#~ "base cuando el subtipo :c:member:`~PyTypeObject.tp_call` es ``NULL`` y el "
-#~ "subtipo ``Py_TPFLAGS_HEAPTYPE`` no está establecido."
-
-#~ msgid "`Heap types`_ do not inherit ``_Py_TPFLAGS_HAVE_VECTORCALL``."
-#~ msgstr ""
-#~ "\"Tipos montículo\" (`Heap types`_) no heredan "
-#~ "``_Py_TPFLAGS_HAVE_VECTORCALL``."
-
-#~ msgid ""
-#~ "This flag is provisional and expected to become public in Python 3.9, "
-#~ "with a different name and, possibly, changed semantics. If you use "
-#~ "vectorcall, plan for updating your code for Python 3.9."
-#~ msgstr ""
-#~ "Este indicador (*flag*) es provisional y se espera que se haga pública en "
-#~ "Python 3.9, con un nombre diferente y, posiblemente, una semántica "
-#~ "cambiada. Si usa *vectorcall*, planifique actualizar su código para "
-#~ "Python 3.9."
-
-#~ msgid ""
-#~ "The remaining fields are only defined if the feature test macro :const:"
-#~ "`COUNT_ALLOCS` is defined, and are for internal use only. They are "
-#~ "documented here for completeness. None of these fields are inherited by "
-#~ "subtypes."
-#~ msgstr ""
-#~ "Los campos restantes solo se definen si la macro de prueba de "
-#~ "características :const:`COUNT_ALLOCS` está definida, y son solo para uso "
-#~ "interno. Se documentan aquí para completar. Ninguno de estos campos es "
-#~ "heredado por subtipos."
-
-#~ msgid "Number of allocations."
-#~ msgstr "Número de asignaciones."
-
-#~ msgid "Number of frees."
-#~ msgstr "Número de liberaciones."
-
-#~ msgid "Maximum simultaneously allocated objects."
-#~ msgstr "Máximo de objetos asignados simultáneamente."
-
-#~ msgid ""
-#~ "Pointer to the previous type object with a non-zero :c:member:"
-#~ "`~PyTypeObject.tp_allocs` field."
-#~ msgstr ""
-#~ "Puntero al objeto tipo anterior con un campo distinto de cero :c:member:"
-#~ "`~PyTypeObject.tp_allocs`."
-
-#~ msgid ""
-#~ "Pointer to the next type object with a non-zero :c:member:`~PyTypeObject."
-#~ "tp_allocs` field."
-#~ msgstr ""
-#~ "Puntero al siguiente objeto tipo con un campo distinto de cero :c:member:"
-#~ "`~PyTypeObject.tp_allocs`."
-
-#~ msgid "See :c:member:`~PyTypeObject.tp_vectorcall_offset`."
-#~ msgstr "Consulte :c:member:`~PyTypeObject.tp_vectorcall_offset`."
-
-#~ msgid ""
-#~ "Arguments to ``vectorcallfunc`` are the same as for :c:func:"
-#~ "`_PyObject_Vectorcall`."
-#~ msgstr ""
-#~ "Los argumentos para ``vectorcallfunc`` son los mismos que para :c:func:"
-#~ "`_PyObject_Vectorcall`."
-
-#~ msgid ""
-#~ "These fields are only present when the macro ``Py_TRACE_REFS`` is "
-#~ "defined. Their initialization to ``NULL`` is taken care of by the "
-#~ "``PyObject_HEAD_INIT`` macro. For statically allocated objects, these "
-#~ "fields always remain ``NULL``. For dynamically allocated objects, these "
-#~ "two fields are used to link the object into a doubly-linked list of *all* "
-#~ "live objects on the heap. This could be used for various debugging "
-#~ "purposes; currently the only use is to print the objects that are still "
-#~ "alive at the end of a run when the environment variable :envvar:"
-#~ "`PYTHONDUMPREFS` is set."
-#~ msgstr ""
-#~ "Estos campos solo están presentes cuando se define la macro "
-#~ "``Py_TRACE_REFS``. Su inicialización a ``NULL`` se ocupa de la macro "
-#~ "``PyObject_HEAD_INIT``. Para los objetos asignados estáticamente, estos "
-#~ "campos siempre permanecen ``NULL``. Para los objetos asignados "
-#~ "dinámicamente, estos dos campos se utilizan para vincular el objeto en "
-#~ "una lista doblemente vinculada de *todos* objetos vivos en el montón. "
-#~ "Esto podría usarse para varios propósitos de depuración; Actualmente, el "
-#~ "único uso es imprimir los objetos que aún están vivos al final de una "
-#~ "ejecución cuando se establece la variable de entorno :envvar:"
-#~ "`PYTHONDUMPREFS`."
-
-#~ msgid ""
-#~ "Heap-allocated types (:const:`Py_TPFLAGS_HEAPTYPE`, such as those created "
-#~ "with :c:func:`PyType_FromSpec` and similar APIs) hold a reference to "
-#~ "their type. Their traversal function must therefore either visit :c:func:"
-#~ "`Py_TYPE(self) `, or delegate this responsibility by calling "
-#~ "``tp_traverse`` of another heap-allocated type (such as a heap-allocated "
-#~ "superclass). If they do not, the type object may not be garbage-collected."
-#~ msgstr ""
-#~ "Los tipos asignados al heap (:const:`Py_TPFLAGS_HEAPTYPE`, como los "
-#~ "creados con :c:func:`PyType_FromSpec` y API similares) contienen una "
-#~ "referencia a su tipo. Por lo tanto, su función transversal debe visitar :"
-#~ "c:func:`Py_TYPE(self) `, o delegar esta responsabilidad llamando "
-#~ "a ``tp_traverse`` de otro tipo asignado al heap (como una superclase "
-#~ "asignada al heap). Si no es así, es posible que el objeto de tipo no se "
-#~ "recolecte como basura."
+msgstr ""
+"El :ref:`tipo estático ` más simple con instancias de longitud "
+"variable:"
diff --git a/c-api/unicode.po b/c-api/unicode.po
index 4a6873f7de..4ce4dc23f3 100644
--- a/c-api/unicode.po
+++ b/c-api/unicode.po
@@ -506,7 +506,7 @@ msgid ""
"``-1`` if this is not possible. This macro does not raise exceptions."
msgstr ""
"Retorna el carácter *ch* convertido a un entero positivo decimal. Retorna "
-"``-1`` si esto no es posible. Esta macro no genera excepciones."
+"``-1`` si esto no es posible. Esta macro no lanza excepciones."
#: ../Doc/c-api/unicode.rst:367
msgid ""
@@ -514,7 +514,7 @@ msgid ""
"if this is not possible. This macro does not raise exceptions."
msgstr ""
"Retorna el carácter *ch* convertido a un entero de un solo dígito. Retorna "
-"``-1`` si esto no es posible. Esta macro no genera excepciones."
+"``-1`` si esto no es posible. Esta macro no lanza excepciones."
#: ../Doc/c-api/unicode.rst:373
msgid ""
@@ -522,7 +522,7 @@ msgid ""
"not possible. This macro does not raise exceptions."
msgstr ""
"Retorna el carácter *ch* convertido a doble. retorne ``-1.0`` si esto no es "
-"posible. Esta macro no genera excepciones."
+"posible. Esta macro no lanza excepciones."
#: ../Doc/c-api/unicode.rst:377
msgid "These APIs can be used to work with surrogates:"
@@ -1039,7 +1039,7 @@ msgid ""
"Return the number of written character, or return ``-1`` and raise an "
"exception on error."
msgstr ""
-"Retorna el número de caracteres escritos o retorna ``-1`` y genera una "
+"Retorna el número de caracteres escritos o retorna ``-1`` y lanza una "
"excepción en caso de error."
#: ../Doc/c-api/unicode.rst:625
@@ -2626,7 +2626,7 @@ msgstr ""
#: ../Doc/c-api/unicode.rst:1682
msgid "This function does not raise exceptions."
-msgstr "Esta función no genera excepciones."
+msgstr "Esta función no lanza excepciones."
#: ../Doc/c-api/unicode.rst:1687
msgid "Rich compare two Unicode strings and return one of the following:"
@@ -2715,70 +2715,3 @@ msgstr ""
"caracteres Unicode que ha sido creado internamente o una nueva "
"referencia(\"propia\") a un objeto de cadena de caracteres interno anterior "
"con el mismo valor."
-
-#~ msgid "Clear the free list. Return the total number of freed items."
-#~ msgstr ""
-#~ "Borra la lista gratuita. Retorna el número total de artículos liberados."
-
-#~ msgid "Please migrate to using :c:func:`PyUnicode_GetLength`."
-#~ msgstr "Por favor migrar para usar :c:func:`PyUnicode_GetLength`."
-
-#~ msgid ""
-#~ "Translate a Unicode object using the given *mapping* object and return "
-#~ "the resulting Unicode object. Return ``NULL`` if an exception was raised "
-#~ "by the codec."
-#~ msgstr ""
-#~ "Traduce un objeto Unicode utilizando el objeto *mapping* dado y retorna "
-#~ "el objeto Unicode resultante. Retorna ``NULL`` si el códec provocó una "
-#~ "excepción."
-
-#~ msgid ""
-#~ "The *mapping* object must map Unicode ordinal integers to Unicode "
-#~ "strings, integers (which are then interpreted as Unicode ordinals) or "
-#~ "``None`` (causing deletion of the character). Unmapped character "
-#~ "ordinals (ones which cause a :exc:`LookupError`) are left untouched and "
-#~ "are copied as-is."
-#~ msgstr ""
-#~ "El objeto *mapping* debe asignar enteros ordinales Unicode a cadenas de "
-#~ "caracteres Unicode, enteros (que luego se interpretan como ordinales "
-#~ "Unicode) o ``None`` (causando la eliminación del carácter). Los ordinales "
-#~ "de caracteres no asignados (los que causan un :exc:`LookupError`) se "
-#~ "dejan intactos y se copian tal cual."
-
-#~ msgid ""
-#~ "Translate a string by applying a character mapping table to it and return "
-#~ "the resulting Unicode object."
-#~ msgstr ""
-#~ "Traduce una cadena de caracteres aplicando una tabla de mapeo de "
-#~ "caracteres y retorna el objeto Unicode resultante."
-
-#~ msgid ""
-#~ "Create a copy of a Unicode string ending with a null code point. Return "
-#~ "``NULL`` and raise a :exc:`MemoryError` exception on memory allocation "
-#~ "failure, otherwise return a new allocated buffer (use :c:func:"
-#~ "`PyMem_Free` to free the buffer). Note that the resulting :c:type:"
-#~ "`Py_UNICODE*` string may contain embedded null code points, which would "
-#~ "cause the string to be truncated when used in most C functions."
-#~ msgstr ""
-#~ "Crea una copia de una cadena de caracteres Unicode que termina con un "
-#~ "punto de código nulo. Retorna ``NULL`` y genera una excepción :exc:"
-#~ "`MemoryError` en caso de fallo de asignación de memoria; de lo contrario, "
-#~ "retorna un nuevo búfer asignado (use :c:func:`PyMem_Free` para liberar el "
-#~ "búfer). Tenga en cuenta que la cadena de caracteres resultante :c:type:"
-#~ "`Py_UNICODE*` puede contener puntos de código nulo incrustados, lo que "
-#~ "provocaría que la cadena se truncara cuando se usara en la mayoría de las "
-#~ "funciones de C."
-
-#~ msgid ""
-#~ "Please migrate to using :c:func:`PyUnicode_AsUCS4Copy` or similar new "
-#~ "APIs."
-#~ msgstr ""
-#~ "Por favor migrar para usar :c:func:`PyUnicode_AsUCS4Copy` o API nuevas "
-#~ "similares."
-
-#~ msgid ""
-#~ "Decode a string using :c:data:`Py_FileSystemDefaultEncoding` and the :c:"
-#~ "data:`Py_FileSystemDefaultEncodeErrors` error handler."
-#~ msgstr ""
-#~ "Decodifica una cadena usando :c:data:`Py_FileSystemDefaultEncoding` y el "
-#~ "controlador de errores :c:data:`Py_FileSystemDefaultEncodeErrors`."
diff --git a/c-api/veryhigh.po b/c-api/veryhigh.po
index 4f821d6a24..4bb6d4e6a4 100644
--- a/c-api/veryhigh.po
+++ b/c-api/veryhigh.po
@@ -516,8 +516,8 @@ msgstr ""
"objeto de código asociado con el marco de ejecución del marco *f* se "
"ejecuta, interpretando el código de bytes y ejecutando llamadas según sea "
"necesario. El parámetro adicional *throwflag* se puede ignorar por lo "
-"general; si es verdadero, entonces se genera una excepción de inmediato; "
-"esto se usa para los métodos :meth:`~generator.throw` de objetos generadores."
+"general; si es verdadero, entonces se lanza una excepción de inmediato; esto "
+"se usa para los métodos :meth:`~generator.throw` de objetos generadores."
#: ../Doc/c-api/veryhigh.rst:308
msgid ""
@@ -619,79 +619,3 @@ msgstr ""
"Este bit puede ser configurado en *flags* para causar que un operador de "
"división ``/`` sea interpretado como una \"división real\" de acuerdo a :pep:"
"`238`."
-
-#~ msgid ""
-#~ "Similar to :c:func:`PyRun_SimpleStringFlags`, but the Python source code "
-#~ "is read from *fp* instead of an in-memory string. *filename* should be "
-#~ "the name of the file, it is decoded from the filesystem encoding (:func:"
-#~ "`sys.getfilesystemencoding`). If *closeit* is true, the file is closed "
-#~ "before PyRun_SimpleFileExFlags returns."
-#~ msgstr ""
-#~ "Similar a :c:func:`PyRun_SimpleStringFlags`, pero el código fuente de "
-#~ "Python se lee desde *fp* en lugar de una cadena de caracteres en memoria. "
-#~ "*filename* debe ser el nombre del archivo, se decodifica a partir de la "
-#~ "codificación del sistema de archivos (:func:`sys.getfilesystemencoding`). "
-#~ "Si *closeit* es verdadero, el archivo se cierra antes de que "
-#~ "PyRun_SimpleFileExFlags retorne."
-
-#~ msgid ""
-#~ "This is a simplified interface to :c:func:"
-#~ "`PyParser_SimpleParseStringFlagsFilename` below, leaving *filename* set "
-#~ "to ``NULL`` and *flags* set to ``0``."
-#~ msgstr ""
-#~ "Esta es una interfaz simplificada para :c:func:"
-#~ "`PyParser_SimpleParseStringFlagsFilename` más abajo, dejando *filename* "
-#~ "establecido a ``NULL`` y *flags* establecido a ``0``."
-
-#~ msgid ""
-#~ "This is a simplified interface to :c:func:"
-#~ "`PyParser_SimpleParseStringFlagsFilename` below, leaving *filename* set "
-#~ "to ``NULL``."
-#~ msgstr ""
-#~ "Esta es una interfaz simplificada para :c:func:"
-#~ "`PyParser_SimpleParseStringFlagsFilename` más abajo, dejando *filename* "
-#~ "establecido a ``NULL``."
-
-#~ msgid ""
-#~ "Parse Python source code from *str* using the start token *start* "
-#~ "according to the *flags* argument. The result can be used to create a "
-#~ "code object which can be evaluated efficiently. This is useful if a code "
-#~ "fragment must be evaluated many times. *filename* is decoded from the "
-#~ "filesystem encoding (:func:`sys.getfilesystemencoding`)."
-#~ msgstr ""
-#~ "Analiza gramaticalmente el código fuente de Python desde *str* usando el "
-#~ "token de inicio *start* de acuerdo con el argumento *flags*. El resultado "
-#~ "se puede usar para crear un objeto de código que se puede evaluar de "
-#~ "manera eficiente. Esto es útil si un fragmento de código debe evaluarse "
-#~ "muchas veces. *filename* se decodifica a partir de la codificación del "
-#~ "sistema de archivos (:func:`sys.getfilesystemencoding`)."
-
-#~ msgid ""
-#~ "This is a simplified interface to :c:func:`PyParser_SimpleParseFileFlags` "
-#~ "below, leaving *flags* set to ``0``."
-#~ msgstr ""
-#~ "Esta es una interfaz simplificada para :c:func:"
-#~ "`PyParser_SimpleParseFileFlags` más abajo, dejando *flags* establecido a "
-#~ "``0``."
-
-#~ msgid ""
-#~ "Similar to :c:func:`PyParser_SimpleParseStringFlagsFilename`, but the "
-#~ "Python source code is read from *fp* instead of an in-memory string."
-#~ msgstr ""
-#~ "Similar a :c:func:`PyParser_SimpleParseStringFlagsFilename`, pero el "
-#~ "código fuente de Python se lee desde *fp* en lugar de una cadena de "
-#~ "caracteres en memoria."
-
-#~ msgid ""
-#~ "Similar to :c:func:`PyRun_StringFlags`, but the Python source code is "
-#~ "read from *fp* instead of an in-memory string. *filename* should be the "
-#~ "name of the file, it is decoded from the filesystem encoding (:func:`sys."
-#~ "getfilesystemencoding`). If *closeit* is true, the file is closed before :"
-#~ "c:func:`PyRun_FileExFlags` returns."
-#~ msgstr ""
-#~ "Similar a :c:func:`PyRun_StringFlags`, pero el código fuente de Python se "
-#~ "lee desde *fp* en lugar de una cadena de caracteres en memoria. "
-#~ "*filename* debe ser el nombre del archivo, se decodifica a partir de la "
-#~ "codificación del sistema de archivos (:func:`sys.getfilesystemencoding`). "
-#~ "Si *closeit* es verdadero, el archivo se cierra antes que :c:func:"
-#~ "`PyRun_FileExFlags` retorne."
diff --git a/c-api/weakref.po b/c-api/weakref.po
index bf983a9736..6f839b3b39 100644
--- a/c-api/weakref.po
+++ b/c-api/weakref.po
@@ -129,13 +129,3 @@ msgid ""
msgstr ""
"Similar a :c:func:`PyWeakref_GetObject`, pero implementado como un macro que "
"no verifica errores."
-
-#~ msgid ""
-#~ "This function returns a **borrowed reference** to the referenced object. "
-#~ "This means that you should always call :c:func:`Py_INCREF` on the object "
-#~ "except if you know that it cannot be destroyed while you are still using "
-#~ "it."
-#~ msgstr ""
-#~ "Esta función retorna una *referencia prestada* al objeto referenciado. "
-#~ "Esto significa que siempre debes llamar :c:func:`Py_INCREF` en el objeto "
-#~ "excepto si sabes que no puede ser destruido mientras lo estés usando."
diff --git a/conf.py b/conf.py
index 26ae74f940..c838a0e065 100644
--- a/conf.py
+++ b/conf.py
@@ -107,7 +107,7 @@ def add_contributing_banner(app, doctree):
'Ayuda a acercar Python a más personas de habla hispana.'
paragraph = core.publish_doctree(message)[0]
- banner = nodes.warning(ids=['contributing-banner'])
+ banner = nodes.note(ids=['contributing-banner'])
banner.append(paragraph)
for document in doctree.traverse(nodes.document):
diff --git a/dictionaries/compound_stmts.txt b/dictionaries/compound_stmts.txt
new file mode 100644
index 0000000000..8bb5f3b4af
--- /dev/null
+++ b/dictionaries/compound_stmts.txt
@@ -0,0 +1 @@
+subpatrones
\ No newline at end of file
diff --git a/dictionaries/library_asyncio-eventloop.txt b/dictionaries/library_asyncio-eventloop.txt
index 9669a3f000..b80dd03e44 100644
--- a/dictionaries/library_asyncio-eventloop.txt
+++ b/dictionaries/library_asyncio-eventloop.txt
@@ -1,3 +1,4 @@
+asyncgen
loop
renderizar
monotónicos
@@ -13,4 +14,4 @@ handle
exception
message
Stack
-reordenamiento
\ No newline at end of file
+reordenamiento
diff --git a/dictionaries/library_http.cookiejar.txt b/dictionaries/library_http.cookiejar.txt
index f08ebd0af5..06283c0bd0 100644
--- a/dictionaries/library_http.cookiejar.txt
+++ b/dictionaries/library_http.cookiejar.txt
@@ -1,21 +1,22 @@
-CookieJar
-CookiePolicy
-DefaultCookiePolicy
-FileCookieJar
-LoadError
-Lynx
-Netscape
apagarla
+block
bolcked
+CookieJar
+CookiePolicy
country
+DefaultCookiePolicy
domain
domains
downgrade
downgraded
+FileCookieJar
ie
level
libwww
+LoadError
+Lynx
matching
+Netscape
perl
policy
prefix
diff --git a/dictionaries/library_mailcap.txt b/dictionaries/library_mailcap.txt
index 2059e99139..1bf7ac4256 100644
--- a/dictionaries/library_mailcap.txt
+++ b/dictionaries/library_mailcap.txt
@@ -1,12 +1,13 @@
-Configuration
-Mechanism
-mailcap
-Mailcap
Agent
+capability
+compose
+Configuration
For
+Information
Mail
mail
-capability
-Information
-compose
+mailcap
+Mailcap
+Mechanism
+mimetype
view
diff --git a/dictionaries/library_os.txt b/dictionaries/library_os.txt
index 08f036ea71..97081ad219 100644
--- a/dictionaries/library_os.txt
+++ b/dictionaries/library_os.txt
@@ -1,43 +1,42 @@
-inodo
-nanosegundos
-urandom
-umask
-syscall
-quantum
-glibc
-errno
-pty
-Desestablece
-TerminateProcess
-fork
+configurarlos
+ctime
Cygwin
+Desestablece
+egid
ejecutabilidad
-misceláneas
entropía
-interactividad
-v
-ruid
-sgid
-suid
+errno
euid
-egid
+execv
+fork
+glibc
+group
+initgroups
+inodo
+interactividad
+merge
+misceláneas
+nanosegundos
+pty
+putenv
+quantum
+reescritura
rgid
-round
robin
-subshell
-signal
-subshell
-stdio
-ctime
-configurarlos
-reescritura
-stat
+round
+ruid
setgid
-setuid
setgroups
-initgroups
-putenv
+setuid
+sgid
+signal
spawn
-execv
-group
-merge
\ No newline at end of file
+stat
+stdio
+subcapa
+subshell
+suid
+syscall
+TerminateProcess
+umask
+urandom
diff --git a/dictionaries/library_profile.txt b/dictionaries/library_profile.txt
index 18bc53bd96..a4275cc00f 100644
--- a/dictionaries/library_profile.txt
+++ b/dictionaries/library_profile.txt
@@ -1,8 +1,9 @@
-sublista
-lineno
-filename
Czotter
+filename
formatearse
+Ghz
+lineno
profile
stats
+sublista
vs
diff --git a/dictionaries/library_readline.txt b/dictionaries/library_readline.txt
index daae40a698..83aa03de4c 100644
--- a/dictionaries/library_readline.txt
+++ b/dictionaries/library_readline.txt
@@ -1 +1,2 @@
-libedit
\ No newline at end of file
+libedit
+libreadline
diff --git a/dictionaries/library_resource.txt b/dictionaries/library_resource.txt
index d0ed3a6a6e..671f832026 100644
--- a/dictionaries/library_resource.txt
+++ b/dictionaries/library_resource.txt
@@ -1,5 +1,6 @@
-rlim
+kqueues
mbufs
-vm
overcommit
+rlim
sysctl
+vm
diff --git a/dictionaries/library_tempfile.txt b/dictionaries/library_tempfile.txt
new file mode 100644
index 0000000000..480b431e5e
--- /dev/null
+++ b/dictionaries/library_tempfile.txt
@@ -0,0 +1 @@
+extraíbles
diff --git a/dictionaries/library_typing.txt b/dictionaries/library_typing.txt
index 99a9846a66..089ad5d9d6 100644
--- a/dictionaries/library_typing.txt
+++ b/dictionaries/library_typing.txt
@@ -1,2 +1,4 @@
+interdependientes
+tipificación
variádico
variádicos
diff --git a/distutils/apiref.po b/distutils/apiref.po
index 05fa655a97..567b3cd21a 100644
--- a/distutils/apiref.po
+++ b/distutils/apiref.po
@@ -367,7 +367,7 @@ msgstr ""
"Ejecuta un script de instalación en un entorno algo controlado y retorna la "
"instancia de la clase :class:`distutils.dist.Distribution` que maneja las "
"cosas. Esto es útil si se necesitan encontrar los metadatos de distribución "
-"(pasados como palabra clave *args* desde un script a la función :func:"
+"(pasados como palabra clave *args* desde un script a la función :func:"
"`setup`), o el contenido de los archivos de configuración o la línea de "
"comandos."
@@ -955,7 +955,7 @@ msgid ""
"standard system libraries that the linker may include by default."
msgstr ""
"Establece la lista de bibliotecas que se incluirán en todos los enlaces "
-"manejados por este compilador de objeto en *libnames* (una lista de "
+"manejados por este compilador de objeto en *libnames* (una lista de "
"strings). Esto no afecta a las bibliotecas del sistema estándar que el "
"vinculador pueda incluir de forma predeterminada."
@@ -1273,7 +1273,7 @@ msgstr ""
"DOS/Windows), lo más probable es que sean listas de strings: argumentos de "
"línea de comandos adicionales para anteponer/agregar a la línea de comandos "
"del compilador. En otras plataformas, consulta la documentación de la clase "
-"de implementación. En cualquier caso, están pensados como una vía de escape "
+"de implementación. En cualquier caso, están pensados como una vía de escape "
"para aquellas ocasiones en las que la marco del compilador abstracto no es "
"suficiente."
@@ -3468,4 +3468,4 @@ msgid ""
msgstr ""
"El comando ``check`` realiza algunas pruebas en los metadatos de un paquete. "
"Por ejemplo, verifica que todos los metadatos requeridos se proporcionen "
-"como argumentos pasados a la función :func:`setup`."
+"como argumentos pasados a la función :func:`setup`."
diff --git a/extending/extending.po b/extending/extending.po
index 4bddb3e06c..5591c3b60a 100644
--- a/extending/extending.po
+++ b/extending/extending.po
@@ -2006,25 +2006,3 @@ msgid ""
msgstr ""
"Estas garantías no se cumplen cuando utiliza la convención de llamadas de "
"estilo \"antiguo\", que todavía se encuentra en muchos códigos existentes."
-
-#~ msgid ""
-#~ "The cycle detector is able to detect garbage cycles and can reclaim them. "
-#~ "The :mod:`gc` module exposes a way to run the detector (the :func:`~gc."
-#~ "collect` function), as well as configuration interfaces and the ability "
-#~ "to disable the detector at runtime. The cycle detector is considered an "
-#~ "optional component; though it is included by default, it can be disabled "
-#~ "at build time using the :option:`!--without-cycle-gc` option to the :"
-#~ "program:`configure` script on Unix platforms (including Mac OS X). If "
-#~ "the cycle detector is disabled in this way, the :mod:`gc` module will not "
-#~ "be available."
-#~ msgstr ""
-#~ "El detector de ciclos puede detectar ciclos de basura y puede "
-#~ "reclamarlos. El módulo :mod:`gc` expone una forma de ejecutar el detector "
-#~ "(la función :func:`~gc.collect`), así como las interfaces de "
-#~ "configuración y la capacidad de desactivar el detector en tiempo de "
-#~ "ejecución. El detector de ciclo se considera un componente opcional; "
-#~ "aunque se incluye de manera predeterminada, se puede deshabilitar en el "
-#~ "momento de la compilación utilizando la opción :option:`!--without-cycle-"
-#~ "gc` al script :program:`configure` en plataformas Unix (incluido Mac OS "
-#~ "X). Si el detector de ciclos está deshabilitado de esta manera, el "
-#~ "módulo :mod:`gc` no estará disponible."
diff --git a/extending/newtypes.po b/extending/newtypes.po
index 6398e64e55..f0dc6dc3ca 100644
--- a/extending/newtypes.po
+++ b/extending/newtypes.po
@@ -905,21 +905,3 @@ msgstr ""
#: ../Doc/extending/newtypes.rst:626
msgid "https://github.com/python/cpython"
msgstr "https://github.com/python/cpython"
-
-#~ msgid ":const:`READ_RESTRICTED`"
-#~ msgstr ":const:`READ_RESTRICTED`"
-
-#~ msgid "Not readable in restricted mode."
-#~ msgstr "No legible en modo restringido."
-
-#~ msgid ":const:`WRITE_RESTRICTED`"
-#~ msgstr ":const:`WRITE_RESTRICTED`"
-
-#~ msgid "Not writable in restricted mode."
-#~ msgstr "No se puede escribir en modo restringido."
-
-#~ msgid ":const:`RESTRICTED`"
-#~ msgstr ":const:`RESTRICTED`"
-
-#~ msgid "Not readable or writable in restricted mode."
-#~ msgstr "No se puede leer ni escribir en modo restringido."
diff --git a/faq/design.po b/faq/design.po
index 43ac13322b..030c5bc006 100644
--- a/faq/design.po
+++ b/faq/design.po
@@ -1455,27 +1455,3 @@ msgid ""
msgstr ""
"Permitir la coma final también puede facilitar la generación de código "
"programático."
-
-#~ msgid ""
-#~ "Because there are no begin/end brackets, Python is much less prone to "
-#~ "coding-style conflicts. In C there are many different ways to place the "
-#~ "braces. If you're used to reading and writing code that uses one style, "
-#~ "you will feel at least slightly uneasy when reading (or being required to "
-#~ "write) another style."
-#~ msgstr ""
-#~ "Debido a que no hay corchetes de inicio/fin, Python es mucho menos "
-#~ "propenso a conflictos de estilo de codificación. En C hay muchas formas "
-#~ "diferentes de colocar las llaves. Si está acostumbrado a leer y escribir "
-#~ "código que usa un estilo, se sentirá al menos un poco incómodo cuando lea "
-#~ "(o le pidan que escriba) otro estilo."
-
-#~ msgid ""
-#~ "You can do this easily enough with a sequence of ``if... elif... elif... "
-#~ "else``. There have been some proposals for switch statement syntax, but "
-#~ "there is no consensus (yet) on whether and how to do range tests. See :"
-#~ "pep:`275` for complete details and the current status."
-#~ msgstr ""
-#~ "Puede hacer esto fácilmente con una secuencia de ``if... elif... elif... "
-#~ "else``. Ha habido algunas propuestas para cambiar la sintaxis de la "
-#~ "declaración, pero todavía no hay consenso sobre si y cómo hacer pruebas "
-#~ "de rango. Ver :pep:`275` para detalles completos y el estado actual."
diff --git a/faq/extending.po b/faq/extending.po
index 40ff1ca643..0a43386e27 100644
--- a/faq/extending.po
+++ b/faq/extending.po
@@ -518,19 +518,3 @@ msgstr ""
"La biblioteca *Boost Pyhton* (BPL, http://www.boost.org/libs/python/doc/"
"index.html) provee una manera de realizar esto desde C++ (por ejemplo puedes "
"heredar de una clase extensión escrita en C++ usando el BPL)."
-
-#~ msgid ""
-#~ "However sometimes you have to run the embedded Python interpreter in the "
-#~ "same thread as your rest application and you can't allow the :c:func:"
-#~ "`PyRun_InteractiveLoop` to stop while waiting for user input. The one "
-#~ "solution then is to call :c:func:`PyParser_ParseString` and test for ``e."
-#~ "error`` equal to ``E_EOF``, which means the input is incomplete. Here's "
-#~ "a sample code fragment, untested, inspired by code from Alex Farber::"
-#~ msgstr ""
-#~ "De todas maneras a veces debes correr el interprete embebido de Python en "
-#~ "el mismo hilo que tu *api rest*, y puedes permitir que :c:func:"
-#~ "`PyRun_InteractiveLoop` termine mientras espera por la entrada del "
-#~ "usuario. La primera solución es llamar a :c:func:`PyParser_ParseString` y "
-#~ "probar con ``e.error`` igual a ``E_EOF``, que significa que la entrada "
-#~ "esta incompleta. Aquí hay un fragmento de código ejemplo, que no esta "
-#~ "probado, inspirado en el código de Alex Farber::"
diff --git a/faq/gui.po b/faq/gui.po
index 5a2364f5d7..4dcd1c5d46 100644
--- a/faq/gui.po
+++ b/faq/gui.po
@@ -168,169 +168,3 @@ msgstr ""
"enfoque de teclado. Consulte la documentación de Tk para el comando de "
"*focus*. Por lo general, un *widget* recibe el foco del teclado haciendo "
"clic en él (pero no para las etiquetas; consulte la opción *takefocus*)."
-
-#~ msgid "What platform-independent GUI toolkits exist for Python?"
-#~ msgstr ""
-#~ "¿Qué conjuntos de herramientas de GUI independientes por plataforma "
-#~ "existen para Python?"
-
-#~ msgid ""
-#~ "Depending on what platform(s) you are aiming at, there are several. Some "
-#~ "of them haven't been ported to Python 3 yet. At least `Tkinter`_ and "
-#~ "`Qt`_ are known to be Python 3-compatible."
-#~ msgstr ""
-#~ "Dependiendo de la plataforma(s) que esté apuntando, hay varias. Algunas "
-#~ "de ellas aún no han sido llevadas a Python 3. Al menos `Tkinter`_ y `Qt`_ "
-#~ "son conocidas por ser compatibles con Python 3."
-
-#~ msgid "Tkinter"
-#~ msgstr "Tkinter"
-
-#~ msgid "wxWidgets"
-#~ msgstr "wxWidgets"
-
-#~ msgid ""
-#~ "wxWidgets (https://www.wxwidgets.org) is a free, portable GUI class "
-#~ "library written in C++ that provides a native look and feel on a number "
-#~ "of platforms, with Windows, Mac OS X, GTK, X11, all listed as current "
-#~ "stable targets. Language bindings are available for a number of "
-#~ "languages including Python, Perl, Ruby, etc."
-#~ msgstr ""
-#~ "wxWidgets (https://www.wxwidgets.org) es una biblioteca de clase GUI "
-#~ "portátil y gratuita escrita en C ++ que proporciona una apariencia nativa "
-#~ "en varias plataformas, con Windows, Mac OS X, GTK, X11, todas listadas "
-#~ "como objetivos estables actuales. Los enlaces a lenguajes están "
-#~ "disponibles para varios lenguajes, incluidos Python, Perl, Ruby, etc."
-
-#~ msgid ""
-#~ "`wxPython `_ is the Python binding for "
-#~ "wxwidgets. While it often lags slightly behind the official wxWidgets "
-#~ "releases, it also offers a number of features via pure Python extensions "
-#~ "that are not available in other language bindings. There is an active "
-#~ "wxPython user and developer community."
-#~ msgstr ""
-#~ "`wxPython `_ es el enlace de Python para "
-#~ "wxwidgets. Si bien a menudo va un poco por detrás de las versiones "
-#~ "oficiales de wxWidgets, también ofrece una serie de características a "
-#~ "través de extensiones puras de Python que no están disponibles en otros "
-#~ "enlaces de lenguajes. Existe una comunidad activa de usuarios y "
-#~ "desarrolladores de wxPython."
-
-#~ msgid ""
-#~ "Both wxWidgets and wxPython are free, open source, software with "
-#~ "permissive licences that allow their use in commercial products as well "
-#~ "as in freeware or shareware."
-#~ msgstr ""
-#~ "Tanto wxWidgets como wxPython son software gratuito, de código abierto, "
-#~ "con licencias permisivas que permiten su uso en productos comerciales, "
-#~ "así como en *freeware* o *shareware*."
-
-#~ msgid "Qt"
-#~ msgstr "Qt"
-
-#~ msgid ""
-#~ "There are bindings available for the Qt toolkit (using either `PyQt "
-#~ "`_ or `PySide "
-#~ "`_) and for KDE (`PyKDE4 `__). PyQt is currently more mature "
-#~ "than PySide, but you must buy a PyQt license from `Riverbank Computing "
-#~ "`_ if you want "
-#~ "to write proprietary applications. PySide is free for all applications."
-#~ msgstr ""
-#~ "Hay enlaces disponibles para el conjunto de herramientas Qt (usando `PyQt "
-#~ "`_ o `PySide `_) y para KDE(`PyKDE4 `__). PyQt es actualmente más maduro que "
-#~ "PySide, pero debe comprar una licencia PyQt de `Riverbank Computing "
-#~ "`_ si desea "
-#~ "escribir aplicaciones propietarias. PySide es gratuito para todas las "
-#~ "aplicaciones."
-
-#~ msgid ""
-#~ "Qt 4.5 upwards is licensed under the LGPL license; also, commercial "
-#~ "licenses are available from `The Qt Company `_."
-#~ msgstr ""
-#~ "Qt 4.5 en adelante tiene licencia bajo la licencia LGPL; además, las "
-#~ "licencias comerciales están disponibles desde `The Qt Company `_."
-
-#~ msgid "Gtk+"
-#~ msgstr "Gtk+"
-
-#~ msgid ""
-#~ "The `GObject introspection bindings `_ for Python allow you to write GTK+ 3 applications. There is "
-#~ "also a `Python GTK+ 3 Tutorial `_."
-#~ msgstr ""
-#~ "Los `GObject introspection bindings `_ para Python le permiten escribir aplicaciones GTK + 3 ."
-#~ "También hay un `Tutorial Python GTK+ 3 `_."
-
-#~ msgid ""
-#~ "The older PyGtk bindings for the `Gtk+ 2 toolkit `_ "
-#~ "have been implemented by James Henstridge; see ."
-#~ msgstr ""
-#~ "Los enlaces más antiguos de PyGtk para el `conjunto de herramientas Gtk+ "
-#~ "2 `_ han sido implementado por James Henstridge; ver "
-#~ "."
-
-#~ msgid "Kivy"
-#~ msgstr "Kivy"
-
-#~ msgid ""
-#~ "`Kivy `_ is a cross-platform GUI library supporting "
-#~ "both desktop operating systems (Windows, macOS, Linux) and mobile devices "
-#~ "(Android, iOS). It is written in Python and Cython, and can use a range "
-#~ "of windowing backends."
-#~ msgstr ""
-#~ "`Kivy `_ es una biblioteca GUI multiplataforma que "
-#~ "admite sistemas operativos de escritorio (Windows, macOS, Linux) y "
-#~ "dispositivos móviles (Android, iOS). Está escrito en Python y Cython, y "
-#~ "puede usar una gama de *backends* de ventanas."
-
-#~ msgid ""
-#~ "Kivy is free and open source software distributed under the MIT license."
-#~ msgstr ""
-#~ "Kivy es un software gratuito y de código abierto distribuido bajo la "
-#~ "licencia MIT."
-
-#~ msgid "FLTK"
-#~ msgstr "FLTK"
-
-#~ msgid ""
-#~ "Python bindings for `the FLTK toolkit `_, a simple "
-#~ "yet powerful and mature cross-platform windowing system, are available "
-#~ "from `the PyFLTK project `_."
-#~ msgstr ""
-#~ "Los enlaces de Python para `el conjunto de herramientas de FLTK `_, un sistema de ventanas multiplataforma simple pero "
-#~ "potente y maduro, están disponibles en `el proyecto PyFLTK `_."
-
-#~ msgid "OpenGL"
-#~ msgstr "OpenGL"
-
-#~ msgid ""
-#~ "For OpenGL bindings, see `PyOpenGL `_."
-#~ msgstr ""
-#~ "Para abrir enlaces de OpenGL, ver `PyOpenGL `_."
-
-#~ msgid ""
-#~ "By installing the `PyObjc Objective-C bridge `_, Python programs can use Mac OS X's Cocoa libraries."
-#~ msgstr ""
-#~ "Al instalar `PyObjc Objective-C bridge `_, los programas de Python pueden usar librerías de Mac OS X’s Cocoa."
-
-#~ msgid ""
-#~ ":ref:`Pythonwin ` by Mark Hammond includes an interface to "
-#~ "the Microsoft Foundation Classes and a Python programming environment "
-#~ "that's written mostly in Python using the MFC classes."
-#~ msgstr ""
-#~ ":ref:`Pythonwin ` por Mark Hammond incluye una interfaz para "
-#~ "las Clases de Microsoft Foundation y un entorno de programación Python "
-#~ "que está escrito principalmente en Python usando las clases MFC."
diff --git a/faq/library.po b/faq/library.po
index e2a87b9298..3b7db82dcc 100644
--- a/faq/library.po
+++ b/faq/library.po
@@ -1158,31 +1158,3 @@ msgid ""
msgstr ""
"También hay una clase ``Random`` que usted puede instanciar para crear "
"múltiples generadores independientes de valores aleatorios."
-
-#~ msgid ""
-#~ "To prevent the TCP connect from blocking, you can set the socket to non-"
-#~ "blocking mode. Then when you do the ``connect()``, you will either "
-#~ "connect immediately (unlikely) or get an exception that contains the "
-#~ "error number as ``.errno``. ``errno.EINPROGRESS`` indicates that the "
-#~ "connection is in progress, but hasn't finished yet. Different OSes will "
-#~ "return different values, so you're going to have to check what's returned "
-#~ "on your system."
-#~ msgstr ""
-#~ "Para prevenir el bloqueo en la conexión TCP, puede establecer el socket "
-#~ "en modo no bloqueante. Luego cuando ejecute ``connect()``, conectará "
-#~ "inmediatamente (improbable) u obtendrá una excepción que contiene el "
-#~ "número de error como ``.errno``. ``errno.EINPROGRESS`` indica que la "
-#~ "conexión está en curso, pero aún no ha terminado. Diferentes sistemas "
-#~ "operativos retornarán diferentes valores, así que debe comprobar cuál es "
-#~ "el retornado en su sistema."
-
-#~ msgid ""
-#~ "The :mod:`asyncore` module presents a framework-like approach to the "
-#~ "problem of writing non-blocking networking code. The third-party `Twisted "
-#~ "`_ library is a popular and feature-rich "
-#~ "alternative."
-#~ msgstr ""
-#~ "El módulo :mod:`asyncore` ofrece una enfoque de tipo *framework* al "
-#~ "problema de escribir código de red no bloqueante. La biblioteca de "
-#~ "terceros `Twisted `_ es una alternativa "
-#~ "popular y ofrece muchas capacidades."
diff --git a/faq/programming.po b/faq/programming.po
index f9f4c3bff2..70c9f320af 100644
--- a/faq/programming.po
+++ b/faq/programming.po
@@ -13,12 +13,12 @@ msgstr ""
"POT-Creation-Date: 2021-10-16 21:42+0200\n"
"PO-Revision-Date: 2021-12-11 15:36-0300\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.9.1\n"
"X-Generator: Poedit 3.0\n"
@@ -2738,18 +2738,17 @@ msgstr ""
"booleanos que se evalúen como falsos."
#: ../Doc/faq/programming.rst:1821
-#, fuzzy
msgid ""
"2) Detecting optional arguments can be tricky when ``None`` is a valid input "
"value. In those situations, you can create an singleton sentinel object "
"guaranteed to be distinct from other objects. For example, here is how to "
"implement a method that behaves like :meth:`dict.pop`::"
msgstr ""
-"2) Detectar argumentos opcionales puede ser complicado cuando ``None`` es un "
-"valor de entrada válido. En esas situaciones, puedes crear un objeto "
-"singleton centinela que esté garantizado de ser distinto de otros objetos. "
-"Por ejemplo, acá está como implementar un método que se comporta como :meth:"
-"`dict.pop`::"
+"2) La detección de argumentos opcionales puede resultar complicada cuando "
+"``None`` es un valor de entrada válido. En esas situaciones, puede crear un "
+"objeto centinela singleton garantizado para ser distinto de otros objetos. "
+"Por ejemplo, aquí se explica cómo implementar un método que se comporta "
+"como :meth:`dict.pop`:"
#: ../Doc/faq/programming.rst:1837
msgid ""
@@ -3217,157 +3216,3 @@ msgid ""
msgstr ""
"La naturaleza del problema se hace evidente si muestras la \"identity\" de "
"los objetos clase::"
-
-#~ msgid ""
-#~ "`Boa Constructor `_ is an IDE "
-#~ "and GUI builder that uses wxWidgets. It offers visual frame creation and "
-#~ "manipulation, an object inspector, many views on the source like object "
-#~ "browsers, inheritance hierarchies, doc string generated html "
-#~ "documentation, an advanced debugger, integrated help, and Zope support."
-#~ msgstr ""
-#~ "`Boa Constructor `_ es un IDE y "
-#~ "creador de GUIs que usa wxWidgets. Ofrece creación y manipulación visual "
-#~ "de marcos, un inspector de objetos, muchas vistas sobre la fuente como "
-#~ "los navegadores de objetos, jerarquías de herencia, documentación "
-#~ "docstring generada como html, un depurador avanzado, ayuda integrada y "
-#~ "soporte para Zope."
-
-#~ msgid ""
-#~ "PyChecker is a static analysis tool that finds bugs in Python source code "
-#~ "and warns about code complexity and style. You can get PyChecker from "
-#~ "http://pychecker.sourceforge.net/."
-#~ msgstr ""
-#~ "PyChecker es un analizador estático que encuentra errores en código "
-#~ "fuente Python y avisa sobre complejidad del código y estilo. Puedes "
-#~ "obtener PyChecker desde http://pychecker.sourceforge.net/."
-
-#~ msgid ""
-#~ "`Pylint `_ is another tool that checks if a "
-#~ "module satisfies a coding standard, and also makes it possible to write "
-#~ "plug-ins to add a custom feature. In addition to the bug checking that "
-#~ "PyChecker performs, Pylint offers some additional features such as "
-#~ "checking line length, whether variable names are well-formed according to "
-#~ "your coding standard, whether declared interfaces are fully implemented, "
-#~ "and more. https://docs.pylint.org/ provides a full list of Pylint's "
-#~ "features."
-#~ msgstr ""
-#~ "`Pylint `_ es otra herramienta que comprueba si "
-#~ "un módulo satisface un estándar de código y, además, también hace posible "
-#~ "escribir *plug-ins* para añadir características personalizadas. Además "
-#~ "de la comprobación de errores que realiza PyChecker, Pylint ofrece "
-#~ "algunas características adicionales como la comprobación de la longitud "
-#~ "de línea, si los nombres de variable han sido creados correctamente de "
-#~ "acuerdo a tu estándar de código, si las interfaces declaradas han sido "
-#~ "implementadas de forma completa y más. https://docs.pylint.org/ "
-#~ "proporciona una lista completa de las características de Pylint."
-
-#~ msgid ""
-#~ "Note: Using :func:`eval` is slow and dangerous. If you don't have "
-#~ "absolute control over the contents of the string, someone could pass a "
-#~ "string that resulted in an arbitrary function being executed."
-#~ msgstr ""
-#~ "Nota: Usar :func:`eval` es lento y peligroso. Si no tienes el control "
-#~ "absoluto del contenido de la cadena cualquiera podría introducir una "
-#~ "cadena que resulte en la ejecución de código arbitrario."
-
-#~ msgid "With Python 2.3, you can use an extended slice syntax::"
-#~ msgstr "Desde Python 2.3 puedes usar la sintaxis extendida de rebanado::"
-
-#~ msgid "An alternative for the last step is::"
-#~ msgstr "Una alternativa para el último paso es::"
-
-#~ msgid ""
-#~ "If you find this more legible, you might prefer to use this instead of "
-#~ "the final list comprehension. However, it is almost twice as slow for "
-#~ "long lists. Why? First, the ``append()`` operation has to reallocate "
-#~ "memory, and while it uses some tricks to avoid doing that each time, it "
-#~ "still has to do it occasionally, and that costs quite a bit. Second, the "
-#~ "expression \"result.append\" requires an extra attribute lookup, and "
-#~ "third, there's a speed reduction from having to make all those function "
-#~ "calls."
-#~ msgstr ""
-#~ "Si encuentras esto más legible, podrías preferir usar esto en lugar de "
-#~ "una comprensión de lista final. Sin embargo, es casi el doble de lento "
-#~ "para listas largas. ¿Por qué? Primero, la operación ``append()`` "
-#~ "necesita reasignar memoria y, aunque usa algunos trucos para evitar "
-#~ "hacerlo en todo momento, sigue teniéndolo que hacer ocasionalmente y eso "
-#~ "tiene un poco de coste. Segundo, la expresión \"result.append\" requiere "
-#~ "una búsqueda adicional de atributos y, tercero, hay una reducción de "
-#~ "velocidad de tener que hacer todas esas llamadas a funciones."
-
-#~ msgid ""
-#~ "You could define an alias for the base class, assign the real base class "
-#~ "to it before your class definition, and use the alias throughout your "
-#~ "class. Then all you have to change is the value assigned to the alias. "
-#~ "Incidentally, this trick is also handy if you want to decide dynamically "
-#~ "(e.g. depending on availability of resources) which base class to use. "
-#~ "Example::"
-#~ msgstr ""
-#~ "Puedes definir un alias para la clase base, asignar la clase base real al "
-#~ "alias antes de la definición de tu clase y usar el alias a lo largo de "
-#~ "toda la clase. Entonces, lo único que tienes que cambiar es el valor "
-#~ "asignado al alias. Sin pretenderlo, este truco también es útil si desear "
-#~ "decidir de forma dinámica (por ejemplo dependiendo de la disponibilidad "
-#~ "de recursos) qué clase base usar. Ejemplo::"
-
-#~ msgid ""
-#~ "PythonWin is a Python IDE that includes a GUI debugger based on pdb. The "
-#~ "Pythonwin debugger colors breakpoints and has quite a few cool features "
-#~ "such as debugging non-Pythonwin programs. Pythonwin is available as part "
-#~ "of the `Python for Windows Extensions `__ project and as a part of the ActivePython distribution (see "
-#~ "https://www.activestate.com/activepython\\ )."
-#~ msgstr ""
-#~ "PythonWin es un IDE Python que incluye un depurador con GUI basado en "
-#~ "pdb. El depurador PythonWin colorea los puntos de interrupción y dispone "
-#~ "de características geniales como la depuración de programas no "
-#~ "modificados mediante PythonWin. PythonWin está disponible como parte del "
-#~ "proyecto `Las extensiones de Python para Windows `__ y como parte de la distribución ActivePython (ver "
-#~ "https://www.activestate.com/activepython\\ )."
-
-#~ msgid ""
-#~ "Pydb is a version of the standard Python debugger pdb, modified for use "
-#~ "with DDD (Data Display Debugger), a popular graphical debugger front "
-#~ "end. Pydb can be found at http://bashdb.sourceforge.net/pydb/ and DDD "
-#~ "can be found at https://www.gnu.org/software/ddd."
-#~ msgstr ""
-#~ "Pydb es una versión del depurador estándar de Python pdb, modificado para "
-#~ "usarse con DDD (*Data Display Debugger*), un popular frontal gráfico para "
-#~ "depuradores. Pydb se puede encontrar en http://bashdb.sourceforge.net/"
-#~ "pydb/ y DDD se puede encontrar en https://www.gnu.org/software/ddd."
-
-#~ msgid "Komodo IDE (https://komodoide.com/)"
-#~ msgstr "Komodo IDE (https://komodoide.com/)"
-
-#~ msgid ""
-#~ "Obviously, freeze requires a C compiler. There are several other "
-#~ "utilities which don't. One is Thomas Heller's py2exe (Windows only) at"
-#~ msgstr ""
-#~ "Obviamente, freeze necesita un compilador C. Existen otras utilidades "
-#~ "que no necesitan un compilador C. Una de ellas es py2exe de Thomas Heller "
-#~ "(solo disponible para Windows) en"
-
-#~ msgid ""
-#~ "Another tool is Anthony Tuininga's `cx_Freeze `_."
-#~ msgstr ""
-#~ "Otra herramienta es `cx_Freeze `_ de Anthony Tuininga."
-
-#~ msgid ""
-#~ "For version prior to 3.0, you may be using classic classes: For a class "
-#~ "definition such as ``class Derived(Base): ...`` you can call method "
-#~ "``meth()`` defined in ``Base`` (or one of ``Base``'s base classes) as "
-#~ "``Base.meth(self, arguments...)``. Here, ``Base.meth`` is an unbound "
-#~ "method, so you need to provide the ``self`` argument."
-#~ msgstr ""
-#~ "Para versiones anteriores a la 3.0, puedes usar clases clásicas: Para la "
-#~ "definición de una clase como ``class Derived(Base): ...`` puedes invocar "
-#~ "el método ``meth()`` definido en ``Base`` (o una de las clases base de "
-#~ "``Base``) como ``Base.meth(self, arguments...)``. Aquí, ``Base.meth`` es "
-#~ "un método no ligado y, por tanto, debes proporcionar el argumento "
-#~ "``self``."
-
-#~ msgid "bar.foo_var = foo.foo_var"
-#~ msgstr "bar.foo_var = foo.foo_var"
diff --git a/faq/windows.po b/faq/windows.po
index b1f4f442b4..673fcf1288 100644
--- a/faq/windows.po
+++ b/faq/windows.po
@@ -86,7 +86,7 @@ msgid ""
"compiles it into bytecodes, and then executes the bytecodes to run your "
"program. So, how do you arrange for the interpreter to handle your Python?"
msgstr ""
-"Tenga en cuenta que sus scripts de Python deben ser procesados por otro "
+"Tenga en cuenta que sus scripts de Python deben ser procesados por otro "
"programa llamado \"intérprete\" de Python. El intérprete lee su script, lo "
"compila en *bytecode* y ejecuta el *bytecode* para ejecutar su programa. "
"Entonces, ¿cómo le das tu código Python al intérprete?"
@@ -517,16 +517,3 @@ msgstr ""
"Use el módulo :mod:`msvcrt`. Es una extensión estándar específica de "
"Windows, que define una función ``kbhit()`` que verifica si se ha presionado "
"una tecla, y ``getch()`` que recupera el carácter sin mostrarlo."
-
-#~ msgid ""
-#~ "See `cx_Freeze `_ for a "
-#~ "distutils extension that allows you to create console and GUI executables "
-#~ "from Python code. `py2exe `_, the most popular "
-#~ "extension for building Python 2.x-based executables, does not yet support "
-#~ "Python 3 but a version that does is in development."
-#~ msgstr ""
-#~ "Consulte `cx_Freeze `_ "
-#~ "para obtener una extensión distutils que le permite crear ejecutables de "
-#~ "consola y GUI a partir del código Python. `py2exe `_ es la extensión más popular para construir ejecutables basados en "
-#~ "Python 2.x, pero la implementación en Python 3 está en desarrollo."
diff --git a/glossary.po b/glossary.po
index 6dd4e6f5e5..0989168be8 100644
--- a/glossary.po
+++ b/glossary.po
@@ -2878,75 +2878,3 @@ msgstr ""
"Un listado de los principios de diseño y la filosofía de Python que son "
"útiles para entender y usar el lenguaje. El listado puede encontrarse "
"ingresando \"``import this``\" en la consola interactiva."
-
-#~ msgid ""
-#~ "Any tuple-like class whose indexable elements are also accessible using "
-#~ "named attributes (for example, :func:`time.localtime` returns a tuple-"
-#~ "like object where the *year* is accessible either with an index such as "
-#~ "``t[0]`` or with a named attribute like ``t.tm_year``)."
-#~ msgstr ""
-#~ "Cualquier clase similar a una tupla cuyos elementos indexables son "
-#~ "también accesibles usando atributos nombrados (por ejemplo, :func:`time."
-#~ "localtime` retorna un objeto similar a tupla donde *year* es accesible "
-#~ "tanto como ``t[0]`` o con un atributo nombrado como``t.mes``)."
-
-#~ msgid ""
-#~ "A named tuple can be a built-in type such as :class:`time.struct_time`, "
-#~ "or it can be created with a regular class definition. A full featured "
-#~ "named tuple can also be created with the factory function :func:"
-#~ "`collections.namedtuple`. The latter approach automatically provides "
-#~ "extra features such as a self-documenting representation like "
-#~ "``Employee(name='jones', title='programmer')``."
-#~ msgstr ""
-#~ "Una tupla nombrada puede ser un tipo incorporado como :class:`time."
-#~ "struct_time`, o puede ser creada con una definición regular de clase. "
-#~ "Una tupla nombrada con todas las características puede también ser creada "
-#~ "con la función factoría :func:`collections.namedtuple`. Esta última "
-#~ "forma automáticamente brinda capacidades extra como una representación "
-#~ "autodocumentada como ``Employee(name='jones', title='programmer')``."
-
-#~ msgid ""
-#~ ":dfn:`positional-only`: specifies an argument that can be supplied only "
-#~ "by position. Python has no syntax for defining positional-only "
-#~ "parameters. However, some built-in functions have positional-only "
-#~ "parameters (e.g. :func:`abs`)."
-#~ msgstr ""
-#~ ":dfn:`sólo posicional`: especifica un argumento que puede ser pasado sólo "
-#~ "por posición. Python no tiene una sintaxis específica para los "
-#~ "parámetros que son sólo por posición. Sin embargo, algunas funciones "
-#~ "tienen parámetros sólo por posición (por ejemplo :func:`abs`)."
-
-#~ msgid "struct sequence"
-#~ msgstr "secuencias estructuradas"
-
-#~ msgid ""
-#~ "A tuple with named elements. Struct sequences expose an interface similar "
-#~ "to :term:`named tuple` in that elements can be accessed either by index "
-#~ "or as an attribute. However, they do not have any of the named tuple "
-#~ "methods like :meth:`~collections.somenamedtuple._make` or :meth:"
-#~ "`~collections.somenamedtuple._asdict`. Examples of struct sequences "
-#~ "include :data:`sys.float_info` and the return value of :func:`os.stat`."
-#~ msgstr ""
-#~ "Una tupla con elementos nombrados. Las secuencias estructuradas exponen "
-#~ "una interfaz similar a :term:`named tuple` ya que los elementos pueden "
-#~ "ser accedidos mediante un índice o como si fueran un atributo. Sin "
-#~ "embargo, no tienen ninguno de los métodos de las tuplas nombradas como :"
-#~ "meth:`~collections.somenamedtuple._make` o :meth:`~collections."
-#~ "somenamedtuple._asdict`. Ejemplos de secuencias estructuradas son :data:"
-#~ "`sys.float_info` y el valor de retorno de :func:`os.stat`."
-
-#~ msgid ""
-#~ "A pseudo-module which programmers can use to enable new language features "
-#~ "which are not compatible with the current interpreter."
-#~ msgstr ""
-#~ "Un pseudo-módulo que los programadores pueden usar para habilitar nuevas "
-#~ "capacidades del lenguaje que no son compatibles con el intérprete actual."
-
-#~ msgid ""
-#~ "By importing the :mod:`__future__` module and evaluating its variables, "
-#~ "you can see when a new feature was first added to the language and when "
-#~ "it becomes the default::"
-#~ msgstr ""
-#~ "Al importar el módulo :mod:`__future__` y evaluar sus variables, puede "
-#~ "verse cuándo las nuevas capacidades fueron agregadas por primera vez al "
-#~ "lenguaje y cuando se quedaron establecidas por defecto::"
diff --git a/howto/clinic.po b/howto/clinic.po
index eafb55ad9e..dba9de1459 100644
--- a/howto/clinic.po
+++ b/howto/clinic.po
@@ -2662,7 +2662,7 @@ msgstr ""
"Aunque las funciones ``__new__ `` y ``__init__`` siempre deben aceptar tanto "
"los objetos ``args`` como los ``kwargs``, al realizar la conversión puede "
"especificar cualquier firma para estas funciones que desee. (Si su función "
-"no admite palabras clave, la función de análisis generada generará una "
+"no admite palabras clave, la función de análisis generada lanzará una "
"excepción si recibe alguna)."
#: ../Doc/howto/clinic.rst:1421
diff --git a/howto/logging-cookbook.po b/howto/logging-cookbook.po
index 419111acce..3c0d165262 100644
--- a/howto/logging-cookbook.po
+++ b/howto/logging-cookbook.po
@@ -2279,7 +2279,7 @@ msgid ""
"file multiple times. This could be done accidentally, for example by:"
msgstr ""
"En Windows, por lo general, no podrá abrir el mismo archivo varias veces, ya "
-"que esto generará un error de \"otro proceso está usando el archivo\". Sin "
+"que esto lanzará un error de \"otro proceso está usando el archivo\". Sin "
"embargo, en las plataformas POSIX no obtendrá ningún error si abre el mismo "
"archivo varias veces. Esto podría hacerse accidentalmente, por ejemplo:"
diff --git a/howto/pyporting.po b/howto/pyporting.po
index 3a7be0f812..8c2e262711 100644
--- a/howto/pyporting.po
+++ b/howto/pyporting.po
@@ -923,7 +923,7 @@ msgstr ""
"3.5). De forma predeterminada, las comparaciones de tipos diferentes "
"simplemente retornan ``False``, pero si cometió un error en la separación "
"del control de datos de texto/binario o la indexación en bytes, no "
-"encontraría fácilmente el error. Esta marca generará una excepción cuando se "
+"encontraría fácilmente el error. Esta marca lanzará una excepción cuando se "
"produzcan este tipo de comparaciones, lo que hace que el error sea mucho más "
"fácil de rastrear."
diff --git a/howto/urllib2.po b/howto/urllib2.po
index 00d09aa2e9..7c582cdd50 100644
--- a/howto/urllib2.po
+++ b/howto/urllib2.po
@@ -378,7 +378,7 @@ msgstr ""
"respuestas automáticamente (por ejemplo, si la respuesta es una \"redirección"
"\" que solicita que el cliente obtenga el documento desde una URL diferente, "
"urllib se encargará de eso por ti). Para aquellas respuestas que no puede "
-"manejar, urlopen generará un :exc:`HTTPError`. Los errores típicos incluyen "
+"manejar, urlopen lanzará un :exc:`HTTPError`. Los errores típicos incluyen "
"'404' (página no encontrada), '403' (petición prohibida), y "
"'401' (autenticación requerida)."
diff --git a/library/__future__.po b/library/__future__.po
index 554913fdf1..275ead665d 100644
--- a/library/__future__.po
+++ b/library/__future__.po
@@ -279,9 +279,8 @@ msgid "3.7.0b1"
msgstr "3.7.0b1"
#: ../Doc/library/__future__.rst:93
-#, fuzzy
msgid "3.11"
-msgstr "3.10"
+msgstr "3.11"
#: ../Doc/library/__future__.rst:93
msgid ":pep:`563`: *Postponed evaluation of annotations*"
@@ -294,6 +293,3 @@ msgstr ":ref:`future`"
#: ../Doc/library/__future__.rst:103
msgid "How the compiler treats future imports."
msgstr "Cómo trata el compilador las importaciones futuras."
-
-#~ msgid "4.0"
-#~ msgstr "4.0"
diff --git a/library/__main__.po b/library/__main__.po
index 6cbf1f791e..707af31077 100644
--- a/library/__main__.po
+++ b/library/__main__.po
@@ -510,22 +510,3 @@ msgid ""
msgstr ""
"El ámbito ``__main__`` es utilizado en la implementación de :mod:`pdb` y :"
"mod:`rlcompleter`."
-
-#~ msgid ""
-#~ "``'__main__'`` is the name of the scope in which top-level code executes. "
-#~ "A module's __name__ is set equal to ``'__main__'`` when read from "
-#~ "standard input, a script, or from an interactive prompt."
-#~ msgstr ""
-#~ "``'__main__'`` es el nombre del ámbito en el que se ejecuta el código de "
-#~ "nivel superior. El atributo __name__ de un módulo se establece igual a "
-#~ "``'__main__'`` cuando se lee desde una entrada estándar, un script o un "
-#~ "prompt interactivo."
-
-#~ msgid ""
-#~ "For a package, the same effect can be achieved by including a ``__main__."
-#~ "py`` module, the contents of which will be executed when the module is "
-#~ "run with ``-m``."
-#~ msgstr ""
-#~ "Para un paquete, se puede lograr el mismo efecto incluyendo un modulo "
-#~ "``__main__.py``, cuyo contenido se ejecutara cuando el modulo se ejecute "
-#~ "con ``-m``."
diff --git a/library/_thread.po b/library/_thread.po
index 003271e291..20bc9bc3b3 100644
--- a/library/_thread.po
+++ b/library/_thread.po
@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-10-16 21:42+0200\n"
-"PO-Revision-Date: 2020-07-25 10:24-0300\n"
+"PO-Revision-Date: 2021-12-18 17:01-0300\n"
"Last-Translator: \n"
"Language: es\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
+"X-Generator: Poedit 3.0\n"
#: ../Doc/library/_thread.rst:2
msgid ":mod:`_thread` --- Low-level threading API"
@@ -105,34 +106,34 @@ msgstr ""
"no gestionadas."
#: ../Doc/library/_thread.rst:66
-#, fuzzy
msgid ""
"Simulate the effect of a signal arriving in the main thread. A thread can "
"use this function to interrupt the main thread, though there is no guarantee "
"that the interruption will happen immediately."
msgstr ""
-"Simular el efecto de una señal :data:`signal.SIGINT` que llega al hilo "
-"principal. Un hilo puede usar esta función para interrumpir el hilo "
-"principal."
+"Simular el efecto de una señal que llega al hilo principal. Un hilo puede "
+"usar esta función para interrumpir el hilo principal, aunque no hay "
+"garantías de que la interrupción ocurrirá inmediatamente."
#: ../Doc/library/_thread.rst:70
msgid ""
"If given, *signum* is the number of the signal to simulate. If *signum* is "
"not given, :data:`signal.SIGINT` is simulated."
msgstr ""
+"Si se da, *signum* es el número de la señal a simular. Si *signum* no se "
+"da, :data:`signal.SIGINT` es simulado."
#: ../Doc/library/_thread.rst:73
-#, fuzzy
msgid ""
"If the given signal isn't handled by Python (it was set to :data:`signal."
"SIG_DFL` or :data:`signal.SIG_IGN`), this function does nothing."
msgstr ""
-"Si :data:`signal.SIGINT` no está gestionada por Python (se definió :data:"
-"`signal.SIG_DFL` o :data:`signal.SIG_IGN`), esta función no hace nada."
+"Si la señal dada no es manejada por Python (se estableció en :data:`signal."
+"SIG_DFL` o :data:`signal.SIG_IGN`), esta función no hace nada."
#: ../Doc/library/_thread.rst:77
msgid "The *signum* argument is added to customize the signal number."
-msgstr ""
+msgstr "Se agrega el argumento *signum* para personalizar el número de señal."
#: ../Doc/library/_thread.rst:81
msgid ""
@@ -140,6 +141,9 @@ msgid ""
"associated handler (if it exists). If you want to truly emit the signal, "
"use :func:`signal.raise_signal`."
msgstr ""
+"Esto no emite la señal correspondiente, sino que programa una llamada al "
+"controlador asociado (si existe). Si realmente se quiere emitir la señal, se "
+"utiliza :func:`signal.raise_signal`."
#: ../Doc/library/_thread.rst:88
msgid ""
diff --git a/library/argparse.po b/library/argparse.po
index 973ecc4f83..36e321284e 100644
--- a/library/argparse.po
+++ b/library/argparse.po
@@ -13,12 +13,12 @@ msgstr ""
"POT-Creation-Date: 2021-10-16 21:42+0200\n"
"PO-Revision-Date: 2021-08-07 10:59+0200\n"
"Last-Translator: Cristián Maureira-Fredes \n"
-"Language: es\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"Generated-By: Babel 2.9.1\n"
#: ../Doc/library/argparse.rst:2
@@ -761,13 +761,12 @@ msgstr ""
"información de error."
#: ../Doc/library/argparse.rst:662
-#, fuzzy
msgid ""
"If the user would like to catch errors manually, the feature can be enabled "
"by setting ``exit_on_error`` to ``False``::"
msgstr ""
"Si el usuario desea detectar errores manualmente, la función se puede "
-"habilitar configurando ``exit_on_error`` en ``False``::"
+"habilitar configurando ``exit_on_error`` en ``False`` ::"
#: ../Doc/library/argparse.rst:679
msgid "The add_argument() method"
@@ -1317,7 +1316,6 @@ msgstr ""
"argumentos."
#: ../Doc/library/argparse.rst:1106
-#, fuzzy
msgid ""
"For example, JSON or YAML conversions have complex error cases that require "
"better reporting than can be given by the ``type`` keyword. A :exc:`~json."
@@ -2607,70 +2605,3 @@ msgstr ""
"Reemplaza el argumento ``version`` del constructor *OptionParser* por una "
"llamada a ``parser.add_argument('--version', action='version', version='')``."
-
-#~ msgid ""
-#~ "``argparse.REMAINDER``. All the remaining command-line arguments are "
-#~ "gathered into a list. This is commonly useful for command line utilities "
-#~ "that dispatch to other command line utilities::"
-#~ msgstr ""
-#~ "``argparse.REMAINDER``. Todos los argumentos restantes de la línea de "
-#~ "comandos se recogen en una lista. Esto es útil habitualmente para "
-#~ "utilidades de línea de comandos que envían a otras utilidades de línea de "
-#~ "comandos::"
-
-#~ msgid ""
-#~ "By default, :class:`ArgumentParser` objects read command-line arguments "
-#~ "in as simple strings. However, quite often the command-line string should "
-#~ "instead be interpreted as another type, like a :class:`float` or :class:"
-#~ "`int`. The ``type`` keyword argument of :meth:`~ArgumentParser."
-#~ "add_argument` allows any necessary type-checking and type conversions to "
-#~ "be performed. Common built-in types and functions can be used directly "
-#~ "as the value of the ``type`` argument::"
-#~ msgstr ""
-#~ "Por defecto, los objetos :class:`ArgumentParser` leen los argumentos de "
-#~ "la línea de comandos como simples cadenas de caracteres. Sin embargo, muy "
-#~ "a menudo la cadena de caracteres de la línea de comandos debe ser "
-#~ "interpretada como otro tipo, como una :class:`float` o :class:`int`. El "
-#~ "argumento de palabra clave ``type`` de :meth:`~ArgumentParser."
-#~ "add_argument` permite realizar cualquier comprobación y conversión de "
-#~ "tipos que sea necesaria. Los tipos y funciones incorporadas (*built-in*) "
-#~ "comunes pueden ser usados directamente como el valor del argumento "
-#~ "``type``::"
-
-#~ msgid ""
-#~ "See the section on the default_ keyword argument for information on when "
-#~ "the ``type`` argument is applied to default arguments."
-#~ msgstr ""
-#~ "Consulta la sección sobre el argumento de palabra clave default_ para "
-#~ "obtener información sobre cuándo se aplica el argumento ``type`` a los "
-#~ "argumentos por defecto."
-
-#~ msgid ""
-#~ "To ease the use of various types of files, the argparse module provides "
-#~ "the factory FileType which takes the ``mode=``, ``bufsize=``, "
-#~ "``encoding=`` and ``errors=`` arguments of the :func:`open` function. "
-#~ "For example, ``FileType('w')`` can be used to create a writable file::"
-#~ msgstr ""
-#~ "Para facilitar el uso de varios tipos de archivos, el módulo *argparse* "
-#~ "proporciona *FileType* de fábrica que toma los argumentos ``mode=``, "
-#~ "``bufsize=``, ``encoding=`` y ``errors=`` de la función :func:`open`. Por "
-#~ "ejemplo, ``FileType('w')`` puede usarse para crear un archivo "
-#~ "modificable::"
-
-#~ msgid ""
-#~ "``type=`` can take any callable that takes a single string argument and "
-#~ "returns the converted value::"
-#~ msgstr ""
-#~ "``type=`` puede aceptar cualquier invocable que use un sólo argumento de "
-#~ "cadena de caracteres y retorne el valor convertido::"
-
-#~ msgid ""
-#~ "The choices_ keyword argument may be more convenient for type checkers "
-#~ "that simply check against a range of values::"
-#~ msgstr ""
-#~ "El argumento de palabra clave choices_ puede ser más conveniente para las "
-#~ "verificadoras de tipo que simplemente comparan contra un rango de "
-#~ "valores::"
-
-#~ msgid "See the choices_ section for more details."
-#~ msgstr "Consulta la sección choices_ para más detalles."
diff --git a/library/array.po b/library/array.po
index a1df3c4191..be2fb288d2 100644
--- a/library/array.po
+++ b/library/array.po
@@ -13,12 +13,12 @@ msgstr ""
"POT-Creation-Date: 2021-10-16 21:42+0200\n"
"PO-Revision-Date: 2021-08-04 12:39+0200\n"
"Last-Translator: Cristián Maureira-Fredes \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.9.1\n"
#: ../Doc/library/array.rst:2
@@ -381,18 +381,16 @@ msgid ":meth:`fromstring` is renamed to :meth:`frombytes` for clarity."
msgstr ":meth:`fromstring` se renombra como :meth:`frombytes` por claridad."
#: ../Doc/library/array.rst:160
-#, fuzzy
msgid ""
"Read *n* items (as machine values) from the :term:`file object` *f* and "
"append them to the end of the array. If less than *n* items are available, :"
"exc:`EOFError` is raised, but the items that were available are still "
"inserted into the array."
msgstr ""
-"Lee *n* elementos (como valores maquina) desde el :term:`file object` *f* y "
+"Lee *n* elementos (como valores de máquina) del :term:`file object` *f* y "
"los añade al final del arreglo. Si hay menos de *n* elementos disponibles, "
-"se lanza :exc:`EOFError`, pero los elementos que estaban disponibles son "
-"insertados al arreglo. *f* debe de ser un objeto de archivo incorporado "
-"real; cualquier otra cosa con un método :meth:`read` no funcionará."
+"se lanza :exc:`EOFError`, pero los elementos que estaban disponibles todavía "
+"se insertan en el arreglo."
#: ../Doc/library/array.rst:168
msgid ""
@@ -421,10 +419,14 @@ msgid ""
"specified to search for *x* within a subsection of the array. Raise :exc:"
"`ValueError` if *x* is not found."
msgstr ""
+"Retorna el *i* más pequeño de modo que *i* es el índice de la primera "
+"aparición de *x* en el arreglo. Los argumentos opcionales *start* y *stop* "
+"pueden ser especificados para buscar *x* dentro de una subsección del "
+"arreglo. Lanza :exc:`ValueError` si no se encuentra *x*."
#: ../Doc/library/array.rst:187
msgid "Added optional *start* and *stop* parameters."
-msgstr ""
+msgstr "Se agregaron parámetros opcionales *start* y *stop*."
#: ../Doc/library/array.rst:192
msgid ""
@@ -530,52 +532,8 @@ msgstr ""
#: ../Doc/library/array.rst:263
msgid "`NumPy `_"
-msgstr ""
+msgstr "`NumPy `_"
#: ../Doc/library/array.rst:264
msgid "The NumPy package defines another array type."
-msgstr ""
-
-#~ msgid "Py_UNICODE"
-#~ msgstr "Py_UNICODE"
-
-#~ msgid ""
-#~ "The ``'u'`` type code corresponds to Python's obsolete unicode character "
-#~ "(:c:type:`Py_UNICODE` which is :c:type:`wchar_t`). Depending on the "
-#~ "platform, it can be 16 bits or 32 bits."
-#~ msgstr ""
-#~ "El código de tipo ``'u'`` corresponde al carácter unicode obsoleto de "
-#~ "Python (:c:type:`Py_UNICODE` que es :c:type:`wchar_t`). Dependiendo de la "
-#~ "plataforma, puede ser de 16 bits o de 32 bits."
-
-#~ msgid ""
-#~ "``'u'`` will be removed together with the rest of the :c:type:"
-#~ "`Py_UNICODE` API."
-#~ msgstr ""
-#~ "``'u'`` será eliminada conjuntamente con el resto de :c:type:`Py_UNICODE` "
-#~ "API."
-
-#~ msgid "Deprecated alias for :meth:`frombytes`."
-#~ msgstr "Alias obsoleto para :meth:`frombytes`."
-
-#~ msgid "Deprecated alias for :meth:`tobytes`."
-#~ msgstr "Alias obsoleto para :meth:`tobytes`."
-
-#~ msgid ""
-#~ "Return the smallest *i* such that *i* is the index of the first "
-#~ "occurrence of *x* in the array."
-#~ msgstr ""
-#~ "Retorna la *i* más pequeña de modo que *i* es el índice de la primera "
-#~ "ocurrencia de *x* en el arreglo."
-
-#~ msgid "`The Numerical Python Documentation `_"
-#~ msgstr ""
-#~ "`La documentación numérica de Python `_"
-
-#~ msgid ""
-#~ "The Numeric Python extension (NumPy) defines another array type; see "
-#~ "http://www.numpy.org/ for further information about Numerical Python."
-#~ msgstr ""
-#~ "La extensión numérica de Python (NumPy) define otro tipo de arreglos; "
-#~ "consultar http://www.numpy.org/ para información adicional sobre Python "
-#~ "numérico."
+msgstr "El paquete NumPy define otro tipo de arreglo."
diff --git a/library/ast.po b/library/ast.po
index 7c356e1ebc..5bf7cf9122 100644
--- a/library/ast.po
+++ b/library/ast.po
@@ -1832,14 +1832,3 @@ msgstr ""
"las diferentes versiones de Python (en múltiples versiones de Python). Parso "
"también es capaz de enlistar múltiples errores de sintaxis en tu archivo de "
"Python."
-
-#~ msgid ""
-#~ "Old classes :class:`ast.Num`, :class:`ast.Str`, :class:`ast.Bytes`, :"
-#~ "class:`ast.NameConstant` and :class:`ast.Ellipsis` are still available, "
-#~ "but they will be removed in future Python releases. In the meanwhile, "
-#~ "instantiating them will return an instance of a different class."
-#~ msgstr ""
-#~ "Las clases antiguas :class:`ast.Num`, :class:`ast.Str`, :class:`ast."
-#~ "Bytes`, :class:`ast.NameConstant` y :class:`ast.Ellipsis` todavía están "
-#~ "disponibles, pero se eliminarán en futuras versiones de Python. Mientras "
-#~ "tanto, instanciarlos retornará una instancia de una clase diferente."
diff --git a/library/asyncio-api-index.po b/library/asyncio-api-index.po
index 455bdcb4ec..fa3bbd0da7 100644
--- a/library/asyncio-api-index.po
+++ b/library/asyncio-api-index.po
@@ -13,12 +13,12 @@ msgstr ""
"POT-Creation-Date: 2021-10-16 21:42+0200\n"
"PO-Revision-Date: 2021-08-04 13:57+0200\n"
"Last-Translator: Cristián Maureira-Fredes \n"
-"Language: es\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"Generated-By: Babel 2.9.1\n"
#: ../Doc/library/asyncio-api-index.rst:6
@@ -127,7 +127,6 @@ msgid ":func:`to_thread`"
msgstr ":func:`to_thread`"
#: ../Doc/library/asyncio-api-index.rst:52
-#, fuzzy
msgid "Asynchronously run a function in a separate OS thread."
msgstr ""
"Ejecute de forma asincrónica una función en un subproceso del sistema "
diff --git a/library/asyncio-dev.po b/library/asyncio-dev.po
index 7167d86a69..2ded0f12c5 100644
--- a/library/asyncio-dev.po
+++ b/library/asyncio-dev.po
@@ -334,7 +334,3 @@ msgid ""
msgstr ""
":ref:`Habilita el modo depuración ` para obtener el "
"seguimiento de pila (*traceback*) donde la tarea fue creada::"
-
-#~ msgid "Using the :option:`-X` ``dev`` Python command line option."
-#~ msgstr ""
-#~ "Usando la opción :option:`-X` ``dev`` de la línea de comandos de Python."
diff --git a/library/asyncio-eventloop.po b/library/asyncio-eventloop.po
index bdadeafd39..bddfb4bf71 100644
--- a/library/asyncio-eventloop.po
+++ b/library/asyncio-eventloop.po
@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-10-16 21:42+0200\n"
-"PO-Revision-Date: 2021-08-04 13:51+0200\n"
-"Last-Translator: Cristián Maureira-Fredes \n"
+"PO-Revision-Date: 2022-01-05 17:06+0100\n"
+"Last-Translator: Marcos Medrano \n"
"Language: es\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
+"X-Generator: Poedit 3.0\n"
#: ../Doc/library/asyncio-eventloop.rst:6
msgid "Event Loop"
@@ -85,9 +86,9 @@ msgid ""
"If there is no running event loop a :exc:`RuntimeError` is raised. This "
"function can only be called from a coroutine or a callback."
msgstr ""
-"Si no hay un bucle de eventos en ejecución, se levanta un :exc:"
-"`RuntimeError`. Esta función únicamente puede ser llamada desde una "
-"corrutina o una llamada de retorno."
+"Si no hay un bucle de eventos en ejecución, se lanza un :exc:`RuntimeError`. "
+"Esta función únicamente puede ser llamada desde una corrutina o una llamada "
+"de retorno."
#: ../Doc/library/asyncio-eventloop.rst:41
msgid "Get the current event loop."
@@ -128,6 +129,9 @@ msgid ""
"Deprecation warning is emitted if there is no running event loop. In future "
"Python releases, this function will be an alias of :func:`get_running_loop`."
msgstr ""
+"Se emite una advertencia de obsolescencia si no hay un bucle de eventos en "
+"ejecución. En futuras versiones de Python, esta función será un alias de :"
+"func:`get_running_loop`."
#: ../Doc/library/asyncio-eventloop.rst:63
msgid "Set *loop* as a current event loop for the current OS thread."
@@ -336,7 +340,7 @@ msgid ""
msgstr ""
"Programa el cierre del ejecutor predeterminado y espere a que se una a todos "
"los hilos de la clase :class:`ThreadPoolExecutor`. Después de llamar a este "
-"método, se generará un :exc:`RuntimeError` si se llama a :meth:`loop."
+"método, se lanzará un :exc:`RuntimeError` si se llama a :meth:`loop."
"run_in_executor` mientras se usa el ejecutor predeterminado."
#: ../Doc/library/asyncio-eventloop.rst:195
@@ -396,6 +400,9 @@ msgid ""
"Raises :exc:`RuntimeError` if called on a loop that's been closed. This can "
"happen on a secondary thread when the main application is shutting down."
msgstr ""
+"Lanza :exc:`RuntimeError` si se llama en un bucle que ha sido cerrado. Esto "
+"puede suceder en un hilo secundario cuando la aplicación principal se está "
+"apagando."
#: ../Doc/library/asyncio-eventloop.rst:223
msgid ""
@@ -794,7 +801,6 @@ msgstr ""
"*interleave* o *local_addr* deben ser especificados."
#: ../Doc/library/asyncio-eventloop.rst:451
-#, fuzzy
msgid ""
"*local_addr*, if given, is a ``(local_host, local_port)`` tuple used to bind "
"the socket locally. The *local_host* and *local_port* are looked up using "
@@ -802,8 +808,7 @@ msgid ""
msgstr ""
"*local_addr*, si está dado, es una tupla ``(local_host, local_port)``usada "
"para enlazar el socket localmente. Los *local_host* y *local_port* son "
-"buscados usando ``getaddrinfo()``, de manera similar que con *host* y "
-"*puerto*."
+"buscados usando ``getaddrinfo()``, de manera similar que con *host* y *port*."
#: ../Doc/library/asyncio-eventloop.rst:455
#: ../Doc/library/asyncio-eventloop.rst:808
@@ -942,14 +947,13 @@ msgstr ""
"Una tupla de ``(transport, protocol)`` es retornada cuando se tiene éxito."
#: ../Doc/library/asyncio-eventloop.rst:529
-#, fuzzy
msgid ""
"*local_addr*, if given, is a ``(local_host, local_port)`` tuple used to bind "
"the socket locally. The *local_host* and *local_port* are looked up using :"
"meth:`getaddrinfo`."
msgstr ""
"*local_addr*, si está dado, es una tupla ``(local_host, local_port)`` usada "
-"para enlazar el socket localmente. Los *local_host* y *local_port* son "
+"para enlazar el socket localmente. Los *local_host* y *local_port* son "
"buscados utilizando :meth:`getaddrinfo`."
#: ../Doc/library/asyncio-eventloop.rst:533
@@ -1957,9 +1961,8 @@ msgid "'future' (optional): :class:`asyncio.Future` instance;"
msgstr "'future' (opcional): instancia de :class:`asyncio.Future`;"
#: ../Doc/library/asyncio-eventloop.rst:1196
-#, fuzzy
msgid "'task' (optional): :class:`asyncio.Task` instance;"
-msgstr "'handle' (opcional): instancia de :class:`asyncio.Handle`;"
+msgstr "'task' (opcional): instancia de :class:`asyncio.Task`;"
#: ../Doc/library/asyncio-eventloop.rst:1197
msgid "'handle' (optional): :class:`asyncio.Handle` instance;"
@@ -1976,18 +1979,16 @@ msgstr ""
"'transport' (opcional): instancia de :ref:`Transport `;"
#: ../Doc/library/asyncio-eventloop.rst:1200
-#, fuzzy
msgid "'socket' (optional): :class:`socket.socket` instance;"
-msgstr "'socket' (opcional): instancia de :class:`socket.socket`."
+msgstr "'socket' (opcional): instancia de :class:`socket.socket`;"
#: ../Doc/library/asyncio-eventloop.rst:1202
msgid "'asyncgen' (optional): Asynchronous generator that caused"
-msgstr ""
+msgstr "'asyncgen' (opcional): Generador asíncrono que causó"
#: ../Doc/library/asyncio-eventloop.rst:1202
-#, fuzzy
msgid "the exception."
-msgstr "Gestor de excepciones por defecto."
+msgstr "la excepción."
#: ../Doc/library/asyncio-eventloop.rst:1206
msgid ""
diff --git a/library/asyncio-protocol.po b/library/asyncio-protocol.po
index 728b6332ef..63a5f3a4ca 100644
--- a/library/asyncio-protocol.po
+++ b/library/asyncio-protocol.po
@@ -13,12 +13,12 @@ msgstr ""
"POT-Creation-Date: 2021-10-16 21:42+0200\n"
"PO-Revision-Date: 2021-08-04 13:44+0200\n"
"Last-Translator: Cristián Maureira-Fredes \n"
-"Language: es\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"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.9.1\n"
#: ../Doc/library/asyncio-protocol.rst:9
@@ -1188,15 +1188,14 @@ msgid "Subprocess Protocols"
msgstr "Protocolos de subprocesos"
#: ../Doc/library/asyncio-protocol.rst:686
-#, fuzzy
msgid ""
"Subprocess Protocol instances should be constructed by protocol factories "
"passed to the :meth:`loop.subprocess_exec` and :meth:`loop.subprocess_shell` "
"methods."
msgstr ""
-"Las instancias del protocolo de datagramas deben ser construidas por "
-"fábricas de protocolos pasadas a los métodos :meth:`loop.subprocess_exec` y :"
-"meth:`loop.subprocess_shell`."
+"Las instancias de protocolo de subproceso deben ser construidas por fábricas "
+"de protocolos pasadas a los métodos :meth:`loop.subprocess_exec` y :meth:"
+"`loop.subprocess_shell`."
#: ../Doc/library/asyncio-protocol.rst:692
msgid ""
@@ -1352,12 +1351,3 @@ msgstr ""
"Consulte también el :ref:`mismo ejemplo "
"` escrito utilizando la API de alto "
"nivel."
-
-#~ msgid ""
-#~ "**Important:** this has been added to asyncio in Python 3.7 *on a "
-#~ "provisional basis*! This is as an experimental API that might be changed "
-#~ "or removed completely in Python 3.8."
-#~ msgstr ""
-#~ "**Importante:** ¡esto se ha agregado a asyncio en Python 3.7 *de forma "
-#~ "provisional*! Debe tratarse como una API experimental que puede cambiarse "
-#~ "o eliminarse por completo en Python 3.8."
diff --git a/library/asyncio-stream.po b/library/asyncio-stream.po
index df4760dab9..d392c67f41 100644
--- a/library/asyncio-stream.po
+++ b/library/asyncio-stream.po
@@ -513,17 +513,3 @@ msgstr ""
"El ejemplo de :ref:`observar un descriptor de archivo para leer eventos "
"` utiliza el método :meth:`loop.add_reader` de "
"bajo nivel para ver un descriptor de archivo."
-
-#~ msgid ""
-#~ "The *loop* argument is optional and can always be determined "
-#~ "automatically when this function is awaited from a coroutine."
-#~ msgstr ""
-#~ "El argumento *loop* es opcional y siempre se puede determinar "
-#~ "automáticamente cuando se espera esta función de una corrutina."
-
-#~ msgid ""
-#~ "The *loop* argument is optional and can always be determined "
-#~ "automatically when this method is awaited from a coroutine."
-#~ msgstr ""
-#~ "El argumento *loop* es opcional y siempre se puede determinar "
-#~ "automáticamente cuando se espera este método de una corrutina."
diff --git a/library/asyncio-subprocess.po b/library/asyncio-subprocess.po
index 9626fef25f..14ba0a0443 100644
--- a/library/asyncio-subprocess.po
+++ b/library/asyncio-subprocess.po
@@ -348,7 +348,7 @@ msgid ""
"condition occurs when the process exits before all data are written into "
"*stdin*."
msgstr ""
-"Si se levanta la excepción :exc:`BrokenPipeError` o :exc:"
+"Si se lanza la excepción :exc:`BrokenPipeError` o :exc:"
"`ConnectionResetError` cuando se escribe *input* en *stdin*, la excepción es "
"ignorada. Esta condición ocurre cuando el proceso finaliza antes de que "
"todos los datos sean escritos en *stdin*."
diff --git a/library/asyncio-sync.po b/library/asyncio-sync.po
index e98f7a5880..8576950ab0 100644
--- a/library/asyncio-sync.po
+++ b/library/asyncio-sync.po
@@ -472,6 +472,3 @@ msgstr ""
"Adquirir un bloqueo usando ``await lock`` o ``yield from lock`` o una "
"declaración :keyword:`with` (``with await lock``, ``with (yield from "
"lock)``) se eliminó . En su lugar, use ``async with lock``."
-
-#~ msgid "The *loop* parameter."
-#~ msgstr "El parámetro *loop*."
diff --git a/library/asyncio-task.po b/library/asyncio-task.po
index c234007e1e..2da1fee113 100644
--- a/library/asyncio-task.po
+++ b/library/asyncio-task.po
@@ -1337,50 +1337,3 @@ msgstr ""
"Este método es diferente de :func:`inspect.iscoroutinefunction` porque "
"retorna ``True`` para funciones de corrutinas basadas en generadores "
"decoradas con :func:`@coroutine `."
-
-#~ msgid ""
-#~ "Run :ref:`awaitable objects ` in the *aws* set "
-#~ "concurrently. Return an iterator of :class:`Future` objects. Each Future "
-#~ "object returned represents the earliest result from the set of the "
-#~ "remaining awaitables."
-#~ msgstr ""
-#~ "Ejecute :ref:`objetos aguardables ` en el conjunto "
-#~ "*aws* simultáneamente. Devuelve un iterador de objetos :class:`Future`. "
-#~ "Cada objeto Future devuelto representa el resultado más antiguo del "
-#~ "conjunto de los aguardables restantes."
-
-#~ msgid "Return a set of all tasks for an event loop."
-#~ msgstr "Retorna un conjunto de todas las tareas para un bucle de eventos."
-
-#~ msgid ""
-#~ "By default all tasks for the current event loop are returned. If *loop* "
-#~ "is ``None``, the :func:`get_event_loop` function is used to get the "
-#~ "current loop."
-#~ msgstr ""
-#~ "De forma predeterminada, se retornan todas las tareas del bucle de "
-#~ "eventos actual. Si *loop* es ``None``, la función :func:`get_event_loop` "
-#~ "se utiliza para obtener el bucle actual."
-
-#~ msgid ""
-#~ "Do not call this as a task method. Use the :func:`asyncio.all_tasks` "
-#~ "function instead."
-#~ msgstr ""
-#~ "No llame a esto como un método de tarea. Utilice la función :func:"
-#~ "`asyncio.all_tasks` en su lugar."
-
-#~ msgid "Return the currently running task or ``None``."
-#~ msgstr "Retorna la tarea que se está ejecutando actualmente o ``None``."
-
-#~ msgid ""
-#~ "If *loop* is ``None``, the :func:`get_event_loop` function is used to get "
-#~ "the current loop."
-#~ msgstr ""
-#~ "Si *bucle* es ``None``, la función :func:`get_event_loop` se utiliza para "
-#~ "obtener el bucle actual."
-
-#~ msgid ""
-#~ "Do not call this as a task method. Use the :func:`asyncio.current_task` "
-#~ "function instead."
-#~ msgstr ""
-#~ "No llame a esto como un método de tarea. Utilice la función :func:"
-#~ "`asyncio.current_task` en su lugar."
diff --git a/library/asyncore.po b/library/asyncore.po
index 69d5b8e249..a5df3bd4d0 100644
--- a/library/asyncore.po
+++ b/library/asyncore.po
@@ -391,7 +391,7 @@ msgid ""
"`select.select` or :func:`select.poll` has reported the socket ready for "
"reading."
msgstr ""
-"Tenga en cuenta que :meth:`recv` puede elevar :exc:`BlockingIOError`, "
+"Tenga en cuenta que :meth:`recv` puede lanzar :exc:`BlockingIOError`, "
"aunque :func:`select.select` o :func:`select.poll` ha informado del socket "
"listo para la lectura."
diff --git a/library/atexit.po b/library/atexit.po
index f92d1a22fa..55264d77a6 100644
--- a/library/atexit.po
+++ b/library/atexit.po
@@ -11,7 +11,7 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-10-16 21:42+0200\n"
-"PO-Revision-Date: 2021-11-10 22:38-0300\n"
+"PO-Revision-Date: 2021-12-31 09:29-0300\n"
"Last-Translator: \n"
"Language: es_AR\n"
"Language-Team: python-doc-es\n"
@@ -117,6 +117,13 @@ msgid ""
"comparisons (``==``) are used internally during unregistration, so function "
"references do not need to have matching identities."
msgstr ""
+"Elimina *func* de la lista de funciones que se ejecutarán en el apagado del "
+"intérprete. :func:`unregister` silenciosamente no hace nada si *func* no se "
+"registró previamente. Si *func* se ha registrado más de una vez, se "
+"eliminarán todas las apariciones de esa función en la pila de llamadas de :"
+"mod:`atexit`. Se utilizan comparaciones de igualdad (''=='') internamente "
+"durante la cancelación del registro, por lo que las referencias de funciones "
+"no necesitan tener identidades coincidentes."
#: ../Doc/library/atexit.rst:62
msgid "Module :mod:`readline`"
@@ -162,17 +169,3 @@ msgstr "Usar como un :term:`decorator`::"
#: ../Doc/library/atexit.rst:114
msgid "This only works with functions that can be called without arguments."
msgstr "Esto solo funciona con funciones que se pueden invocar sin argumentos."
-
-#~ msgid ""
-#~ "Remove *func* from the list of functions to be run at interpreter "
-#~ "shutdown. After calling :func:`unregister`, *func* is guaranteed not to "
-#~ "be called when the interpreter shuts down, even if it was registered more "
-#~ "than once. :func:`unregister` silently does nothing if *func* was not "
-#~ "previously registered."
-#~ msgstr ""
-#~ "Elimina *func* de la lista de funciones que se ejecutarán cuando el "
-#~ "intérprete se detenga. Después de llamar a la función :func:`unregister`, "
-#~ "se garantiza que *func* no se llamará cuando el intérprete se detenga, "
-#~ "incluso si se ha registrado más de una vez. :func:`unregister` no hace "
-#~ "nada y permanece en silencio en caso de que *func* no se haya registrado "
-#~ "previamente."
diff --git a/library/audit_events.po b/library/audit_events.po
index ee569d9a4c..cfa9e08bdf 100644
--- a/library/audit_events.po
+++ b/library/audit_events.po
@@ -11,12 +11,12 @@ msgstr ""
"POT-Creation-Date: 2021-10-16 21:42+0200\n"
"PO-Revision-Date: 2021-08-07 10:33+0200\n"
"Last-Translator: Cristián Maureira-Fredes \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.9.1\n"
#: ../Doc/library/audit_events.rst:6
@@ -24,16 +24,15 @@ msgid "Audit events table"
msgstr "Tabla de auditoría de eventos"
#: ../Doc/library/audit_events.rst:8
-#, fuzzy
msgid ""
"This table contains all events raised by :func:`sys.audit` or :c:func:"
"`PySys_Audit` calls throughout the CPython runtime and the standard "
"library. These calls were added in 3.8.0 or later (see :pep:`578`)."
msgstr ""
-"Esta tabla contiene todos los eventos lanzados por :func:`sys.audit` o :c:"
-"func:`PySys_Audit` llama a través de CPython en tiempo de ejecución y la "
-"biblioteca estándar. Estas llamadas son añadidas en la versión 3.8.0 o "
-"posterior."
+"Esta tabla contiene todos los eventos generados por las llamadas :func:`sys."
+"audit` o :c:func:`PySys_Audit` en todo el tiempo de ejecución de CPython y "
+"la biblioteca estándar. Estas llamadas se agregaron en 3.8.0 o posterior "
+"(consulte :pep:`578`)."
#: ../Doc/library/audit_events.rst:12
msgid ""
diff --git a/library/base64.po b/library/base64.po
index f3ee62a0e7..5addda60b1 100644
--- a/library/base64.po
+++ b/library/base64.po
@@ -527,9 +527,3 @@ msgid ""
msgstr ""
"La Sección 5.2, \"Codificación de transferencia de contenido Base64\", "
"proporciona la definición de la codificación base64."
-
-#~ msgid "Deprecated alias of :func:`decodebytes`."
-#~ msgstr "Alias deprecado de :func:`decodebytes`."
-
-#~ msgid "Deprecated alias of :func:`encodebytes`."
-#~ msgstr "Alias deprecado de :func:`encodebytes`."
diff --git a/library/bisect.po b/library/bisect.po
index bfa137fdc9..71779cd9da 100644
--- a/library/bisect.po
+++ b/library/bisect.po
@@ -13,12 +13,12 @@ msgstr ""
"POT-Creation-Date: 2021-10-16 21:42+0200\n"
"PO-Revision-Date: 2020-07-22 13:24-0300\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.9.1\n"
#: ../Doc/library/bisect.rst:2
@@ -69,15 +69,14 @@ msgstr ""
"parámetro para ``list.insert()``, suponiendo que *a* ya está ordenada."
#: ../Doc/library/bisect.rst:33
-#, fuzzy
msgid ""
"The returned insertion point *i* partitions the array *a* into two halves so "
"that ``all(val < x for val in a[lo : i])`` for the left side and ``all(val "
">= x for val in a[i : hi])`` for the right side."
msgstr ""
-"El punto de inserción retornado *i* particiona al arreglo *a* en dos "
-"mitades, tal 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 derecho."
+"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."
#: ../Doc/library/bisect.rst:37 ../Doc/library/bisect.rst:55
#: ../Doc/library/bisect.rst:67 ../Doc/library/bisect.rst:88
@@ -86,11 +85,14 @@ msgid ""
"extract a comparison key from each input element. The default value is "
"``None`` (compare the elements directly)."
msgstr ""
+"*key* especifica un :term:`key function` de un argumento que se utiliza para "
+"extraer una clave de comparación de cada elemento de entrada. El valor "
+"predeterminado es ``None`` (compare los elementos directamente)."
#: ../Doc/library/bisect.rst:41 ../Doc/library/bisect.rst:59
#: ../Doc/library/bisect.rst:78 ../Doc/library/bisect.rst:99
msgid "Added the *key* parameter."
-msgstr ""
+msgstr "Se agregó el parámetro *key*."
#: ../Doc/library/bisect.rst:48
msgid ""
@@ -101,19 +103,18 @@ msgstr ""
"después (a la derecha de) cualquier entrada de *x* en *a*."
#: ../Doc/library/bisect.rst:51
-#, fuzzy
msgid ""
"The returned insertion point *i* partitions the array *a* into two halves so "
"that ``all(val <= x for val in a[lo : i])`` for the left side and ``all(val "
"> x for val in a[i : hi])`` for the right side."
msgstr ""
-"El punto de inserción retornado *i* particiona al arreglo *a* en dos "
-"mitades, tal 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 derecho."
+"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."
#: ../Doc/library/bisect.rst:65
msgid "Insert *x* in *a* in sorted order."
-msgstr ""
+msgstr "Inserte *x* en *a* en orden ordenado."
#: ../Doc/library/bisect.rst:71
msgid ""
@@ -121,12 +122,17 @@ msgid ""
"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."
#: ../Doc/library/bisect.rst:75 ../Doc/library/bisect.rst:96
msgid ""
"Keep in mind that the ``O(log n)`` search is dominated by the slow O(n) "
"insertion step."
msgstr ""
+"Tenga en cuenta que la búsqueda ``O(log n)`` está dominada por el lento paso "
+"de inserción O (n)."
#: ../Doc/library/bisect.rst:85
msgid ""
@@ -142,28 +148,37 @@ msgid ""
"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."
#: ../Doc/library/bisect.rst:104
msgid "Performance Notes"
-msgstr ""
+msgstr "Notas de rendimiento"
#: ../Doc/library/bisect.rst:106
msgid ""
"When writing time sensitive code using *bisect()* and *insort()*, keep these "
"thoughts in mind:"
msgstr ""
+"Al escribir código sensible al tiempo usando *bisect()* y *insort()*, tenga "
+"en cuenta estos pensamientos:"
#: ../Doc/library/bisect.rst:109
msgid ""
"Bisection is effective for searching ranges of values. For locating specific "
"values, dictionaries are more performant."
msgstr ""
+"La bisección es eficaz para buscar rangos de valores. Para localizar valores "
+"específicos, los diccionarios son más eficaces."
#: ../Doc/library/bisect.rst:112
msgid ""
"The *insort()* functions are ``O(n)`` because the logarithmic search step is "
"dominated by the linear time insertion step."
msgstr ""
+"Las funciones *insort()* son ``O(n)`` porque el paso de búsqueda logarítmica "
+"está dominado por el paso de inserción de tiempo lineal."
#: ../Doc/library/bisect.rst:115
msgid ""
@@ -175,6 +190,14 @@ msgid ""
"an array of precomputed keys to locate the insertion point (as 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 "
+"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 "
+"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 "
+"sección de ejemplos a continuación)."
#: ../Doc/library/bisect.rst:125
msgid ""
@@ -182,9 +205,11 @@ msgid ""
"a high performance module that uses *bisect* to managed sorted collections "
"of data."
msgstr ""
+"`Sorted Collections `_ es "
+"un módulo de alto rendimiento que utiliza *bisect* para gestionar "
+"colecciones de datos ordenadas."
#: ../Doc/library/bisect.rst:129
-#, fuzzy
msgid ""
"The `SortedCollection recipe `_ uses bisect to build a full-featured collection class "
@@ -192,12 +217,11 @@ msgid ""
"keys are precomputed to save unnecessary calls to the key function during "
"searches."
msgstr ""
-"`Receta SortedCollection `_ que usa bisección para construir una \"clase-colección"
-"\" con todas las funcionalidades, con métodos de búsqueda directos y con "
-"soporte para una función-clave (*key-function*). Las claves son procesadas "
-"de antemano, para ahorrar llamadas innecesarias a la función clave durante "
-"las búsquedas."
+"El `SortedCollection recipe `_ usa bisect para construir una clase de colección con "
+"todas las funciones con métodos de búsqueda sencillos y soporte para una "
+"función clave. Las teclas se calculan previamente para ahorrar llamadas "
+"innecesarias a la función de la tecla durante las búsquedas."
#: ../Doc/library/bisect.rst:137
msgid "Searching Sorted Lists"
@@ -216,9 +240,8 @@ msgstr ""
"convertirlas en búsquedas estándar para listas ordenadas::"
#: ../Doc/library/bisect.rst:181
-#, fuzzy
msgid "Examples"
-msgstr "Otros ejemplos"
+msgstr "Ejemplos"
#: ../Doc/library/bisect.rst:185
msgid ""
@@ -233,32 +256,9 @@ msgstr ""
"ordenadas: 90 o más es una 'A', de 80 a 89 es una 'B', y así sucesivamente::"
#: ../Doc/library/bisect.rst:197
-#, fuzzy
msgid ""
"One technique to avoid repeated calls to a key function is to search a list "
"of precomputed keys to find the index of a record::"
msgstr ""
-"En su lugar, es mejor buscar en una lista de claves procesadas de antemano "
-"para encontrar el índice del registro en cuestión::"
-
-#~ msgid ""
-#~ "Insert *x* in *a* in sorted order. This is equivalent to ``a."
-#~ "insert(bisect.bisect_left(a, x, lo, hi), x)`` assuming that *a* is "
-#~ "already sorted. Keep in mind that the O(log n) search is dominated by "
-#~ "the slow O(n) insertion step."
-#~ msgstr ""
-#~ "Inserta *x* en *a* de forma ordenada. Esto equivale a ``a.insert(bisect."
-#~ "bisect_left(a, x, lo, hi), x)``, suponiendo que *a* ya está ordenada. "
-#~ "Tenga presente que la búsqueda O(log n) está dominada por el paso de "
-#~ "inserción O(n) lento."
-
-#~ msgid ""
-#~ "Unlike the :func:`sorted` function, it does not make sense for the :func:"
-#~ "`bisect` functions to have *key* or *reversed* arguments because that "
-#~ "would lead to an inefficient design (successive calls to bisect functions "
-#~ "would not \"remember\" all of the previous key lookups)."
-#~ msgstr ""
-#~ "A diferencia de la función :func:`sorted`, no tiene sentido para las "
-#~ "funciones :func:`bisect` tener los argumentos *key* o *reversed*, porque "
-#~ "conduciría a un diseño ineficiente (llamadas sucesivas a funciones de "
-#~ "bisección no \"recordarían\" todas las búsquedas previas con clave)."
+"Una técnica para evitar llamadas repetidas a una función de tecla es buscar "
+"en una lista de teclas precalculadas para encontrar el índice de un registro:"
diff --git a/library/bz2.po b/library/bz2.po
index 37a5b35fa1..559234f718 100644
--- a/library/bz2.po
+++ b/library/bz2.po
@@ -507,22 +507,3 @@ msgstr ""
#: ../Doc/library/bz2.rst:309
msgid "Writing and reading a bzip2-compressed file in binary mode:"
msgstr "Escribiendo y leyendo un archivo comprimido con bzip2 en modo binario:"
-
-#~ msgid ""
-#~ "The *buffering* argument is ignored. Its use is deprecated since Python "
-#~ "3.0."
-#~ msgstr ""
-#~ "El argumento *buffering* se ignora. Su uso está en desuso desde Python "
-#~ "3.0."
-
-#~ msgid "The keyword argument *buffering* was deprecated and is now ignored."
-#~ msgstr ""
-#~ "El argumento de la palabra clave *buffering* quedó en desuso y ahora se "
-#~ "ignora."
-
-#~ msgid ""
-#~ "All of the classes in this module may safely be accessed from multiple "
-#~ "threads."
-#~ msgstr ""
-#~ "Se puede acceder de forma segura a todas las clases de este módulo desde "
-#~ "varios hilos."
diff --git a/library/cgi.po b/library/cgi.po
index 69420a3b08..c5b1a3f133 100644
--- a/library/cgi.po
+++ b/library/cgi.po
@@ -11,8 +11,8 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-10-16 21:42+0200\n"
-"PO-Revision-Date: 2021-11-13 20:02-0300\n"
-"Last-Translator: Cristián Maureira-Fredes \n"
+"PO-Revision-Date: 2021-12-17 08:34+0800\n"
+"Last-Translator: Rodrigo Tobar \n"
"Language: es\n"
"Language-Team: python-doc-es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -160,6 +160,15 @@ msgid ""
"environment variables set according to the CGI standard). Since it may "
"consume standard input, it should be instantiated only once."
msgstr ""
+"Para llegar a los datos de formulario enviados usa la clase :class:"
+"`FieldStorage`. Si el formulario contiene caracteres que no sean ASCII, usa "
+"el parámetro de palabra clave *encoding* establecido en el valor del "
+"codificado definido para el documento. Éste está usualmente contenido en la "
+"etiqueta META en la sección HEAD del documento HTML, o en el encabezado :"
+"mailheader:`Content-Type`. Esto lee los contenidos del formulario desde la "
+"entrada estándar o el ambiente (dependiendo de los valores de varias "
+"variables de entorno establecidas de acuerdo del estándar CGI). Dado que "
+"podría consumir entrada estándar, sólo se debería instanciar una sola vez."
#: ../Doc/library/cgi.rst:97
msgid ""
@@ -932,24 +941,3 @@ msgstr ""
"HTML establecen en qué orden se deben suministrar los valores de campo, pero "
"saber si se recibió una solicitud de un navegador adaptado, o incluso desde "
"un navegador siquiera, es tedioso y propenso a errores."
-
-#~ msgid ""
-#~ "To get at submitted form data, use the :class:`FieldStorage` class. If "
-#~ "the form contains non-ASCII characters, use the *encoding* keyword "
-#~ "parameter set to the value of the encoding defined for the document. It "
-#~ "is usually contained in the META tag in the HEAD section of the HTML "
-#~ "document or by the :mailheader:`Content-Type` header). This reads the "
-#~ "form contents from the standard input or the environment (depending on "
-#~ "the value of various environment variables set according to the CGI "
-#~ "standard). Since it may consume standard input, it should be "
-#~ "instantiated only once."
-#~ msgstr ""
-#~ "Para obtener los datos del formulario enviado, utilice la clase :class:"
-#~ "`FieldStorage`. Si el formulario contiene caracteres no ASCII, utilice el "
-#~ "parámetro de palabra clave *encoding* establecido en el valor de la "
-#~ "codificación definida para el documento. Normalmente se encuentra en la "
-#~ "etiqueta META en la sección HEAD del documento HTML o en el encabezado :"
-#~ "mailheader:`Content-Type`). Esto lee el contenido del formulario de la "
-#~ "entrada estándar o del entorno (dependiendo del valor de varias variables "
-#~ "de entorno establecidas de acuerdo con el estándar CGI). Dado que puede "
-#~ "consumir entrada estándar, se debe crear la instancia solo una vez."
diff --git a/library/codecs.po b/library/codecs.po
index 1d7bf28a70..02ec7596ed 100644
--- a/library/codecs.po
+++ b/library/codecs.po
@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-10-16 21:42+0200\n"
-"PO-Revision-Date: 2021-08-07 10:29+0200\n"
-"Last-Translator: Cristián Maureira-Fredes \n"
+"PO-Revision-Date: 2021-12-16 20:20+0800\n"
+"Last-Translator: Rodrigo Tobar \n"
"Language: es\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
+"X-Generator: Poedit 3.0\n"
#: ../Doc/library/codecs.rst:2
msgid ":mod:`codecs` --- Codec registry and base classes"
@@ -258,7 +259,6 @@ msgstr ""
"búsqueda de códecs adecuada:"
#: ../Doc/library/codecs.rst:161
-#, fuzzy
msgid ""
"Register a codec search function. Search functions are expected to take one "
"argument, being the encoding name in all lower case letters with hyphens and "
@@ -267,20 +267,22 @@ msgid ""
"``None``."
msgstr ""
"Registra una función de búsqueda de códec. Se espera que las funciones de "
-"búsqueda tomen un argumento, que sea el nombre de codificación en "
-"minúsculas, y retornan un objeto :class:`CodecInfo`. En caso de que una "
-"función de búsqueda no pueda encontrar una codificación dada, debería "
-"retornar ``None``."
+"búsqueda tomen un argumento, que sea el nombre de codificación en minúsculas "
+"con guiones y espacios convertidos a guiones bajos, y que retorne un objeto :"
+"class:`CodecInfo`. En caso de que una función de búsqueda no pueda encontrar "
+"una codificación dada, debería retornar ``None``."
#: ../Doc/library/codecs.rst:167
msgid "Hyphens and spaces are converted to underscore."
-msgstr ""
+msgstr "Guiones y espacios se convierten a guiones bajos."
#: ../Doc/library/codecs.rst:173
msgid ""
"Unregister a codec search function and clear the registry's cache. If the "
"search function is not registered, do nothing."
msgstr ""
+"Anula el registro de una función de búsqueda de códecs y elimina el caché "
+"del registro. Si la función de búsqueda no está registrada, no hace nada."
#: ../Doc/library/codecs.rst:179
msgid ""
@@ -712,7 +714,7 @@ msgstr ""
"codificación continúa en la entrada original en la posición especificada. "
"Los valores de posición negativos se tratarán como relativos al final de la "
"cadena de entrada. Si la posición resultante está fuera del límite, se "
-"generará :exc:`IndexError`."
+"lanzará :exc:`IndexError`."
#: ../Doc/library/codecs.rst:405
msgid ""
@@ -1656,7 +1658,6 @@ msgstr ""
"que se decodificará como cualquier otro."
#: ../Doc/library/codecs.rst:926
-#, fuzzy
msgid ""
"There's another encoding that is able to encode the full range of Unicode "
"characters: UTF-8. UTF-8 is an 8-bit encoding, which means there are no "
@@ -3137,6 +3138,8 @@ msgid ""
"If you need the IDNA 2008 standard from :rfc:`5891` and :rfc:`5895`, use the "
"third-party `idna module _`."
msgstr ""
+"Si necesita el estándar IDNA 2008 de :rfc:`5891` y :rfc:`5895`, use el "
+"`módulo idna _` de terceros."
#: ../Doc/library/codecs.rst:1427
msgid ""
@@ -3281,16 +3284,3 @@ msgstr ""
"primera escritura en el flujo de bytes). En la decodificación, se omitirá "
"una lista de materiales opcional codificada en UTF-8 al comienzo de los "
"datos."
-
-#~ msgid "Flushes and resets the codec buffers used for keeping state."
-#~ msgstr ""
-#~ "Vacía y restablece los búferes de códec utilizados para mantener el "
-#~ "estado."
-
-#~ msgid ""
-#~ "Search function registration is not currently reversible, which may cause "
-#~ "problems in some cases, such as unit testing or module reloading."
-#~ msgstr ""
-#~ "El registro de la función de búsqueda no es reversible actualmente, lo "
-#~ "que puede causar problemas en algunos casos, como pruebas unitarias o "
-#~ "recarga de módulos."
diff --git a/library/collections.abc.po b/library/collections.abc.po
index 3cefec19ae..890209ad63 100644
--- a/library/collections.abc.po
+++ b/library/collections.abc.po
@@ -13,12 +13,12 @@ msgstr ""
"POT-Creation-Date: 2021-10-16 21:42+0200\n"
"PO-Revision-Date: 2021-08-07 10:29+0200\n"
"Last-Translator: Cristián Maureira-Fredes \n"
-"Language: es_AR\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Language: es_AR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"Generated-By: Babel 2.9.1\n"
#: ../Doc/library/collections.abc.rst:2
@@ -49,6 +49,8 @@ msgid ""
"An :func:`issubclass` or :func:`isinstance` test for an interface works in "
"one of three ways."
msgstr ""
+"Una prueba :func:`issubclass` o :func:`isinstance` para una interfaz "
+"funciona de tres formas."
#: ../Doc/library/collections.abc.rst:30
msgid ""
@@ -57,6 +59,10 @@ msgid ""
"remaining mixin methods come from inheritance and can be overridden if "
"desired. Other methods may be added as needed:"
msgstr ""
+"1) Una clase recién escrita puede heredar directamente de una de las clases "
+"base abstractas. La clase debe proporcionar los métodos abstractos "
+"requeridos. Los métodos mixin restantes provienen de la herencia y se pueden "
+"anular si se desea. Se pueden agregar otros métodos según sea necesario:"
#: ../Doc/library/collections.abc.rst:50
msgid ""
@@ -67,6 +73,13 @@ msgid ""
"determine whether the full interface is supported. The exception to this "
"rule is for methods that are automatically inferred from the rest of the API:"
msgstr ""
+"2) Las clases existentes y las clases integradas se pueden registrar como "
+"\"subclases virtuales\" de los ABC. Esas clases deben definir la API "
+"completa, incluidos todos los métodos abstractos y todos los métodos mixin. "
+"Esto permite a los usuarios confiar en las pruebas :func:`issubclass` o :"
+"func:`isinstance` para determinar si se admite la interfaz completa. La "
+"excepción a esta regla es para los métodos que se infieren automáticamente "
+"del resto de la API:"
#: ../Doc/library/collections.abc.rst:76
msgid ""
@@ -76,12 +89,19 @@ msgid ""
"`reversed` function automatically fall back to using ``__getitem__`` and "
"``__len__``."
msgstr ""
+"En este ejemplo, la clase :class:`D` no necesita definir ``__contains__``, "
+"``__iter__`` y ``__reversed__`` porque el :ref:`operador in `, "
+"la lógica de :term:`iteración ` y la función :func:`reversed` "
+"recurren automáticamente al uso de ``__getitem__`` y ``__len__``."
#: ../Doc/library/collections.abc.rst:82
msgid ""
"3) Some simple interfaces are directly recognizable by the presence of the "
"required methods (unless those methods have been set to :const:`None`):"
msgstr ""
+"3) Algunas interfaces simples son directamente reconocibles por la presencia "
+"de los métodos requeridos (a menos que esos métodos se hayan configurado en :"
+"const:`None`):"
#: ../Doc/library/collections.abc.rst:99
msgid ""
@@ -92,6 +112,13 @@ msgid ""
"class supplies ``__getitem__``, ``__len__``, and ``__iter__`` is "
"insufficient for distinguishing a :class:`Sequence` from a :class:`Mapping`."
msgstr ""
+"Las interfaces complejas no admiten esta última técnica porque una interfaz "
+"es más que la simple presencia de nombres de métodos. Las interfaces "
+"especifican la semántica y las relaciones entre métodos que no se pueden "
+"inferir únicamente de la presencia de nombres de métodos específicos. Por "
+"ejemplo, saber que una clase proporciona ``__getitem__``, ``__len__`` y "
+"``__iter__`` no es suficiente para distinguir un :class:`Sequence` de un :"
+"class:`Mapping`."
#: ../Doc/library/collections.abc.rst:111
msgid "Collections Abstract Base Classes"
@@ -122,27 +149,24 @@ msgid "Mixin Methods"
msgstr "Métodos Mixin"
#: ../Doc/library/collections.abc.rst:120
-#, fuzzy
msgid ":class:`Container` [1]_"
-msgstr ":class:`Container`"
+msgstr ":class:`Container` [1]_"
#: ../Doc/library/collections.abc.rst:120
msgid "``__contains__``"
msgstr "``__contains__``"
#: ../Doc/library/collections.abc.rst:121
-#, fuzzy
msgid ":class:`Hashable` [1]_"
-msgstr ":class:`Hashable`"
+msgstr ":class:`Hashable` [1]_"
#: ../Doc/library/collections.abc.rst:121
msgid "``__hash__``"
msgstr "``__hash__``"
#: ../Doc/library/collections.abc.rst:122
-#, fuzzy
msgid ":class:`Iterable` [1]_ [2]_"
-msgstr ":class:`Iterable`"
+msgstr ":class:`Iterable` [1]_ [2]_"
#: ../Doc/library/collections.abc.rst:122
#: ../Doc/library/collections.abc.rst:123
@@ -150,9 +174,8 @@ msgid "``__iter__``"
msgstr "``__iter__``"
#: ../Doc/library/collections.abc.rst:123
-#, fuzzy
msgid ":class:`Iterator` [1]_"
-msgstr ":class:`Iterator`"
+msgstr ":class:`Iterator` [1]_"
#: ../Doc/library/collections.abc.rst:123
#: ../Doc/library/collections.abc.rst:124
@@ -164,18 +187,16 @@ msgid "``__next__``"
msgstr "``__next__``"
#: ../Doc/library/collections.abc.rst:124
-#, fuzzy
msgid ":class:`Reversible` [1]_"
-msgstr ":class:`Reversible`"
+msgstr ":class:`Reversible` [1]_"
#: ../Doc/library/collections.abc.rst:124
msgid "``__reversed__``"
msgstr "``__reversed__``"
#: ../Doc/library/collections.abc.rst:125
-#, fuzzy
msgid ":class:`Generator` [1]_"
-msgstr ":class:`Generator`"
+msgstr ":class:`Generator` [1]_"
#: ../Doc/library/collections.abc.rst:125
msgid ":class:`Iterator`"
@@ -191,9 +212,8 @@ msgid "``close``, ``__iter__``, ``__next__``"
msgstr "``close``, ``__iter__``, ``__next__``"
#: ../Doc/library/collections.abc.rst:126
-#, fuzzy
msgid ":class:`Sized` [1]_"
-msgstr ":class:`Sized`"
+msgstr ":class:`Sized` [1]_"
#: ../Doc/library/collections.abc.rst:126
#: ../Doc/library/collections.abc.rst:165
@@ -201,18 +221,16 @@ msgid "``__len__``"
msgstr "``__len__``"
#: ../Doc/library/collections.abc.rst:127
-#, fuzzy
msgid ":class:`Callable` [1]_"
-msgstr ":class:`Callable`"
+msgstr ":class:`Callable` [1]_"
#: ../Doc/library/collections.abc.rst:127
msgid "``__call__``"
msgstr "``__call__``"
#: ../Doc/library/collections.abc.rst:128
-#, fuzzy
msgid ":class:`Collection` [1]_"
-msgstr ":class:`Collection`"
+msgstr ":class:`Collection` [1]_"
#: ../Doc/library/collections.abc.rst:128
msgid ":class:`Sized`, :class:`Iterable`, :class:`Container`"
@@ -375,18 +393,16 @@ msgid ":class:`MappingView`, :class:`Collection`"
msgstr ":class:`MappingView`, :class:`Collection`"
#: ../Doc/library/collections.abc.rst:172
-#, fuzzy
msgid ":class:`Awaitable` [1]_"
-msgstr ":class:`Awaitable`"
+msgstr ":class:`Awaitable` [1]_"
#: ../Doc/library/collections.abc.rst:172
msgid "``__await__``"
msgstr "``__await__``"
#: ../Doc/library/collections.abc.rst:173
-#, fuzzy
msgid ":class:`Coroutine` [1]_"
-msgstr ":class:`Coroutine`"
+msgstr ":class:`Coroutine` [1]_"
#: ../Doc/library/collections.abc.rst:173
msgid ":class:`Awaitable`"
@@ -397,9 +413,8 @@ msgid "``close``"
msgstr "``close``"
#: ../Doc/library/collections.abc.rst:174
-#, fuzzy
msgid ":class:`AsyncIterable` [1]_"
-msgstr ":class:`AsyncIterable`"
+msgstr ":class:`AsyncIterable` [1]_"
#: ../Doc/library/collections.abc.rst:174
#: ../Doc/library/collections.abc.rst:175
@@ -407,9 +422,8 @@ msgid "``__aiter__``"
msgstr "``__aiter__``"
#: ../Doc/library/collections.abc.rst:175
-#, fuzzy
msgid ":class:`AsyncIterator` [1]_"
-msgstr ":class:`AsyncIterator`"
+msgstr ":class:`AsyncIterator` [1]_"
#: ../Doc/library/collections.abc.rst:175
msgid ":class:`AsyncIterable`"
@@ -420,9 +434,8 @@ msgid "``__anext__``"
msgstr "``__anext__``"
#: ../Doc/library/collections.abc.rst:176
-#, fuzzy
msgid ":class:`AsyncGenerator` [1]_"
-msgstr ":class:`AsyncGenerator`"
+msgstr ":class:`AsyncGenerator` [1]_"
#: ../Doc/library/collections.abc.rst:176
msgid ":class:`AsyncIterator`"
@@ -438,7 +451,7 @@ msgstr "``aclose``, ``__aiter__``, ``__anext__``"
#: ../Doc/library/collections.abc.rst:181
msgid "Footnotes"
-msgstr ""
+msgstr "Notas al pie"
#: ../Doc/library/collections.abc.rst:182
msgid ""
@@ -447,9 +460,12 @@ msgid ""
"set to :const:`None`. This only works for simple interfaces. More complex "
"interfaces require registration or direct subclassing."
msgstr ""
+"Estos ABC anulan :meth:`object.__subclasshook__` para admitir la prueba de "
+"una interfaz verificando que los métodos requeridos estén presentes y no se "
+"hayan configurado en :const:`None`. Esto solo funciona para interfaces "
+"simples. Las interfaces más complejas requieren registro o herencia directa."
#: ../Doc/library/collections.abc.rst:188
-#, fuzzy
msgid ""
"Checking ``isinstance(obj, Iterable)`` detects classes that are registered "
"as :class:`Iterable` or that have an :meth:`__iter__` method, but it does "
@@ -457,16 +473,15 @@ msgid ""
"only reliable way to determine whether an object is :term:`iterable` is to "
"call ``iter(obj)``."
msgstr ""
-"Al marcar ``isinstance(obj, Iterable)`` se detectan las clases que están "
+"La verificación de ``isinstance(obj, Iterable)`` detecta clases que están "
"registradas como :class:`Iterable` o que tienen un método :meth:`__iter__`, "
"pero no detecta clases que iteran con el método :meth:`__getitem__`. La "
"única forma confiable de determinar si un objeto es :term:`iterable` es "
"llamar a ``iter(obj)``."
#: ../Doc/library/collections.abc.rst:196
-#, fuzzy
msgid "Collections Abstract Base Classes -- Detailed Descriptions"
-msgstr "Colecciones Clases Base Abstractas"
+msgstr "Colecciones Clases base abstractas - Descripciones detalladas"
#: ../Doc/library/collections.abc.rst:201
msgid "ABC for classes that provide the :meth:`__contains__` method."
@@ -661,16 +676,15 @@ msgstr ""
#: ../Doc/library/collections.abc.rst:347
msgid "Examples and Recipes"
-msgstr ""
+msgstr "Ejemplos y Recetas"
#: ../Doc/library/collections.abc.rst:349
-#, fuzzy
msgid ""
"ABCs allow us to ask classes or instances if they provide particular "
"functionality, for example::"
msgstr ""
-"Estos ABC nos permiten preguntar a clases o instancias si proporcionan una "
-"funcionalidad particular, por ejemplo::"
+"Los ABC nos permiten preguntar a las clases o instancias si brindan una "
+"funcionalidad particular, por ejemplo:"
#: ../Doc/library/collections.abc.rst:356
msgid ""
@@ -753,10 +767,3 @@ msgid "For more about ABCs, see the :mod:`abc` module and :pep:`3119`."
msgstr ""
"Para obtener más información sobre ABCs, ver el módulo :mod:`abc` y :pep:"
"`3119`."
-
-#~ msgid ""
-#~ "ABCs for classes that provide respectively the methods :meth:"
-#~ "`__contains__`, :meth:`__hash__`, :meth:`__len__`, and :meth:`__call__`."
-#~ msgstr ""
-#~ "ABCs para clases que proporcionan respectivamente los métodos :meth:"
-#~ "`__contains__`, :meth:`__hash__`, :meth:`__len__`, and :meth:`__call__`."
diff --git a/library/collections.po b/library/collections.po
index 99459acebc..0bb865074a 100644
--- a/library/collections.po
+++ b/library/collections.po
@@ -1784,12 +1784,3 @@ msgid ""
msgstr ""
"Nuevos métodos ``__getnewargs__``, ``__rmod__``, ``casefold``, "
"``format_map``, ``isprintable``, y ``maketrans``."
-
-#~ msgid ""
-#~ "Moved :ref:`collections-abstract-base-classes` to the :mod:`collections."
-#~ "abc` module. For backwards compatibility, they continue to be visible in "
-#~ "this module through Python 3.9."
-#~ msgstr ""
-#~ "Trasladado :ref:`collections-abstract-base-classes` al modulo :mod:"
-#~ "`collections.abc`. Para compatibilidad hacia atrás, continúan siendo "
-#~ "visibles en este módulo a través de Python 3.9."
diff --git a/library/compileall.po b/library/compileall.po
index 17a7d98399..a47c553288 100644
--- a/library/compileall.po
+++ b/library/compileall.po
@@ -13,12 +13,12 @@ msgstr ""
"POT-Creation-Date: 2021-10-16 21:42+0200\n"
"PO-Revision-Date: 2021-08-07 16:20+0200\n"
"Last-Translator: Cristián Maureira-Fredes \n"
-"Language: es\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"Generated-By: Babel 2.9.1\n"
#: ../Doc/library/compileall.rst:2
@@ -304,16 +304,17 @@ msgstr ""
"tiempo están actualizadas."
#: ../Doc/library/compileall.rst:169
-#, fuzzy
msgid ""
"If *rx* is given, its ``search`` method is called on the complete path to "
"each file considered for compilation, and if it returns a true value, the "
"file is skipped. This can be used to exclude files matching a regular "
"expression, given as a :ref:`re.Pattern ` object."
msgstr ""
-"Si *rx* está dado, su método de búsqueda en la ruta completa de cada archivo "
-"considerado para compilación, y si devuelve un valor verdadero, el archivo "
-"se saltea."
+"Si se proporciona *rx*, se llama a su método ``search`` en la ruta completa "
+"a cada archivo considerado para compilación, y si retorna un valor "
+"verdadero, se omite el archivo. Esto se puede usar para excluir archivos que "
+"coincidan con una expresión regular, dada como un objeto :ref:`re.Pattern "
+"`."
#: ../Doc/library/compileall.rst:174 ../Doc/library/compileall.rst:251
msgid ""
@@ -474,7 +475,6 @@ msgstr ""
"que el archivo de código de bytes es ejecutado."
#: ../Doc/library/compileall.rst:246
-#, fuzzy
msgid ""
"If *rx* is given, its ``search`` method is passed the full path name to the "
"file being compiled, and if it returns a true value, the file is not "
@@ -482,9 +482,11 @@ msgid ""
"matching a regular expression, given as a :ref:`re.Pattern ` "
"object."
msgstr ""
-"Si *rx* está dado, su método de búsqueda recibe el nombre de ruta completo "
-"hacia el archivo que está siendo compilado, y si devuelve un valor "
-"verdadero, el archivo no se compila y retorna ``True``."
+"Si se proporciona *rx*, a su método ``search`` se le pasa el nombre de ruta "
+"completo al archivo que se está compilando, y si retorna un valor verdadero, "
+"el archivo no se compila y se retorna ``True``. Esto se puede usar para "
+"excluir archivos que coincidan con una expresión regular, dada como un "
+"objeto :ref:`re.Pattern `."
#: ../Doc/library/compileall.rst:291
msgid ""
diff --git a/library/concurrent.futures.po b/library/concurrent.futures.po
index 03f4f6ae67..653b3fda56 100644
--- a/library/concurrent.futures.po
+++ b/library/concurrent.futures.po
@@ -13,12 +13,12 @@ msgstr ""
"POT-Creation-Date: 2021-10-16 21:42+0200\n"
"PO-Revision-Date: 2021-08-07 17:05+0200\n"
"Last-Translator: Cristián Maureira-Fredes \n"
-"Language: es\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"Generated-By: Babel 2.9.1\n"
#: ../Doc/library/concurrent.futures.rst:2
@@ -482,7 +482,6 @@ msgstr ""
"CancelledError` será lanzada."
#: ../Doc/library/concurrent.futures.rst:353
-#, fuzzy
msgid ""
"If the call raised an exception, this method will raise the same exception."
msgstr ""
diff --git a/library/configparser.po b/library/configparser.po
index b710e3e95f..929c3ab8c2 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: 2021-10-16 21:42+0200\n"
-"PO-Revision-Date: 2020-08-27 17:38+0200\n"
+"PO-Revision-Date: 2021-12-17 21:34+0000\n"
"Last-Translator: Luis Llave \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.9.1\n"
+"X-Generator: Poedit 3.0.1\n"
#: ../Doc/library/configparser.rst:2
msgid ":mod:`configparser` --- Configuration file parser"
@@ -136,12 +137,18 @@ msgid ""
"priority. Any conflicting keys are taken from the more recent configuration "
"while the previously existing keys are retained."
msgstr ""
+"Es posible leer varias configuraciones en un único :class:`ConfigParser`, "
+"siendo la configuración añadida más recientemente la que tendrá la prioridad "
+"más alta. Las claves que entren en conflicto se toman de la configuración "
+"más reciente mientras que las claves preexistentes se mantienen."
#: ../Doc/library/configparser.rst:164
msgid ""
"This behaviour is equivalent to a :meth:`ConfigParser.read` call with "
"several files passed to the *filenames* parameter."
msgstr ""
+"Este comportamiento es equivalente a una llamada a :meth:`ConfigParser.read` "
+"pasando varios ficheros en el parámetro *filenames*."
#: ../Doc/library/configparser.rst:169
msgid "Supported Datatypes"
@@ -253,7 +260,6 @@ msgid "Supported INI File Structure"
msgstr "Estructura Soportada para el Archivo INI"
#: ../Doc/library/configparser.rst:260
-#, fuzzy
msgid ""
"A configuration file consists of sections, each led by a ``[section]`` "
"header, followed by key/value entries separated by a specific string (``=`` "
@@ -265,17 +271,17 @@ msgid ""
"of the value. Depending on the parser's mode, blank lines may be treated as "
"parts of multiline values or ignored."
msgstr ""
-"Un archivo de configuración consiste de secciones, cada una iniciada por una "
-"cabecera ``[section]``, seguida por registros clave-valor, separados por una "
+"Un archivo de configuración consta de secciones, cada una iniciada por una "
+"cabecera ``[section]``, seguida por registros clave-valor separados por una "
"cadena de caracteres específica (``=`` ó ``:`` por defecto [1]_). De forma "
"predeterminada, los nombres de sección son sensibles a mayúsculas y "
"minúsculas pero las claves no [1]_. Los espacios al inicio y final de las "
-"claves y valores son eliminados. Los valores pueden ser omitidos, en cuyo "
-"caso el delimitador del dato clave-valor puede ser omitido también. Los "
-"valores pueden ocupar varias líneas, siempre y cuando las líneas tengan una "
-"indentación mayor que la primera. Dependiendo del modo del *parser*, las "
-"líneas en blanco pueden tratarse como parte de un valor multilínea o ser "
-"ignoradas."
+"claves y valores son eliminados. Los valores pueden ser omitidos si el "
+"*parser* está configurado para permitirlo [1]_, en cuyo caso el delimitador "
+"del dato clave-valor puede ser omitido también. Los valores pueden ocupar "
+"varias líneas, siempre y cuando tengan una indentación mayor que la primera "
+"línea del valor. Dependiendo del modo del *parser*, las líneas en blanco "
+"pueden tratarse como parte de un valor multilínea o ser ignoradas."
#: ../Doc/library/configparser.rst:270
msgid ""
@@ -1424,6 +1430,9 @@ msgid ""
"the configuration back. What is considered a comment, depends on the given "
"values for *comment_prefix* and *inline_comment_prefix*."
msgstr ""
+"Los comentarios presentes en el fichero original no se mantienen cuando se "
+"vuelve a escribir la configuración. Qué es considerado un comentario depende "
+"de los valores asignados a *comment_prefix* e *inline_comment_prefix*."
#: ../Doc/library/configparser.rst:1172
msgid ""
diff --git a/library/constants.po b/library/constants.po
index c7f72e9075..488e4dedac 100644
--- a/library/constants.po
+++ b/library/constants.po
@@ -196,14 +196,3 @@ msgstr ""
"ver el texto completo de la licencia\", y cuando se le llama, muestra el "
"texto completo de la licencia en forma de buscapersonas (una pantalla a la "
"vez)."
-
-#~ msgid ""
-#~ "The sole value of the type ``NoneType``. ``None`` is frequently used to "
-#~ "represent the absence of a value, as when default arguments are not "
-#~ "passed to a function. Assignments to ``None`` are illegal and raise a :"
-#~ "exc:`SyntaxError`."
-#~ msgstr ""
-#~ "El único valor del tipo ``NoneType``. ``None`` se utiliza con frecuencia "
-#~ "para representar la ausencia de un valor, como cuando los argumentos "
-#~ "predeterminados no se pasan a una función. Las asignaciones a ``None`` "
-#~ "son ilegales y generan un :exc:`SyntaxError`."
diff --git a/library/contextlib.po b/library/contextlib.po
index bc20762cfa..e8d371e969 100644
--- a/library/contextlib.po
+++ b/library/contextlib.po
@@ -249,13 +249,13 @@ msgstr ""
"error, se llamará a ``page.close()`` cuando salga el bloque :keyword:`with`."
#: ../Doc/library/contextlib.rst:184
-#, fuzzy
msgid ""
"Return an async context manager that calls the ``aclose()`` method of "
"*thing* upon completion of the block. This is basically equivalent to::"
msgstr ""
-"retorna un gestor de contexto que cierra *thing* al completar el bloque. "
-"Esto es básicamente equivalente a::"
+"Retorna un administrador de contexto asíncrono que llama al método "
+"``aclose()`` de *thing* una vez completado el bloque. Esto es básicamente "
+"equivalente a:"
#: ../Doc/library/contextlib.rst:196
msgid ""
@@ -295,30 +295,28 @@ msgid "An example using *enter_result*::"
msgstr "Un ejemplo usando *enter_result*::"
#: ../Doc/library/contextlib.rst:246
-#, fuzzy
msgid ""
"It can also be used as a stand-in for :ref:`asynchronous context managers "
"`::"
msgstr ""
-"Similar a :func:`~contextlib.contextmanager`, pero crea un :ref:"
-"`administrador de contexto asíncrono `."
+"También se puede utilizar como sustituto de :ref:`asynchronous context "
+"managers `:"
#: ../Doc/library/contextlib.rst:262
msgid ":term:`asynchronous context manager` support was added."
msgstr "Se agregó compatibilidad con :term:`asynchronous context manager`."
#: ../Doc/library/contextlib.rst:269
-#, fuzzy
msgid ""
"Return a context manager that suppresses any of the specified exceptions if "
"they occur in the body of a :keyword:`!with` statement and then resumes "
"execution with the first statement following the end of the :keyword:`!with` "
"statement."
msgstr ""
-"Retorna un administrador de contexto que suprima cualquiera de las "
-"excepciones especificadas si se producen en el cuerpo de una instrucción "
-"*with* y luego reanuda la ejecución con la primera instrucción que sigue al "
-"final de la instrucción *with*."
+"Retorna un administrador de contexto que suprime cualquiera de las "
+"excepciones especificadas si ocurren en el cuerpo de una instrucción :"
+"keyword:`!with` y luego reanuda la ejecución con la primera instrucción que "
+"sigue al final de la instrucción :keyword:`!with`."
#: ../Doc/library/contextlib.rst:274
msgid ""
@@ -362,7 +360,6 @@ msgstr ""
"cuya salida está programada para stdout."
#: ../Doc/library/contextlib.rst:314
-#, fuzzy
msgid ""
"For example, the output of :func:`help` normally is sent to *sys.stdout*. "
"You can capture that output in a string by redirecting the output to an :"
@@ -372,7 +369,9 @@ msgid ""
msgstr ""
"Por ejemplo, la salida de :func:`help` normalmente se envía a *sys.stdout*. "
"Puede capturar esa salida en una cadena redirigiendo la salida a un objeto :"
-"class:`io.StringIO`::"
+"class:`io.StringIO`. La secuencia de reemplazo se retorna desde el método "
+"``__enter__`` y, por lo tanto, está disponible como destino de la "
+"declaración :keyword:`with`:"
#: ../Doc/library/contextlib.rst:324
msgid ""
@@ -477,17 +476,14 @@ msgstr ""
"la declaración explícita :keyword:`!with` dentro de la función."
#: ../Doc/library/contextlib.rst:434
-#, fuzzy
msgid ""
"Similar to :class:`ContextDecorator` but only for asynchronous functions."
msgstr ""
-"Similar a :meth:`enter_context` pero espera un administrador de contexto "
-"asíncrono."
+"Similar a :class:`ContextDecorator` pero solo para funciones asincrónicas."
#: ../Doc/library/contextlib.rst:436
-#, fuzzy
msgid "Example of ``AsyncContextDecorator``::"
-msgstr "Ejemplo de ``ContextDecorator``::"
+msgstr "Ejemplo de ``AsyncContextDecorator``:"
#: ../Doc/library/contextlib.rst:473
msgid ""
diff --git a/library/copy.po b/library/copy.po
index 7b562d281f..522f3f27e7 100644
--- a/library/copy.po
+++ b/library/copy.po
@@ -13,12 +13,12 @@ msgstr ""
"POT-Creation-Date: 2021-10-16 21:42+0200\n"
"PO-Revision-Date: 2020-05-25 17:45-0500\n"
"Last-Translator: Cristian Danilo Rengifo Parra \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.9.1\n"
#: ../Doc/library/copy.rst:2
@@ -170,7 +170,6 @@ msgstr ""
"`copyreg`."
#: ../Doc/library/copy.rst:82
-#, fuzzy
msgid ""
"In order for a class to define its own copy implementation, it can define "
"special methods :meth:`__copy__` and :meth:`__deepcopy__`. The former is "
@@ -186,10 +185,11 @@ msgstr ""
"métodos especiales :meth:`__copy__` y :meth:`__deepcopy__`. El primero se "
"llama para implementar la operación de copia superficial; no se pasan "
"argumentos adicionales. Este último está llamado a implementar la operación "
-"de copia profunda; se pasa un argumento, el diccionario ``memo``. Si la "
-"implementación :meth:`__deepcopy__` necesita hacer una copia profunda de un "
-"componente, debe llamar a la función :func:`deepcopy` con el componente como "
-"primer argumento y el diccionario memo como segundo argumento."
+"de copia profunda; se le pasa un argumento, el diccionario ``memo``. Si la "
+"implementación de :meth:`__deepcopy__` necesita hacer una copia profunda de "
+"un componente, debe llamar a la función :func:`deepcopy` con el componente "
+"como primer argumento y el diccionario memo como segundo argumento. El "
+"diccionario de notas debe tratarse como un objeto opaco."
#: ../Doc/library/copy.rst:95
msgid "Module :mod:`pickle`"
diff --git a/library/csv.po b/library/csv.po
index a7cabd1bc5..b34fc27486 100644
--- a/library/csv.po
+++ b/library/csv.po
@@ -13,12 +13,12 @@ msgstr ""
"POT-Creation-Date: 2021-10-16 21:42+0200\n"
"PO-Revision-Date: 2021-11-15 18:31+0100\n"
"Last-Translator: Diego Cristóbal Herreros \n"
-"Language: es\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.9.1\n"
"X-Generator: Poedit 3.0\n"
@@ -149,7 +149,6 @@ msgid "A short usage example::"
msgstr "Un pequeño ejemplo de uso::"
#: ../Doc/library/csv.rst:88
-#, fuzzy
msgid ""
"Return a writer object responsible for converting the user's data into "
"delimited strings on the given file-like object. *csvfile* can be any "
@@ -168,27 +167,26 @@ msgid ""
"returned from a ``cursor.fetch*`` call. All other non-string data are "
"stringified with :func:`str` before being written."
msgstr ""
-"Retorna un objeto *writer* responsable de convertir los datos del usuario a "
-"cadenas de caracteres delimitadas en el objeto proporcionado. *csvfile* "
-"puede ser cualquier objeto con un método :func:`write`. Si *csvfile* es un "
-"objeto de archivo, debería ser abierto con ``newline=''`` [1]_. Se puede "
-"proporcionar un parámetro opcional *dialect* , el cual se utiliza para "
-"definir un conjunto de parámetros específicos para un dialecto de CSV "
-"particular. Puede ser una instancia de una subclase de la clase :class:"
-"`Dialect` o una de las cadenas retornadas por la función :func:"
-"`list_dialects`. Los otros argumentos por palabra clave opcionales "
-"*fmtparams* pueden ser dados para sustituir parámetros de formato "
-"individuales del dialecto actual. Para detalles completos sobre el dialecto "
-"y los parámetros de formato, vea la sección :ref:`csv-fmt-params`. Para "
-"facilitar la interacción con módulos que implementan la API DB, el valor :"
-"const:`None` es escrito como una cadena vacía. A pesar de que esta no es una "
-"transformación reversible, facilita el volcado de valores de datos SQL NULL "
-"en archivos CSV sin tener que preprocesar los datos retornados por una "
-"llamada a ``cursor.fetch*``. Todos los demás datos que no son cadenas son "
-"convertidos con la función :func:`str` antes de ser escritos."
+"Retorna un objeto escritor responsable de convertir los datos del usuario en "
+"cadenas delimitadas en el objeto similar a un archivo dado. *csvfile* puede "
+"ser cualquier objeto con un método :func:`write`. Si *csvfile* es un objeto "
+"de archivo, debe abrirse con ``newline=''`` [1]_. Se puede proporcionar un "
+"parámetro *dialect* opcional que se usa para definir un conjunto de "
+"parámetros específicos para un dialecto CSV particular. Puede ser una "
+"instancia de una subclase de la clase :class:`Dialect` o una de las cadenas "
+"retornadas por la función :func:`list_dialects`. Los otros argumentos "
+"opcionales de la palabra clave *fmtparams* se pueden proporcionar para "
+"anular los parámetros de formato individuales en el dialecto actual. Para "
+"obtener detalles completos sobre dialectos y parámetros de formato, consulte "
+"la sección :ref:`csv-fmt-params`. Para facilitar al máximo la interfaz con "
+"módulos que implementan la API de base de datos, el valor :const:`None` se "
+"escribe como una cadena vacía. Si bien esta no es una transformación "
+"reversible, facilita el volcado de valores de datos SQL NULL en archivos CSV "
+"sin preprocesar los datos retornados por una llamada ``cursor.fetch*``. "
+"Todos los demás datos que no son cadenas se clasifican con :func:`str` antes "
+"de escribirse."
#: ../Doc/library/csv.rst:117
-#, fuzzy
msgid ""
"Associate *dialect* with *name*. *name* must be a string. The dialect can "
"be specified either by passing a sub-class of :class:`Dialect`, or by "
@@ -196,12 +194,12 @@ msgid ""
"parameters of the dialect. For full details about dialects and formatting "
"parameters, see section :ref:`csv-fmt-params`."
msgstr ""
-"Asocia el *dialect* con un *name*. *name* debe ser una cadena. El dialecto "
-"puede ser especificado ya sea pasando una subclase de :class:`Dialect`, o "
-"con los argumentos de palabras clave *fmtparams*, o ambos, con los "
-"argumentos de palabras clave sobrescribiendo los parámetros del dialecto. "
-"Para más detalles sobre el dialecto y los parámetros de formato, vea la "
-"sección :ref:`csv-fmt-params`."
+"Asocie *dialect* con *name*. *name* debe ser una cadena. El dialecto se "
+"puede especificar pasando una subclase de :class:`Dialect`, o mediante "
+"argumentos de palabra clave *fmtparams*, o ambos, con argumentos de palabra "
+"clave que anulan los parámetros del dialecto. Para obtener detalles "
+"completos sobre dialectos y parámetros de formato, consulte la sección :ref:"
+"`csv-fmt-params`."
#: ../Doc/library/csv.rst:126
msgid ""
@@ -403,16 +401,16 @@ msgstr ""
"delimitadores válidos."
#: ../Doc/library/csv.rst:282
-#, fuzzy
msgid ""
"Analyze the sample text (presumed to be in CSV format) and return :const:"
"`True` if the first row appears to be a series of column headers. Inspecting "
"each column, one of two key criteria will be considered to estimate if the "
"sample contains a header:"
msgstr ""
-"Analiza el texto de muestra (presumiblemente en formato CSV) y retorna :"
+"Analiza el texto de muestra (se supone que está en formato CSV) y retorna :"
"const:`True` si la primera fila parece ser una serie de encabezados de "
-"columna."
+"columna. Al inspeccionar cada columna, se considerará uno de dos criterios "
+"clave para estimar si la muestra contiene un encabezado:"
#: ../Doc/library/csv.rst:287
msgid "the second through n-th rows contain numeric values"
@@ -644,17 +642,16 @@ msgstr ""
"por la función :func:`reader`) contienen los siguientes métodos públicos:"
#: ../Doc/library/csv.rst:432
-#, fuzzy
msgid ""
"Return the next row of the reader's iterable object as a list (if the object "
"was returned from :func:`reader`) or a dict (if it is a :class:`DictReader` "
"instance), parsed according to the current :class:`Dialect`. Usually you "
"should call this as ``next(reader)``."
msgstr ""
-"Retorna la siguiente fila del objeto iterable del *reader* como una lista "
-"(si el objeto fue retornado de :func:`reader`) o como un diccionario (si es "
-"una instancia de :class:`DictReader`), analizada acorde al dialecto actual. "
-"Normalmente deberías llamarlo como ``next(reader)``."
+"Retorna la siguiente fila del objeto iterable del lector como una lista (si "
+"el objeto retornó desde :func:`reader`) o un dict (si es una instancia de :"
+"class:`DictReader`), analizado de acuerdo con el :class:`Dialect` actual. "
+"Por lo general, debería llamar a esto como ``next(reader)``."
#: ../Doc/library/csv.rst:438
msgid "Reader objects have the following public attributes:"
@@ -711,15 +708,14 @@ msgstr ""
"programas que leen archivos CSV (asumiendo que soportan números complejos)."
#: ../Doc/library/csv.rst:475
-#, fuzzy
msgid ""
"Write the *row* parameter to the writer's file object, formatted according "
"to the current :class:`Dialect`. Return the return value of the call to the "
"*write* method of the underlying file object."
msgstr ""
-"Escribe el parámetro *row* al objeto de archivo del *writer*, formateado "
-"según el dialecto actual. Retorna el valor de retorno de la llamada al "
-"método *write* del objeto de archivo subyacente."
+"Escriba el parámetro *row* en el objeto de archivo del escritor, formateado "
+"de acuerdo con el :class:`Dialect` actual. Retorna el valor de retorno de la "
+"llamada al método *write* del objeto de archivo subyacente."
#: ../Doc/library/csv.rst:479
msgid "Added support of arbitrary iterables."
@@ -842,12 +838,3 @@ msgstr ""
"Siempre debería ser seguro especificar ``newline=''``, ya que el módulo csv "
"realiza su propio manejo de nuevas líneas (:term:`universal `)."
-
-#~ msgid ""
-#~ "The :class:`Dialect` class is a container class relied on primarily for "
-#~ "its attributes, which are used to define the parameters for a specific :"
-#~ "class:`reader` or :class:`writer` instance."
-#~ msgstr ""
-#~ "La clase :class:`Dialect` es una clase contenedora basada principalmente "
-#~ "en sus atributos, que son usados para definir los parámetros para una "
-#~ "instancia :class:`reader` o :class:`writer` específica."
diff --git a/library/ctypes.po b/library/ctypes.po
index 39b05adf60..48982a641f 100644
--- a/library/ctypes.po
+++ b/library/ctypes.po
@@ -13,12 +13,12 @@ msgstr ""
"POT-Creation-Date: 2021-10-16 21:42+0200\n"
"PO-Revision-Date: 2021-08-07 16:58+0200\n"
"Last-Translator: Cristián Maureira-Fredes \n"
-"Language: es\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"Generated-By: Babel 2.9.1\n"
#: ../Doc/library/ctypes.rst:2
@@ -41,16 +41,15 @@ msgid "ctypes tutorial"
msgstr "tutorial de ctypes"
#: ../Doc/library/ctypes.rst:21
-#, fuzzy
msgid ""
"Note: The code samples in this tutorial use :mod:`doctest` to make sure that "
"they actually work. Since some code samples behave differently under Linux, "
"Windows, or macOS, they contain doctest directives in comments."
msgstr ""
-"Nota: Los ejemplos de código de este tutorial utilizan :mod:`doctest` para "
-"asegurarse de que realmente funcionan. Dado que algunos ejemplos de código "
-"se comportan de manera diferente en Linux, Windows o Mac OS X, contienen "
-"directivas de prueba en los comentarios."
+"Nota: Los ejemplos de código en este tutorial usan :mod:`doctest` para "
+"asegurarse de que realmente funcionen. Dado que algunos ejemplos de código "
+"se comportan de manera diferente en Linux, Windows o macOS, contienen "
+"directivas doctest en los comentarios."
#: ../Doc/library/ctypes.rst:25
msgid ""
@@ -1617,14 +1616,13 @@ msgid "Here are some examples::"
msgstr "Aquí hay algunos ejemplos::"
#: ../Doc/library/ctypes.rst:1291
-#, fuzzy
msgid ""
"On macOS, :func:`find_library` tries several predefined naming schemes and "
"paths to locate the library, and returns a full pathname if successful::"
msgstr ""
-"En OS X, :func:`find_library` intenta varios esquemas de nombres y rutas "
-"predefinidas para localizar la biblioteca, y retorna una ruta completa si "
-"tiene éxito::"
+"En macOS, :func:`find_library` prueba varios esquemas de nombres y rutas "
+"predefinidos para ubicar la biblioteca, y retorna un nombre de ruta completo "
+"si tiene éxito:"
#: ../Doc/library/ctypes.rst:1305
msgid ""
@@ -1716,7 +1714,7 @@ msgstr ""
"windows :class:`HRESULT``. Los valores :class:`HRESULT`` contienen "
"información que especifica si la llamada a la función falló o tuvo éxito, "
"junto con un código de error adicional. Si el valor de retorno señala un "
-"fracaso, se eleva automáticamente un :class:`OSError``."
+"fracaso, se lanza automáticamente un :class:`OSError``."
#: ../Doc/library/ctypes.rst:1354
msgid ":exc:`WindowsError` used to be raised."
@@ -2014,15 +2012,6 @@ msgstr ""
"`auditing event ` ``ctypes.dlopen`` con el argumento de cadena "
"``name``, el nombre usado para cargar la biblioteca."
-#: ../Doc/library/ctypes.rst:1531
-#, fuzzy
-msgid ""
-"Raises an :ref:`auditing event ` ``ctypes.dlsym`` with arguments "
-"``library``, ``name``."
-msgstr ""
-"Lanza un :ref:`auditing event ` ``ctypes.dlopen`` con argumento "
-"``name``."
-
#: ../Doc/library/ctypes.rst:1533
msgid ""
"Accessing a function on a loaded library raises an auditing event ``ctypes."
@@ -2033,15 +2022,6 @@ msgstr ""
"auditoría ``ctypes.dlsym`` con argumentos ``library`` (el objeto de la "
"biblioteca) y ``name`` (el nombre del símbolo como cadena o entero)."
-#: ../Doc/library/ctypes.rst:1537
-#, fuzzy
-msgid ""
-"Raises an :ref:`auditing event ` ``ctypes.dlsym/handle`` with "
-"arguments ``handle``, ``name``."
-msgstr ""
-"Lanza un :ref:`auditing event ` ``ctypes.dlopen`` con argumento "
-"``name``."
-
#: ../Doc/library/ctypes.rst:1539
msgid ""
"In cases when only the library handle is available rather than the object, "
@@ -2212,15 +2192,6 @@ msgstr ""
"Esta excepción se lanza cuando una llamada a una función foránea no puede "
"convertir uno de los argumentos pasados."
-#: ../Doc/library/ctypes.rst:1628
-#, fuzzy
-msgid ""
-"Raises an :ref:`auditing event ` ``ctypes.seh_exception`` with "
-"argument ``code``."
-msgstr ""
-"Lanza un :ref:`auditing event ` ``ctypes.set_errno`` con argumento "
-"``errno``."
-
#: ../Doc/library/ctypes.rst:1630
msgid ""
"On Windows, when a foreign function call raises a system exception (for "
@@ -2236,15 +2207,6 @@ msgstr ""
"permitiendo que un gancho de auditoría reemplace la excepción con la suya "
"propia."
-#: ../Doc/library/ctypes.rst:1636
-#, fuzzy
-msgid ""
-"Raises an :ref:`auditing event ` ``ctypes.call_function`` with "
-"arguments ``func_pointer``, ``arguments``."
-msgstr ""
-"Lanza un :ref:`auditing event ` ``ctypes.create_unicode_buffer`` "
-"con argumentos ``init``, ``size``."
-
#: ../Doc/library/ctypes.rst:1638
msgid ""
"Some ways to invoke foreign function calls may raise an auditing event "
diff --git a/library/curses.po b/library/curses.po
index 173f767810..e2998b02bc 100644
--- a/library/curses.po
+++ b/library/curses.po
@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-10-16 21:42+0200\n"
-"PO-Revision-Date: 2021-08-07 16:00+0200\n"
-"Last-Translator: Cristián Maureira-Fredes \n"
+"PO-Revision-Date: 2021-12-18 18:24-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"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
+"X-Generator: Poedit 3.0\n"
#: ../Doc/library/curses.rst:2
msgid ":mod:`curses` --- Terminal handling for character-cell displays"
@@ -370,7 +371,6 @@ msgstr ""
"programa."
#: ../Doc/library/curses.rst:217
-#, fuzzy
msgid ""
"After :meth:`~window.getch` returns :const:`KEY_MOUSE` to signal a mouse "
"event, this method should be called to retrieve the queued mouse event, "
@@ -391,7 +391,7 @@ msgstr ""
"*x*, *y*, *z* son las coordenadas del evento. (*z* no se usa actualmente.) "
"*bstate* es un valor entero cuyos bits se establecerán para indicar el tipo "
"de evento, y será el OR bit a bit de una o más de las siguientes constantes, "
-"donde *n* es el botón número de 1 a 4: :const:`BUTTONn_PRESSED`, :const:"
+"donde *n* es el botón número de 1 a 5: :const:`BUTTONn_PRESSED`, :const:"
"`BUTTONn_RELEASED`, :const:`BUTTONn_CLICKED`, :const:"
"`BUTTONn_DOUBLE_CLICKED`, :const:`BUTTONn_TRIPLE_CLICKED`, :const:"
"`BUTTON_SHIFT`, :const:`BUTTON_CTRL`, :const:`BUTTON_ALT`."
@@ -401,6 +401,8 @@ msgid ""
"The ``BUTTON5_*`` constants are now exposed if they are provided by the "
"underlying curses library."
msgstr ""
+"Las constantes ``BUTTON5_*`` ahora están expuestas si son proporcionadas por "
+"la biblioteca curses subyacente."
#: ../Doc/library/curses.rst:235
msgid ""
@@ -436,10 +438,15 @@ msgid ""
"``False``. Extended color support allows more than 256 color pairs for "
"terminals that support more than 16 colors (e.g. xterm-256color)."
msgstr ""
+"Retorna ``True`` si el módulo admite soporte de color extendido; de lo "
+"contrario retorna ``False``. El soporte de color extendido permite más de "
+"256 pares de colores para terminales que admiten más de 16 colores (por "
+"ejemplo, xterm-256color)."
#: ../Doc/library/curses.rst:256
msgid "Extended color support requires ncurses version 6.1 or later."
msgstr ""
+"El soporte de color extendido requiere ncurses versión 6.1 o posterior."
#: ../Doc/library/curses.rst:262
msgid ""
@@ -483,7 +490,7 @@ msgstr ""
"Usado por el modo de medio retardo, el cual es similar al modo *cbreak* en "
"que los caracteres escritos por el usuario están disponibles inmediatamente "
"para el programa. Sin embargo, después de bloquearlos por *tenths* décimas "
-"de segundos, se levanta una excepción si nada ha sido escrito. El valor de "
+"de segundos, se lanza una excepción si nada ha sido escrito. El valor de "
"*tenths* debe ser un número entre ``1`` y ``255``. Use :func:`nocbreak` "
"para salir del modo de medio retardo."
@@ -1514,7 +1521,7 @@ msgstr ""
#: ../Doc/library/curses.rst:918
msgid "Previously it returned ``1`` or ``0`` instead of ``True`` or ``False``."
-msgstr ""
+msgstr "Anteriormente retornaba ``1`` o ``0`` en lugar de``True`` o ``False``."
#: ../Doc/library/curses.rst:924
msgid ""
diff --git a/library/dataclasses.po b/library/dataclasses.po
index 9259030807..01fb7c1d7d 100644
--- a/library/dataclasses.po
+++ b/library/dataclasses.po
@@ -1090,7 +1090,7 @@ msgstr ""
"Debido a que las clases de datos solo usan la creación normal de clases de "
"Python, también comparten este comportamiento. No existe una forma general "
"de que las clases de datos detecten esta condición. En cambio, el decorador :"
-"func:`dataclass` generará un :exc:`TypeError` si detecta un parámetro "
+"func:`dataclass` lanzará un :exc:`TypeError` si detecta un parámetro "
"predeterminado de tipo ``list``, ``dict`` o ``set``. Esta es una solución "
"parcial, pero protege contra muchos errores comunes."
diff --git a/library/datetime.po b/library/datetime.po
index ada2db4c8b..e5fde78479 100644
--- a/library/datetime.po
+++ b/library/datetime.po
@@ -13,12 +13,12 @@ msgstr ""
"POT-Creation-Date: 2021-10-16 21:42+0200\n"
"PO-Revision-Date: 2021-08-07 16:13+0200\n"
"Last-Translator: Cristián Maureira-Fredes \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.9.1\n"
#: ../Doc/library/datetime.rst:2
@@ -1427,7 +1427,7 @@ msgstr ""
"Retorna la fecha y hora local correspondiente a la marca de tiempo POSIX, "
"tal como la retorna :func:`time.time`. Si el argumento opcional *tz* es "
"``None`` o no se especifica, la marca de tiempo se convierte a la fecha y "
-"hora local de la plataforma, y el objeto retornado :class:`.datetime` es "
+"hora local de la plataforma, y el objeto retornado :class:`.datetime` es "
"naíf (*naive*)."
#: ../Doc/library/datetime.rst:899
@@ -2306,7 +2306,7 @@ msgstr "Los componentes de tiempo excluidos están truncados, no redondeados."
#: ../Doc/library/datetime.rst:1463
msgid ":exc:`ValueError` will be raised on an invalid *timespec* argument::"
-msgstr ":exc:`ValueError` generará un argumento inválido *timespec*::"
+msgstr ":exc:`ValueError` lanzará un argumento inválido *timespec*::"
#: ../Doc/library/datetime.rst:1473 ../Doc/library/datetime.rst:1837
msgid "Added the *timespec* argument."
@@ -2578,7 +2578,7 @@ msgstr ""
#: ../Doc/library/datetime.rst:1824
msgid ":exc:`ValueError` will be raised on an invalid *timespec* argument."
-msgstr ":exc:`ValueError` generará un argumento inválido *timespec*."
+msgstr ":exc:`ValueError` lanzará un argumento inválido *timespec*."
#: ../Doc/library/datetime.rst:1843
msgid "For a time *t*, ``str(t)`` is equivalent to ``t.isoformat()``."
@@ -3766,10 +3766,9 @@ msgstr ""
"con el método :meth:`strftime`. Las directivas ISO 8601 año e ISO 8601 "
"semana no son intercambiables con las directivas de número de año y semana "
"anteriores. Llamar a :meth:`strptime` con directivas ISO 8601 incompletas o "
-"ambiguas generará un :exc:`ValueError`."
+"ambiguas lanzará un :exc:`ValueError`."
#: ../Doc/library/datetime.rst:2431
-#, fuzzy
msgid ""
"The full set of format codes supported varies across platforms, because "
"Python calls the platform C library's :func:`strftime` function, and "
@@ -3778,11 +3777,13 @@ msgid ""
"documentation. There are also differences between platforms in handling of "
"unsupported format specifiers."
msgstr ""
-"El conjunto completo de códigos de formato admitidos varía entre "
-"plataformas, porque Python llama a la función de la biblioteca C de la "
-"plataforma :func:`strftime`, y las variaciones de la plataforma son comunes. "
-"Para ver el conjunto completo de códigos de formato admitidos en su "
-"plataforma, consulte la documentación de :manpage:`strftime (3)`."
+"El conjunto completo de códigos de formato admitidos varía según las "
+"plataformas, porque Python llama a la función :func:`strftime` de la "
+"biblioteca de la plataforma C, y las variaciones de la plataforma son "
+"comunes. Para ver el conjunto completo de códigos de formato admitidos en su "
+"plataforma, consulte la documentación :manpage:`strftime(3)`. También "
+"existen diferencias entre plataformas en el manejo de especificadores de "
+"formato no admitidos."
#: ../Doc/library/datetime.rst:2437
#, python-format
@@ -4031,8 +4032,8 @@ msgid ""
"result will be set to a :class:`timezone` instance."
msgstr ""
"Cuando la directiva ``%z`` se proporciona al método :meth:`strptime`, se "
-"generará un objeto consciente :class:`.datetime`. El ``tzinfo`` del "
-"resultado se establecerá en una instancia :class:`timezone`."
+"lanzará un objeto consciente :class:`.datetime`. El ``tzinfo`` del resultado "
+"se establecerá en una instancia :class:`timezone`."
#: ../Doc/library/datetime.rst:2559
msgid ""
@@ -4107,11 +4108,3 @@ msgid ""
msgstr ""
"Si se pasa ``datetime.strptime (’29 de febrero’, ‘%b %d’)`` fallará ya que "
"``1900`` no es un año bisiesto."
-
-#~ msgid "Return a 3-tuple, (ISO year, ISO week number, ISO weekday)."
-#~ msgstr ""
-#~ "Retorna una 3-tupla, (año ISO, número de semana ISO, día de la semana "
-#~ "ISO)."
-
-#~ msgid "(empty), UTC, EST, CST"
-#~ msgstr "(vacío), UTC, EST, CST"
diff --git a/library/decimal.po b/library/decimal.po
index af76c60d47..e8d44a01af 100644
--- a/library/decimal.po
+++ b/library/decimal.po
@@ -11,8 +11,8 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-10-16 21:42+0200\n"
-"PO-Revision-Date: 2021-11-09 00:23-0300\n"
-"Last-Translator: Cristián Maureira-Fredes \n"
+"PO-Revision-Date: 2021-12-15 23:37-0500\n"
+"Last-Translator: Adolfo Hristo David Roque Gámez \n"
"Language: es_ES\n"
"Language-Team: python-doc-es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -20,7 +20,7 @@ msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
-"X-Generator: Poedit 2.3\n"
+"X-Generator: Poedit 3.0\n"
#: ../Doc/library/decimal.rst:2
msgid ":mod:`decimal` --- Decimal fixed point and floating point arithmetic"
@@ -1896,6 +1896,9 @@ msgid ""
"``Decimal(0) ** Decimal(0)`` results in ``InvalidOperation``, and if "
"``InvalidOperation`` is not trapped, then results in ``Decimal('NaN')``."
msgstr ""
+"``Decimal(0) ** Decimal(0)`` da como resultado ``InvalidOperation``, y si "
+"``InvalidOperation`` no es atrapada, entonces da como resultado "
+"``Decimal('NaN')``."
#: ../Doc/library/decimal.rst:1363
msgid ""
diff --git a/library/development.po b/library/development.po
index 710a46498b..515f8b535d 100644
--- a/library/development.po
+++ b/library/development.po
@@ -45,10 +45,3 @@ msgstr ""
#: ../Doc/library/development.rst:14
msgid "The list of modules described in this chapter is:"
msgstr "La lista de módulos descritos en este capítulo es:"
-
-#~ msgid ""
-#~ "See also the Python development mode: the :option:`-X` ``dev`` option "
-#~ "and :envvar:`PYTHONDEVMODE` environment variable."
-#~ msgstr ""
-#~ "Consulta también el modo de desarrollo de Python: la opción :option:`-X` "
-#~ "``dev`` y la variable de entorno :envvar:`PYTHONDEVMODE`."
diff --git a/library/dis.po b/library/dis.po
index 3d538a4386..1d0a9f25f3 100644
--- a/library/dis.po
+++ b/library/dis.po
@@ -1694,218 +1694,3 @@ msgstr "Secuencia de códigos de bytes que acceden a una variable local."
#: ../Doc/library/dis.rst:1340
msgid "Sequence of bytecodes of Boolean operations."
msgstr "Secuencia de bytecodes de operaciones booleanas."
-
-#~ msgid ""
-#~ "Cleans up the value stack and the block stack. If *preserve_tos* is not "
-#~ "``0`` TOS first is popped from the stack and pushed on the stack after "
-#~ "performing other stack operations:"
-#~ msgstr ""
-#~ "Limpia la pila de valores y la pila de bloques. Si *preserve_tos* no es "
-#~ "``0``, primero se desapila TOS de la pila y se apila a la pila después de "
-#~ "realizar otras operaciones de pila:"
-
-#~ msgid ""
-#~ "If TOS is ``NULL`` or an integer (pushed by :opcode:`BEGIN_FINALLY` or :"
-#~ "opcode:`CALL_FINALLY`) it is popped from the stack."
-#~ msgstr ""
-#~ "Si TOS es ``NULL`` o un número entero (apilado por :opcode:"
-#~ "`BEGIN_FINALLY` o :opcode:`CALL_FINALLY`) se desapila de la pila."
-
-#~ msgid ""
-#~ "If TOS is an exception type (pushed when an exception has been raised) 6 "
-#~ "values are popped from the stack, the last three popped values are used "
-#~ "to restore the exception state. An exception handler block is removed "
-#~ "from the block stack."
-#~ msgstr ""
-#~ "Si TOS es un tipo de excepción (se apila cuando se ha lanzado una "
-#~ "excepción) se desapilan 6 valores de la pila, los últimos tres valores se "
-#~ "usan para restaurar el estado de excepción. Se elimina un bloque de "
-#~ "controlador de excepción de la pila de bloques."
-
-#~ msgid ""
-#~ "It is similar to :opcode:`END_FINALLY`, but doesn't change the bytecode "
-#~ "counter nor raise an exception. Used for implementing :keyword:`break`, :"
-#~ "keyword:`continue` and :keyword:`return` in the :keyword:`finally` block."
-#~ msgstr ""
-#~ "Es similar a :opcode:`END_FINALLY`, pero no cambia el contador de "
-#~ "bytecode ni lanza una excepción. Se usa para implementar :keyword:"
-#~ "`break`, :keyword:`continue` y :keyword:`return` en el bloque :keyword:"
-#~ "`finally`."
-
-#~ msgid ""
-#~ "Pushes ``NULL`` onto the stack for using it in :opcode:`END_FINALLY`, :"
-#~ "opcode:`POP_FINALLY`, :opcode:`WITH_CLEANUP_START` and :opcode:"
-#~ "`WITH_CLEANUP_FINISH`. Starts the :keyword:`finally` block."
-#~ msgstr ""
-#~ "Apila ``NULL`` en la pila para usarlo en :opcode:`END_FINALLY`, :opcode:"
-#~ "`POP_FINALLY`, :opcode:`WITH_CLEANUP_START` y :opcode:"
-#~ "`WITH_CLEANUP_FINISH`. Inicia el bloque :keyword:`finally`."
-
-#~ msgid ""
-#~ "Terminates a :keyword:`finally` clause. The interpreter recalls whether "
-#~ "the exception has to be re-raised or execution has to be continued "
-#~ "depending on the value of TOS."
-#~ msgstr ""
-#~ "Termina una cláusula :keyword:`finally`. El intérprete recuerda si la "
-#~ "excepción se debe volver a ser lanzada o si se debe continuar la "
-#~ "ejecución según el valor de TOS."
-
-#~ msgid ""
-#~ "If TOS is ``NULL`` (pushed by :opcode:`BEGIN_FINALLY`) continue from the "
-#~ "next instruction. TOS is popped."
-#~ msgstr ""
-#~ "Si TOS es ``NULL`` (apilado por :opcode:`BEGIN_FINALLY`) continúa con la "
-#~ "siguiente instrucción. TOS se desapila."
-
-#~ msgid ""
-#~ "If TOS is an integer (pushed by :opcode:`CALL_FINALLY`), sets the "
-#~ "bytecode counter to TOS. TOS is popped."
-#~ msgstr ""
-#~ "Si TOS es un entero (apilado por :opcode:`CALL_FINALLY`), establece el "
-#~ "contador de bytecode en TOS. TOS se desapila."
-
-#~ msgid ""
-#~ "If TOS is an exception type (pushed when an exception has been raised) 6 "
-#~ "values are popped from the stack, the first three popped values are used "
-#~ "to re-raise the exception and the last three popped values are used to "
-#~ "restore the exception state. An exception handler block is removed from "
-#~ "the block stack."
-#~ msgstr ""
-#~ "Si TOS es un tipo de excepción (se apila cuando se ha lanzado una "
-#~ "excepción) se desapilan 6 valores de la pila, los primeros tres valores "
-#~ "desapilados se utilizan para volver a lanzar la excepción y los últimos "
-#~ "tres valores desapilados se utilizan para restaurar el estado de "
-#~ "excepción. Se elimina un bloque de controlador de excepción de la pila de "
-#~ "bloques."
-
-#~ msgid ""
-#~ "Starts cleaning up the stack when a :keyword:`with` statement block exits."
-#~ msgstr ""
-#~ "Comienza a limpiar la pila cuando sale un bloque de instrucciones :"
-#~ "keyword:`with`."
-
-#~ msgid ""
-#~ "At the top of the stack are either ``NULL`` (pushed by :opcode:"
-#~ "`BEGIN_FINALLY`) or 6 values pushed if an exception has been raised in "
-#~ "the with block. Below is the context manager's :meth:`~object.__exit__` "
-#~ "or :meth:`~object.__aexit__` bound method."
-#~ msgstr ""
-#~ "En la parte superior de la pila están ``NULL`` (apilado por :opcode:"
-#~ "`BEGIN_FINALLY`) o 6 valores apilados si se ha lanzado una excepción en "
-#~ "el bloque with. A continuación se muestra el gestor de contexto :meth:"
-#~ "`~object.__exit__` o un método ligado :meth:`~object.__aexit__`."
-
-#~ msgid ""
-#~ "If TOS is ``NULL``, calls ``SECOND(None, None, None)``, removes the "
-#~ "function from the stack, leaving TOS, and pushes ``None`` to the stack. "
-#~ "Otherwise calls ``SEVENTH(TOP, SECOND, THIRD)``, shifts the bottom 3 "
-#~ "values of the stack down, replaces the empty spot with ``NULL`` and "
-#~ "pushes TOS. Finally pushes the result of the call."
-#~ msgstr ""
-#~ "Si TOS es ``NULL``, llama a ``SECOND(None, None, None)``, elimina la "
-#~ "función de la pila, deja TOS y apila ``None`` a la pila. De lo contrario, "
-#~ "llama ``SEVENTH(TOP, SECOND, THIRD)``, desplaza los 3 valores inferiores "
-#~ "de la pila hacia abajo, reemplaza el espacio vacío con ``NULL`` y apila "
-#~ "TOS. Finalmente apila el resultado de la llamada."
-
-#~ msgid ""
-#~ "Finishes cleaning up the stack when a :keyword:`with` statement block "
-#~ "exits."
-#~ msgstr ""
-#~ "Termina de limpiar la pila cuando sale un bloque de instrucciones :"
-#~ "keyword:`with`."
-
-#~ msgid ""
-#~ "TOS is result of ``__exit__()`` or ``__aexit__()`` function call pushed "
-#~ "by :opcode:`WITH_CLEANUP_START`. SECOND is ``None`` or an exception type "
-#~ "(pushed when an exception has been raised)."
-#~ msgstr ""
-#~ "TOS es el resultado de la llamada a la función ``__exit__()`` o "
-#~ "``__aexit__()`` apilada por :opcode:`WITH_CLEANUP_START`. SECOND es "
-#~ "``None`` o un tipo de excepción (se activa cuando se ha lanzado una "
-#~ "excepción)."
-
-#~ msgid ""
-#~ "Pops two values from the stack. If SECOND is not None and TOS is true "
-#~ "unwinds the EXCEPT_HANDLER block which was created when the exception was "
-#~ "caught and pushes ``NULL`` to the stack."
-#~ msgstr ""
-#~ "Desapila dos valores de la pila. Si SECOND no es None y TOS es verdadero, "
-#~ "se desenrolla el bloque EXCEPT_HANDLER que se creó cuando se detectó la "
-#~ "excepción y empuja ``NULL`` a la pila."
-
-#~ msgid ""
-#~ "Pops *count* iterables from the stack, joins them in a single tuple, and "
-#~ "pushes the result. Implements iterable unpacking in tuple displays "
-#~ "``(*x, *y, *z)``."
-#~ msgstr ""
-#~ "Desapila *count* iterables de la pila, los une en una sola tupla y apila "
-#~ "el resultado. Implementa el desempaquetado iterable cuando se imprime una "
-#~ "tupla ``(*x, *y, *z)``."
-
-#~ msgid ""
-#~ "This is similar to :opcode:`BUILD_TUPLE_UNPACK`, but is used for ``f(*x, "
-#~ "*y, *z)`` call syntax. The stack item at position ``count + 1`` should be "
-#~ "the corresponding callable ``f``."
-#~ msgstr ""
-#~ "Esto es similar a :opcode:`BUILD_TUPLE_UNPACK`, pero se usa para la "
-#~ "sintaxis de llamada ``f(*x, *y, *z)``. El elemento de la pila en la "
-#~ "posición ``count + 1`` debe ser la correspondiente invocable ``f``."
-
-#~ msgid ""
-#~ "This is similar to :opcode:`BUILD_TUPLE_UNPACK`, but pushes a list "
-#~ "instead of tuple. Implements iterable unpacking in list displays ``[*x, "
-#~ "*y, *z]``."
-#~ msgstr ""
-#~ "Esto es similar a :opcode:`BUILD_TUPLE_UNPACK`, pero apila una lista en "
-#~ "lugar de tupla. Implementa el desempaquetado iterable en los despliegues "
-#~ "de lista ``[*x, *y, *z]``."
-
-#~ msgid ""
-#~ "This is similar to :opcode:`BUILD_TUPLE_UNPACK`, but pushes a set instead "
-#~ "of tuple. Implements iterable unpacking in set displays ``{*x, *y, *z}``."
-#~ msgstr ""
-#~ "Esto es similar a :opcode:`BUILD_TUPLE_UNPACK`, pero apila un conjunto en "
-#~ "lugar de tupla. Implementa el desempaquetado iterable en los despliegues "
-#~ "de conjunto ``{*x, *y, *z}``."
-
-#~ msgid ""
-#~ "Pops *count* mappings from the stack, merges them into a single "
-#~ "dictionary, and pushes the result. Implements dictionary unpacking in "
-#~ "dictionary displays ``{**x, **y, **z}``."
-#~ msgstr ""
-#~ "Desapila *count* mapeos de la pila, los fusiona en un solo diccionario y "
-#~ "apila el resultado. Implementa el desempaquetado del diccionario en las "
-#~ "pantallas del diccionario ``{**x, **y, **z}``."
-
-#~ msgid ""
-#~ "This is similar to :opcode:`BUILD_MAP_UNPACK`, but is used for ``f(**x, "
-#~ "**y, **z)`` call syntax. The stack item at position ``count + 2`` should "
-#~ "be the corresponding callable ``f``."
-#~ msgstr ""
-#~ "Esto es similar a :opcode:`BUILD_MAP_UNPACK`, pero se usa para la "
-#~ "sintaxis de llamada ``f(**x, **y, **z)``. El elemento de la pila en la "
-#~ "posición ``count + 2`` debe ser la correspondiente invocable ``f``."
-
-#~ msgid ""
-#~ "The position of the callable is determined by adding 2 to the opcode "
-#~ "argument instead of encoding it in the second byte of the argument."
-#~ msgstr ""
-#~ "La posición del invocable se determina agregando 2 al argumento opcode en "
-#~ "lugar de codificarlo en el segundo byte del argumento."
-
-#~ msgid ""
-#~ "Pushes the address of the next instruction onto the stack and increments "
-#~ "bytecode counter by *delta*. Used for calling the finally block as a "
-#~ "\"subroutine\"."
-#~ msgstr ""
-#~ "Apila la dirección de la siguiente instrucción en la pila e incrementa el "
-#~ "contador de bytecode en *delta*. Se usa para llamar al bloque finalmente "
-#~ "como una \"subrutina\"."
-
-#~ msgid "Re-raises the exception currently on top of the stack."
-#~ msgstr ""
-#~ "Vuelve a lanzar la excepción actualmente en la parte superior de la pila."
-
-#~ msgid "``0x04`` an annotation dictionary"
-#~ msgstr "``0x04`` un diccionario de anotaciones"
diff --git a/library/doctest.po b/library/doctest.po
index 5d14e3ec5f..9f979dd0e0 100644
--- a/library/doctest.po
+++ b/library/doctest.po
@@ -776,7 +776,7 @@ msgid ""
"if :exc:`TypeError` is raised."
msgstr ""
"Cuando se especifica, un ejemplo que espera una excepción pasa si una "
-"excepción del tipo esperado es levantado, incluso si el detalle de la "
+"excepción del tipo esperado es lanzada, incluso si el detalle de la "
"excepción no corresponde. Por ejemplo, un ejemplo esperando ``ValueError: "
"42`` pasará si la excepción real lanzada es ``ValueError: 3*14``, pero "
"fallará, e.g., si :exc:`TypeError` es lanzado."
@@ -1304,7 +1304,7 @@ msgid ""
"continue running examples."
msgstr ""
"El argumento opcional *raise_on_error* tiene como valor por defecto *false*. "
-"Si es *true*, se levanta una excepción sobre la primera falla o excepción no "
+"Si es *true*, se lanza una excepción sobre la primera falla o excepción no "
"esperada en un ejemplo. Esto permite que los fallos sean depurados en un "
"análisis a posteriori. El comportamiento por defecto es continuar corriendo "
"los ejemplos."
diff --git a/library/email.compat32-message.po b/library/email.compat32-message.po
index 271cda40b4..728f751ed9 100644
--- a/library/email.compat32-message.po
+++ b/library/email.compat32-message.po
@@ -13,12 +13,12 @@ msgstr ""
"POT-Creation-Date: 2021-10-16 21:42+0200\n"
"PO-Revision-Date: 2020-11-09 21:18+0100\n"
"Last-Translator: Álvaro Mondéjar \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.9.1\n"
#: ../Doc/library/email.compat32-message.rst:4
@@ -62,7 +62,6 @@ msgstr ""
"EmailMessage` en su lugar."
#: ../Doc/library/email.compat32-message.rst:25
-#, fuzzy
msgid ""
"An email message consists of *headers* and a *payload*. Headers must be :"
"rfc:`5322` style names and values, where the field name and value are "
@@ -73,15 +72,15 @@ msgid ""
"message having a MIME type such as :mimetype:`multipart/\\*` or :mimetype:"
"`message/rfc822`."
msgstr ""
-"Un mensaje de correo electrónico consiste en encabezados (*headers*) y una "
-"carga (*payload*). Los encabezados deben seguir el estilo de nombres y "
-"valores :rfc:`5233`, donde el nombre del campo y el valor son separados por "
-"dos puntos. El carácter de doble punto no es parte ni del nombre del campo "
-"ni del valor. La carga puede ser un simple mensaje de texto, un objeto "
-"binario o una secuencia de submensajes estructurada, cada uno con su propio "
-"conjunto de encabezados y su propia carga. El último tipo de carga se indica "
-"por el mensaje teniendo un tipo MIME tal como :mimetype:`multipart/\\*` o :"
-"mimetype:`message/rfc822`."
+"Un mensaje de correo electrónico consta de *headers* y *payload*. Los "
+"encabezados deben ser nombres y valores de estilo :rfc:`5322`, donde el "
+"nombre del campo y el valor están separados por dos puntos. Los dos puntos "
+"no forman parte del nombre del campo ni del valor del campo. La carga útil "
+"puede ser un mensaje de texto simple, un objeto binario o una secuencia "
+"estructurada de submensajes, cada uno con su propio conjunto de encabezados "
+"y su propia carga útil. El último tipo de carga útil se indica mediante el "
+"mensaje que tiene un tipo MIME como :mimetype:`multipart/\\*` o :mimetype:"
+"`message/rfc822`."
#: ../Doc/library/email.compat32-message.rst:34
msgid ""
@@ -447,7 +446,7 @@ msgstr ""
"es una cadena, será convertida a una instancia :class:`~email.charset."
"Charset`. Si *charset* es ``None``, el parámetro ``charset`` será eliminado "
"del encabezado :mailheader:`Content-Type` (el mensaje no será modificado de "
-"otra manera). Cualquier otro valor generará un :exc:`TypeError`."
+"otra manera). Cualquier otro valor lanzará un :exc:`TypeError`."
#: ../Doc/library/email.compat32-message.rst:252
msgid ""
diff --git a/library/email.headerregistry.po b/library/email.headerregistry.po
index 420952ddd3..393276d40b 100644
--- a/library/email.headerregistry.po
+++ b/library/email.headerregistry.po
@@ -767,7 +767,7 @@ msgstr ""
"Para su comodidad, se puede especificar *addr_spec* en lugar de *username* y "
"*domain*, en cuyo caso *username* y *domain* se analizarán a partir de "
"*addr_spec*. Un *addr_spec* debe ser una cadena de caracteres entre comillas "
-"RFC adecuada; si no es ``Address``, se generará un error. Se permiten "
+"RFC adecuada; si no es ``Address``, se lanzará un error. Se permiten "
"caracteres Unicode y se codificarán como propiedad cuando se serialicen. Sin "
"embargo, según las RFC, *no* se permite unicode en la parte del nombre de "
"usuario de la dirección."
diff --git a/library/email.po b/library/email.po
index b55c2b0f02..491868cb1a 100644
--- a/library/email.po
+++ b/library/email.po
@@ -13,12 +13,12 @@ msgstr ""
"POT-Creation-Date: 2021-10-16 21:42+0200\n"
"PO-Revision-Date: 2020-10-16 11:13-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.9.1\n"
#: ../Doc/library/email.rst:2
@@ -30,7 +30,6 @@ msgid "**Source code:** :source:`Lib/email/__init__.py`"
msgstr "**Código fuente** :source:`Lib/email/__init__.py`"
#: ../Doc/library/email.rst:15
-#, fuzzy
msgid ""
"The :mod:`email` package is a library for managing email messages. It is "
"specifically *not* designed to do any sending of email messages to SMTP (:"
@@ -41,12 +40,12 @@ msgid ""
"rfc:`2183`, and :rfc:`2231`."
msgstr ""
"El paquete :mod:`email` es una biblioteca para administrar mensajes de "
-"correo electrónico. *No* esta diseñado específicamente para enviar mensajes "
-"de correo electrónico SMTP (:rfc:`2821`), NNTP u otros servidores; esas son "
-"funciones de módulos como :mod:`smtplib` y :mod:`nntplib`. El paquete :mod:"
-"`email` intenta ser lo más compatible con RFC, admitiendo :rfc:`5233` y :rfc:"
-"`6532`, así como RFC relacionados con MIME como :rfc:`2045`, :rfc:`2046`, :"
-"rfc:`2047`, :rfc:`2183`, y :rfc:`2231`."
+"correo electrónico. Específicamente *no* está diseñado para realizar "
+"cualquier envío de mensajes de correo electrónico a SMTP (:rfc:`2821`), NNTP "
+"u otros servidores; esas son funciones de módulos como :mod:`smtplib` y :mod:"
+"`nntplib`. El paquete :mod:`email` intenta ser lo más compatible con RFC, "
+"admitiendo :rfc:`5322` y :rfc:`6532`, así como RFC relacionados con MIME "
+"como :rfc:`2045`, :rfc:`2046`, :rfc:`2047`, :rfc:`2183` y :rfc:`2231`."
#: ../Doc/library/email.rst:23
msgid ""
diff --git a/library/email.utils.po b/library/email.utils.po
index 79d856e864..412054bfd1 100644
--- a/library/email.utils.po
+++ b/library/email.utils.po
@@ -13,12 +13,12 @@ msgstr ""
"POT-Creation-Date: 2021-10-16 21:42+0200\n"
"PO-Revision-Date: 2020-10-29 22:58+0100\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.9.1\n"
#: ../Doc/library/email.utils.rst:2
@@ -212,7 +212,6 @@ msgstr ""
"son utilizables."
#: ../Doc/library/email.utils.rst:126
-#, fuzzy
msgid ""
"The inverse of :func:`format_datetime`. Performs the same function as :func:"
"`parsedate`, but on success returns a :mod:`~datetime.datetime`; otherwise "
@@ -225,15 +224,17 @@ msgid ""
"offset, the ``datetime`` will be an aware ``datetime`` with the "
"corresponding a :class:`~datetime.timezone` :class:`~datetime.tzinfo`."
msgstr ""
-"El inverso de :func:`format_datetime`. Realiza la misma función que :func:"
-"`parsedate`, pero al tener éxito retorna un :mod:`~datetime.datetime`. Si la "
-"fecha de entrada tiene una zona horaria de ``-0000``, el ``datetime`` será "
-"un ``datetime`` naíf, y si la fecha cumple con los RFCs representará un "
-"tiempo en UTC pero sin indicación de la zona horaria originaria actual del "
-"mensaje de donde proviene la fecha. Si la fecha de entrada tiene cualquier "
-"otro desfase de zona horaria válida, el ``datetime`` será un ``datetime`` "
-"consiente con el correspondiente :class:`~datetime.timezone` :class:"
-"`~datetime.tzinfo`."
+"Lo inverso de :func:`format_datetime`. Realiza la misma función que :func:"
+"`parsedate`, pero en caso de éxito retorna un :mod:`~datetime.datetime`; de "
+"lo contrario, ``ValueError`` se lanza si *date* contiene un valor no válido, "
+"como una hora superior a 23 o una diferencia de zona horaria no comprendida "
+"entre -24 y 24 horas. Si la fecha de entrada tiene una zona horaria de "
+"``-0000``, el ``datetime`` será un ``datetime`` ingenuo, y si la fecha se "
+"ajusta a las RFC, representará una hora en UTC pero sin indicación de la "
+"zona horaria de origen real del mensaje de donde proviene la fecha. . Si la "
+"fecha de entrada tiene cualquier otra compensación de zona horaria válida, "
+"el ``datetime`` será un ``datetime`` consciente con el correspondiente :"
+"class:`~datetime.timezone` :class:`~datetime.tzinfo`."
#: ../Doc/library/email.utils.rst:142
msgid ""
diff --git a/library/ensurepip.po b/library/ensurepip.po
index f52cdf3eb5..b3810f6a3c 100644
--- a/library/ensurepip.po
+++ b/library/ensurepip.po
@@ -13,12 +13,12 @@ msgstr ""
"POT-Creation-Date: 2021-10-16 21:42+0200\n"
"PO-Revision-Date: 2020-10-06 15:40+0200\n"
"Last-Translator: Juan Biondi \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.9.1\n"
#: ../Doc/library/ensurepip.rst:2
@@ -94,7 +94,6 @@ msgid "The simplest possible invocation is::"
msgstr "La invocación más simple posible es::"
#: ../Doc/library/ensurepip.rst:49
-#, fuzzy
msgid ""
"This invocation will install ``pip`` if it is not already installed, but "
"otherwise does nothing. To ensure the installed version of ``pip`` is at "
@@ -103,8 +102,8 @@ msgid ""
msgstr ""
"Esta invocación instalará ``pip`` si aún no está instalado, pero de lo "
"contrario no hace nada. Para asegurarse de que la versión instalada de "
-"``pip`` es al menos tan reciente como la incluida con ``ensurepip``, pase la "
-"opción ``--upgrade``::"
+"``pip`` sea al menos tan reciente como la disponible en ``ensurepip``, pase "
+"la opción ``--upgrade``:"
#: ../Doc/library/ensurepip.rst:56
msgid ""
@@ -181,13 +180,12 @@ msgid ":mod:`ensurepip` exposes two functions for programmatic use:"
msgstr ":mod:`ensurepip` expone dos funciones para su uso programático:"
#: ../Doc/library/ensurepip.rst:89
-#, fuzzy
msgid ""
"Returns a string specifying the available version of pip that will be "
"installed when bootstrapping an environment."
msgstr ""
-"Retorna una cadena de caracteres que especifica la versión incluida de pip "
-"que se instalará al ejecutarlo en un entorno."
+"Retorna una cadena que especifica la versión disponible de pip que se "
+"instalará al arrancar un entorno."
#: ../Doc/library/ensurepip.rst:96
msgid "Bootstraps ``pip`` into the current or designated environment."
@@ -204,13 +202,12 @@ msgstr ""
"instalación predeterminada para el entorno actual."
#: ../Doc/library/ensurepip.rst:102
-#, fuzzy
msgid ""
"*upgrade* indicates whether or not to upgrade an existing installation of an "
"earlier version of ``pip`` to the available version."
msgstr ""
"*upgrade* indica si se debe actualizar o no una instalación existente de una "
-"versión anterior de ``pip`` a la versión incluida."
+"versión anterior de ``pip`` a la versión disponible."
#: ../Doc/library/ensurepip.rst:105
msgid ""
diff --git a/library/enum.po b/library/enum.po
index 7ef684ca80..895fed625e 100644
--- a/library/enum.po
+++ b/library/enum.po
@@ -1263,7 +1263,7 @@ msgid ""
msgstr ""
"Para ayudar a mantener sincronizado el código Python 2 / Python 3 se puede "
"proporcionar un atributo :attr:`_order_`. Se verificará 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/library/enum.rst:1121
msgid ""
@@ -1356,13 +1356,3 @@ msgstr ""
"Si no se nombra una combinación de miembros de Flag, el :func:`repr` "
"incluirá todos los flags con nombre y todas las combinaciones de flags con "
"nombre que estén en el valor ::"
-
-#~ msgid ""
-#~ ":ref:`Formatted string literals `, :meth:`str.format`, and :"
-#~ "func:`format` will use the mixed-in type's :meth:`__format__`. If the :"
-#~ "class:`Enum` class's :func:`str` or :func:`repr` is desired, use the `!s` "
-#~ "or `!r` format codes."
-#~ msgstr ""
-#~ ":ref:`Formatted string literals `, :meth:`str.format`, y :func:"
-#~ "`format` usará el tipo mixto :meth:`__format__`. Si desea la :func:`str` "
-#~ "de la clase :class:`Enum` o :func:`repr`, use los códigos `!s` o `!r`."
diff --git a/library/exceptions.po b/library/exceptions.po
index 07f9c442d5..837b360d11 100644
--- a/library/exceptions.po
+++ b/library/exceptions.po
@@ -13,12 +13,12 @@ msgstr ""
"POT-Creation-Date: 2021-10-16 21:42+0200\n"
"PO-Revision-Date: 2021-08-07 18:27+0200\n"
"Last-Translator: Cristián Maureira-Fredes \n"
-"Language: es\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"Generated-By: Babel 2.9.1\n"
#: ../Doc/library/exceptions.rst:4
@@ -67,7 +67,7 @@ msgid ""
"that there is nothing to prevent user code from raising an inappropriate "
"error."
msgstr ""
-"El código de usuario puede generar excepciones predefinidas. Esto puede ser "
+"El código de usuario puede lanzar excepciones predefinidas. Esto puede ser "
"usado para probar un gestor de excepciones o para notificar una condición de "
"error \"igual\" a la situación en la cual el intérprete lance la misma "
"excepción; pero tenga en cuenta que no hay nada que impida que el código del "
@@ -103,20 +103,18 @@ msgstr ""
"excepciones de origen y la excepción final."
#: ../Doc/library/exceptions.rst:43
-#, fuzzy
msgid ""
"When raising a new exception (rather than using a bare ``raise`` to re-raise "
"the exception currently being handled), the implicit exception context can "
"be supplemented with an explicit cause by using :keyword:`from` with :"
"keyword:`raise`::"
msgstr ""
-"Al lanzar una nueva excepción (en lugar de usar solamente ``raise`` para "
-"relanzar la excepción que se esta manejando actualmente), el contexto de "
-"excepción implícito se puede complementar con una causa explicita mediante :"
-"keyword:`from` con :keyword:`raise`::"
+"Al lanzar una nueva excepción (en lugar de usar un ``raise`` simple para "
+"volver a lanzar la excepción que se está manejando actualmente), el contexto "
+"de excepción implícita se puede complementar con una causa explícita usando :"
+"keyword:`from` con :keyword:`raise` ::"
#: ../Doc/library/exceptions.rst:50
-#, fuzzy
msgid ""
"The expression following :keyword:`from` must be an exception or "
"``None``. It will be set as :attr:`__cause__` on the raised exception. "
@@ -127,14 +125,14 @@ msgid ""
"while leaving the old exception available in :attr:`__context__` for "
"introspection when debugging."
msgstr ""
-"La siguiente expresión :keyword:`from` tiene que ser una excepción o "
-"``None``. Se establecerá como :attr:`__cause__` en la excepción planteada. "
-"Ajustando :attr:`__cause__` también establece implícitamente el atributo :"
-"attr:`__suppress_context__` a verdadero (*True*), de modo que el uso de la "
-"``generacion new_exc from None`` reemplaza eficazmente la antigua excepción "
-"con la nueva para fines de visualización (por ejemplo, convertir :exc:"
-"`KeyError` a :exc:`AttributeError`), dejando la antigua excepción disponible "
-"en :attr:`__context__` para introspección al depurar."
+"La expresión que sigue a :keyword:`from` debe ser una excepción o "
+"``None``. Se establecerá como :attr:`__cause__` en la excepción generada. La "
+"configuración de :attr:`__cause__` también establece implícitamente el "
+"atributo :attr:`__suppress_context__` en ``True``, de modo que el uso de "
+"``raise new_exc from None`` reemplaza efectivamente la excepción anterior "
+"con la nueva para fines de visualización (por ejemplo, conversión de :exc:"
+"`KeyError` a :exc:`AttributeError`), dejando la excepción anterior "
+"disponible en :attr:`__context__` para introspección durante la depuración."
#: ../Doc/library/exceptions.rst:59
msgid ""
@@ -211,6 +209,15 @@ msgid ""
"happened to the traceback of the original ``SomeException`` had we allowed "
"it to propagate to the caller. ::"
msgstr ""
+"Este método establece *tb* como el nuevo rastreo para la excepción y retorna "
+"el objeto de excepción. Se usaba con más frecuencia antes de que las "
+"características de encadenamiento de excepciones de :pep:`3134` estuvieran "
+"disponibles. El siguiente ejemplo muestra cómo podemos convertir una "
+"instancia de ``SomeException`` en una instancia de ``OtherException`` "
+"mientras se conserva el rastreo. Una vez generado, el marco actual se "
+"inserta en el rastreo del ``OtherException``, como habría sucedido con el "
+"rastreo del ``SomeException`` original si hubiéramos permitido que se "
+"propagara al llamador. ::"
#: ../Doc/library/exceptions.rst:110
msgid ""
@@ -247,7 +254,7 @@ msgid ""
msgstr ""
"La clase base para las excepciones que se generan cuando una clave o índice "
"utilizado en un mapa o secuencia que no es válido: :exc:`IndexError`, :exc:"
-"`KeyError`. Esto se puede generar directamente por :func:`codecs.lookup`."
+"`KeyError`. Esto se puede lanzar directamente por :func:`codecs.lookup`."
#: ../Doc/library/exceptions.rst:135
msgid "Concrete exceptions"
@@ -281,11 +288,14 @@ msgid ""
"attribute that was attempted to be accessed and the object that was accessed "
"for said attribute, respectively."
msgstr ""
+"Los atributos :attr:`name` y :attr:`obj` se pueden configurar utilizando "
+"argumentos de solo palabras clave para el constructor. Cuando se establecen, "
+"representan el nombre del atributo al que se intentó acceder y el objeto al "
+"que se accedió para dicho atributo, respectivamente."
#: ../Doc/library/exceptions.rst:157
-#, fuzzy
msgid "Added the :attr:`name` and :attr:`obj` attributes."
-msgstr "Se han añadido los atributos :attr:`name` y :attr:`path`."
+msgstr "Se agregaron los atributos :attr:`name` y :attr:`obj`."
#: ../Doc/library/exceptions.rst:162
msgid ""
@@ -413,22 +423,18 @@ msgstr ""
"incluye el nombre que no se pudo encontrar."
#: ../Doc/library/exceptions.rst:245
-#, fuzzy
msgid ""
"The :attr:`name` attribute can be set using a keyword-only argument to the "
"constructor. When set it represent the name of the variable that was "
"attempted to be accessed."
msgstr ""
-"Los atributos :attr:`name` y :attr:`path` solo se pueden establecer "
-"utilizando argumentos de palabra clave en el constructor. Cuando se "
-"establece, representan el nombre del módulo que se intentó importar y la "
-"ruta de acceso a cualquier archivo que desencadenó la excepción, "
-"respectivamente."
+"El atributo :attr:`name` se puede establecer utilizando un argumento de solo "
+"palabra clave para el constructor. Cuando se establece, representa el nombre "
+"de la variable a la que se intentó acceder."
#: ../Doc/library/exceptions.rst:249
-#, fuzzy
msgid "Added the :attr:`name` attribute."
-msgstr "Se han añadido los atributos :attr:`name` y :attr:`path`."
+msgstr "Se agregó el atributo :attr:`name`."
#: ../Doc/library/exceptions.rst:255
msgid ""
@@ -438,7 +444,7 @@ msgid ""
"developed to indicate that the real implementation still needs to be added."
msgstr ""
"Esta excepción se deriva de :exc:`RuntimeError`. En las clases base "
-"definidas por el usuario, los métodos abstractos deberían generar esta "
+"definidas por el usuario, los métodos abstractos deberían lanzar esta "
"excepción cuando requieren clases derivadas para anular el método, o "
"mientras se desarrolla la clase para indicar que la implementación real aún "
"necesita ser agregada."
@@ -563,17 +569,16 @@ msgstr ""
"`OSError`, y el constructor puede retornar una subclase."
#: ../Doc/library/exceptions.rst:332
-#, fuzzy
msgid ""
"The :attr:`filename` attribute is now the original file name passed to the "
"function, instead of the name encoded to or decoded from the :term:"
"`filesystem encoding and error handler`. Also, the *filename2* constructor "
"argument and attribute was added."
msgstr ""
-"El atributo :attr:`filename` es ahora el nombre del archivo original pasado "
-"a la función, en lugar del nombre codificado o descodificado de la "
-"codificación del sistema de archivos. Además, se agregó el argumento "
-"constructor ``filename2`` y el atributo."
+"El atributo :attr:`filename` es ahora el nombre de archivo original pasado a "
+"la función, en lugar del nombre codificado o decodificado desde :term:"
+"`filesystem encoding and error handler`. Además, se agregaron el argumento y "
+"atributo del constructor *filename2*."
#: ../Doc/library/exceptions.rst:341
msgid ""
@@ -586,7 +591,7 @@ msgid ""
msgstr ""
"Se genera cuando el resultado de una operación aritmética es demasiado "
"grande para ser representado. Esto no puede ocurrir para los enteros (para "
-"lo cual es mejor elevar :exc:`MemoryError` que darse por vencido). Sin "
+"lo cual es mejor lanzar :exc:`MemoryError` que darse por vencido). Sin "
"embargo, por razones históricas, ``OverflowError`` a veces se genera para "
"enteros que están fuera del rango requerido. Debido a la falta de "
"estandarización del manejo de excepciones de coma flotante en C, la mayoría "
@@ -598,7 +603,7 @@ msgid ""
"interpreter detects that the maximum recursion depth (see :func:`sys."
"getrecursionlimit`) is exceeded."
msgstr ""
-"Esta excepción se deriva de :exc:`RuntimeError`. Se eleva cuando el "
+"Esta excepción se deriva de :exc:`RuntimeError`. Se lanza cuando el "
"intérprete detecta que se excede la profundidad máxima de recursión (ver :"
"func:`sys.getrecursionlimit`)."
@@ -697,20 +702,19 @@ msgid ""
"Must be raised by :meth:`__anext__` method of an :term:`asynchronous "
"iterator` object to stop the iteration."
msgstr ""
-"Se debe generar mediante :meth:`__anext__` de un objeto :term:`asynchronous "
+"Se debe lanzar mediante :meth:`__anext__` de un objeto :term:`asynchronous "
"iterator` para detener la iteración."
#: ../Doc/library/exceptions.rst:414
-#, fuzzy
msgid ""
"Raised when the parser encounters a syntax error. This may occur in an :"
"keyword:`import` statement, in a call to the built-in functions :func:"
"`compile`, :func:`exec`, or :func:`eval`, or when reading the initial script "
"or standard input (also interactively)."
msgstr ""
-"Se genera cuando el analizador (parser) encuentra un error de sintaxis. Esto "
-"puede ocurrir en una declaración :keyword:`import`, en una llamada a las "
-"funciones predefinidas :func:`exec` o :func:`eval`, o al leer el script "
+"Se genera cuando el analizador encuentra un error de sintaxis. Esto puede "
+"ocurrir en una instrucción :keyword:`import`, en una llamada a las funciones "
+"integradas :func:`compile`, :func:`exec` o :func:`eval`, o al leer el script "
"inicial o la entrada estándar (también de forma interactiva)."
#: ../Doc/library/exceptions.rst:420
@@ -718,38 +722,49 @@ msgid ""
"The :func:`str` of the exception instance returns only the error message. "
"Details is a tuple whose members are also available as separate attributes."
msgstr ""
+"El :func:`str` de la instancia de excepción retorna solo el mensaje de "
+"error. Detalles es una tupla cuyos miembros también están disponibles como "
+"atributos separados."
#: ../Doc/library/exceptions.rst:425
msgid "The name of the file the syntax error occurred in."
-msgstr ""
+msgstr "El nombre del archivo en el que se produjo el error de sintaxis."
#: ../Doc/library/exceptions.rst:429
msgid ""
"Which line number in the file the error occurred in. This is 1-indexed: the "
"first line in the file has a ``lineno`` of 1."
msgstr ""
+"En qué número de línea del archivo se produjo el error. Tiene un índice 1: "
+"la primera línea del archivo tiene un ``lineno`` de 1."
#: ../Doc/library/exceptions.rst:434
msgid ""
"The column in the line where the error occurred. This is 1-indexed: the "
"first character in the line has an ``offset`` of 1."
msgstr ""
+"La columna de la línea donde ocurrió el error. Está indexado a 1: el primer "
+"carácter de la línea tiene un ``offset`` de 1."
#: ../Doc/library/exceptions.rst:439
msgid "The source code text involved in the error."
-msgstr ""
+msgstr "El texto del código fuente involucrado en el error."
#: ../Doc/library/exceptions.rst:443
msgid ""
"Which line number in the file the error occurred ends in. This is 1-indexed: "
"the first line in the file has a ``lineno`` of 1."
msgstr ""
+"En qué número de línea del archivo termina el error. Está indexado a 1: la "
+"primera línea del archivo tiene un ``lineno`` de 1."
#: ../Doc/library/exceptions.rst:448
msgid ""
"The column in the end line where the error occurred finishes. This is 1-"
"indexed: the first character in the line has an ``offset`` of 1."
msgstr ""
+"Finaliza la columna de la línea final donde ocurrió el error. Está indexado "
+"a 1: el primer carácter de la línea tiene un ``offset`` de 1."
#: ../Doc/library/exceptions.rst:451
msgid ""
@@ -758,11 +773,15 @@ msgid ""
"expression. For example, compiling f'Bad {a b} field' results in this args "
"attribute: ('f-string: ...', ('', 1, 2, '(a b)\\n', 1, 5))."
msgstr ""
+"Para errores en los campos de cadena f, el mensaje tiene el prefijo \"cadena "
+"f:\" y las compensaciones son compensaciones en un texto construido a partir "
+"de la expresión de reemplazo. Por ejemplo, compilar f'Bad {ab} field 'da "
+"como resultado este atributo args: (' f-string: ... ', (' ', 1, 2,' (ab) \\ "
+"n ', 1, 5)) ."
#: ../Doc/library/exceptions.rst:456
-#, fuzzy
msgid "Added the :attr:`end_lineno` and :attr:`end_offset` attributes."
-msgstr "Se han añadido los atributos :attr:`name` y :attr:`path`."
+msgstr "Se agregaron los atributos :attr:`end_lineno` y :attr:`end_offset`."
#: ../Doc/library/exceptions.rst:461
msgid ""
@@ -869,11 +888,11 @@ msgid ""
"object is meant to support a given operation but has not yet provided an "
"implementation, :exc:`NotImplementedError` is the proper exception to raise."
msgstr ""
-"El código de usuario puede generar esta excepción para indicar que un "
-"intento de operación en un objeto no es compatible y no debe serlo. Si un "
-"objeto está destinado a soportar una operación dada pero aún no ha "
-"proporcionado una implementación, :exc:`NotImplementedError` es la excepción "
-"adecuada para generar."
+"El código de usuario puede lanzar esta excepción para indicar que un intento "
+"de operación en un objeto no es compatible y no debe serlo. Si un objeto "
+"está destinado a soportar una operación dada pero aún no ha proporcionado "
+"una implementación, :exc:`NotImplementedError` es la excepción adecuada para "
+"lanzar."
#: ../Doc/library/exceptions.rst:520
msgid ""
@@ -1120,7 +1139,7 @@ msgid ""
"rationale), instead of raising :exc:`InterruptedError`."
msgstr ""
"Python ahora vuelve a intentar las llamadas del sistema cuando una señal "
-"interrumpe un *syscall*, excepto si el gestor señala generar una excepción "
+"interrumpe un *syscall*, excepto si el gestor de señales lanza una excepción "
"(ver :pep:`475` para la justificación), en lugar de lanzar :exc:"
"`InterruptedError`."
@@ -1139,6 +1158,11 @@ msgid ""
"be raised if an operation attempts to open or traverse a non-directory file "
"as if it were a directory. Corresponds to :c:data:`errno` ``ENOTDIR``."
msgstr ""
+"Se genera cuando se solicita una operación de directorio (como :func:`os."
+"listdir`) en algo que no es un directorio. En la mayoría de las plataformas "
+"POSIX, también se puede lanzar si una operación intenta abrir o recorrer un "
+"archivo que no es de directorio como si fuera un directorio. Corresponde a :"
+"c:data:`errno` ``ENOTDIR``."
#: ../Doc/library/exceptions.rst:701
msgid ""
@@ -1217,7 +1241,7 @@ msgstr ""
#: ../Doc/library/exceptions.rst:751 ../Doc/library/exceptions.rst:767
msgid "The deprecation policy is described in :pep:`387`."
-msgstr ""
+msgstr "La política de obsolescencia se describe en :pep:`387`."
#: ../Doc/library/exceptions.rst:756
msgid ""
@@ -1277,13 +1301,12 @@ msgid "Base class for warnings related to Unicode."
msgstr "Clase base para advertencias relacionadas con Unicode."
#: ../Doc/library/exceptions.rst:801
-#, fuzzy
msgid "Base class for warnings related to encodings."
-msgstr "Clase base para advertencias relacionadas con Unicode."
+msgstr "Clase base para advertencias relacionadas con codificaciones."
#: ../Doc/library/exceptions.rst:803
msgid "See :ref:`io-encoding-warning` for details."
-msgstr ""
+msgstr "Consulte :ref:`io-encoding-warning` para obtener más detalles."
#: ../Doc/library/exceptions.rst:810
msgid ""
@@ -1303,38 +1326,3 @@ msgstr "Jerarquía de excepción"
#: ../Doc/library/exceptions.rst:827
msgid "The class hierarchy for built-in exceptions is:"
msgstr "La jerarquía de clases para las excepciones incorporadas es:"
-
-#~ msgid ""
-#~ "Base class for warnings related to resource usage. Ignored by the default "
-#~ "warning filters."
-#~ msgstr ""
-#~ "Clase base para advertencias relacionadas con el uso de recursos. "
-#~ "Ignorado por los filtros de advertencia predeterminados."
-
-#~ msgid ""
-#~ "This method sets *tb* as the new traceback for the exception and returns "
-#~ "the exception object. It is usually used in exception handling code like "
-#~ "this::"
-#~ msgstr ""
-#~ "Este método establece ``tb`` como el nuevo ``traceback`` para la "
-#~ "excepción y retorna el objeto de excepción. Normalmente se utiliza en "
-#~ "código de control de excepciones como este::"
-
-#~ msgid ""
-#~ "Instances of this class have attributes :attr:`filename`, :attr:"
-#~ "`lineno`, :attr:`offset` and :attr:`text` for easier access to the "
-#~ "details. :func:`str` of the exception instance returns only the message."
-#~ msgstr ""
-#~ "Las instancias de esta clase tienen atributos :attr:`filename`, :attr:"
-#~ "`lineno`, :attr:`offset` y :attr:`text` para facilitar el acceso a los "
-#~ "detalles. :func:`str` de la instancia de excepción retorna solo el "
-#~ "mensaje."
-
-#~ msgid ""
-#~ "Raised when a directory operation (such as :func:`os.listdir`) is "
-#~ "requested on something which is not a directory. Corresponds to :c:data:"
-#~ "`errno` ``ENOTDIR``."
-#~ msgstr ""
-#~ "Se genera cuando se solicita una operación de directorio (como :func:`os."
-#~ "listdir`) en algo que no es un directorio. Corresponde a :c:data:`errno` "
-#~ "``ENOTDIR``."
diff --git a/library/fcntl.po b/library/fcntl.po
index 5c81d6a628..fade7af760 100644
--- a/library/fcntl.po
+++ b/library/fcntl.po
@@ -216,7 +216,7 @@ msgid ""
msgstr ""
"Si *mutate_flag* es verdadero (valor predeterminado), entonces el búfer se "
"pasa (en efecto) a la llamada al sistema subyacente :func:`ioctl`, el código "
-"de retorno de éste último se retorna al Python que llama, y el nuevo "
+"de retorno de éste último se retorna al Python que llama, y el nuevo "
"contenido del búfer refleja la acción de :func:`ioctl`. Esto es una ligera "
"simplificación, porque si el búfer proporcionado tiene menos de 1024 bytes "
"de longitud, primero se copia en un búfer estático de 1024 bytes de longitud "
@@ -303,7 +303,7 @@ msgstr ""
"Cuando *cmd* es :const:`LOCK_SH` o :const:`LOCK_EX`, también se puede usar "
"OR bit a bit con :const:`LOCK_NB` para evitar el bloqueo en la adquisición "
"de bloqueos. Si se usa :const:`LOCK_NB` y no se puede adquirir el bloqueo, "
-"se generará un :const:`LOCK_NB` y la excepción tendrá un atributo *errno* "
+"se lanzará un :const:`LOCK_NB` y la excepción tendrá un atributo *errno* "
"establecido a :const:`EACCES` o :const:`EAGAIN` (según el sistema operativo; "
"para la portabilidad, compruebe ambos valores). En al menos algunos "
"sistemas, :const:`LOCK_EX` solo se puede usar si el descriptor de fichero se "
diff --git a/library/filecmp.po b/library/filecmp.po
index 5e661e206d..830cc62369 100644
--- a/library/filecmp.po
+++ b/library/filecmp.po
@@ -57,12 +57,17 @@ msgid ""
"and modification time) of both files are identical, the files are taken to "
"be equal."
msgstr ""
+"Si *shallow* es verdadero y las firmas :func:`os.stat` (tipo de fichero, "
+"tamaño, y tiempo de modificación) de los dos ficheros son idénticas, los "
+"ficheros se consideran iguales"
#: ../Doc/library/filecmp.rst:29
msgid ""
"Otherwise, the files are treated as different if their sizes or contents "
"differ."
msgstr ""
+"De lo contrario, los ficheros son tratados como diferentes si sus tamaños o "
+"contenidos difieren."
#: ../Doc/library/filecmp.rst:31
msgid ""
@@ -271,12 +276,17 @@ msgid ""
"instances (or MyDirCmp instances if this instance is of type MyDirCmp, a "
"subclass of :class:`dircmp`)."
msgstr ""
+"Un diccionario que asigna nombres en :attr:`common_dirs` a instancias :class:"
+"`dircmp` (o instancias MyDirCmp si esa instancias es del tipo MyDirCmp, una "
+"subclase de :class:`dircmp`)."
#: ../Doc/library/filecmp.rst:182
msgid ""
"Previously entries were always :class:`dircmp` instances. Now entries are "
"the same type as *self*, if *self* is a subclass of :class:`dircmp`."
msgstr ""
+"Anteriormente las entradas siempre eran instancias :class:`dircmp`. Ahora "
+"son del mismo tipo que *self*, si *self* es una subclase de :class:`dircmp`."
#: ../Doc/library/filecmp.rst:191
msgid "List of directories ignored by :class:`dircmp` by default."
@@ -290,18 +300,3 @@ msgstr ""
"Aquí hay un ejemplo simplificado de uso del atributo ``subdirs`` para buscar "
"recursivamente a través de dos directorios para mostrar diferentes ficheros "
"comunes::"
-
-#~ msgid ""
-#~ "If *shallow* is true, files with identical :func:`os.stat` signatures are "
-#~ "taken to be equal. Otherwise, the contents of the files are compared."
-#~ msgstr ""
-#~ "Si *shallow* es verdadero, ficheros con firmas idénticas :func:`os.stat` "
-#~ "se consideran iguales. En caso contrario, el contenido de los ficheros es "
-#~ "comparado."
-
-#~ msgid ""
-#~ "A dictionary mapping names in :attr:`common_dirs` to :class:`dircmp` "
-#~ "objects."
-#~ msgstr ""
-#~ "Un diccionario mapeando nombres en objetos de :attr:`common_dirs` a :"
-#~ "class:`dircmp`."
diff --git a/library/fileinput.po b/library/fileinput.po
index bbc2ea60db..79eded4b66 100644
--- a/library/fileinput.po
+++ b/library/fileinput.po
@@ -11,15 +11,16 @@ msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-10-16 21:42+0200\n"
-"PO-Revision-Date: 2020-08-14 15:10-0300\n"
+"PO-Revision-Date: 2021-12-29 10:59-0300\n"
"Last-Translator: \n"
"Language: es_AR\n"
"Language-Team: python-doc-es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"
+"X-Generator: Poedit 3.0\n"
#: ../Doc/library/fileinput.rst:2
msgid ":mod:`fileinput` --- Iterate over lines from multiple input streams"
@@ -105,7 +106,6 @@ msgstr ""
"que la última línea en un archivo puede no tener una."
#: ../Doc/library/fileinput.rst:49
-#, fuzzy
msgid ""
"You can control how files are opened by providing an opening hook via the "
"*openhook* parameter to :func:`fileinput.input` or :class:`FileInput()`. The "
@@ -118,8 +118,10 @@ msgstr ""
"Puede controlar cómo se abren los archivos proporcionando un enlace de "
"apertura a través del parámetro *openhook* a :func:`fileinput.input` o :"
"class:`FileInput()`. El enlace debe ser una función que tome dos argumentos, "
-"*filename* y *mode*, y retorna un objeto similar a un archivo abierto. Este "
-"módulo ya proporciona dos enlaces útiles."
+"*filename* y *mode*, y en consecuencia retorna un objeto similar a un "
+"archivo abierto. Si *encoding* y/o *errors* son especificados, serán pasados "
+"al enlace como argumentos de palabras clave adicionales. Este módulo "
+"proporciona :func:`hook_compressed` para admitir archivos comprimidos."
#: ../Doc/library/fileinput.rst:56
msgid "The following function is the primary interface of this module:"
@@ -162,6 +164,8 @@ msgstr ""
#: ../Doc/library/fileinput.rst:213
msgid "The keyword-only parameter *encoding* and *errors* are added."
msgstr ""
+"Los parámetros exclusivos de palabra clave *encoding* y *errors* son "
+"añadidos."
#: ../Doc/library/fileinput.rst:84
msgid ""
@@ -297,6 +301,8 @@ msgid ""
"You can specify *encoding* and *errors* that is passed to :func:`open` or "
"*openhook*."
msgstr ""
+"Puedes especificar *encoding* y *errors* que son pasados a :func:`open` o "
+"*openhook*."
#: ../Doc/library/fileinput.rst:164
msgid ""
@@ -370,15 +376,16 @@ msgid ""
"The *encoding* and *errors* values are passed to :class:`io.TextIOWrapper` "
"for compressed files and open for normal files."
msgstr ""
+"Los valores *encoding* y *errors* se pasan a :class:`io.TextIOWrapper` para "
+"archivos comprimidos y para abrir archivos normales."
#: ../Doc/library/fileinput.rst:211
-#, fuzzy
msgid ""
"Usage example: ``fi = fileinput.FileInput(openhook=fileinput."
"hook_compressed, encoding=\"utf-8\")``"
msgstr ""
"Ejemplo de uso: ``fi = fileinput.FileInput(openhook=fileinput."
-"hook_compressed)``"
+"hook_compressed, encoding=\"utf-8\")``"
#: ../Doc/library/fileinput.rst:219
msgid ""
@@ -405,3 +412,5 @@ msgid ""
"This function is deprecated since :func:`input` and :class:`FileInput` now "
"have *encoding* and *errors* parameters."
msgstr ""
+"Esta función es deprecada ya que :func:`input` y :class:`FileInput` ahora "
+"tienen los parámetros *encoding* y *errors*."
diff --git a/library/fractions.po b/library/fractions.po
index cd660758bf..befde00558 100644
--- a/library/fractions.po
+++ b/library/fractions.po
@@ -231,19 +231,3 @@ msgstr "Módulo :mod:`numbers`"
#: ../Doc/library/fractions.rst:182
msgid "The abstract base classes making up the numeric tower."
msgstr "Las clases base abstractas que representan la jerarquía de números."
-
-#~ msgid ""
-#~ "Return the greatest common divisor of the integers *a* and *b*. If "
-#~ "either *a* or *b* is nonzero, then the absolute value of ``gcd(a, b)`` is "
-#~ "the largest integer that divides both *a* and *b*. ``gcd(a,b)`` has the "
-#~ "same sign as *b* if *b* is nonzero; otherwise it takes the sign of *a*. "
-#~ "``gcd(0, 0)`` returns ``0``."
-#~ msgstr ""
-#~ "Retorna el máximo común divisor de los enteros *a* y *b*. Si *a* o *b* no "
-#~ "son cero, entonces el valor absoluto de ``gcd(a, b)`` es el entero mas "
-#~ "grande que divide ambos, *a* y *b*. ``gcd(a,b)`` tiene el mismo signo que "
-#~ "*b* si *b* no es cero; sino toma el signo de *a*. ``gcd(0, 0)`` retorna "
-#~ "``0``."
-
-#~ msgid "Use :func:`math.gcd` instead."
-#~ msgstr "Usa en cambio la función :func:`math.gcd`."
diff --git a/library/ftplib.po b/library/ftplib.po
index d957037c77..a78130860d 100644
--- a/library/ftplib.po
+++ b/library/ftplib.po
@@ -668,45 +668,3 @@ msgstr "Configura conexión de datos segura."
#: ../Doc/library/ftplib.rst:465
msgid "Set up clear text data connection."
msgstr "Configura la conexión de datos de tipo texto común."
-
-#~ msgid ""
-#~ "If optional *rest* is given, a ``REST`` command is sent to the server, "
-#~ "passing *rest* as an argument. *rest* is usually a byte offset into the "
-#~ "requested file, telling the server to restart sending the file's bytes at "
-#~ "the requested offset, skipping over the initial bytes. Note however "
-#~ "that :rfc:`959` requires only that *rest* be a string containing "
-#~ "characters in the printable range from ASCII code 33 to ASCII code 126. "
-#~ "The :meth:`transfercmd` method, therefore, converts *rest* to a string, "
-#~ "but no check is performed on the string's contents. If the server does "
-#~ "not recognize the ``REST`` command, an :exc:`error_reply` exception will "
-#~ "be raised. If this happens, simply call :meth:`transfercmd` without a "
-#~ "*rest* argument."
-#~ msgstr ""
-#~ "Si el opcional *rest* está dado, un comando ``REST`` se envía al "
-#~ "servidor, pasando *rest* como argumento. *rest* es usualmente un offset "
-#~ "de byte en el archivo solicitado y le pide al servidor que reinicie "
-#~ "enviando los bytes del archivo al offset solicitado, saltándose los bytes "
-#~ "iniciales. Nota, sin embargo, que `rfc:`959` requieres no solo que *rest* "
-#~ "sea una cadena de caracteres que contiene caracteres en el rango "
-#~ "imprimible del código ASCII 33 al 126. El método :meth:`transfercmd`, "
-#~ "entonces, convierte *rest* a una cadena de caracteres, pero no se ejecuta "
-#~ "ningún chequeo en los contenidos de la cadena de caracteres. Si el "
-#~ "servidor no reconoce el comando ``REST``, se lanza una excepción :exc:"
-#~ "`error_reply`. Si esto ocurre, simplemente invoca :meth:`transfercmd` sin "
-#~ "un argumento *rest*."
-
-#~ msgid ""
-#~ "This module defines the class :class:`FTP` and a few related items. The :"
-#~ "class:`FTP` class implements the client side of the FTP protocol. You "
-#~ "can use this to write Python programs that perform a variety of automated "
-#~ "FTP jobs, such as mirroring other FTP servers. It is also used by the "
-#~ "module :mod:`urllib.request` to handle URLs that use FTP. For more "
-#~ "information on FTP (File Transfer Protocol), see Internet :rfc:`959`."
-#~ msgstr ""
-#~ "Este módulo define la clase :class:`FTP` y algunos elementos "
-#~ "relacionados. La clase :class:`FTP` implementa el lado cliente del "
-#~ "protocolo FTP. Puedes usarlo para escribir programas en Python que "
-#~ "realizan una variedad de trabajos FTP automatizados, como reflejar otros "
-#~ "servidores FTP. También es utilizado por el módulo :mod:`urllib.request` "
-#~ "para manejar URLs que usan FTP. Para más información sobre FTP (Protocolo "
-#~ "de transferencia de archivos), véase Internet :rfc:`959`."
diff --git a/library/functions.po b/library/functions.po
index e4be42e928..fa9d36010a 100644
--- a/library/functions.po
+++ b/library/functions.po
@@ -13,12 +13,12 @@ msgstr ""
"POT-Creation-Date: 2021-10-16 21:42+0200\n"
"PO-Revision-Date: 2021-10-24 17:48-0300\n"
"Last-Translator: Cristián Maureira-Fredes \n"
-"Language: es\n"
"Language-Team: python-doc-esMIME-Version: 1.0\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.9.1\n"
"X-Generator: Poedit 3.0\n"
@@ -1432,7 +1432,7 @@ msgstr ""
"Sino, en caso de que el argumento sea un entero o un decimal de punto "
"flotante, se retorna un número de punto flotante del mismo valor (dentro de "
"la precisión de punto flotante de Python). Si el argumento está fuera del "
-"rango de un punto flotante de Python, se generará una excepción :exc:"
+"rango de un punto flotante de Python, se lanzará una excepción :exc:"
"`OverflowError`."
#: ../Doc/library/functions.rst:651
@@ -1738,13 +1738,11 @@ msgstr ""
"argumento ``prompt`` antes de leer entrada"
#: ../Doc/library/functions.rst:850
-#, fuzzy
msgid ""
-"Raises an :ref:`auditing event ` ``builtins.input/result`` with "
-"argument ``result``."
+"Raises an auditing event ``builtins.input/result`` with argument ``result``."
msgstr ""
-"Lanza un :ref:`evento de auditoría ` ``builtins.input/result`` con "
-"el argumento ``result``."
+"Lanza un evento de auditoria ``builtins.input/result`` con el argumento "
+"``result``."
#: ../Doc/library/functions.rst:852
msgid ""
@@ -3725,103 +3723,3 @@ msgstr ""
"tipo Unix. Si estás leyendo el código de un fichero, asegúrate de usar la el "
"modo de conversión de nueva línea para convertir las líneas de tipo Windows "
"o Mac."
-
-#~ msgid "For more information on class methods, see :ref:`types`."
-#~ msgstr "Para más información sobre métodos de clase, ver :ref:`types`."
-
-#~ msgid ""
-#~ "The optional arguments *flags* and *dont_inherit* control which :ref:"
-#~ "`future statements ` affect the compilation of *source*. If "
-#~ "neither is present (or both are zero) the code is compiled with those "
-#~ "future statements that are in effect in the code that is calling :func:"
-#~ "`compile`. If the *flags* argument is given and *dont_inherit* is not "
-#~ "(or is zero) then the future statements specified by the *flags* argument "
-#~ "are used in addition to those that would be used anyway. If "
-#~ "*dont_inherit* is a non-zero integer then the *flags* argument is it -- "
-#~ "the future statements in effect around the call to compile are ignored."
-#~ msgstr ""
-#~ "Los argumentos opcionales *flags* y *dont_inherit* controlan que :ref:"
-#~ "`future statements ` afectan a la compilación de *source*. Si "
-#~ "ninguno de los dos está presente (o los dos son cero), el código se "
-#~ "compila con las declaraciones futuras que están en el código que está "
-#~ "llamando a :func:`compile`. Si el argumento *flags* está presente, y "
-#~ "*dont_inherit* no (o es cero), entonces se usan las declaraciones futuras "
-#~ "especificadas en el argumento *flags*, además de aquellas que iban a ser "
-#~ "utilizadas en cualquier caso. Si *dont_inherit* es un entero distinto de "
-#~ "cero entonces el argumento *flags* es ignorado y no se consideran las "
-#~ "declaraciones futuras en efecto durante la llamada a *compile*."
-
-#~ msgid ""
-#~ "The optional argument *flags* also controls whether the compiled source "
-#~ "is allowed to contain top-level ``await``, ``async for`` and ``async "
-#~ "with``. When the bit ``ast.PyCF_ALLOW_TOP_LEVEL_AWAIT`` is set, the "
-#~ "return code object has ``CO_COROUTINE`` set in ``co_code``, and can be "
-#~ "interactively executed via ``await eval(code_object)``."
-#~ msgstr ""
-#~ "El argumento opcional *flags* también controla si el código compilado "
-#~ "puede contener ``await``, ``async for`` y ``async with`` de nivel "
-#~ "superior. Cuando se establece el bit ``ast.PyCF_ALLOW_TOP_LEVEL_AWAIT`` , "
-#~ "el objeto código retornado tiene ``CO_COROUTINE`` establecido en "
-#~ "``co_code``, y puede ser ejecutado de forma interactiva a través de "
-#~ "``await eval(code_object)``."
-
-#~ msgid ""
-#~ "With three arguments, return a new type object. This is essentially a "
-#~ "dynamic form of the :keyword:`class` statement. The *name* string is the "
-#~ "class name and becomes the :attr:`~definition.__name__` attribute; the "
-#~ "*bases* tuple itemizes the base classes and becomes the :attr:`~class."
-#~ "__bases__` attribute; and the *dict* dictionary is the namespace "
-#~ "containing definitions for class body and is copied to a standard "
-#~ "dictionary to become the :attr:`~object.__dict__` attribute. For "
-#~ "example, the following two statements create identical :class:`type` "
-#~ "objects:"
-#~ msgstr ""
-#~ "Con tres argumentos, retorna un nuevo objeto tipo. Ésta es esencialmente "
-#~ "una forma dinámica de la declaración :keyword:`class`. La cadena *name* "
-#~ "es el nombre de la clase y se convierte en el atributo :attr:`~definition."
-#~ "__name__` ; la tupla *bases* enumera las clases base y se convierte en el "
-#~ "atributo :attr:`~class.__bases__`; y el diccionario *dict* es el espacio "
-#~ "de nombres que contiene las definiciones del cuerpo de la clase y se "
-#~ "copia a un diccionario estándar para convertirse en el atributo :attr:"
-#~ "`~object.__dict__`. Por ejemplo, las dos siguientes declaraciones crean "
-#~ "objetos idénticos :class:`type`:"
-
-#~ msgid ""
-#~ "Note that if a slash(/) appears in the parameter list of a function, when "
-#~ "invoking :func:`help`, it means that the parameters prior to the slash "
-#~ "are positional-only. For more info, see :ref:`the FAQ entry on positional-"
-#~ "only parameters `."
-#~ msgstr ""
-#~ "Ten en cuenta que si una barra(/) aparece en la lista de parámetros de "
-#~ "una función, al invocar :func:`help` significa que los parámetros "
-#~ "anteriores a la barra son solo posicionales. Para más información, puedes "
-#~ "ver :ref:`the FAQ entry on positional-only parameters `."
-
-#~ msgid ""
-#~ "Make an iterator that aggregates elements from each of the iterables."
-#~ msgstr ""
-#~ "Produce un iterador que agrega elementos de cada uno de los iterables."
-
-#~ msgid ""
-#~ "Returns an iterator of tuples, where the *i*-th tuple contains the *i*-th "
-#~ "element from each of the argument sequences or iterables. The iterator "
-#~ "stops when the shortest input iterable is exhausted. With a single "
-#~ "iterable argument, it returns an iterator of 1-tuples. With no "
-#~ "arguments, it returns an empty iterator. Equivalent to::"
-#~ msgstr ""
-#~ "Retorna un iterador de tuplas, donde el *i*-ésimo elemento de la tupla "
-#~ "contiene el *i*-ésimo elemento de cada una de las secuencias o iterables "
-#~ "en los argumentos. El iterador para cuando se agota el iterable de "
-#~ "entrada más corto. Con un sólo argumento iterable, retorna un iterador de "
-#~ "1 tupla. Sin argumentos, retorna un iterador vacío. Es equivalente a::"
-
-#~ msgid ""
-#~ ":func:`zip` should only be used with unequal length inputs when you don't "
-#~ "care about trailing, unmatched values from the longer iterables. If "
-#~ "those values are important, use :func:`itertools.zip_longest` instead."
-#~ msgstr ""
-#~ ":func:`zip` solo debería utilizarse con tamaños de entrada diferentes en "
-#~ "el caso de que no te importe que haya valores sin agrupar de los "
-#~ "iterables más largos. Si en cambio esos valores son importantes, utiliza "
-#~ "en cambio :func:`itertools.zip_longest`."
diff --git a/library/hashlib.po b/library/hashlib.po
index 114727bea2..758cb2096d 100644
--- a/library/hashlib.po
+++ b/library/hashlib.po
@@ -1102,6 +1102,3 @@ msgstr "https://www.ietf.org/rfc/rfc8018.txt"
#: ../Doc/library/hashlib.rst:756
msgid "PKCS #5: Password-Based Cryptography Specification Version 2.1"
msgstr "PKCS #5: Password-Based Cryptography Specification Version 2.1"
-
-#~ msgid ":ref:`Availability