diff --git a/.overrides/translation-memory.rst b/.overrides/translation-memory.rst
index 6017fa825f..2c43234147 100644
--- a/.overrides/translation-memory.rst
+++ b/.overrides/translation-memory.rst
@@ -214,7 +214,7 @@ Dividimos esta sección en dos partes, los términos que se traducen y los que m
es algo accesorio, un comentario, y type hint implica que el Validador hará comprobaciones
underscore
- guión bajo ``glossary.po``
+ guión bajo ``glossary.po``
widget
widget ``library/tkinter``
diff --git a/dict b/dict
index 4252118046..7194cb59ae 100644
--- a/dict
+++ b/dict
@@ -1453,3 +1453,4 @@ formfeed
reintrodujo
radix
léxicamente
+guión
diff --git a/dictionaries/about.txt b/dictionaries/about.txt
new file mode 100644
index 0000000000..63e069f670
--- /dev/null
+++ b/dictionaries/about.txt
@@ -0,0 +1,2 @@
+Fred
+Sphinx
\ No newline at end of file
diff --git a/dictionaries/library_ctypes.txt b/dictionaries/library_ctypes.txt
index 550be81f49..aebe2011bc 100644
--- a/dictionaries/library_ctypes.txt
+++ b/dictionaries/library_ctypes.txt
@@ -20,4 +20,4 @@ DllGetClassObject
redimensiona
subclasificando
inicializadas
-inicializarán
+inicializarán
\ No newline at end of file
diff --git a/dictionaries/sphinx.txt b/dictionaries/sphinx.txt
new file mode 100644
index 0000000000..ca94431022
--- /dev/null
+++ b/dictionaries/sphinx.txt
@@ -0,0 +1,2 @@
+Foundation
+Cómos
\ No newline at end of file
diff --git a/dictionaries/using_cmdline.txt b/dictionaries/using_cmdline.txt
index f305315447..bab596ca18 100644
--- a/dictionaries/using_cmdline.txt
+++ b/dictionaries/using_cmdline.txt
@@ -4,4 +4,4 @@ traceback
auditing
autocomprobación
autocomprobaciónes
-hashes
+hashes
\ No newline at end of file
diff --git a/faq/programming.po b/faq/programming.po
index 513509782f..311e68bc74 100644
--- a/faq/programming.po
+++ b/faq/programming.po
@@ -2494,12 +2494,12 @@ msgid ""
"``classname`` is the current class name with any leading underscores "
"stripped."
msgstr ""
-"Nombres de variable con doble guion prefijado se convierten, con una "
+"Nombres de variable con doble guión prefijado se convierten, con una "
"modificación de nombres, para proporcionar una forma simple pero efectiva de "
"definir variables de clase privadas. Cualquier identificador de la forma "
-"``__spam`` (como mínimo dos guiones bajos como prefijo, como máximo un guion "
+"``__spam`` (como mínimo dos guiones bajos como prefijo, como máximo un guión "
"bajo como sufijo) se reemplaza con ``_classname__spam``, donde ``classname`` "
-"es el nombre de la clase eliminando cualquier guion bajo prefijado."
+"es el nombre de la clase eliminando cualquier guión bajo prefijado."
#: ../Doc/faq/programming.rst:1641
msgid ""
diff --git a/howto/logging.po b/howto/logging.po
index c797e8b44d..ee57268ec2 100644
--- a/howto/logging.po
+++ b/howto/logging.po
@@ -83,7 +83,7 @@ msgstr "La mejor herramienta para la tarea"
msgid ""
"Display console output for ordinary usage of a command line script or program"
msgstr ""
-"Mostrar salidas de la consola para el uso ordinario de un programa o guion "
+"Mostrar salidas de la consola para el uso ordinario de un programa o guión "
"(script) de línea de comandos"
#: ../Doc/howto/logging.rst:33
diff --git a/library/codecs.po b/library/codecs.po
index c6c2303edb..586e800c2e 100644
--- a/library/codecs.po
+++ b/library/codecs.po
@@ -1814,8 +1814,8 @@ msgstr ""
"enumera los códecs por nombre, junto con algunos alias comunes y los idiomas "
"para los que probablemente se usa la codificación. Ni la lista de alias ni "
"la lista de idiomas deben ser exhaustivas. Tenga en cuenta que las "
-"alternativas de ortografía que solo difieren en el caso o usan un guion en "
-"lugar de un guion bajo también son alias válidos; por lo tanto, por ejemplo "
+"alternativas de ortografía que solo difieren en el caso o usan un guión en "
+"lugar de un guión bajo también son alias válidos; por lo tanto, por ejemplo "
"``'utf-8'`` es un alias válido para el códec ``'utf_8'``."
#: ../Doc/library/codecs.rst:986
diff --git a/library/ctypes.po b/library/ctypes.po
index f7a309449d..17f99d8a45 100644
--- a/library/ctypes.po
+++ b/library/ctypes.po
@@ -1874,7 +1874,7 @@ msgid ""
"underscore to not clash with exported function names:"
msgstr ""
"Los siguientes atributos públicos están disponibles, su nombre comienza con "
-"un guion bajo para no chocar con los nombres de las funciones exportadas:"
+"un guión bajo para no chocar con los nombres de las funciones exportadas:"
#: ../Doc/library/ctypes.rst:1445
msgid "The system handle used to access the library."
diff --git a/library/getopt.po b/library/getopt.po
index a1a15ac184..07f0516672 100644
--- a/library/getopt.po
+++ b/library/getopt.po
@@ -129,7 +129,7 @@ msgstr ""
"pares ``(option, value)``; el segundo es la lista de argumentos del programa "
"que quedan después de que se eliminó la lista de opciones (esta es una "
"porción final de *args*). Cada par de opción y valor retornado tiene la "
-"opción como su primer elemento, con un guion para las opciones cortas (por "
+"opción como su primer elemento, con un guión para las opciones cortas (por "
"ejemplo, ``'-x'``) o dos guiones para las opciones largas (por ejemplo, ``'--"
"long-option'``), y el argumento de la opción como su segundo elemento, o una "
"cadena vacía si la opción no tiene argumento. Las opciones aparecen en la "
diff --git a/library/textwrap.po b/library/textwrap.po
index 64ce420c26..f00aa4b821 100644
--- a/library/textwrap.po
+++ b/library/textwrap.po
@@ -201,7 +201,7 @@ msgid ""
"attr:`TextWrapper.break_long_words` is set to false."
msgstr ""
"El texto se envuelve preferentemente en espacios en blanco y justo después "
-"de los guiones en palabras con guion; sólo entonces se romperán las palabras "
+"de los guiones en palabras con guión; sólo entonces se romperán las palabras "
"largas si es necesario, a menos que :attr:`TextWrapper.break_long_words` sea "
"falso."
@@ -414,7 +414,7 @@ msgstr ""
"saltos de línea, pero es necesario establecer :attr:`break_long_words` a "
"falso si se quieren palabras verdaderamente inseguras. El comportamiento "
"por defecto en las versiones anteriores era permitir siempre la ruptura de "
-"palabras con guion."
+"palabras con guión."
#: ../Doc/library/textwrap.rst:268
msgid ""
diff --git a/library/tkinter.po b/library/tkinter.po
index 354ef90e43..60897ec28e 100644
--- a/library/tkinter.po
+++ b/library/tkinter.po
@@ -773,7 +773,7 @@ msgid ""
"mod:`_tkinter` - note the underscore - extension module."
msgstr ""
"Estos comandos y sus argumentos se pasarán a una función C en el módulo de "
-"extensión :mod:`_tkinter` -obsérvese el guion bajo-."
+"extensión :mod:`_tkinter` -obsérvese el guión bajo-."
#: ../Doc/library/tkinter.rst:374
msgid "Tk Widgets (C and Tcl)"
diff --git a/reference/executionmodel.po b/reference/executionmodel.po
index d2c3a2d51f..68899cabe7 100644
--- a/reference/executionmodel.po
+++ b/reference/executionmodel.po
@@ -102,7 +102,7 @@ msgstr ""
"en una declaración :keyword:`with` o una cláusula :keyword:`except`. La "
"declaración :keyword:`!import` de la forma ``from ... import *`` vincula "
"todos los nombres definidos en el módulo importado, excepto aquellos que "
-"comienzan con un guion bajo. Esta forma solamente puede ser usada a nivel de "
+"comienzan con un guión bajo. Esta forma solamente puede ser usada a nivel de "
"módulo."
#: ../Doc/reference/executionmodel.rst:67
diff --git a/sphinx.po b/sphinx.po
index c4a4cc45c8..c0aba8ef19 100644
--- a/sphinx.po
+++ b/sphinx.po
@@ -43,7 +43,8 @@ msgstr ""
#: ../Doc/tools/templates/indexcontent.html:8
msgid "Welcome! This is the documentation for Python %(release)s."
-msgstr "¡Te damos la bienvenida! Esta es la documentación de Python %(release)s."
+msgstr ""
+"¡Te damos la bienvenida! Esta es la documentación de Python %(release)s."
#: ../Doc/tools/templates/indexcontent.html:10
msgid "Parts of the documentation:"
@@ -106,8 +107,8 @@ msgstr "Instalación de módulos de Python"
#: ../Doc/tools/templates/indexcontent.html:27
msgid "installing from the Python Package Index & other sources"
msgstr ""
-"instalación desde el Índice de paquete de Python (Python Package Index) "
-"y otras fuentes"
+"instalación desde el Índice de paquete de Python (Python Package Index"
+"em>) y otras fuentes"
#: ../Doc/tools/templates/indexcontent.html:28
msgid "Distributing Python Modules"
@@ -276,8 +277,7 @@ msgstr "Ir"
#: ../Doc/tools/templates/layout.html:118
msgid "The Python Software Foundation is a non-profit corporation."
-msgstr ""
-"La Python Software Fundation es una organización sin fines de lucro."
+msgstr "La Python Software Foundation es una organización sin fines de lucro."
#: ../Doc/tools/templates/layout.html:119
msgid "Please donate."
diff --git a/tutorial/classes.po b/tutorial/classes.po
index 75a5fc9dc8..2a8bd9b265 100644
--- a/tutorial/classes.po
+++ b/tutorial/classes.po
@@ -1116,7 +1116,7 @@ msgstr ""
"Las variables \"privadas\" de instancia, que no pueden accederse excepto "
"desde dentro de un objeto, no existen en Python. Sin embargo, hay una "
"convención que se sigue en la mayoría del código Python: un nombre prefijado "
-"con un guion bajo (por ejemplo, ``_spam``) debería tratarse como una parte "
+"con un guión bajo (por ejemplo, ``_spam``) debería tratarse como una parte "
"no pública de la API (más allá de que sea una función, un método, o un "
"dato). Debería considerarse un detalle de implementación y que está sujeto "
"a cambios sin aviso."
@@ -1136,7 +1136,7 @@ msgstr ""
"(a saber: colisión de nombres con nombres definidos en las subclases), hay "
"un soporte limitado para este mecanismo. Cualquier identificador con la "
"forma ``__spam`` (al menos dos guiones bajos al principio, como mucho un "
-"guion bajo al final) es textualmente reemplazado por "
+"guión bajo al final) es textualmente reemplazado por "
"``_nombredeclase__spam``, donde ``nombredeclase`` es el nombre de clase "
"actual al que se le sacan guiones bajos del comienzo (si los tuviera). Se "
"modifica el nombre del identificador sin importar su posición sintáctica, "
@@ -1393,5 +1393,5 @@ msgstr ""
#~ "algún tipo de convención que minimice las posibilidades de dichos "
#~ "conflictos. Algunas convenciones pueden ser poner los nombres de métodos "
#~ "con mayúsculas, prefijar los nombres de atributos de datos con una "
-#~ "pequeña cadena única (a lo mejor sólo un guion bajo), o usar verbos para "
+#~ "pequeña cadena única (a lo mejor sólo un guión bajo), o usar verbos para "
#~ "los métodos y sustantivos para los atributos."
diff --git a/tutorial/modules.po b/tutorial/modules.po
index 8295bafefa..e4b4712c23 100644
--- a/tutorial/modules.po
+++ b/tutorial/modules.po
@@ -178,7 +178,7 @@ msgid ""
"an unknown set of names into the interpreter, possibly hiding some things "
"you have already defined."
msgstr ""
-"Esto importa todos los nombres excepto los que inician con un guion bajo "
+"Esto importa todos los nombres excepto los que inician con un guión bajo "
"(``_``). La mayoría de las veces los programadores de Python no usan esto ya "
"que introduce en el intérprete un conjunto de nombres desconocido, "
"posiblemente escondiendo algunas de las definiciones previas."
diff --git a/tutorial/stdlib2.po b/tutorial/stdlib2.po
index 0413d69e2b..9f1edcd460 100644
--- a/tutorial/stdlib2.po
+++ b/tutorial/stdlib2.po
@@ -99,7 +99,7 @@ msgid ""
"``$``::"
msgstr ""
"El formato usa marcadores cuyos nombres se forman con ``$`` seguido de "
-"identificadores Python válidos (caracteres alfanuméricos y guion de "
+"identificadores Python válidos (caracteres alfanuméricos y guión de "
"subrayado). Si se los encierra entre llaves, pueden seguir más caracteres "
"alfanuméricos sin necesidad de dejar espacios en blanco. ``$$`` genera un ``"
"$``::"