Imported Upstream version 4.4
[platform/upstream/make.git] / po / es.po
index 359648b..63ebc1e 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: GNU make 4.2.93\n"
 "Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2020-01-19 15:34-0500\n"
+"POT-Creation-Date: 2022-10-31 02:23-0400\n"
 "PO-Revision-Date: 2020-01-03 15:38+0100\n"
 "Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
 "Language-Team: Spanish <es@tp.org.es>\n"
@@ -18,7 +18,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8-bit\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 
-#: src/ar.c:46
+#: src/ar.c:47
 #, c-format
 msgid "attempt to use unsupported feature: '%s'"
 msgstr "Se intentó utilizar una característica no implementada: '%s'"
@@ -35,27 +35,27 @@ msgstr "Se intentó utilizar una característica no implementada: '%s'"
 # Enrique: touch es un programa del sistema operativo y sirve para
 # cambiar la fecha de un programa o archivo. Es decir lo "toca" y
 # modifica sus atributos. Por eso preferí no traducirlo.
-#: src/ar.c:123
+#: src/ar.c:127
 #, c-format
 msgid "touch archive member is not available on VMS"
 msgstr "El programa para hacer un 'touch' no está disponible en VMS"
 
-#: src/ar.c:147
+#: src/ar.c:151
 #, c-format
 msgid "touch: Archive '%s' does not exist"
 msgstr "touch: El archivo '%s' no existe"
 
-#: src/ar.c:150
+#: src/ar.c:154
 #, c-format
 msgid "touch: '%s' is not a valid archive"
 msgstr "touch: '%s' no es un archivo válido"
 
-#: src/ar.c:157
+#: src/ar.c:161
 #, c-format
 msgid "touch: Member '%s' does not exist in '%s'"
 msgstr "touch: El miembro '%s' no existe en '%s'"
 
-#: src/ar.c:164
+#: src/ar.c:168
 #, c-format
 msgid "touch: Bad return code from ar_member_touch on '%s'"
 msgstr "touch: Código de retorno erróneo de ar_member_touch en '%s'"
@@ -77,42 +77,47 @@ msgid "unable to open library '%s' to lookup member status %d"
 msgstr ""
 "error al abrir la biblioteca '%s' para buscar el estado %d del elemento"
 
-#: src/arscan.c:944
+#: src/arscan.c:402 src/arscan.c:406
+#, c-format
+msgid "Invalid %s for archive %s member %s"
+msgstr ""
+
+#: src/arscan.c:995
 #, c-format
 msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
 msgstr "Miembro '%s'%s: %ld bytes en %ld (%ld).\n"
 
-#: src/arscan.c:945
+#: src/arscan.c:996
 msgid " (name might be truncated)"
 msgstr " (el nombre puede estar truncado)"
 
-#: src/arscan.c:947
+#: src/arscan.c:999
 #, c-format
 msgid "  Date %s"
 msgstr "  Fecha %s"
 
-#: src/arscan.c:948
+#: src/arscan.c:1000
 #, c-format
 msgid "  uid = %d, gid = %d, mode = 0%o.\n"
 msgstr "  uid = %d, gid = %d, modo = 0%o.\n"
 
-#: src/commands.c:403
-#, c-format
-msgid "Recipe has too many lines (%ud)"
+#: src/commands.c:379
+#, fuzzy, c-format
+msgid "Recipe has too many lines (limit %hu)"
 msgstr "Las instrucciones tienen demasiadas líneas (%ud)"
 
-#: src/commands.c:504
+#: src/commands.c:501
 msgid "*** Break.\n"
 msgstr "*** Interrumpir.\n"
 
-#: src/commands.c:628
+#: src/commands.c:629
 #, c-format
 msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
 msgstr ""
 "*** [%s] El miembro de archivo '%s' podría estar incorrecto; aunque no se "
 "elimina"
 
-#: src/commands.c:632
+#: src/commands.c:633
 #, c-format
 msgid "*** Archive member '%s' may be bogus; not deleted"
 msgstr ""
@@ -120,32 +125,32 @@ msgstr ""
 
 # Propongo un cambio en el tiempo verbal: Se borra el archivo temporal. sv
 # Ok. mm
-#: src/commands.c:646
+#: src/commands.c:647
 #, c-format
 msgid "*** [%s] Deleting file '%s'"
 msgstr "*** [%s] Se borra el archivo '%s'"
 
 # Propongo un cambio en el tiempo verbal: Se borra el archivo temporal. sv
 # Ok. mm
-#: src/commands.c:648
+#: src/commands.c:649
 #, c-format
 msgid "*** Deleting file '%s'"
 msgstr "*** Se borra el archivo '%s'"
 
-#: src/commands.c:684
+#: src/commands.c:685
 msgid "#  recipe to execute"
 msgstr "#  las instrucciones para ejecutar"
 
-#: src/commands.c:687
+#: src/commands.c:688
 msgid " (built-in):"
 msgstr " (integrado):"
 
-#: src/commands.c:689
+#: src/commands.c:690
 #, c-format
 msgid " (from '%s', line %lu):\n"
 msgstr " (de '%s', linea %lu):\n"
 
-#: src/dir.c:1073
+#: src/dir.c:1107
 msgid ""
 "\n"
 "# Directories\n"
@@ -153,7 +158,7 @@ msgstr ""
 "\n"
 "# Directorios\n"
 
-#: src/dir.c:1085
+#: src/dir.c:1119
 #, c-format
 msgid "# %s: could not be stat'd.\n"
 msgstr "# %s: podría no estar establecido.\n"
@@ -161,13 +166,14 @@ msgstr "# %s: podría no estar establecido.\n"
 # ¿No sobraría el "posiblemente"?
 # Propongo dejarlo en " no se pudo abrir ". sv
 # Ok. Es consistente con otras traducciones. mm
-#: src/dir.c:1089
-msgid "# %s (key %s, mtime %I64u): could not be opened.\n"
+#: src/dir.c:1122
+#, fuzzy, c-format
+msgid "# %s (key %s, mtime %s): could not be opened.\n"
 msgstr "# %s (llave %s, mtime %I64u): no se pudo abrir.\n"
 
 # En el K & R aparece inode traducido como nodo-i. ¿qué te parece? sv
 # Bien. Me gusta con el guioncito. mm
-#: src/dir.c:1094
+#: src/dir.c:1126
 #, c-format
 msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n"
 msgstr ""
@@ -176,52 +182,58 @@ msgstr ""
 # ¿No sobraría el "posiblemente"?
 # Propongo dejarlo en " no se pudo abrir ". sv
 # Ok. Es consistente con otras traducciones. mm
-#: src/dir.c:1099
+#: src/dir.c:1131
 #, c-format
 msgid "# %s (device %ld, inode %ld): could not be opened.\n"
 msgstr "# %s (dispositivo %ld, nodo-i %ld): no se pudo abrir.\n"
 
-#: src/dir.c:1126
-msgid "# %s (key %s, mtime %I64u): "
+#: src/dir.c:1155
+#, fuzzy, c-format
+msgid "# %s (key %s, mtime %s): "
 msgstr "# %s (llave %s, mtime %I64u): "
 
-#: src/dir.c:1131
+#: src/dir.c:1159
 #, c-format
 msgid "# %s (device %d, inode [%d,%d,%d]): "
 msgstr "# %s (dispositivo %d, nodo-i [%d,%d,%d]): "
 
-#: src/dir.c:1136
+#: src/dir.c:1164
 #, c-format
 msgid "# %s (device %ld, inode %ld): "
 msgstr "# %s (dispositivo %ld, nodo-i %ld): "
 
-#: src/dir.c:1142 src/dir.c:1163
+#: src/dir.c:1168 src/dir.c:1189
 msgid "No"
 msgstr "No"
 
-#: src/dir.c:1145 src/dir.c:1166
+#: src/dir.c:1171 src/dir.c:1192
 msgid " files, "
 msgstr " archivos, "
 
-#: src/dir.c:1147 src/dir.c:1168
+#: src/dir.c:1173 src/dir.c:1194
 msgid "no"
 msgstr "no"
 
-#: src/dir.c:1150
+#: src/dir.c:1176
 msgid " impossibilities"
 msgstr " imposibilidades"
 
 # ¿"So far" no era "hasta ahora"? (no me hagas mucho caso) sv
 # Si tu traducción es mejor. Aceptada. mm
-#: src/dir.c:1154
+#: src/dir.c:1180
 msgid " so far."
 msgstr " hasta ahora."
 
-#: src/dir.c:1171
+#: src/dir.c:1197
 #, c-format
 msgid " impossibilities in %lu directories.\n"
 msgstr " imposibilidades en %lu directorios.\n"
 
+#: src/expand.c:113
+#, c-format
+msgid "%s:%lu: not recursively expanding %s to export to shell function\n"
+msgstr ""
+
 # Creo que eventually sería "finalmente" o algo así. sv
 # Si, es finalmente no a veces. Ok. mm
 # referencia me parece que no lleva tilde. sv
@@ -231,7 +243,7 @@ msgstr " imposibilidades en %lu directorios.\n"
 # ejemplo em+
 # Mejor lo eliminamos. Es de alguna forma reiterativo e innecesario.
 # Lo de `al final' puede ser más confuso. mm
-#: src/expand.c:125
+#: src/expand.c:149
 #, c-format
 msgid "Recursive variable '%s' references itself (eventually)"
 msgstr "La variable recursiva '%s' se auto-referencia"
@@ -239,19 +251,19 @@ msgstr "La variable recursiva '%s' se auto-referencia"
 # No me gusta nada ( lo siento )
 # ¿ Qué tal : La referencia a una variable está sin terminar em+
 # Creo que tienes razón la voz pasiva es muy desagradable. mm.
-#: src/expand.c:271
+#: src/expand.c:295
 #, c-format
 msgid "unterminated variable reference"
 msgstr "la referencia a la variable está sin terminar"
 
-#: src/file.c:278
+#: src/file.c:272
 #, c-format
 msgid "Recipe was specified for file '%s' at %s:%lu,"
 msgstr "Se especificaron instrucciones para el archivo '%s' en %s:%lu,"
 
 # Buscando en las legras implícitas em+
 # Utilicé por búsqueda en para evitar el gerundio. mm
-#: src/file.c:283
+#: src/file.c:277
 #, c-format
 msgid "Recipe for file '%s' was found by implicit rule search,"
 msgstr ""
@@ -260,7 +272,7 @@ msgstr ""
 
 # "now" es "ahora". ¿te lo has comido consciente o inconscientemente? sv
 # inconscientemente. mm
-#: src/file.c:287
+#: src/file.c:281
 #, c-format
 msgid "but '%s' is now considered the same file as '%s'."
 msgstr "pero '%s' se considera ahora como el mismo archivo que `%s'."
@@ -269,7 +281,7 @@ msgstr "pero '%s' se considera ahora como el mismo archivo que `%s'."
 # "To ignore" *no* es ignorar. sv
 # Propongo "no serán tenidas en cuenta" a falta de algo mejor.
 # Ok. Mi necedad sobrepasa el milenio. mm
-#: src/file.c:290
+#: src/file.c:284
 #, c-format
 msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
 msgstr ""
@@ -279,47 +291,62 @@ msgstr ""
 # Me suena que eso de colon es algo así como punto, dos puntos o punto y coma.
 # ¿Podrías comprobarlo? sv
 # Es un punto sencillo (.). A ver si te gusta mi propuesta. mm
-#: src/file.c:310
+#: src/file.c:304
 #, c-format
 msgid "can't rename single-colon '%s' to double-colon '%s'"
 msgstr "no se puede cambiar un punto (.) '%s' por dos puntos (:) '%s'"
 
 # Lo mismo. sv
-#: src/file.c:316
+#: src/file.c:310
 #, c-format
 msgid "can't rename double-colon '%s' to single-colon '%s'"
 msgstr "no se pueden cambiar dos puntos (:) '%s' por un punto (.) '%s'"
 
 # Propongo un cambio en el tiempo verbal: Se borra el archivo temporal. sv
 # Ok. mm
-#: src/file.c:408
+#: src/file.c:407
 #, c-format
 msgid "*** Deleting intermediate file '%s'"
 msgstr "*** Se borra el archivo intermedio '%s'"
 
 # Propongo un cambio en el tiempo verbal: Se borra el archivo temporal. sv
 # Ok. mm
-#: src/file.c:412
+#: src/file.c:411
 #, c-format
 msgid "Removing intermediate files...\n"
 msgstr "*** Se borran los archivos intermedios...\n"
 
-#: src/file.c:872
+#: src/file.c:825
+#, c-format
+msgid "%s cannot be both .NOTINTERMEDIATE and .INTERMEDIATE"
+msgstr ""
+
+#: src/file.c:840
+#, c-format
+msgid "%s cannot be both .NOTINTERMEDIATE and .SECONDARY"
+msgstr ""
+
+#: src/file.c:850
+#, c-format
+msgid ".NOTINTERMEDIATE and .SECONDARY are mutually exclusive"
+msgstr ""
+
+#: src/file.c:942
 msgid "Current time"
 msgstr "Hora actual"
 
-#: src/file.c:876
+#: src/file.c:946
 #, c-format
 msgid "%s: Timestamp out of range; substituting %s"
 msgstr "%s: Fecha fuera de intervalo; sustituyéndola %s"
 
-#: src/file.c:1016
+#: src/file.c:1089
 msgid "# Not a target:"
 msgstr "# No es un objetivo:"
 
 # Pondría: es una dependencia de em+
 # Si, tienes razón. mm
-#: src/file.c:1021
+#: src/file.c:1094
 msgid "#  Precious file (prerequisite of .PRECIOUS)."
 msgstr "#  Archivo valioso (es una dependencia de .PRECIOUS)."
 
@@ -331,7 +358,7 @@ msgstr "#  Archivo valioso (es una dependencia de .PRECIOUS)."
 # No. Incondicional no es una traducción correcta. Que tal si al rato
 # se les ocurre hacer una nueva instrucción .INCONDITIONAL.
 # Si quieres podríamos pensar en otra traducción como señuelo o algo así. mm
-#: src/file.c:1023
+#: src/file.c:1096
 msgid "#  Phony target (prerequisite of .PHONY)."
 msgstr "#  objetivo falso (dependencia de .PHONY)."
 
@@ -342,7 +369,7 @@ msgstr "#  objetivo falso (dependencia de .PHONY)."
 # Están traduciendo commands como comandos? Son más bien ordenes o
 # instrucciones. Por mi parte no hay problema, incluso me gusta más
 # comandos, pero es un anglicismo. mm
-#: src/file.c:1025
+#: src/file.c:1098
 msgid "#  Command line target."
 msgstr "#  Objetivo en línea de instrucciones."
 
@@ -354,11 +381,11 @@ msgstr "#  Objetivo en línea de instrucciones."
 # Así pues tu traducción es completamente equivocada, lo siento.
 # Pondría: Fichero por defecto o definido en la variable MAKEFILE em+
 # Cierto, lo has entendido bien. Arreglo acorde. mm
-#: src/file.c:1027
+#: src/file.c:1100
 msgid "#  A default, MAKEFILES, or -include/sinclude makefile."
 msgstr "#  Por omisión, MAKEFILES, o -include/sinclude makefile."
 
-#: src/file.c:1029
+#: src/file.c:1102
 msgid "#  Builtin rule"
 msgstr "#  Regla incorporada"
 
@@ -366,7 +393,7 @@ msgstr "#  Regla incorporada"
 # Ok. Es más literal. mm
 # Atención ! , es la búsqueda 'de'reglas implícitas em+
 # Ok. Ojo, debo pluralizar regla e implícita. Platicarlo con Ulrich. mm
-#: src/file.c:1031
+#: src/file.c:1104
 msgid "#  Implicit rule search has been done."
 msgstr "#  La búsqueda de reglas implícitas ha sido efectuada."
 
@@ -374,22 +401,42 @@ msgstr "#  La búsqueda de reglas implícitas ha sido efectuada."
 # Ok. Es más literal. mm
 # Atención ! , es la búsqueda 'de'reglas implícitas em+
 # Ok. Ojo, debo pluralizar regla e implícita. Platicarlo con Ulrich. mm
-#: src/file.c:1032
+#: src/file.c:1105
 msgid "#  Implicit rule search has not been done."
 msgstr "#  La búsqueda de reglas implícitas ha sido efectuada."
 
-#: src/file.c:1034
+#: src/file.c:1107
 #, c-format
 msgid "#  Implicit/static pattern stem: '%s'\n"
 msgstr "#  Tema del patrón implícita/estática: '%s'\n"
 
-#: src/file.c:1036
+#: src/file.c:1109
 msgid "#  File is an intermediate prerequisite."
 msgstr "#  El archivo es una dependencia intermedia."
 
+# Pondría: es una dependencia de em+
+# Si, tienes razón. mm
+#: src/file.c:1111
+#, fuzzy
+msgid "#  File is a prerequisite of .NOTINTERMEDIATE."
+msgstr "#  Archivo valioso (es una dependencia de .PRECIOUS)."
+
+# Lo mismo. Y traducir por falso es poco menos que poco exacto.
+# Los phony target de make son aquellos que se ejecutan siempre
+# sin tener en cuenta si existe un archivo con el nombre del objetivo
+# y de si es actual. Propondría incondicional en vez de falso, ya que
+# explica exactamente qué es un phony target em+
+# No. Incondicional no es una traducción correcta. Que tal si al rato
+# se les ocurre hacer una nueva instrucción .INCONDITIONAL.
+# Si quieres podríamos pensar en otra traducción como señuelo o algo así. mm
+#: src/file.c:1113
+#, fuzzy
+msgid "#  File is secondary (prerequisite of .SECONDARY)."
+msgstr "#  objetivo falso (dependencia de .PHONY)."
+
 # Sugerencia: "crea". sv
 # Ok. Aunque, viendolo bien, que tal "hace"? mm.
-#: src/file.c:1040
+#: src/file.c:1117
 msgid "#  Also makes:"
 msgstr "#  También hace:"
 
@@ -397,60 +444,60 @@ msgstr "#  También hace:"
 # Ok. Mejora. mm
 # No pondría nunca, sino simplemente 'no se comprobó 'em+
 # Si, es lo mismo pero es más español. mm
-#: src/file.c:1046
+#: src/file.c:1123
 msgid "#  Modification time never checked."
 msgstr "#  La fecha de modificación no se comprobó."
 
-#: src/file.c:1048
+#: src/file.c:1125
 msgid "#  File does not exist."
 msgstr "#  El archivo no existe."
 
-#: src/file.c:1050
+#: src/file.c:1127
 msgid "#  File is very old."
 msgstr "#  El archivo es muy viejo."
 
-#: src/file.c:1055
+#: src/file.c:1132
 #, c-format
 msgid "#  Last modified %s\n"
 msgstr "#  Última modificación %s\n"
 
-#: src/file.c:1058
+#: src/file.c:1135
 msgid "#  File has been updated."
 msgstr "#  El archivo ha sido actualizado."
 
-#: src/file.c:1058
+#: src/file.c:1135
 msgid "#  File has not been updated."
 msgstr "#  El archivo ha sido actualizado."
 
-#: src/file.c:1062
+#: src/file.c:1139
 msgid "#  Recipe currently running (THIS IS A BUG)."
 msgstr "#  Las instrucciones continúan en ejecución (ESTO ES UN BUG)."
 
 # ¿No sería más bien "las instrucciones de las dependencias"? sv
 # Si, que babas soy. Ahora corrijo. mm
-#: src/file.c:1065
+#: src/file.c:1142
 msgid "#  Dependencies recipe running (THIS IS A BUG)."
 msgstr ""
 "#  Las instrucciones de las dependencias continúan en ejecución (ESTO ES UN "
 "BUG)."
 
-#: src/file.c:1074
+#: src/file.c:1151
 msgid "#  Successfully updated."
 msgstr "#  Actualizado con éxito."
 
-#: src/file.c:1078
+#: src/file.c:1155
 msgid "#  Needs to be updated (-q is set)."
 msgstr "#  Necesita ser actualizado (la opción -q está activa)."
 
-#: src/file.c:1081
+#: src/file.c:1158
 msgid "#  Failed to be updated."
 msgstr "#  Fallo al ser actualizado."
 
-#: src/file.c:1086
+#: src/file.c:1163
 msgid "#  Invalid value in 'command_state' member!"
 msgstr "#  ¡Valor inválido en el miembro 'command_state'!"
 
-#: src/file.c:1105
+#: src/file.c:1182
 msgid ""
 "\n"
 "# Files"
@@ -458,7 +505,7 @@ msgstr ""
 "\n"
 "# Archivos"
 
-#: src/file.c:1109
+#: src/file.c:1186
 msgid ""
 "\n"
 "# files hash-table stats:\n"
@@ -468,59 +515,82 @@ msgstr ""
 "# estadísticas de la tabla «hash» de los archivos:\n"
 "# "
 
-#: src/file.c:1119
+#: src/file.c:1196
 #, c-format
 msgid "%s: Field '%s' not cached: %s"
 msgstr "%s: El campo '%s' no está en «cache»: %s"
 
-#: src/function.c:794
-msgid "non-numeric first argument to 'word' function"
+#: src/function.c:779 src/function.c:1284
+#, c-format
+msgid "%s: empty value"
+msgstr ""
+
+#: src/function.c:784
+#, c-format
+msgid "%s: '%s' out of range"
+msgstr ""
+
+#: src/function.c:800
+#, fuzzy
+msgid "invalid first argument to 'word' function"
 msgstr "el primer argumento de la función 'word' no es numérico"
 
-#: src/function.c:799
+#: src/function.c:803
 #, c-format
 msgid "first argument to 'word' function must be greater than 0"
 msgstr "el primer argumento de la función 'word' debe ser mayor que 0"
 
-#: src/function.c:819
-msgid "non-numeric first argument to 'wordlist' function"
+#: src/function.c:821
+#, fuzzy
+msgid "invalid first argument to 'wordlist' function"
 msgstr "el primer argumento de la función 'wordlist' no es numérico"
 
-#: src/function.c:821
-msgid "non-numeric second argument to 'wordlist' function"
+#: src/function.c:822
+#, fuzzy
+msgid "invalid second argument to 'wordlist' function"
 msgstr "el segundo argumento de la función 'wordlist' no es numérico"
 
-#: src/function.c:1533
-#, c-format
-msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
+#: src/function.c:1328
+#, fuzzy
+msgid "non-numeric first argument to 'intcmp' function"
+msgstr "el primer argumento de la función 'wordlist' no es numérico"
+
+#: src/function.c:1329
+#, fuzzy
+msgid "non-numeric second argument to 'intcmp' function"
+msgstr "el segundo argumento de la función 'wordlist' no es numérico"
+
+#: src/function.c:1684
+#, fuzzy, c-format
+msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%lu)\n"
 msgstr "windows32_openpipe: fallo en DuplicateHandle(In), (e=%ld)\n"
 
-#: src/function.c:1557
-#, c-format
-msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
+#: src/function.c:1708
+#, fuzzy, c-format
+msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%lu)\n"
 msgstr "windows32_openpipe: fallo en DuplicateHandle(Err), (e=%ld)\n"
 
-#: src/function.c:1564
-#, c-format
-msgid "CreatePipe() failed (e=%ld)\n"
+#: src/function.c:1715
+#, fuzzy, c-format
+msgid "CreatePipe() failed (e=%lu)\n"
 msgstr "Fallo en CreatePipe(), (e=%ld)\n"
 
-#: src/function.c:1572
+#: src/function.c:1723
 #, c-format
 msgid "windows32_openpipe(): process_init_fd() failed\n"
 msgstr "windows32_openpipe(): fallo en process_init_fd()\n"
 
-#: src/function.c:1857
+#: src/function.c:1983
 #, c-format
 msgid "Cleaning up temporary batch file %s\n"
 msgstr "Limpiando el archivo temporal %s\n"
 
-#: src/function.c:2230 src/function.c:2255
+#: src/function.c:2343 src/function.c:2373
 #, c-format
 msgid "file: missing filename"
 msgstr "archivo: falta el nombre del archivo"
 
-#: src/function.c:2234 src/function.c:2265
+#: src/function.c:2347 src/function.c:2383
 #, c-format
 msgid "open: %s: %s"
 msgstr "abrir: %s: %s"
@@ -534,17 +604,17 @@ msgstr "abrir: %s: %s"
 #  else
 #    printf ("%s[%u]: %s ", program, makelevel, message);
 # Como notarás lo del directorio va en otro lado.
-#: src/function.c:2242
+#: src/function.c:2360
 #, c-format
 msgid "write: %s: %s"
 msgstr "escribir: %s: %s"
 
-#: src/function.c:2245 src/function.c:2282
+#: src/function.c:2363 src/function.c:2402
 #, c-format
 msgid "close: %s: %s"
 msgstr "cerrar: %s: %s"
 
-#: src/function.c:2258
+#: src/function.c:2376
 #, c-format
 msgid "file: too many arguments"
 msgstr "archivo: demasiados argumentos"
@@ -558,52 +628,52 @@ msgstr "archivo: demasiados argumentos"
 #  else
 #    printf ("%s[%u]: %s ", program, makelevel, message);
 # Como notarás lo del directorio va en otro lado.
-#: src/function.c:2277
+#: src/function.c:2397
 #, c-format
 msgid "read: %s: %s"
 msgstr "leer: %s: %s"
 
-#: src/function.c:2290
+#: src/function.c:2409
 #, c-format
 msgid "file: invalid file operation: %s"
 msgstr "archivo: operación de archivo no válida: %s"
 
-#: src/function.c:2405
-#, c-format
-msgid "insufficient number of arguments (%d) to function '%s'"
+#: src/function.c:2527
+#, fuzzy, c-format
+msgid "insufficient number of arguments (%u) to function '%s'"
 msgstr "Número de argumentos (%d) insuficientes para la función '%s'"
 
-#: src/function.c:2417
+#: src/function.c:2539
 #, c-format
 msgid "unimplemented on this platform: function '%s'"
 msgstr "No implementado en esta plataforma: función '%s'"
 
-#: src/function.c:2483
+#: src/function.c:2608
 #, c-format
 msgid "unterminated call to function '%s': missing '%c'"
 msgstr "la llamada a la función '%s' no concluyó: falta '%c'"
 
-#: src/function.c:2667
+#: src/function.c:2791
 #, c-format
 msgid "Empty function name"
 msgstr "Nombre de función vacío"
 
-#: src/function.c:2669
+#: src/function.c:2793
 #, c-format
 msgid "Invalid function name: %s"
 msgstr "Nombre de función no válido: %s"
 
-#: src/function.c:2671
+#: src/function.c:2795
 #, c-format
 msgid "Function name too long: %s"
 msgstr "Nombre de función demasiado largo: %s"
 
-#: src/function.c:2674
+#: src/function.c:2798
 #, c-format
 msgid "Invalid minimum argument count (%u) for function %s"
 msgstr "Número insuficiente de argumentos (%u) para la función %s"
 
-#: src/function.c:2677
+#: src/function.c:2801
 #, c-format
 msgid "Invalid maximum argument count (%u) for function %s"
 msgstr "El número máximo de argumentos (%u) no es válido para la función %s"
@@ -703,7 +773,7 @@ msgstr "Colisiones=%lu/%lu=%.0f%%"
 # Ten en cuenta que este mensaje no parece un mensaje de error, sino más
 # de "debug" o de "verbose". sv
 # Cierto. mm
-#: src/implicit.c:38
+#: src/implicit.c:41
 #, c-format
 msgid "Looking for an implicit rule for '%s'.\n"
 msgstr "Buscando una regla implícita para '%s'.\n"
@@ -711,11 +781,19 @@ msgstr "Buscando una regla implícita para '%s'.\n"
 # Lo mismo.
 # Buscando una regla implítita para el miembro del archivo  `%s' em+
 # Se me resbaló. mm
-#: src/implicit.c:54
+#: src/implicit.c:57
 #, c-format
 msgid "Looking for archive-member implicit rule for '%s'.\n"
 msgstr "Buscando una regla implícita para el miembro del archivo '%s'.\n"
 
+# Lo mismo.
+# Buscando una regla implítita para el miembro del archivo  `%s' em+
+# Se me resbaló. mm
+#: src/implicit.c:61
+#, fuzzy, c-format
+msgid "No archive-member implicit rule found for '%s'.\n"
+msgstr "Buscando una regla implícita para el miembro del archivo '%s'.\n"
+
 # Pues si ilegal le suena a cárcel a Enrique, "evade" me suena a mí a
 # escaparse de la cárcel... (fuga de alcatraz :-)
 # te voy a dar yo a tí fuga ... em+
@@ -723,15 +801,15 @@ msgstr "Buscando una regla implícita para el miembro del archivo '%s'.\n"
 # Me gusta evade, pero evita es correcto. Acepto tu sugerencia. mm
 # No me gusta se evita, pondría evitando em+
 # Ok. Pero a mi paranoia de evitar gerundios dónde la dejas? mm
-#: src/implicit.c:311
-#, c-format
-msgid "Avoiding implicit rule recursion.\n"
+#: src/implicit.c:326
+#, fuzzy, c-format
+msgid "Avoiding implicit rule recursion for rule '%s'.\n"
 msgstr "Evitando la recursión en la regla implícita.\n"
 
-#: src/implicit.c:484
+#: src/implicit.c:451
 #, c-format
-msgid "Stem too long: '%s%.*s'.\n"
-msgstr "Tema demasiado largo: '%s%.*s'.\n"
+msgid "Trying harder.\n"
+msgstr ""
 
 # FUZZY
 # Esto me suena fatal. Se a que se refiere, porque lo
@@ -741,11 +819,16 @@ msgstr "Tema demasiado largo: '%s%.*s'.\n"
 # De momento cambio la regla patron por una regla de patron , y
 # pondría a toda costa gerundio ( intentando ) em+
 # Ok con el gerundio. Pero también tengo que meditarlo. mm
-#: src/implicit.c:490
-#, c-format
-msgid "Trying pattern rule with stem '%.*s'.\n"
+#: src/implicit.c:501
+#, fuzzy, c-format
+msgid "Trying pattern rule '%s' with stem '%.*s'.\n"
 msgstr "Intentando una regla de patrón con el tema '%.*s'.\n"
 
+#: src/implicit.c:506
+#, c-format
+msgid "Stem too long: '%s%.*s'.\n"
+msgstr "Tema demasiado largo: '%s%.*s'.\n"
+
 # ## Corrijo la palabra "dependencia". sv
 # Cuando aparezca este mensaje tendrá poco menos que sentido
 # testimonial. Date cuenta que los argumentos estan cambiados.
@@ -753,9 +836,9 @@ msgstr "Intentando una regla de patrón con el tema '%.*s'.\n"
 # aparecer tal y como está ahora (Se rechaza la dependencia imposible
 #  `%s' `%s )'em+
 # Ok. mm
-#: src/implicit.c:717
-#, c-format
-msgid "Rejecting impossible rule prerequisite '%s'.\n"
+#: src/implicit.c:768
+#, fuzzy, c-format
+msgid "Rejecting rule '%s' due to impossible rule prerequisite '%s'.\n"
 msgstr "Se rechaza la regla de dependencia imposible '%s'.\n"
 
 # ## Corrijo la palabra "dependencia". sv
@@ -765,9 +848,9 @@ msgstr "Se rechaza la regla de dependencia imposible '%s'.\n"
 # aparecer tal y como está ahora (Se rechaza la dependencia imposible
 #  `%s' `%s )'em+
 # Ok. mm
-#: src/implicit.c:718
-#, c-format
-msgid "Rejecting impossible implicit prerequisite '%s'.\n"
+#: src/implicit.c:770
+#, fuzzy, c-format
+msgid "Rejecting rule '%s' due to impossible implicit prerequisite '%s'.\n"
 msgstr "Se rechaza la dependencia implícita imposible '%s'.\n"
 
 # FUZZY
@@ -778,7 +861,7 @@ msgstr "Se rechaza la dependencia implícita imposible '%s'.\n"
 # De momento cambio la regla patron por una regla de patron , y
 # pondría a toda costa gerundio ( intentando ) em+
 # Ok con el gerundio. Pero también tengo que meditarlo. mm
-#: src/implicit.c:732
+#: src/implicit.c:787
 #, c-format
 msgid "Trying rule prerequisite '%s'.\n"
 msgstr "Intentando la regla de dependencia '%s'.\n"
@@ -790,116 +873,182 @@ msgstr "Intentando la regla de dependencia '%s'.\n"
 # Me gusta evade, pero evita es correcto. Acepto tu sugerencia. mm
 # No me gusta se evita, pondría evitando em+
 # Ok. Pero a mi paranoia de evitar gerundios dónde la dejas? mm
-#: src/implicit.c:733
+#: src/implicit.c:788
 #, c-format
 msgid "Trying implicit prerequisite '%s'.\n"
 msgstr "Probando la dependencia implícita '%s'.\n"
 
-#: src/implicit.c:772
+#: src/implicit.c:827
+#, fuzzy, c-format
+msgid "'%s' ought to exist.\n"
+msgstr "El archivo '%s' no existe.\n"
+
+#: src/implicit.c:834
 #, c-format
-msgid "Found prerequisite '%s' as VPATH '%s'\n"
+msgid "Found '%s'.\n"
+msgstr ""
+
+#: src/implicit.c:842
+#, fuzzy, c-format
+msgid "Using compatibility rule '%s' due to '%s'.\n"
+msgstr "%s: actualizar el objetivo '%s' a causa de: %s"
+
+#: src/implicit.c:856
+#, fuzzy, c-format
+msgid "Prerequisite '%s' of rule '%s' does not qualify as ought to exist.\n"
+msgstr "La dependencia '%s' del objetivo '%s' no existe.\n"
+
+#: src/implicit.c:870
+#, fuzzy, c-format
+msgid "Found prerequisite '%s' as VPATH '%s'.\n"
 msgstr "Se encontró la dependencia '%s' como la VPATH '%s'.\n"
 
-#: src/implicit.c:786
+#: src/implicit.c:885
+#, fuzzy, c-format
+msgid "Looking for a rule with explicit file '%s'.\n"
+msgstr "Se busca una regla con el archivo intermedio '%s'.\n"
+
+#: src/implicit.c:886
 #, c-format
 msgid "Looking for a rule with intermediate file '%s'.\n"
 msgstr "Se busca una regla con el archivo intermedio '%s'.\n"
 
-#: src/job.c:370
-msgid "Cannot create a temporary file\n"
+# ## Corrijo la palabra "dependencia". sv
+# Cuando aparezca este mensaje tendrá poco menos que sentido
+# testimonial. Date cuenta que los argumentos estan cambiados.
+# Pon el orden correcto, siempre será más lógico que lo que vaya a
+# aparecer tal y como está ahora (Se rechaza la dependencia imposible
+#  `%s' `%s )'em+
+# Ok. mm
+#: src/implicit.c:927
+#, fuzzy, c-format
+msgid "Rejecting rule '%s' due to impossible prerequisite '%s'.\n"
+msgstr "Se rechaza la regla de dependencia imposible '%s'.\n"
+
+# Se ha encontrado em+
+# Ok, pero procuro evitar como a la muerte los gerundios. mm
+#: src/implicit.c:931
+#, fuzzy, c-format
+msgid "Not found '%s'.\n"
+msgstr "No se ha encontrado ninguna regla implícita para '%s'.\n"
+
+#: src/implicit.c:1144
+#, fuzzy, c-format
+msgid "Found implicit rule '%s' for '%s'.\n"
+msgstr "Se encontró una regla implícita para '%s'.\n"
+
+# Y no sería mejor "Buscando una regla implícita ..."
+# Ten en cuenta que este mensaje no parece un mensaje de error, sino más
+# de "debug" o de "verbose". sv
+# Cierto. mm
+#: src/implicit.c:1151
+#, fuzzy, c-format
+msgid "Searching for a compatibility rule for '%s'.\n"
+msgstr "Buscando una regla implícita para '%s'.\n"
+
+# Se ha encontrado em+
+# Ok, pero procuro evitar como a la muerte los gerundios. mm
+#: src/implicit.c:1157
+#, c-format
+msgid "No implicit rule found for '%s'.\n"
+msgstr "No se ha encontrado ninguna regla implícita para '%s'.\n"
+
+#: src/job.c:380
+#, fuzzy
+msgid "Cannot create a temporary file"
 msgstr "No se puede crear un archivo temporal\n"
 
 # Sugerencia: " (volcado de `core')". sv
 # volcado de `core' no significa nada, que te parece si mejor dejamos
 # el core dumped, o bien volcado del núcleo o algo así. Por el momento
 # no cambio nada. mm
-#: src/job.c:548
+#: src/job.c:552
 msgid " (core dumped)"
 msgstr " (core dumped) [Núcleo vaciado a un archivo]"
 
 # Preferiría mil veces "sin efecto" o algo parecido. sv
 # Ok. Habíamos quedado en `no tiene efecto'. mm
-#: src/job.c:553
+#: src/job.c:557
 msgid " (ignored)"
 msgstr " (no tiene efecto)"
 
-#: src/job.c:557 src/job.c:1892
+#: src/job.c:561 src/job.c:1900
 msgid "<builtin>"
 msgstr "<integrado>"
 
-#: src/job.c:573
-#, c-format
-msgid "%s[%s: %s] Error %d%s"
+#: src/job.c:587
+#, fuzzy, c-format
+msgid "%s[%s: %s] Error %d%s%s"
 msgstr "%s[%s: %s] Error %d%s"
 
 # ¿Y job -> trabajos? sv
 # Si, pero no hablas de una computadora multi-trabajos sino multi-tareas.
 # Por eso elegí tareas. Lo platicamos con más calma? mm
-#: src/job.c:662
+#: src/job.c:677
 #, c-format
 msgid "*** Waiting for unfinished jobs...."
 msgstr "*** Se espera a que terminen otras tareas...."
 
 # ¿De verdad se dice "vivo"? Si es un proceso, se me ocurre "activo". sv
 # Me gusta lo de activo. mm
-#: src/job.c:704
+#: src/job.c:719
 #, c-format
 msgid "Live child %p (%s) PID %s %s\n"
 msgstr "Hijo activo %p (%s) PID %s %s\n"
 
-#: src/job.c:706 src/job.c:900 src/job.c:1072 src/job.c:1644
+#: src/job.c:721 src/job.c:916 src/job.c:1084 src/job.c:1652
 #, c-format
 msgid " (remote)"
 msgstr " (remoto)"
 
 # Lo mismo, pon Proceso hijo, y quita lo que hay
 # entre paréntesis em+
-#: src/job.c:898
+#: src/job.c:914
 #, c-format
 msgid "Reaping winning child %p PID %s %s\n"
 msgstr "Se recupera al proceso hijo ganador %p PID %s %s\n"
 
 # Lo mismo, pon Proceso hijo, y quita lo que hay
 # entre paréntesis em+
-#: src/job.c:899
+#: src/job.c:915
 #, c-format
 msgid "Reaping losing child %p PID %s %s\n"
 msgstr "Se recupera al proceso hijo perdido %p PID %s %s\n"
 
 # Give up no es enfocar, es abandonar, o desistir em+
 # Si, metí la pata. mm
-#: src/job.c:950
+#: src/job.c:966
 #, c-format
 msgid "Cleaning up temp batch file %s\n"
 msgstr "Se limpia el archivo temporal %s\n"
 
 # Give up no es enfocar, es abandonar, o desistir em+
 # Si, metí la pata. mm
-#: src/job.c:956
+#: src/job.c:972
 #, c-format
 msgid "Cleaning up temp batch file %s failed (%d)\n"
 msgstr "Fallo al limpiar el archivo temporal por lotes %s (%d)\n"
 
 # Proceso hijo em+
 # Ok.
-#: src/job.c:1071
+#: src/job.c:1083
 #, c-format
 msgid "Removing child %p PID %s%s from chain.\n"
 msgstr "Se elimina al proceso hijo %p PID %s%s de la cadena.\n"
 
 # Lo mismo, pon Proceso hijo, y quita lo que hay
 # entre paréntesis em+
-#: src/job.c:1120
+#: src/job.c:1146
 #, c-format
 msgid "Released token for child %p (%s).\n"
 msgstr "Se libera el token para el proceso hijo %p (%s).\n"
 
-#: src/job.c:1575 src/job.c:2487
+#: src/job.c:1583 src/job.c:2497
 #, c-format
 msgid "process_easy() failed to launch process (e=%ld)\n"
 msgstr "fallo en process_easy() para lanzar al proceso (e=%ld)\n"
 
-#: src/job.c:1579 src/job.c:2491
+#: src/job.c:1587 src/job.c:2501
 #, c-format
 msgid ""
 "\n"
@@ -910,88 +1059,88 @@ msgstr ""
 
 # Proceso hijo em+
 # Ok.
-#: src/job.c:1642
+#: src/job.c:1650
 #, c-format
 msgid "Putting child %p (%s) PID %s%s on the chain.\n"
 msgstr "Se pone al proceso hijo %p (%s) PID %s%s en la cadena.\n"
 
 # Lo mismo, pon Proceso hijo, y quita lo que hay
 # entre paréntesis em+
-#: src/job.c:1875
+#: src/job.c:1883
 #, c-format
 msgid "Obtained token for child %p (%s).\n"
 msgstr "Se obtiene el token para el proceso hijo %p (%s).\n"
 
-#: src/job.c:1902
-#, c-format
-msgid "%s: target '%s' does not exist"
-msgstr "%s: el objetivo '%s' no existe"
-
-#: src/job.c:1905
+#: src/job.c:1909
 #, c-format
 msgid "%s: update target '%s' due to: %s"
 msgstr "%s: actualizar el objetivo '%s' a causa de: %s"
 
-#: src/job.c:2108
+#: src/job.c:1910
+#, fuzzy
+msgid "target does not exist"
+msgstr "%s: el objetivo '%s' no existe"
+
+#: src/job.c:2104
 #, c-format
 msgid "cannot enforce load limits on this operating system"
 msgstr "no se pueden forzar los límites de carga en este sistema operativo"
 
-#: src/job.c:2110
+#: src/job.c:2106
 msgid "cannot enforce load limit: "
 msgstr "no se puede forzar la carga límite: "
 
-#: src/job.c:2200
-#, c-format
-msgid "no more file handles: could not duplicate stdin\n"
+#: src/job.c:2195
+#, fuzzy, c-format
+msgid "no more file handles: could not duplicate stdin"
 msgstr "no hay más manejadores de archivos: no se puede duplicar stdin\n"
 
-#: src/job.c:2212
-#, c-format
-msgid "no more file handles: could not duplicate stdout\n"
+#: src/job.c:2207
+#, fuzzy, c-format
+msgid "no more file handles: could not duplicate stdout"
 msgstr "no hay más manejadores de archivos: no se puede duplicar stdout\n"
 
-#: src/job.c:2226
-#, c-format
-msgid "no more file handles: could not duplicate stderr\n"
+#: src/job.c:2221
+#, fuzzy, c-format
+msgid "no more file handles: could not duplicate stderr"
 msgstr "no hay más manejadores de archivos: no se puede duplicar stderr\n"
 
-#: src/job.c:2241
-#, c-format
-msgid "Could not restore stdin\n"
+#: src/job.c:2236
+#, fuzzy, c-format
+msgid "Could not restore stdin"
 msgstr "No se puede restaurar stdin\n"
 
-#: src/job.c:2249
-#, c-format
-msgid "Could not restore stdout\n"
+#: src/job.c:2244
+#, fuzzy, c-format
+msgid "Could not restore stdout"
 msgstr "No se puede restaurar stdout\n"
 
-#: src/job.c:2257
-#, c-format
-msgid "Could not restore stderr\n"
+#: src/job.c:2252
+#, fuzzy, c-format
+msgid "Could not restore stderr"
 msgstr "No se puede restaurar stderr\n"
 
-#: src/job.c:2520
+#: src/job.c:2530
 #, c-format
 msgid "make reaped child pid %s, still waiting for pid %s\n"
 msgstr "hacer un hijo descarriado %s, aún se espera por el pid %s\n"
 
-#: src/job.c:2623
+#: src/job.c:2630
 #, c-format
 msgid "spawnvpe: environment space might be exhausted"
 msgstr "spawnvpe: el espacio ambiental podría estar agotado"
 
-#: src/job.c:2862
+#: src/job.c:2869
 #, c-format
 msgid "$SHELL changed (was '%s', now '%s')\n"
 msgstr "$SHELL ha cambiado (era '%s' y ahora es '%s')\n"
 
-#: src/job.c:3300 src/job.c:3485
+#: src/job.c:3306 src/job.c:3510
 #, c-format
 msgid "Creating temporary batch file %s\n"
 msgstr "Se crea el archivo temporal %s\n"
 
-#: src/job.c:3308
+#: src/job.c:3314
 #, c-format
 msgid ""
 "Batch file contents:\n"
@@ -1000,7 +1149,7 @@ msgstr ""
 "Contenido del archivo de lotes:\n"
 "\t@echo off\n"
 
-#: src/job.c:3497
+#: src/job.c:3522
 #, c-format
 msgid ""
 "Batch file contents:%s\n"
@@ -1009,7 +1158,7 @@ msgstr ""
 "Contenido del archivo de lotes:%s\n"
 "\t%s\n"
 
-#: src/job.c:3605
+#: src/job.c:3630
 #, c-format
 msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
 msgstr ""
@@ -1020,49 +1169,59 @@ msgstr ""
 msgid "Failed to open global symbol table: %s"
 msgstr "Fallo al abrir tabla global de símbolos: %s"
 
-#: src/load.c:97
+#: src/load.c:93
+#, c-format
+msgid "Loaded shared object %s\n"
+msgstr ""
+
+#: src/load.c:99
 #, c-format
 msgid "Loaded object %s is not declared to be GPL compatible"
 msgstr ""
 "El objeto %s que se ha cargado no está declarado como compatible con GPL"
 
-#: src/load.c:104
+#: src/load.c:106
 #, c-format
 msgid "Failed to load symbol %s from %s: %s"
 msgstr "Fallo al cargar símbolo %s desde %s: %s"
 
-#: src/load.c:149
+#: src/load.c:151
 #, c-format
 msgid "Empty symbol name for load: %s"
 msgstr "Nombre de símbolo vacío en la carga: %s"
 
-#: src/load.c:204
+#: src/load.c:206
 #, c-format
 msgid "Loading symbol %s from %s\n"
 msgstr "Cargando símbolo %s desde %s\n"
 
-#: src/load.c:256
+#: src/load.c:232
 #, c-format
-msgid "The 'load' operation is not supported on this platform."
+msgid "Unloading shared object %s\n"
+msgstr ""
+
+#: src/load.c:251
+#, fuzzy, c-format
+msgid "The 'load' operation is not supported on this platform"
 msgstr "La operación 'load' no está implementada en esta plataforma."
 
-#: src/main.c:335
+#: src/main.c:317
 msgid "Options:\n"
 msgstr "Opciones:\n"
 
 # Lo mismo de arriba con "ignorar". sv
 # Ok. mm.
-#: src/main.c:336
+#: src/main.c:318
 msgid "  -b, -m                      Ignored for compatibility.\n"
 msgstr ""
 "  -b, -m                      No se tendrá en cuenta por compatibilidad.\n"
 
-#: src/main.c:338
+#: src/main.c:320
 msgid "  -B, --always-make           Unconditionally make all targets.\n"
 msgstr ""
 "  -B, --always-make           Hace incondicionalmente todos los objetivos.\n"
 
-#: src/main.c:340
+#: src/main.c:322
 msgid ""
 "  -C DIRECTORY, --directory=DIRECTORY\n"
 "                              Change to DIRECTORY before doing anything.\n"
@@ -1073,7 +1232,7 @@ msgstr ""
 # ¿"depurado" o "depuración"? sv
 # Puse de depurado para evitar la cacofonía información depuración.
 # Sugerencias bienvenidas. mm
-#: src/main.c:343
+#: src/main.c:325
 msgid "  -d                          Print lots of debugging information.\n"
 msgstr ""
 "  -d          Se imprimirán grandes cantidades de información de depurado.\n"
@@ -1081,14 +1240,14 @@ msgstr ""
 # ¿"depurado" o "depuración"? sv
 # Puse de depurado para evitar la cacofonía información depuración.
 # Sugerencias bienvenidas. mm
-#: src/main.c:345
+#: src/main.c:327
 msgid ""
 "  --debug[=FLAGS]             Print various types of debugging information.\n"
 msgstr ""
 "  --debug[=BANDERAS]    Se imprimirán varios tipos de información de "
 "depurado.\n"
 
-#: src/main.c:347
+#: src/main.c:329
 msgid ""
 "  -e, --environment-overrides\n"
 "                              Environment variables override makefiles.\n"
@@ -1097,14 +1256,14 @@ msgstr ""
 "                Las variables ambientales se imponen a las de los "
 "makefiles.\n"
 
-#: src/main.c:350
+#: src/main.c:332
 msgid ""
 "  -E STRING, --eval=STRING    Evaluate STRING as a makefile statement.\n"
 msgstr ""
 "   -E CADENA, --eval=CADENA   Evalúa la CADENA como una instrucción de un "
 "makefile.\n"
 
-#: src/main.c:352
+#: src/main.c:334
 msgid ""
 "  -f FILE, --file=FILE, --makefile=FILE\n"
 "                              Read FILE as a makefile.\n"
@@ -1112,7 +1271,7 @@ msgstr ""
 "  -f ARCHIVO, --file=ARCHIVO, --makefile=ARCHIVO\n"
 "                                   Lee al ARCHIVO como un makefile.\n"
 
-#: src/main.c:355
+#: src/main.c:337
 msgid "  -h, --help                  Print this message and exit.\n"
 msgstr "  -h, --help                  Muestra este mensaje y finaliza.\n"
 
@@ -1122,13 +1281,13 @@ msgstr "  -h, --help                  Muestra este mensaje y finaliza.\n"
 # tambien.
 # No me gusta este mensaje, preferiría: Se ignoran los errores obtenidos
 # en la ejecución de las instrucciones  em+
-#: src/main.c:357
+#: src/main.c:339
 msgid "  -i, --ignore-errors         Ignore errors from recipes.\n"
 msgstr ""
 "  -i, --ignore-errors         No se toman en cuenta los errores provenientes "
 "de las instrucciones.\n"
 
-#: src/main.c:359
+#: src/main.c:341
 msgid ""
 "  -I DIRECTORY, --include-dir=DIRECTORY\n"
 "                              Search DIRECTORY for included makefiles.\n"
@@ -1139,7 +1298,7 @@ msgstr ""
 # Yo traduciría "infinite" por "infinitos", no por "una infinidad", que
 # parece que son muchos menos... sv
 # Ok. mm
-#: src/main.c:362
+#: src/main.c:344
 msgid ""
 "  -j [N], --jobs[=N]          Allow N jobs at once; infinite jobs with no "
 "arg.\n"
@@ -1148,16 +1307,20 @@ msgstr ""
 "especifica un\n"
 "argumento son infinitos.\n"
 
+#: src/main.c:346
+msgid "  --jobserver-style=STYLE     Select the style of jobserver to use.\n"
+msgstr ""
+
 # No entiendo por qué aquí empleas subjuntivo: "pudieron". sv
 # Es incorrecto. Es una de las opciones `k' que dice... mm
-#: src/main.c:364
+#: src/main.c:348
 msgid ""
 "  -k, --keep-going            Keep going when some targets can't be made.\n"
 msgstr ""
 "  -k, --keep-going            Sigue avanzando aún cuando no se puedan crear "
 "algunos objetivos.\n"
 
-#: src/main.c:366
+#: src/main.c:350
 msgid ""
 "  -l [N], --load-average[=N], --max-load[=N]\n"
 "                              Don't start multiple jobs unless load is below "
@@ -1167,7 +1330,7 @@ msgstr ""
 "      No inicia con trabajos múltiples a menos que la carga esté por debajo "
 "de N.\n"
 
-#: src/main.c:369
+#: src/main.c:353
 msgid ""
 "  -L, --check-symlink-times   Use the latest mtime between symlinks and "
 "target.\n"
@@ -1175,7 +1338,7 @@ msgstr ""
 "  -L, --check-symlink-times   Utiliza el último mtime entre los enlaces "
 "simbólicos y los objetivos.\n"
 
-#: src/main.c:371
+#: src/main.c:355
 msgid ""
 "  -n, --just-print, --dry-run, --recon\n"
 "                              Don't actually run any recipe; just print "
@@ -1185,7 +1348,7 @@ msgstr ""
 "                              No ejecuta ninguna instrucción; sólo las "
 "muestra.\n"
 
-#: src/main.c:374
+#: src/main.c:358
 msgid ""
 "  -o FILE, --old-file=FILE, --assume-old=FILE\n"
 "                              Consider FILE to be very old and don't remake "
@@ -1195,7 +1358,7 @@ msgstr ""
 "                           Supone que ARCHIVO es muy viejo y no lo "
 "reconstruye.\n"
 
-#: src/main.c:377
+#: src/main.c:361
 msgid ""
 "  -O[TYPE], --output-sync[=TYPE]\n"
 "                              Synchronize output of parallel jobs by TYPE.\n"
@@ -1206,13 +1369,13 @@ msgstr ""
 
 # de 'make' em+
 # ok. mm
-#: src/main.c:380
+#: src/main.c:364
 msgid "  -p, --print-data-base       Print make's internal database.\n"
 msgstr ""
 "  -p, --print-data-base       Se imprime la base de datos interna de "
 "'make'.\n"
 
-#: src/main.c:382
+#: src/main.c:366
 msgid ""
 "  -q, --question              Run no recipe; exit status says if up to "
 "date.\n"
@@ -1226,7 +1389,7 @@ msgstr ""
 # ¡ Por favor ! , ¿ pero qué es eso de interconstruidas ?
 # Pon almacenadas internamente, que es exactamente lo que son :) em+
 # Bueno, bajo protesta. mm
-#: src/main.c:384
+#: src/main.c:368
 msgid "  -r, --no-builtin-rules      Disable the built-in implicit rules.\n"
 msgstr ""
 "  -r, --no-builtin-rules      Se deshabilitan las reglas implícitas "
@@ -1237,23 +1400,29 @@ msgstr ""
 # ¡ Por favor ! , ¿ pero qué es eso de interconstruidas ?
 # Pon almacenadas internamente, que es exactamente lo que son :) em+
 # Bueno, bajo protesta. mm
-#: src/main.c:386
+#: src/main.c:370
 msgid "  -R, --no-builtin-variables  Disable the built-in variable settings.\n"
 msgstr ""
 "  -R, --no-builtin-variables  Se deshabilitan los ajustes a las variables "
 "almacenadas internamente.\n"
 
-#: src/main.c:388
+#: src/main.c:372
+msgid ""
+"  --shuffle[={SEED|random|reverse|none}]\n"
+"                              Perform shuffle of prerequisites and goals.\n"
+msgstr ""
+
+#: src/main.c:375
 msgid "  -s, --silent, --quiet       Don't echo recipes.\n"
 msgstr "  -s, --silent, --quiet       No muestra las instrucciones.\n"
 
-#: src/main.c:390
+#: src/main.c:377
 msgid "  --no-silent                 Echo recipes (disable --silent mode).\n"
 msgstr ""
 "  --no-silent                 Muestra las instrucciones (desactiva el modo --"
 "silent).\n"
 
-#: src/main.c:392
+#: src/main.c:379
 msgid ""
 "  -S, --no-keep-going, --stop\n"
 "                              Turns off -k.\n"
@@ -1266,7 +1435,7 @@ msgstr ""
 #
 # Pues entonces cámbialo arriba tambien em+
 # En donde? mm
-#: src/main.c:395
+#: src/main.c:382
 msgid "  -t, --touch                 Touch targets instead of remaking them.\n"
 msgstr ""
 "  -t, --touch                 Se tocan los objetivos en vez de "
@@ -1275,20 +1444,20 @@ msgstr ""
 # ¿"depurado" o "depuración"? sv
 # Puse de depurado para evitar la cacofonía información depuración.
 # Sugerencias bienvenidas. mm
-#: src/main.c:397
+#: src/main.c:384
 msgid "  --trace                     Print tracing information.\n"
 msgstr "  --trace                     Muestra trazas.\n"
 
 # Me comería el "Se" inicial. "Muestra la versión..." sv
 # Ok. mm
-#: src/main.c:399
+#: src/main.c:386
 msgid ""
 "  -v, --version               Print the version number of make and exit.\n"
 msgstr ""
 "  -v, --version               Muestra la versión del make y finaliza.\n"
 
 # Lo mismo. sv
-#: src/main.c:401
+#: src/main.c:388
 msgid "  -w, --print-directory       Print the current directory.\n"
 msgstr "  -w, --print-directory       Muestra el directorio actual.\n"
 
@@ -1297,7 +1466,7 @@ msgstr "  -w, --print-directory       Muestra el directorio actual.\n"
 # apaga luz Mari Luz apaga luz ,que yo no puedo vivir con
 # tanta luz ... ( canción tradicional ) ( no lo pude evitar ) em+
 # Juar, Juar, Juar. Coincido, pero el sentido es el mismo. mm
-#: src/main.c:403
+#: src/main.c:390
 msgid ""
 "  --no-print-directory        Turn off -w, even if it was turned on "
 "implicitly.\n"
@@ -1305,7 +1474,7 @@ msgstr ""
 "  --no-print-directory        Desactiva -w, aún cuando haya sido activado "
 "implícitamente.\n"
 
-#: src/main.c:405
+#: src/main.c:392
 msgid ""
 "  -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
 "                              Consider FILE to be infinitely new.\n"
@@ -1316,7 +1485,7 @@ msgstr ""
 
 # Lo mismo. sv
 # Todas estas parecen descripciones de opciones.
-#: src/main.c:408
+#: src/main.c:395
 msgid ""
 "  --warn-undefined-variables  Warn when an undefined variable is "
 "referenced.\n"
@@ -1324,28 +1493,75 @@ msgstr ""
 "  --warn-undefined-variables  Advierte cuando se hace una referencia a una "
 "variable no definida.\n"
 
-#: src/main.c:671
+# Probablemente sea aquí donde haya que ponerle el "el" para que "Entering"
+# concuerde bien con esta frase y con la anterior simultáneamente. sv
+# No. Ya revisé el fuente y transcribo el trozo pertinente:
+#  char *message = entering ? "Entering" : "Leaving";
+#  if (makelevel == 0)
+#    printf ("%s: %s ", program, message);
+#  else
+#    printf ("%s[%u]: %s ", program, makelevel, message);
+# Como notarás lo del directorio va en otro lado.
+#: src/main.c:728 src/main.c:730
+#, c-format
+msgid "write error: stdout"
+msgstr "error al escribir: stdout"
+
+#: src/main.c:742
 #, c-format
 msgid "empty string invalid as file name"
 msgstr "no se permite que una cadena vacía sea el nombre de un archivo"
 
-#: src/main.c:754
+#: src/main.c:834
 #, c-format
 msgid "unknown debug level specification '%s'"
 msgstr "se especificó un nivel de depuración desconocido '%s'"
 
-#: src/main.c:794
+#: src/main.c:874
 #, c-format
 msgid "unknown output-sync type '%s'"
 msgstr "tipo de sincronización de salida desconocido '%s'"
 
-#: src/main.c:849
+# ¿Y Modo de empleo? sv
+# Soy medio bestia. Debería hacerlo automático. mm
+# "target" es "objetivo", no "objetivos". Fíjate que lleva puntos
+# suspensivos, permitiendo así varios objetivos. sv
+# Ok. mm
+#: src/main.c:898
+#, c-format
+msgid "Usage: %s [options] [target] ...\n"
+msgstr "Modo de empleo: %s [opciones] [objetivo] ...\n"
+
+#: src/main.c:904
+#, c-format
+msgid ""
+"\n"
+"This program built for %s\n"
+msgstr ""
+"\n"
+"Este programa fue construido para %s\n"
+
+#: src/main.c:906
+#, c-format
+msgid ""
+"\n"
+"This program built for %s (%s)\n"
+msgstr ""
+"\n"
+"Este programa construido para %s (%s)\n"
+
+#: src/main.c:909
+#, c-format
+msgid "Report bugs to <bug-make@gnu.org>\n"
+msgstr "Informe sobre los errores a <bug-make@gnu.org>\n"
+
+#: src/main.c:940
 #, c-format
 msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
 msgstr ""
 "%s: Se atrapó una interrupción/excepción (código = 0x%lx, dirección = 0x%p)\n"
 
-#: src/main.c:856
+#: src/main.c:947
 #, c-format
 msgid ""
 "\n"
@@ -1360,29 +1576,33 @@ msgstr ""
 "Banderas de la excepción = %lx\n"
 "Dirección de la excepción = 0x%p\n"
 
-#: src/main.c:864
+#: src/main.c:955
 #, c-format
 msgid "Access violation: write operation at address 0x%p\n"
 msgstr "Violación de acceso: operación de escritura en la dirección 0x%p\n"
 
-#: src/main.c:865
+#: src/main.c:956
 #, c-format
 msgid "Access violation: read operation at address 0x%p\n"
 msgstr "Violación de acceso: operación de lectura en la dirección 0x%p\n"
 
-#: src/main.c:941 src/main.c:956
+#: src/main.c:1028 src/main.c:1042
 #, c-format
 msgid "find_and_set_shell() setting default_shell = %s\n"
 msgstr "la función find_and_set_shell() pone el valor del default_shell = %s\n"
 
-#: src/main.c:1009
+#: src/main.c:1098
 #, c-format
 msgid "find_and_set_shell() path search set default_shell = %s\n"
 msgstr ""
 "la función find_and_set_shell() pone el valor de la ruta de búsceda "
 "default_shell = %s\n"
 
-#: src/main.c:1609
+#: src/main.c:1151
+msgid "unlink (temporary file): "
+msgstr "unlink (archivo temporal)"
+
+#: src/main.c:1833
 #, c-format
 msgid ""
 "warning: jobserver unavailable: using -j1.  Add '+' to parent make rule."
@@ -1390,53 +1610,65 @@ msgstr ""
 "atención: el servidor de tareas no está disponible: se utilizará -j1. Añada "
 "'+' a la regla padre del make."
 
-#: src/main.c:1617
+#: src/main.c:1841
 #, c-format
 msgid "warning: -j%d forced in submake: resetting jobserver mode."
 msgstr ""
 "atención: se fuerza a -j%d en el submake: se restablece el modo de servidor "
 "de tareas."
 
-#: src/main.c:1781
-#, c-format
-msgid "Makefile from standard input specified twice."
+#: src/main.c:1930
+#, fuzzy, c-format
+msgid "Makefile from standard input specified twice"
 msgstr ""
 "El archivo Makefile ha sido especificado dos veces desde la entrada estándard"
 
-#: src/main.c:1819 src/vmsjobs.c:1248
-msgid "fopen (temporary file)"
-msgstr "fopen (archivo temporal)"
-
-#: src/main.c:1825
-msgid "fwrite (temporary file)"
+#: src/main.c:1940
+#, fuzzy, c-format
+msgid "fwrite: temporary file %s: %s"
 msgstr "fwrite (archivo temporal)"
 
-#: src/main.c:2004
+#: src/main.c:2095
 #, c-format
 msgid "warning: -j%d forced in makefile: resetting jobserver mode."
 msgstr ""
 "atención: se fuerza a -j%d en el makefile: se restablece el modo de servidor "
 "de tareas."
 
-#: src/main.c:2068
+#: src/main.c:2191
 #, c-format
 msgid "Parallel jobs (-j) are not supported on this platform."
 msgstr ""
 "Los trabajos en paralelo (-j) no están implementados en esta plataforma."
 
-#: src/main.c:2069
+#: src/main.c:2192
 #, c-format
 msgid "Resetting to single job (-j1) mode."
 msgstr "Reajustando al modo monotarea (-j1)."
 
-#: src/main.c:2109
+#: src/main.c:2248
+#, c-format
+msgid "Using jobserver controller %s\n"
+msgstr ""
+
+#: src/main.c:2250
+#, fuzzy, c-format
+msgid "Using output-sync mutex %s\n"
+msgstr "tipo de sincronización de salida desconocido '%s'"
+
+#: src/main.c:2255
 #, c-format
 msgid "Symbolic links not supported: disabling -L."
 msgstr "Los enlaces simbólicos no están implementados: se deshabilitan con -L."
 
+#: src/main.c:2327
+#, c-format
+msgid "Enabled shuffle mode: %s\n"
+msgstr ""
+
 # Antes pusiste "makefiles". Coherencia. sv
 # Cierto. mm
-#: src/main.c:2190
+#: src/main.c:2339
 #, c-format
 msgid "Updating makefiles....\n"
 msgstr "Actualizando archivos makefiles....\n"
@@ -1447,134 +1679,107 @@ msgstr "Actualizando archivos makefiles....\n"
 # Pondría ( como en un mensaje anterior ) se autoreferencia ... em+
 # He puesto makefile con minúsculas , par ser coherentes em+
 # Ok. Es más breve. mm.
-#: src/main.c:2226
+#: src/main.c:2397
 #, c-format
 msgid "Makefile '%s' might loop; not remaking it.\n"
 msgstr ""
 "El makefile '%s' podría entrar en bucle; por lo tanto, no se reconstruye.\n"
 
+#: src/main.c:2443 src/main.c:2499 src/output.c:519
+#, c-format
+msgid "%s: %s"
+msgstr "%s: %s"
+
+#: src/main.c:2476 src/read.c:970
+#, c-format
+msgid "%s: failed to load"
+msgstr "%s: fallo al cargar"
+
 # Lo mismo. sv
-#: src/main.c:2303
+#: src/main.c:2528
 #, c-format
 msgid "Failed to remake makefile '%s'."
 msgstr "Fallo al reconstruir el makefile '%s'."
 
 # Lo mismo. sv
-#: src/main.c:2323
+#: src/main.c:2548
 #, c-format
 msgid "Included makefile '%s' was not found."
 msgstr "No se encontró el makefile incluído '%s'."
 
 # Lo mismo. sv
-#: src/main.c:2328
+#: src/main.c:2552
 #, c-format
 msgid "Makefile '%s' was not found"
 msgstr "No se encontró el makefile '%s'"
 
-#: src/main.c:2394
-#, c-format
-msgid "Couldn't change back to original directory."
+#: src/main.c:2700
+#, fuzzy, c-format
+msgid "Couldn't change back to original directory"
 msgstr "No se pudo regresar al directorio original."
 
-#: src/main.c:2402
+#: src/main.c:2708
 #, c-format
 msgid "Re-executing[%u]:"
 msgstr "Re-ejecutando[%u]:"
 
-#: src/main.c:2522
-msgid "unlink (temporary file): "
-msgstr "unlink (archivo temporal)"
-
-#: src/main.c:2555
+#: src/main.c:2863
 #, c-format
 msgid ".DEFAULT_GOAL contains more than one target"
 msgstr ".DEFAULT_GOAL contien más de un objetivo"
 
-#: src/main.c:2579
+#: src/main.c:2887
 #, c-format
 msgid "No targets"
 msgstr "No hay objetivos"
 
 # Sugerencia: "No se especificó ningún objetivo ... " sv
 # Ok. Me gusta. mm
-#: src/main.c:2581
+#: src/main.c:2889
 #, c-format
 msgid "No targets specified and no makefile found"
 msgstr "No se especificó ningún objetivo y no se encontró ningún makefile"
 
-#: src/main.c:2586
+#: src/main.c:2898
 #, c-format
 msgid "Updating goal targets....\n"
 msgstr "Actualizando los objetivos finales....\n"
 
-#: src/main.c:2610
+#: src/main.c:2922
 #, c-format
 msgid "warning:  Clock skew detected.  Your build may be incomplete."
 msgstr ""
 "atención: Se ha detectado una desviación en el reloj. La construcción podría "
 "estar incompleta."
 
-# ¿Y Modo de empleo? sv
-# Soy medio bestia. Debería hacerlo automático. mm
-# "target" es "objetivo", no "objetivos". Fíjate que lleva puntos
-# suspensivos, permitiendo así varios objetivos. sv
-# Ok. mm
-#: src/main.c:2804
-#, c-format
-msgid "Usage: %s [options] [target] ...\n"
-msgstr "Modo de empleo: %s [opciones] [objetivo] ...\n"
-
-#: src/main.c:2810
-#, c-format
-msgid ""
-"\n"
-"This program built for %s\n"
-msgstr ""
-"\n"
-"Este programa fue construido para %s\n"
-
-#: src/main.c:2812
-#, c-format
-msgid ""
-"\n"
-"This program built for %s (%s)\n"
-msgstr ""
-"\n"
-"Este programa construido para %s (%s)\n"
-
-#: src/main.c:2815
-#, c-format
-msgid "Report bugs to <bug-make@gnu.org>\n"
-msgstr "Informe sobre los errores a <bug-make@gnu.org>\n"
-
 # Me comería el "de" de "requiere de" sv
 # Ok. mm
-#: src/main.c:2901
+#: src/main.c:3186
 #, c-format
 msgid "the '%s%s' option requires a non-empty string argument"
 msgstr "la opción '%s%s' requiere un argumento no-vacío de tipo cadena"
 
 # Me comería el "de" de "requiere de" sv
 # Ok. mm
-#: src/main.c:2965
+#: src/main.c:3267
 #, c-format
 msgid "the '-%c' option requires a positive integer argument"
 msgstr "la opción '-%c' requiere un argumento positivo y entero"
 
-#: src/main.c:3363
+#: src/main.c:3652
 #, c-format
 msgid "%sBuilt for %s\n"
 msgstr "%sEste programa fue construido para %s\n"
 
-#: src/main.c:3365
+#: src/main.c:3654
 #, c-format
 msgid "%sBuilt for %s (%s)\n"
 msgstr "%sEste programa fue construido para %s (%s)\n"
 
-#: src/main.c:3376
-#, c-format
+#: src/main.c:3665
+#, fuzzy, c-format
 msgid ""
-"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
+"%sLicense GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl."
 "html>\n"
 "%sThis is free software: you are free to change and redistribute it.\n"
 "%sThere is NO WARRANTY, to the extent permitted by law.\n"
@@ -1586,7 +1791,7 @@ msgstr ""
 "%sNo existe GARANTÍA ALGUNA, hasta los límites permitidos por las leyes "
 "aplicables.\n"
 
-#: src/main.c:3397
+#: src/main.c:3682
 #, c-format
 msgid ""
 "\n"
@@ -1600,7 +1805,7 @@ msgstr ""
 # Porqué 'del', o pones 'del programa' Make o pones
 # 'de Make' em+
 # Ok. mm
-#: src/main.c:3407
+#: src/main.c:3692
 #, c-format
 msgid ""
 "\n"
@@ -1609,33 +1814,49 @@ msgstr ""
 "\n"
 "# Se termina la base de datos de Make en %s\n"
 
-#: src/misc.c:643
+#: src/misc.c:602
+#, fuzzy, c-format
+msgid "%s value %s: %s"
+msgstr "%s%s: %s"
+
+#: src/misc.c:605
 #, c-format
-msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
-msgstr "%s: usuario %lu (real %lu), grupo %lu (real %lu)\n"
+msgid "%s value %s: not a directory"
+msgstr ""
 
-#: src/misc.c:664
-msgid "Initialized access"
-msgstr "Acceso inicializado"
+# Por defecto, como haces arriba em+
+# en efecto, mm
+#: src/misc.c:613
+#, fuzzy, c-format
+msgid "using default temporary directory '%s'"
+msgstr "Se utilizan las instrucciones por omisión para '%s'.\n"
 
-#: src/misc.c:743
-msgid "User access"
-msgstr "Acceso del usuario"
+#: src/misc.c:698
+#, fuzzy, c-format
+msgid "create temporary file %s: %s"
+msgstr "Se crea el archivo temporal %s\n"
 
-#: src/misc.c:791
-msgid "Make access"
-msgstr "Acceso del Make"
+#: src/misc.c:708
+#, fuzzy, c-format
+msgid "unlink temporary file %s: %s"
+msgstr "unlink (archivo temporal)"
 
-#: src/misc.c:825
-msgid "Child access"
-msgstr "Acceso del hijo"
+#: src/misc.c:733
+#, fuzzy, c-format
+msgid "fdopen: temporary file %s: %s"
+msgstr "fopen (archivo temporal)"
 
-#: src/output.c:97
+#: src/misc.c:747
+#, fuzzy, c-format
+msgid "fopen: temporary file %s: %s"
+msgstr "fopen (archivo temporal)"
+
+#: src/output.c:95
 #, c-format
 msgid "%s: Entering an unknown directory\n"
 msgstr "%s: se ingresa a un directorio desconocido\n"
 
-#: src/output.c:99
+#: src/output.c:97
 #, c-format
 msgid "%s: Leaving an unknown directory\n"
 msgstr "%s: se sale del directorio desconocido\n"
@@ -1649,7 +1870,7 @@ msgstr "%s: se sale del directorio desconocido\n"
 #  else
 #    printf ("%s[%u]: %s ", program, makelevel, message);
 # Como notarás lo del directorio va en otro lado.
-#: src/output.c:102
+#: src/output.c:100
 #, c-format
 msgid "%s: Entering directory '%s'\n"
 msgstr "%s: se entra en el directorio '%s'\n"
@@ -1663,17 +1884,17 @@ msgstr "%s: se entra en el directorio '%s'\n"
 #  else
 #    printf ("%s[%u]: %s ", program, makelevel, message);
 # Como notarás lo del directorio va en otro lado.
-#: src/output.c:104
+#: src/output.c:102
 #, c-format
 msgid "%s: Leaving directory '%s'\n"
 msgstr "%s: se sale del directorio '%s'\n"
 
-#: src/output.c:108
+#: src/output.c:106
 #, c-format
 msgid "%s[%u]: Entering an unknown directory\n"
 msgstr "%s[%u]: se ingresa a un directorio desconocido\n"
 
-#: src/output.c:110
+#: src/output.c:108
 #, c-format
 msgid "%s[%u]: Leaving an unknown directory\n"
 msgstr "%s[%u]: se sale del directorio desconocido\n"
@@ -1687,7 +1908,7 @@ msgstr "%s[%u]: se sale del directorio desconocido\n"
 #  else
 #    printf ("%s[%u]: %s ", program, makelevel, message);
 # Como notarás lo del directorio va en otro lado.
-#: src/output.c:113
+#: src/output.c:111
 #, c-format
 msgid "%s[%u]: Entering directory '%s'\n"
 msgstr "%s[%u]: se entra en el directorio '%s'\n"
@@ -1701,145 +1922,137 @@ msgstr "%s[%u]: se entra en el directorio '%s'\n"
 #  else
 #    printf ("%s[%u]: %s ", program, makelevel, message);
 # Como notarás lo del directorio va en otro lado.
-#: src/output.c:115
+#: src/output.c:113
 #, c-format
 msgid "%s[%u]: Leaving directory '%s'\n"
 msgstr "%s[%u]: se sale del directorio '%s'\n"
 
-# Probablemente sea aquí donde haya que ponerle el "el" para que "Entering"
-# concuerde bien con esta frase y con la anterior simultáneamente. sv
-# No. Ya revisé el fuente y transcribo el trozo pertinente:
-#  char *message = entering ? "Entering" : "Leaving";
-#  if (makelevel == 0)
-#    printf ("%s: %s ", program, message);
-#  else
-#    printf ("%s[%u]: %s ", program, makelevel, message);
-# Como notarás lo del directorio va en otro lado.
-#: src/output.c:442 src/output.c:444
+#: src/output.c:280
 #, c-format
-msgid "write error: stdout"
-msgstr "error al escribir: stdout"
+msgid "warning: Cannot acquire output lock, disabling output sync."
+msgstr ""
 
 # Interrumpido (?). sv
 # Mmgmh... El mensaje indica que hubo algún error muy grave y que por
 # eso se detiene el make. Probablemente sea mejor dejarlo así. mm
-#: src/output.c:624
+#: src/output.c:475
 msgid ".  Stop.\n"
 msgstr ".  Alto.\n"
 
-#: src/output.c:658
+#: src/output.c:510
 #, c-format
 msgid "%s%s: %s"
 msgstr "%s%s: %s"
 
-#: src/output.c:667
+#: src/posixos.c:170 src/posixos.c:175 src/posixos.c:233 src/posixos.c:238
 #, c-format
-msgid "%s: %s"
-msgstr "%s: %s"
+msgid "Cannot open jobserver %s: %s"
+msgstr ""
 
-#: src/output.h:62
-#, c-format
-msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
-msgstr "-O[TIPO] (--output-sync[=TIPO]) no está configurado para este «build»."
+#: src/posixos.c:186 src/w32/w32os.c:219
+#, fuzzy, c-format
+msgid "Unknown jobserver auth style '%s'"
+msgstr "tipo de sincronización de salida desconocido '%s'"
 
-#: src/posixos.c:90
+#: src/posixos.c:190
 msgid "creating jobs pipe"
 msgstr "creando una tubería de tareas"
 
-#: src/posixos.c:98 src/posixos.c:251
+#: src/posixos.c:201 src/posixos.c:434
 msgid "duping jobs pipe"
 msgstr "duplicando una tubería de tareas"
 
-#: src/posixos.c:104
+#: src/posixos.c:207
 msgid "init jobserver pipe"
 msgstr "se inicializa la tubería al servidor de tareas"
 
-#: src/posixos.c:119
-#, c-format
-msgid "internal error: invalid --jobserver-auth string '%s'"
+#: src/posixos.c:261
+#, fuzzy, c-format
+msgid "invalid --jobserver-auth string '%s'"
 msgstr "error interno: cadena --jobserver-auth inválida '%s'"
 
-#: src/posixos.c:122
-#, c-format
-msgid "Jobserver client (fds %d,%d)\n"
-msgstr "Cliente del servidor de tareas (fds %d,%d)\n"
-
-#: src/posixos.c:138
-msgid "jobserver pipeline"
-msgstr "tubería al servidor de tareas"
-
-#: src/posixos.c:186
+#: src/posixos.c:363
 msgid "write jobserver"
 msgstr "escribir en el servidor de tareas"
 
-#: src/posixos.c:300
+#: src/posixos.c:483
 #, c-format
 msgid "job server shut down"
 msgstr "servidor de tareas detenido"
 
-#: src/posixos.c:303
+#: src/posixos.c:486
 msgid "pselect jobs pipe"
 msgstr "tubería de trabajos «pselect»"
 
-#: src/posixos.c:319 src/posixos.c:433
+#: src/posixos.c:502 src/posixos.c:616
 msgid "read jobs pipe"
 msgstr "tubería de trabajos leídos"
 
+#: src/posixos.c:672
+#, fuzzy, c-format
+msgid "invalid --sync-mutex string '%s'"
+msgstr "error interno: cadena --jobserver-auth inválida '%s'"
+
+#: src/posixos.c:681
+#, fuzzy, c-format
+msgid "cannot open output sync mutex %s: %s"
+msgstr "tipo de sincronización de salida desconocido '%s'"
+
+#: src/posixos.c:855
+#, c-format
+msgid "Cannot open '%s' with O_TMPFILE: %s.\n"
+msgstr ""
+
 # Sugerencia: eliminar la palabra "archivo". sv
 # Ok. Mejora. mm
-#: src/read.c:181
+#: src/read.c:184
 #, c-format
 msgid "Reading makefiles...\n"
 msgstr "Leyendo makefiles...\n"
 
-#: src/read.c:336
+#: src/read.c:330
 #, c-format
 msgid "Reading makefile '%s'"
 msgstr "Leyendo makefile '%s'"
 
-#: src/read.c:338
+#: src/read.c:332
 #, c-format
 msgid " (no default goal)"
 msgstr " (no hay objetivo por defecto)"
 
-#: src/read.c:340
+#: src/read.c:334
 #, c-format
 msgid " (search path)"
 msgstr " (ruta de búsqueda)"
 
-#: src/read.c:342
+#: src/read.c:336
 #, c-format
 msgid " (don't care)"
 msgstr " (no importa)"
 
-#: src/read.c:344
+#: src/read.c:338
 #, c-format
 msgid " (no ~ expansion)"
 msgstr " (no hay expansión del ~)"
 
-#: src/read.c:655
+#: src/read.c:663
 #, c-format
 msgid "Skipping UTF-8 BOM in makefile '%s'\n"
 msgstr "se salta BOM UTF-8 en el makefile '%s'\n"
 
-#: src/read.c:658
+#: src/read.c:666
 #, c-format
 msgid "Skipping UTF-8 BOM in makefile buffer\n"
 msgstr "se salta BOM UTF-8 en el «buffer» del makefile\n"
 
 # ## Sintaxis no llevaba tilde.
 # Ok. mm
-#: src/read.c:787
+#: src/read.c:795
 #, c-format
 msgid "invalid syntax in conditional"
 msgstr "sintaxis no válida en condicional"
 
-#: src/read.c:960
-#, c-format
-msgid "%s: failed to load"
-msgstr "%s: fallo al cargar"
-
-#: src/read.c:986
+#: src/read.c:1002
 #, c-format
 msgid "recipe commences before first target"
 msgstr "las instrucciones comenzaron antes del primer objetivo"
@@ -1849,120 +2062,130 @@ msgstr "las instrucciones comenzaron antes del primer objetivo"
 # Cierto pareciera que se perdió dentro de algún circuito. mm
 # Falta 'la' regla em+
 # No no es la regla sino una regla pues puede ser cualquiera de ellas. mm
-#: src/read.c:1035
+#: src/read.c:1053
 #, c-format
 msgid "missing rule before recipe"
 msgstr "falta una regla antes de las instrucciones"
 
-#: src/read.c:1136
+#: src/read.c:1154
 #, c-format
 msgid "missing separator (did you mean TAB instead of 8 spaces?)"
 msgstr "falta un separador (¿quiso decir TAB en vez de 8 espacios?)"
 
-#: src/read.c:1138
+#: src/read.c:1156
 #, c-format
 msgid "missing separator"
 msgstr "falta un separador"
 
-#: src/read.c:1283
+#: src/read.c:1300
 #, c-format
 msgid "missing target pattern"
 msgstr "falta un patrón de objetivos"
 
-#: src/read.c:1285
+#: src/read.c:1302
 #, c-format
 msgid "multiple target patterns"
 msgstr "hay varios patrones de objetivos"
 
-#: src/read.c:1289
+#: src/read.c:1306
 #, c-format
 msgid "target pattern contains no '%%'"
 msgstr "el patrón de objetivo no contiene '%%'"
 
-#: src/read.c:1404
+#: src/read.c:1349
 #, c-format
 msgid "missing 'endif'"
 msgstr "falta un 'endif'"
 
-#: src/read.c:1443 src/read.c:1488 src/variable.c:1600
+#: src/read.c:1388 src/read.c:1433 src/variable.c:1733
 #, c-format
 msgid "empty variable name"
 msgstr "nombre de variable vacío"
 
-#: src/read.c:1478
+#: src/read.c:1423
 #, c-format
 msgid "extraneous text after 'define' directive"
 msgstr ""
 "Hay un texto irrelevante o mal colocado después de la instrucción 'define'"
 
-#: src/read.c:1503
+#: src/read.c:1448
 #, c-format
 msgid "missing 'endef', unterminated 'define'"
 msgstr "falta un 'endef', no se terminó un 'define'"
 
-#: src/read.c:1531
+#: src/read.c:1476
 #, c-format
 msgid "extraneous text after 'endef' directive"
 msgstr ""
 "Hay un texto irrelevante o mal colocado después de la instrucción 'endef'"
 
-#: src/read.c:1603
+#: src/read.c:1548
 #, c-format
 msgid "extraneous text after '%s' directive"
 msgstr "Texto irrelevante o mal colocado después de la instrucción '%s'"
 
-#: src/read.c:1604
+#: src/read.c:1549
 #, c-format
 msgid "extraneous '%s'"
 msgstr "irrelevante o mal colocado '%s'"
 
-#: src/read.c:1632
+#: src/read.c:1577
 #, c-format
 msgid "only one 'else' per conditional"
 msgstr "sólo se admite un 'else' por condicional"
 
-#: src/read.c:1908
+#: src/read.c:1853
 #, c-format
 msgid "Malformed target-specific variable definition"
 msgstr ""
 "La definición de las variables específicas al blanco está mal construida"
 
-#: src/read.c:1968
+#: src/read.c:1995
+#, c-format
+msgid ".WAIT should not have prerequisites"
+msgstr ""
+
+#: src/read.c:2001
+#, c-format
+msgid ".WAIT should not have commands"
+msgstr ""
+
+#: src/read.c:2039
 #, c-format
 msgid "prerequisites cannot be defined in recipes"
 msgstr ""
 "los prerequisitos no pueden ser definidos por los guiones de instrucciones"
 
-#: src/read.c:1986
+#: src/read.c:2057
 #, c-format
 msgid "grouped targets must provide a recipe"
 msgstr "los objetivos agrupados deben proporcionar instrucción"
 
-#: src/read.c:2029
+#: src/read.c:2100
 #, c-format
 msgid "mixed implicit and static pattern rules"
 msgstr "las reglas implícitas y las de patrón estático están mezcladas"
 
 # Y 'las' normales  em+
 # Ok. mm
-#: src/read.c:2052
+#: src/read.c:2123
 #, c-format
 msgid "mixed implicit and normal rules"
 msgstr "las reglas implícitas y las normales están mezcladas"
 
-#: src/read.c:2107
+#: src/read.c:2155
 #, c-format
 msgid "target '%s' doesn't match the target pattern"
 msgstr "el objetivo '%s' no coincide con el patrón de objetivos"
 
-#: src/read.c:2122 src/read.c:2168
+#: src/read.c:2170 src/read.c:2221
 #, c-format
 msgid "target file '%s' has both : and :: entries"
 msgstr "el archivo de objetivos '%s' tiene líneas con : y ::"
 
 # Cambiaría given por 'proporcionó' o 'indicó' em+
 # Ok. mm
-#: src/read.c:2128
+#: src/read.c:2176
 #, c-format
 msgid "target '%s' given more than once in the same rule"
 msgstr "el objetivo '%s' se proporcionó más de una vez en la misma regla"
@@ -1971,20 +2194,20 @@ msgstr "el objetivo '%s' se proporcionó más de una vez en la misma regla"
 # si encaja mejor alguna de las dos que se proponen arriba
 # em+
 # Aunque no me acaba de convencer, que te parece ésto? mm
-#: src/read.c:2138
+#: src/read.c:2186
 #, c-format
 msgid "warning: overriding recipe for target '%s'"
 msgstr "atención: se anulan las instrucciones para el objetivo '%s'"
 
 # Ojo con ignora. sv
-#: src/read.c:2141
+#: src/read.c:2189
 #, c-format
 msgid "warning: ignoring old recipe for target '%s'"
 msgstr "atención: se ignoran las instrucciones viejas para el objetivo '%s'"
 
 # Y 'las' normales  em+
 # Ok. mm
-#: src/read.c:2254
+#: src/read.c:2308
 #, c-format
 msgid "*** mixed implicit and normal rules: deprecated syntax"
 msgstr ""
@@ -1994,32 +2217,41 @@ msgstr ""
 # si encaja mejor alguna de las dos que se proponen arriba
 # em+
 # Aunque no me acaba de convencer, que te parece ésto? mm
-#: src/read.c:2271
+#: src/read.c:2325
 #, c-format
 msgid "warning: overriding group membership for target '%s'"
 msgstr "atención: se anula pertenencia a grupo al objetivo '%s'"
 
-#: src/read.c:2636
+#: src/read.c:2683
 #, c-format
 msgid "warning: NUL character seen; rest of line ignored"
 msgstr "atención: hay un carácter NUL; se ignora el resto de la línea"
 
-#: src/remake.c:226
+# No me gusta esta traducción de override. Mira a ver
+# si encaja mejor alguna de las dos que se proponen arriba
+# em+
+# Aunque no me acaba de convencer, que te parece ésto? mm
+#: src/remake.c:97
+#, fuzzy, c-format
+msgid "warning: pattern recipe did not update peer target '%s'."
+msgstr "atención: se anulan las instrucciones para el objetivo '%s'"
+
+#: src/remake.c:254
 #, c-format
 msgid "Nothing to be done for '%s'."
 msgstr "No se hace nada para '%s'."
 
-#: src/remake.c:227
+#: src/remake.c:255
 #, c-format
 msgid "'%s' is up to date."
 msgstr "'%s' está actualizado."
 
-#: src/remake.c:323
+#: src/remake.c:350
 #, c-format
 msgid "Pruning file '%s'.\n"
 msgstr "Se poda el archivo '%s'.\n"
 
-#: src/remake.c:389
+#: src/remake.c:416
 #, c-format
 msgid "%sNo rule to make target '%s', needed by '%s'%s"
 msgstr ""
@@ -2027,7 +2259,7 @@ msgstr ""
 
 # Sugerencia: No hay ninguna regla... sv
 # Como una no hay ninguna. mm
-#: src/remake.c:399
+#: src/remake.c:426
 #, c-format
 msgid "%sNo rule to make target '%s'%s"
 msgstr "%sNo hay ninguna regla para construir el objetivo '%s'%s"
@@ -2038,7 +2270,7 @@ msgstr "%sNo hay ninguna regla para construir el objetivo '%s'%s"
 # de las que aparecen al hacer un make con la opción -d ( debug )
 # se refiere a lo que dice Santiago, es decir, 'archivo objetivo'  em+
 # Ok creo que tienen razón. mm
-#: src/remake.c:425
+#: src/remake.c:452
 #, c-format
 msgid "Considering target file '%s'.\n"
 msgstr "Se considera el archivo objetivo '%s'.\n"
@@ -2049,32 +2281,32 @@ msgstr "Se considera el archivo objetivo '%s'.\n"
 # o bien "Se intentó sin éxito actualizar ..."
 # ¿Qué te parece? sv
 # Bien y tiene razón. mm
-#: src/remake.c:432
+#: src/remake.c:459
 #, c-format
 msgid "Recently tried and failed to update file '%s'.\n"
 msgstr "Se intentó hace poco, sin éxito, actualizar el archivo '%s'.\n"
 
-#: src/remake.c:444
+#: src/remake.c:471
 #, c-format
 msgid "File '%s' was considered already.\n"
 msgstr "Ya se ha tenido en cuenta el archivo '%s'.\n"
 
-#: src/remake.c:454
+#: src/remake.c:481
 #, c-format
 msgid "Still updating file '%s'.\n"
 msgstr "Se continúa actualizando el archivo '%s'.\n"
 
-#: src/remake.c:457
+#: src/remake.c:484
 #, c-format
 msgid "Finished updating file '%s'.\n"
 msgstr "Se terminó de actualizar el archivo '%s'.\n"
 
-#: src/remake.c:486
+#: src/remake.c:513
 #, c-format
 msgid "File '%s' does not exist.\n"
 msgstr "El archivo '%s' no existe.\n"
 
-#: src/remake.c:494
+#: src/remake.c:520
 #, c-format
 msgid ""
 "*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
@@ -2082,26 +2314,19 @@ msgstr ""
 "*** Atención: el archivo .LOW_RESOLUTION_TIME '%s' tiene una marca de tiempo "
 "de alta resolución"
 
-#: src/remake.c:507 src/remake.c:1039
-#, c-format
-msgid "Found an implicit rule for '%s'.\n"
-msgstr "Se encontró una regla implícita para '%s'.\n"
-
-# Se ha encontrado em+
-# Ok, pero procuro evitar como a la muerte los gerundios. mm
-#: src/remake.c:509 src/remake.c:1041
-#, c-format
-msgid "No implicit rule found for '%s'.\n"
-msgstr "No se ha encontrado ninguna regla implícita para '%s'.\n"
+#: src/remake.c:538
+#, fuzzy, c-format
+msgid "Grouped target peer '%s' of file '%s' does not exist.\n"
+msgstr "La dependencia '%s' del objetivo '%s' no existe.\n"
 
 # Por defecto, como haces arriba em+
 # en efecto, mm
-#: src/remake.c:515
+#: src/remake.c:558
 #, c-format
 msgid "Using default recipe for '%s'.\n"
 msgstr "Se utilizan las instrucciones por omisión para '%s'.\n"
 
-#: src/remake.c:549 src/remake.c:1088
+#: src/remake.c:603 src/remake.c:1165
 #, c-format
 msgid "Circular %s <- %s dependency dropped."
 msgstr "Se elimina la dependencia circular %s <- %s."
@@ -2109,73 +2334,73 @@ msgstr "Se elimina la dependencia circular %s <- %s."
 # Lo mismo de antes con "target file". sv
 # Estoy de acuerdo con él ( por una vez ;) ) em+
 # Ok. mm
-#: src/remake.c:674
+#: src/remake.c:737
 #, c-format
 msgid "Finished prerequisites of target file '%s'.\n"
 msgstr "Se terminaron las dependencias del archivo objetivo '%s'.\n"
 
-#: src/remake.c:680
+#: src/remake.c:743
 #, c-format
 msgid "The prerequisites of '%s' are being made.\n"
 msgstr "Se están construyendo las dependencias de '%s'.\n"
 
 # Give up no es enfocar, es abandonar, o desistir em+
 # Si, metí la pata. mm
-#: src/remake.c:694
+#: src/remake.c:757
 #, c-format
 msgid "Giving up on target file '%s'.\n"
 msgstr "Se abandona el archivo objetivo '%s'.\n"
 
-#: src/remake.c:699
+#: src/remake.c:762
 #, c-format
 msgid "Target '%s' not remade because of errors."
 msgstr "Debido a los errores, el objetivo '%s' no se reconstruyó."
 
-#: src/remake.c:751
+#: src/remake.c:814
 #, c-format
 msgid "Prerequisite '%s' is order-only for target '%s'.\n"
 msgstr "La dependencia '%s' es solo de orden para el objetivo '%s'.\n"
 
-#: src/remake.c:756
+#: src/remake.c:819
 #, c-format
 msgid "Prerequisite '%s' of target '%s' does not exist.\n"
 msgstr "La dependencia '%s' del objetivo '%s' no existe.\n"
 
-#: src/remake.c:761
+#: src/remake.c:824
 #, c-format
 msgid "Prerequisite '%s' is newer than target '%s'.\n"
 msgstr "La dependencia '%s' es más reciente que el objetivo '%s'.\n"
 
-#: src/remake.c:764
+#: src/remake.c:827
 #, c-format
 msgid "Prerequisite '%s' is older than target '%s'.\n"
 msgstr "La dependencia '%s' es anterior al objetivo '%s'.\n"
 
 # Ahorra espacio, y pon '::'  en vez de eso :) em+
 # Bueno, no es mala idea. A ver si te gusta lo que puse. mm
-#: src/remake.c:782
+#: src/remake.c:845
 #, c-format
 msgid "Target '%s' is double-colon and has no prerequisites.\n"
 msgstr ""
 "El objetivo '%s' es de tipo dos puntos dos veces (::)\n"
 "y no tiene dependencias.\n"
 
-#: src/remake.c:789
+#: src/remake.c:852
 #, c-format
 msgid "No recipe for '%s' and no prerequisites actually changed.\n"
 msgstr "No hay instrucciones para '%s' y ninguna dependencia ha cambiado.\n"
 
-#: src/remake.c:794
+#: src/remake.c:857
 #, c-format
 msgid "Making '%s' due to always-make flag.\n"
 msgstr "Haciendo '%s' debido a la bandera always-make.\n"
 
-#: src/remake.c:802
+#: src/remake.c:865
 #, c-format
 msgid "No need to remake target '%s'"
 msgstr "No es necesario reconstruir el objetivo '%s'."
 
-#: src/remake.c:804
+#: src/remake.c:867
 #, c-format
 msgid "; using VPATH name '%s'"
 msgstr "; se usa el nombre del VPATH '%s'"
@@ -2183,17 +2408,17 @@ msgstr "; se usa el nombre del VPATH '%s'"
 # Revisa todo el po con un search, y mira a ver si decides usar
 # regenerar o reconstruir ( prefiero lo último 10000 veces ) em+
 # Ok, buena propuesta. mm
-#: src/remake.c:824
+#: src/remake.c:891
 #, c-format
 msgid "Must remake target '%s'.\n"
 msgstr "Se debe reconstruir el objetivo '%s'.\n"
 
-#: src/remake.c:830
+#: src/remake.c:897
 #, c-format
 msgid "  Ignoring VPATH name '%s'.\n"
 msgstr "  Se ignora el nombre del VPATH '%s'.\n"
 
-#: src/remake.c:839
+#: src/remake.c:906
 #, c-format
 msgid "Recipe of '%s' is being run.\n"
 msgstr "Las instrucciones de '%s' se están ejecutando.\n"
@@ -2201,41 +2426,41 @@ msgstr "Las instrucciones de '%s' se están ejecutando.\n"
 # Target file no es archivo de objetivos, sino el archivo objetivo
 # make no tiene ningún archivo de objetivos em+
 # Ok. mm
-#: src/remake.c:846
+#: src/remake.c:913
 #, c-format
 msgid "Failed to remake target file '%s'.\n"
 msgstr "Fallo al reconstruir el archivo objetivo '%s'.\n"
 
 # Lo mismo em+
 # Ok. mm
-#: src/remake.c:849
+#: src/remake.c:916
 #, c-format
 msgid "Successfully remade target file '%s'.\n"
 msgstr "Se reconstruyó con éxito el archivo objetivo '%s'.\n"
 
 # Otra vez em+
 # Ok, no te puedes quejar de falta de consistencia en este caso! mm
-#: src/remake.c:852
+#: src/remake.c:919
 #, c-format
 msgid "Target file '%s' needs to be remade under -q.\n"
 msgstr "Se necesita reconstruir el archivo objetivo '%s' con la opción -q.\n"
 
 # Por defecto, como haces arriba em+
 # en efecto, mm
-#: src/remake.c:1047
+#: src/remake.c:1118
 #, c-format
 msgid "Using default commands for '%s'.\n"
 msgstr "Se utilizan las instrucciones por defecto para '%s'.\n"
 
 # Ubicada :)) , que tal futura, a secas ? em+
 # Bueno, sonaba como StarTrek, muy chido, pero acepto tu sugerencia. mm
-#: src/remake.c:1422
+#: src/remake.c:1499
 #, c-format
 msgid "Warning: File '%s' has modification time %s s in the future"
 msgstr ""
 "Atención: El archivo '%s' tiene una hora de modificación %s s en el futuro"
 
-#: src/remake.c:1662
+#: src/remake.c:1747
 #, c-format
 msgid ".LIBPATTERNS element '%s' is not a pattern"
 msgstr "El elemento .LIBPATTERNS '%s' no es un patrón"
@@ -2252,17 +2477,16 @@ msgstr "El elemento .LIBPATTERNS '%s' no es un patrón"
 # no se exportarán em+
 # Muchísimo más claro (es más me gusta más en español que en inglés con tu
 # arreglo) mm
-#: src/remote-cstms.c:122
+#: src/remote-cstms.c:118
 #, c-format
 msgid "Customs won't export: %s\n"
 msgstr "Los valores definidos por el usuario no se exportarán: %s\n"
 
-#: src/rule.c:289
-#, c-format
+#: src/rule.c:357
 msgid "warning: ignoring prerequisites on suffix rule definition"
 msgstr ""
 
-#: src/rule.c:530
+#: src/rule.c:592
 msgid ""
 "\n"
 "# Implicit Rules"
@@ -2270,7 +2494,7 @@ msgstr ""
 "\n"
 "# Reglas implícitas."
 
-#: src/rule.c:545
+#: src/rule.c:607
 msgid ""
 "\n"
 "# No implicit rules."
@@ -2278,7 +2502,7 @@ msgstr ""
 "\n"
 "# No hay reglas implícitas."
 
-#: src/rule.c:548
+#: src/rule.c:610
 #, c-format
 msgid ""
 "\n"
@@ -2291,11 +2515,16 @@ msgstr ""
 # Gracias. mm
 # ¿ qué tal erróneo ? em+
 # Si, suena mejor. mm
-#: src/rule.c:557
+#: src/rule.c:619
 #, c-format
 msgid "BUG: num_pattern_rules is wrong!  %u != %u"
 msgstr "BUG: ¡num_pattern_rules erróneo!  %u != %u"
 
+#: src/shuffle.c:93
+#, c-format
+msgid "invalid shuffle mode: %s: '%s'"
+msgstr ""
+
 #: src/signame.c:84
 msgid "unknown signal"
 msgstr "señal desconocida"
@@ -2565,44 +2794,44 @@ msgstr ""
 
 # Lo he cmabiado em+
 # Ok. Deberíamos platicarlo con Ulrich. mm
-#: src/variable.c:1653
+#: src/variable.c:1786
 msgid "automatic"
 msgstr "automática/o"
 
-#: src/variable.c:1656
+#: src/variable.c:1789
 msgid "default"
 msgstr "por defecto"
 
-#: src/variable.c:1659
+#: src/variable.c:1792
 msgid "environment"
 msgstr "entorno"
 
 # Sugerencia: No poner archivo. sv
 # Ok. mm
-#: src/variable.c:1662
+#: src/variable.c:1795
 msgid "makefile"
 msgstr "makefile"
 
 # 'bajo -e' = 'con -e activo' em+
 # Ok. Esta inversión en los idiomas sajones se pega. mm
-#: src/variable.c:1665
+#: src/variable.c:1798
 msgid "environment under -e"
 msgstr "con -e activo"
 
 # Línea de comandos me parece correcto em+
 # Ver arriba. Estoy de acuerdo si así han traducido en otros lados. mm
-#: src/variable.c:1668
+#: src/variable.c:1801
 msgid "command line"
 msgstr "línea de instrucciones"
 
 # Creo que tendremos un problema con instrucción, comando
 # , programa y directiva . Está claro que aquí es directiva em+
 # Ok, pero no deja de sonar a RoboCop. A ver que te parece como quedó. mm
-#: src/variable.c:1671
+#: src/variable.c:1804
 msgid "'override' directive"
 msgstr "directiva 'override'"
 
-#: src/variable.c:1682
+#: src/variable.c:1814
 #, c-format
 msgid " (from '%s', line %lu)"
 msgstr " (de '%s', línea %lu):"
@@ -2612,11 +2841,11 @@ msgstr " (de '%s', línea %lu):"
 # Estos mensajes son para debug, no creo que haga falta usar cubetas ;) em+
 # Tienes razón, si el debugueador no lo entiende pues, ... que se
 # dedique a otra cosa. mm
-#: src/variable.c:1745
+#: src/variable.c:1877
 msgid "# variable set hash-table stats:\n"
 msgstr "# estadísticas del conjunto de variables de la tabla «hash»:\n"
 
-#: src/variable.c:1756
+#: src/variable.c:1888
 msgid ""
 "\n"
 "# Variables\n"
@@ -2624,7 +2853,7 @@ msgstr ""
 "\n"
 "# Variables\n"
 
-#: src/variable.c:1760
+#: src/variable.c:1892
 msgid ""
 "\n"
 "# Pattern-specific Variable Values"
@@ -2632,7 +2861,7 @@ msgstr ""
 "\n"
 "# Valores de variables específicas al patrón"
 
-#: src/variable.c:1774
+#: src/variable.c:1906
 msgid ""
 "\n"
 "# No pattern-specific variable values."
@@ -2640,7 +2869,7 @@ msgstr ""
 "\n"
 "# No hay valores de variables específicas al patrón."
 
-#: src/variable.c:1776
+#: src/variable.c:1908
 #, c-format
 msgid ""
 "\n"
@@ -2651,7 +2880,7 @@ msgstr ""
 
 # ¿Qué te parece "atención"? Lo hemos usado mucho en otros programas. sv
 # Pero que bestia soy. Perdón por el desbarre. mm
-#: src/variable.h:229
+#: src/variable.h:237
 #, c-format
 msgid "warning: undefined variable '%.*s'"
 msgstr "atención: la variable '%.*s' no ha sido definida"
@@ -2676,26 +2905,26 @@ msgstr "CD INTEGRADO %s\n"
 msgid "DCL: %s\n"
 msgstr "DCL: %s\n"
 
-#: src/vmsjobs.c:1284
+#: src/vmsjobs.c:1281
 #, c-format
 msgid "Append output to %s\n"
 msgstr "Salida redirigida a %s\n"
 
-#: src/vmsjobs.c:1309
+#: src/vmsjobs.c:1306
 #, c-format
 msgid "Append %.*s and cleanup\n"
 msgstr "Agregada a %.*s y limpieza\n"
 
 # "en sustituto" me suena muy raro. Propongo: "en su lugar" en su lugar :-) sv
 # Ok. mm
-#: src/vmsjobs.c:1322
+#: src/vmsjobs.c:1319
 #, c-format
 msgid "Executing %s instead\n"
 msgstr "En su lugar, se ejecuta %s\n"
 
 # ¿Y al revés?: Rutas de búsqueda VPATH. sv
 # Mejora
-#: src/vpath.c:603
+#: src/vpath.c:600
 msgid ""
 "\n"
 "# VPATH Search Paths\n"
@@ -2705,13 +2934,13 @@ msgstr ""
 
 # Rutas creo que queda mejor. sv
 # Ok. Es más común. mm
-#: src/vpath.c:620
+#: src/vpath.c:617
 msgid "# No 'vpath' search paths."
 msgstr "# No hay rutas de búsqueda 'vpath'."
 
 # ¡Ah! Aquí si que pones el vpath al final, ¿eh? :-) sv
 # You really got me! mm
-#: src/vpath.c:622
+#: src/vpath.c:619
 #, c-format
 msgid ""
 "\n"
@@ -2720,7 +2949,7 @@ msgstr ""
 "\n"
 "# %u rutas de búsqueda 'vpath'.\n"
 
-#: src/vpath.c:625
+#: src/vpath.c:622
 msgid ""
 "\n"
 "# No general ('VPATH' variable) search path."
@@ -2728,7 +2957,7 @@ msgstr ""
 "\n"
 "# No hay ruta de búsqueda general (variable 'VPATH')."
 
-#: src/vpath.c:631
+#: src/vpath.c:628
 msgid ""
 "\n"
 "# General ('VPATH' variable) search path:\n"
@@ -2738,17 +2967,17 @@ msgstr ""
 "# Ruta de búsqueda general (variable 'VPATH'):\n"
 "# "
 
-#: src/w32/w32os.c:44
+#: src/w32/w32os.c:224
 #, c-format
 msgid "Jobserver slots limited to %d\n"
 msgstr "Ranuras del servidor de tareas limitads a %d\n"
 
-#: src/w32/w32os.c:60
+#: src/w32/w32os.c:240
 #, c-format
 msgid "creating jobserver semaphore: (Error %ld: %s)"
 msgstr "creando semáforo del servidor de tareas: (Error %ld: %s)"
 
-#: src/w32/w32os.c:79
+#: src/w32/w32os.c:259
 #, c-format
 msgid ""
 "internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
@@ -2756,21 +2985,56 @@ msgstr ""
 "error interno: no se pudo abrir el semáforo del servidor de tareas '%s': "
 "(Error %ld: %s)"
 
-#: src/w32/w32os.c:82
+#: src/w32/w32os.c:262
 #, c-format
 msgid "Jobserver client (semaphore %s)\n"
 msgstr "Cliente del servidor de tareas (semáforo %s)\n"
 
-#: src/w32/w32os.c:123
+#: src/w32/w32os.c:310
 #, c-format
 msgid "release jobserver semaphore: (Error %ld: %s)"
 msgstr "liberar semáforo del servidor de tareas: (Error %ld: %s)"
 
-#: src/w32/w32os.c:194
+#: src/w32/w32os.c:381
 #, c-format
 msgid "semaphore or child process wait: (Error %ld: %s)"
 msgstr "semáforo o proceso hijo en espera: (Error %ld: %s)"
 
+#: src/w32/w32os.c:449
+#, fuzzy, c-format
+msgid "cannot parse output sync mutex %s: %s"
+msgstr "tipo de sincronización de salida desconocido '%s'"
+
+#: src/w32/w32os.c:452
+#, fuzzy, c-format
+msgid "invalid output sync mutex: %s"
+msgstr "Nombre de función no válido: %s"
+
+#~ msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
+#~ msgstr "%s: usuario %lu (real %lu), grupo %lu (real %lu)\n"
+
+#~ msgid "Initialized access"
+#~ msgstr "Acceso inicializado"
+
+#~ msgid "User access"
+#~ msgstr "Acceso del usuario"
+
+#~ msgid "Make access"
+#~ msgstr "Acceso del Make"
+
+#~ msgid "Child access"
+#~ msgstr "Acceso del hijo"
+
+#~ msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
+#~ msgstr ""
+#~ "-O[TIPO] (--output-sync[=TIPO]) no está configurado para este «build»."
+
+#~ msgid "Jobserver client (fds %d,%d)\n"
+#~ msgstr "Cliente del servidor de tareas (fds %d,%d)\n"
+
+#~ msgid "jobserver pipeline"
+#~ msgstr "tubería al servidor de tareas"
+
 #~ msgid "%s: %s: Command not found\n"
 #~ msgstr "%s: %s: No se encontró el programa\n"