# Mensajes en español para GNU make.
# Copyright (C) 1996, 2001, 2011, 2013, 2014, 2016, 2019, 2020 Free Software Foundation, Inc.
# This file is distributed under the same license as the make package.
# Max de Mendizábal <max.de.mendizabal@gmail.com>, 1996, 2011.
# Antonio Ceballos <aceballos@gmail.com>, 2013, 2014, 2016, 2019, 2020
#
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-03 02:30-0500\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"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"

#: src/ar.c:46
#, c-format
msgid "attempt to use unsupported feature: '%s'"
msgstr "Se intentó utilizar una característica no implementada: '%s'"

# Sugerencia: touch -> `touch'. sv
# Ok, aceptada. A falta de cursivas... mm
# No veo porqué no se ha de usar 'tocar' en vez de touch em+
# El mensaje además hace referencia a un touch de un objeto dentro
# de una librería, y de eso no se dice nada en el mensaje. Creo que
# hay que tener cuidado con estas cosas.
# El programa para tocar un miembro de un archivo ... , y ahi estamos
# ya en problemas con el dichoso archivo/fichero.
# A ver que se os ocurre em+
# 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
#, 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
#, c-format
msgid "touch: Archive '%s' does not exist"
msgstr "touch: El archivo '%s' no existe"

#: src/ar.c:150
#, c-format
msgid "touch: '%s' is not a valid archive"
msgstr "touch: '%s' no es un archivo válido"

#: src/ar.c:157
#, c-format
msgid "touch: Member '%s' does not exist in '%s'"
msgstr "touch: El miembro '%s' no existe en '%s'"

#: src/ar.c:164
#, 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'"

#: src/arscan.c:130
#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
msgstr "fallo en lbr$set_module() para extraer la información del módulo, estado = %d"

#: src/arscan.c:236
#, c-format
msgid "lbr$ini_control() failed with status = %d"
msgstr "fallo en lbr$ini_control() con estado = %d"

#: src/arscan.c:261
#, c-format
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
#, 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
msgid " (name might be truncated)"
msgstr " (el nombre puede estar truncado)"

#: src/arscan.c:947
#, c-format
msgid "  Date %s"
msgstr "  Fecha %s"

#: src/arscan.c:948
#, 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)"
msgstr "Las instrucciones tienen demasiadas líneas (%ud)"

#: src/commands.c:504
msgid "*** Break.\n"
msgstr "*** Interrumpir.\n"

#: src/commands.c:628
#, 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
#, c-format
msgid "*** Archive member '%s' may be bogus; not deleted"
msgstr "*** El miembro del archivo '%s' podría estar incorrecto; aunque no se elimina"

# Propongo un cambio en el tiempo verbal: Se borra el archivo temporal. sv
# Ok. mm
#: src/commands.c:646
#, 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
#, c-format
msgid "*** Deleting file '%s'"
msgstr "*** Se borra el archivo '%s'"

#: src/commands.c:684
msgid "#  recipe to execute"
msgstr "#  las instrucciones para ejecutar"

#: src/commands.c:687
msgid " (built-in):"
msgstr " (integrado):"

#: src/commands.c:689
#, c-format
msgid " (from '%s', line %lu):\n"
msgstr " (de '%s', linea %lu):\n"

#: src/dir.c:1073
msgid ""
"\n"
"# Directories\n"
msgstr ""
"\n"
"# Directorios\n"

#: src/dir.c:1085
#, c-format
msgid "# %s: could not be stat'd.\n"
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"
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
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n"
msgstr "# %s (dispositivo %d, nodo-i [%d,%d,%d]): posiblemente no se pueda abrir.\n"

# ¿No sobraría el "posiblemente"?
# Propongo dejarlo en " no se pudo abrir ". sv
# Ok. Es consistente con otras traducciones. mm
#: src/dir.c:1099
#, 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): "
msgstr "# %s (llave %s, mtime %I64u): "

#: src/dir.c:1131
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): "
msgstr "# %s (dispositivo %d, nodo-i [%d,%d,%d]): "

#: src/dir.c:1136
#, c-format
msgid "# %s (device %ld, inode %ld): "
msgstr "# %s (dispositivo %ld, nodo-i %ld): "

#: src/dir.c:1142 src/dir.c:1163
msgid "No"
msgstr "No"

#: src/dir.c:1145 src/dir.c:1166
msgid " files, "
msgstr " archivos, "

#: src/dir.c:1147 src/dir.c:1168
msgid "no"
msgstr "no"

#: src/dir.c:1150
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
msgid " so far."
msgstr " hasta ahora."

#: src/dir.c:1171
#, c-format
msgid " impossibilities in %lu directories.\n"
msgstr " imposibilidades en %lu directorios.\n"

# 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
# No, no lleva acento. Me emocioné con elos. mm
# Creeis de veras que tiene sentido 'finalmente'em+
# yo pondría ser termina autoreferenciando, por
# 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
#, c-format
msgid "Recursive variable '%s' references itself (eventually)"
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
#, c-format
msgid "unterminated variable reference"
msgstr "la referencia a la variable está sin terminar"

#: src/file.c:278
#, 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
#, c-format
msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr "Las instrucciones para el archivo '%s' se encontraron por búsqueda en reglas implícitas,"

# "now" es "ahora". ¿te lo has comido consciente o inconscientemente? sv
# inconscientemente. mm
#: src/file.c:287
#, 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'."

# Lo repetiré una y mil veces... :-)
# "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
#, c-format
msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr "Las instrucciones para '%s' no serán tenidas en cuenta en favor de las que están en '%s'."

# 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
#, 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
#, 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
#, 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
#, c-format
msgid "Removing intermediate files...\n"
msgstr "*** Se borran los archivos intermedios...\n"

#: src/file.c:871
msgid "Current time"
msgstr "Hora actual"

#: src/file.c:875
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
msgstr "%s: Fecha fuera de intervalo; sustituyéndola %s"

#: src/file.c:1015
msgid "# Not a target:"
msgstr "# No es un objetivo:"

# Pondría: es una dependencia de em+
# Si, tienes razón. mm
#: src/file.c:1020
msgid "#  Precious file (prerequisite of .PRECIOUS)."
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:1022
msgid "#  Phony target (prerequisite of .PHONY)."
msgstr "#  objetivo falso (dependencia de .PHONY)."

# FUZZY
# Pondria línea de comandos
# Y creo que no sé exactamente a que se refiere, No creo que haya visto
# este mensaje nunca en make lo marco con FUZZY em+
# 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:1024
msgid "#  Command line target."
msgstr "#  Objetivo en línea de instrucciones."

# Habría que entender esto
# Creo que esto es lo que significa. El fuente no es demasiado claro. mm
# Se refiere a que el fichero makefile es uno que encuentra por
# defecto ( en este orden GNUmakefile, Makefile y makefile ) o uno
# que está definido en la variable de entorno MAKEFILE em+
# 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:1026
msgid "#  A default, MAKEFILES, or -include/sinclude makefile."
msgstr "#  Por omisión, MAKEFILES, o -include/sinclude makefile."

#: src/file.c:1028
msgid "#  Builtin rule"
msgstr "#  Regla incorporada"

# Propongo efectuada en lugar de terminada. sv
# 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:1030
msgid "#  Implicit rule search has been done."
msgstr "#  La búsqueda de reglas implícitas ha sido efectuada."

# Propongo efectuada en lugar de terminada. sv
# 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
msgid "#  Implicit rule search has not been done."
msgstr "#  La búsqueda de reglas implícitas ha sido efectuada."

#: src/file.c:1033
#, c-format
msgid "#  Implicit/static pattern stem: '%s'\n"
msgstr "#  Tema del patrón implícita/estática: '%s'\n"

#: src/file.c:1035
msgid "#  File is an intermediate prerequisite."
msgstr "#  El archivo es una dependencia intermedia."

# Sugerencia: "crea". sv
# Ok. Aunque, viendolo bien, que tal "hace"? mm.
#: src/file.c:1039
msgid "#  Also makes:"
msgstr "#  También hace:"

# ¿y "comprobó"? sv
# 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:1045
msgid "#  Modification time never checked."
msgstr "#  La fecha de modificación no se comprobó."

#: src/file.c:1047
msgid "#  File does not exist."
msgstr "#  El archivo no existe."

#: src/file.c:1049
msgid "#  File is very old."
msgstr "#  El archivo es muy viejo."

#: src/file.c:1054
#, c-format
msgid "#  Last modified %s\n"
msgstr "#  Última modificación %s\n"

#: src/file.c:1057
msgid "#  File has been updated."
msgstr "#  El archivo ha sido actualizado."

#: src/file.c:1057
msgid "#  File has not been updated."
msgstr "#  El archivo ha sido actualizado."

#: src/file.c:1061
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:1064
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:1073
msgid "#  Successfully updated."
msgstr "#  Actualizado con éxito."

#: src/file.c:1077
msgid "#  Needs to be updated (-q is set)."
msgstr "#  Necesita ser actualizado (la opción -q está activa)."

#: src/file.c:1080
msgid "#  Failed to be updated."
msgstr "#  Fallo al ser actualizado."

#: src/file.c:1085
msgid "#  Invalid value in 'command_state' member!"
msgstr "#  ¡Valor inválido en el miembro 'command_state'!"

#: src/file.c:1104
msgid ""
"\n"
"# Files"
msgstr ""
"\n"
"# Archivos"

#: src/file.c:1108
msgid ""
"\n"
"# files hash-table stats:\n"
"# "
msgstr ""
"\n"
"# estadísticas de la tabla «hash» de los archivos:\n"
"# "

#: src/file.c:1118
#, 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"
msgstr "el primer argumento de la función 'word' no es numérico"

#: src/function.c:799
#, 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"
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"
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"
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"
msgstr "windows32_openpipe: fallo en DuplicateHandle(Err), (e=%ld)\n"

#: src/function.c:1564
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "Fallo en CreatePipe(), (e=%ld)\n"

#: src/function.c:1572
#, c-format
msgid "windows32_openpipe(): process_init_fd() failed\n"
msgstr "windows32_openpipe(): fallo en process_init_fd()\n"

#: src/function.c:1857
#, 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
#, c-format
msgid "file: missing filename"
msgstr "archivo: falta el nombre del archivo"

#: src/function.c:2234 src/function.c:2265
#, c-format
msgid "open: %s: %s"
msgstr "abrir: %s: %s"

# 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/function.c:2242
#, c-format
msgid "write: %s: %s"
msgstr "escribir: %s: %s"

#: src/function.c:2245 src/function.c:2282
#, c-format
msgid "close: %s: %s"
msgstr "cerrar: %s: %s"

#: src/function.c:2258
#, c-format
msgid "file: too many arguments"
msgstr "archivo: demasiados argumentos"

# 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/function.c:2277
#, c-format
msgid "read: %s: %s"
msgstr "leer: %s: %s"

#: src/function.c:2290
#, 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'"
msgstr "Número de argumentos (%d) insuficientes para la función '%s'"

#: src/function.c:2417
#, c-format
msgid "unimplemented on this platform: function '%s'"
msgstr "No implementado en esta plataforma: función '%s'"

#: src/function.c:2483
#, 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
#, c-format
msgid "Empty function name"
msgstr "Nombre de función vacío"

#: src/function.c:2669
#, c-format
msgid "Invalid function name: %s"
msgstr "Nombre de función no válido: %s"

#: src/function.c:2671
#, c-format
msgid "Function name too long: %s"
msgstr "Nombre de función demasiado largo: %s"

#: src/function.c:2674
#, 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
#, 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"

#: src/getopt.c:659
#, c-format
msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: la opción '%s' es ambigua\n"

# No admite ningún argumento. sv
# Ok. Y vuelve la burra al trigo. mm
#: src/getopt.c:683
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: la opción '--%s' no admite ningún argumento\n"

# Lo mismo. sv
# Ok. mm
#: src/getopt.c:688
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: la opción '%c%s' no admite ningún argumento\n"

#: src/getopt.c:705 src/getopt.c:878
#, c-format
msgid "%s: option '%s' requires an argument\n"
msgstr "%s: la opción '%s' requiere un argumento\n"

#: src/getopt.c:734
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: opción no reconocida '--%s'\n"

#: src/getopt.c:738
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: opción no reconocida '%c%s'\n"

#: src/getopt.c:764
#, c-format
msgid "%s: illegal option -- %c\n"
msgstr "%s: opción inválida -- %c\n"

#: src/getopt.c:767
#, c-format
msgid "%s: invalid option -- %c\n"
msgstr "%s: opción inválida -- %c\n"

#: src/getopt.c:797 src/getopt.c:927
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: la opción requiere un argumento -- %c\n"

#: src/getopt.c:844
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: la opción '-W %s' es ambigua\n"

# No admite ningún argumento. sv
# Ok. Y vuelve la burra al trigo. mm
#: src/getopt.c:862
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: la opción '-W %s' no admite ningún argumento\n"

#: src/guile.c:58
#, c-format
msgid "guile: Expanding '%s'\n"
msgstr "guile: Expandiendo '%s'\n"

#: src/guile.c:74
#, c-format
msgid "guile: Evaluating '%s'\n"
msgstr "guile: Evaluando '%s'\n"

#: src/hash.c:50
#, c-format
msgid "can't allocate %lu bytes for hash table: memory exhausted"
msgstr "no se pueden reservar %lu bytes para la tabla «hash»: memoria agotada"

#: src/hash.c:280
#, c-format
msgid "Load=%lu/%lu=%.0f%%, "
msgstr "Carga=%lu/%lu=%.0f%%, "

#: src/hash.c:282
#, c-format
msgid "Rehash=%u, "
msgstr "Rehash=%u, "

#: src/hash.c:283
#, c-format
msgid "Collisions=%lu/%lu=%.0f%%"
msgstr "Colisiones=%lu/%lu=%.0f%%"

# 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:38
#, c-format
msgid "Looking for an implicit rule for '%s'.\n"
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
#, 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"

# 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+
# ¿Qué te parecería "se evita"? sv
# 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"
msgstr "Evitando la recursión en la regla implícita.\n"

#: src/implicit.c:484
#, c-format
msgid "Stem too long: '%s%.*s'.\n"
msgstr "Tema demasiado largo: '%s%.*s'.\n"

# FUZZY
# Esto me suena fatal. Se a que se refiere, porque lo
# he visto, pero en cristiano no se si podría entenderlo.
# se refiere a las reglas del tipo % , lo pongo FUZZY , tendré
# que pensar un poco en ello em+
# 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"
msgstr "Intentando una regla de patrón con el tema '%.*s'.\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:717
#, c-format
msgid "Rejecting impossible rule prerequisite '%s'.\n"
msgstr "Se rechaza la regla de dependencia imposible '%s'.\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:718
#, c-format
msgid "Rejecting impossible implicit prerequisite '%s'.\n"
msgstr "Se rechaza la dependencia implícita imposible '%s'.\n"

# FUZZY
# Esto me suena fatal. Se a que se refiere, porque lo
# he visto, pero en cristiano no se si podría entenderlo.
# se refiere a las reglas del tipo % , lo pongo FUZZY , tendré
# que pensar un poco en ello em+
# 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
#, c-format
msgid "Trying rule prerequisite '%s'.\n"
msgstr "Intentando la regla de dependencia '%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+
# ¿Qué te parecería "se evita"? sv
# 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
#, c-format
msgid "Trying implicit prerequisite '%s'.\n"
msgstr "Probando la dependencia implícita '%s'.\n"

#: src/implicit.c:772
#, 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
#, 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"
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
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
msgid " (ignored)"
msgstr " (no tiene efecto)"

#: src/job.c:557 src/job.c:1892
msgid "<builtin>"
msgstr "<integrado>"

#: src/job.c:573
#, c-format
msgid "%s[%s: %s] Error %d%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
#, 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
#, 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
#, c-format
msgid " (remote)"
msgstr " (remoto)"

# Lo mismo, pon Proceso hijo, y quita lo que hay
# entre paréntesis em+
#: src/job.c:898
#, 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
#, 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
#, 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
#, 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
#, 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
#, 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
#, 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
#, c-format
msgid ""
"\n"
"Counted %d args in failed launch\n"
msgstr ""
"\n"
"Se contaron %d argumentos en el lanzamiento fallido\n"

# Proceso hijo em+
# Ok.
#: src/job.c:1642
#, 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
#, 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
#, c-format
msgid "%s: update target '%s' due to: %s"
msgstr "%s: actualizar el objetivo '%s' a causa de: %s"

#: src/job.c:2108
#, 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
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"
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"
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"
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"
msgstr "No se puede restaurar stdin\n"

#: src/job.c:2249
#, c-format
msgid "Could not restore stdout\n"
msgstr "No se puede restaurar stdout\n"

#: src/job.c:2257
#, c-format
msgid "Could not restore stderr\n"
msgstr "No se puede restaurar stderr\n"

#: src/job.c:2520
#, 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
#, c-format
msgid "spawnvpe: environment space might be exhausted"
msgstr "spawnvpe: el espacio ambiental podría estar agotado"

#: src/job.c:2861
#, c-format
msgid "$SHELL changed (was '%s', now '%s')\n"
msgstr "$SHELL ha cambiado (era '%s' y ahora es '%s')\n"

#: src/job.c:3299 src/job.c:3484
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr "Se crea el archivo temporal %s\n"

#: src/job.c:3307
#, c-format
msgid ""
"Batch file contents:\n"
"\t@echo off\n"
msgstr ""
"Contenido del archivo de lotes:\n"
"\t@echo off\n"

#: src/job.c:3496
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
"Contenido del archivo de lotes:%s\n"
"\t%s\n"

#: src/job.c:3604
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr "%s (linea %d) Contexto de shell erróneo (!unixy && !batch_mode_shell)\n"

#: src/load.c:60
#, c-format
msgid "Failed to open global symbol table: %s"
msgstr "Fallo al abrir tabla global de símbolos: %s"

#: src/load.c:97
#, 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
#, 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
#, c-format
msgid "Empty symbol name for load: %s"
msgstr "Nombre de símbolo vacío en la carga: %s"

#: src/load.c:204
#, c-format
msgid "Loading symbol %s from %s\n"
msgstr "Cargando símbolo %s desde %s\n"

#: src/load.c:256
#, 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
msgid "Options:\n"
msgstr "Opciones:\n"

# Lo mismo de arriba con "ignorar". sv
# Ok. mm.
#: src/main.c:336
msgid "  -b, -m                      Ignored for compatibility.\n"
msgstr "  -b, -m                      No se tendrá en cuenta por compatibilidad.\n"

#: src/main.c:338
msgid "  -B, --always-make           Unconditionally make all targets.\n"
msgstr "  -B, --always-make           Hace incondicionalmente todos los objetivos.\n"

#: src/main.c:340
msgid ""
"  -C DIRECTORY, --directory=DIRECTORY\n"
"                              Change to DIRECTORY before doing anything.\n"
msgstr ""
"  -C DIRECTORIO, --directory=DIRECTORIO\n"
"                              Se cambia al DIRECTORIO antes de hacer nada.\n"

# ¿"depurado" o "depuración"? sv
# Puse de depurado para evitar la cacofonía información depuración.
# Sugerencias bienvenidas. mm
#: src/main.c:343
msgid "  -d                          Print lots of debugging information.\n"
msgstr "  -d          Se imprimirán grandes cantidades de información de depurado.\n"

# ¿"depurado" o "depuración"? sv
# Puse de depurado para evitar la cacofonía información depuración.
# Sugerencias bienvenidas. mm
#: src/main.c:345
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
msgid ""
"  -e, --environment-overrides\n"
"                              Environment variables override makefiles.\n"
msgstr ""
"  -e, --environment-overrides\n"
"                Las variables ambientales se imponen a las de los makefiles.\n"

#: src/main.c:350
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
msgid ""
"  -f FILE, --file=FILE, --makefile=FILE\n"
"                              Read FILE as a makefile.\n"
msgstr ""
"  -f ARCHIVO, --file=ARCHIVO, --makefile=ARCHIVO\n"
"                                   Lee al ARCHIVO como un makefile.\n"

#: src/main.c:355
msgid "  -h, --help                  Print this message and exit.\n"
msgstr "  -h, --help                  Muestra este mensaje y finaliza.\n"

# Ojo con ignorar. sv
# Ok. mm
# Por favor, si has traducido commands como instrucciones , hazlo aqui
# 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
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
msgid ""
"  -I DIRECTORY, --include-dir=DIRECTORY\n"
"                              Search DIRECTORY for included makefiles.\n"
msgstr ""
"  -I DIRECTORIO, --include-dir=DIRECTORIO\n"
"                       Busca dentro del DIRECTORIO los makefiles incluidos.\n"

# Yo traduciría "infinite" por "infinitos", no por "una infinidad", que
# parece que son muchos menos... sv
# Ok. mm
#: src/main.c:362
msgid "  -j [N], --jobs[=N]          Allow N jobs at once; infinite jobs with no arg.\n"
msgstr ""
"  -j [N], --jobs[=N]      Se permiten N trabajos a la vez; si no se especifica un\n"
"argumento son infinitos.\n"

# No entiendo por qué aquí empleas subjuntivo: "pudieron". sv
# Es incorrecto. Es una de las opciones `k' que dice... mm
#: src/main.c:364
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
msgid ""
"  -l [N], --load-average[=N], --max-load[=N]\n"
"                              Don't start multiple jobs unless load is below N.\n"
msgstr ""
"  -l [N], --load-average[=N], --max-load[=N]\n"
"      No inicia con trabajos múltiples a menos que la carga esté por debajo de N.\n"

#: src/main.c:369
msgid "  -L, --check-symlink-times   Use the latest mtime between symlinks and target.\n"
msgstr "  -L, --check-symlink-times   Utiliza el último mtime entre los enlaces simbólicos y los objetivos.\n"

#: src/main.c:371
msgid ""
"  -n, --just-print, --dry-run, --recon\n"
"                              Don't actually run any recipe; just print them.\n"
msgstr ""
"  -n, --just-print, --dry-run, --recon\n"
"                              No ejecuta ninguna instrucción; sólo las muestra.\n"

#: src/main.c:374
msgid ""
"  -o FILE, --old-file=FILE, --assume-old=FILE\n"
"                              Consider FILE to be very old and don't remake it.\n"
msgstr ""
"  -o ARCHIVO, --old-file=ARCHIVO, --assume-old=ARCHIVO\n"
"                           Supone que ARCHIVO es muy viejo y no lo reconstruye.\n"

#: src/main.c:377
msgid ""
"  -O[TYPE], --output-sync[=TYPE]\n"
"                              Synchronize output of parallel jobs by TYPE.\n"
msgstr ""
"  -O[TIPO], --output-sync[=TIPO]\n"
"                              Sincroniza la salida de tareas paralelas por tipo.\n"

# de 'make' em+
# ok. mm
#: src/main.c:380
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
msgid "  -q, --question              Run no recipe; exit status says if up to date.\n"
msgstr ""
"  -q, --question             No se ejecutan las instrucciones; el estado de salida\n"
"                                     indicará si están actualizados.\n"

# ¿desabilitan o deshabilitan? sv
# Error de dedo. mm
# ¡ 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
msgid "  -r, --no-builtin-rules      Disable the built-in implicit rules.\n"
msgstr "  -r, --no-builtin-rules      Se deshabilitan las reglas implícitas almacenadas internamente.\n"

# ¿desabilitan o deshabilitan? sv
# Error de dedo. mm
# ¡ 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
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
msgid "  -s, --silent, --quiet       Don't echo recipes.\n"
msgstr "  -s, --silent, --quiet       No muestra las instrucciones.\n"

#: src/main.c:390
msgid "  --no-silent                 Echo recipes (disable --silent mode).\n"
msgstr "  --no-silent                 Muestra las instrucciones (desactiva el modo --silent).\n"

#: src/main.c:392
msgid ""
"  -S, --no-keep-going, --stop\n"
"                              Turns off -k.\n"
msgstr ""
"  -S, --no-keep-going, --stop\n"
"                              Desactiva la opción -k.\n"

# Se *tocan*, ¿no? sv
# Si. mm
#
# Pues entonces cámbialo arriba tambien em+
# En donde? mm
#: src/main.c:395
msgid "  -t, --touch                 Touch targets instead of remaking them.\n"
msgstr "  -t, --touch                 Se tocan los objetivos en vez de reconstruirlos.\n"

# ¿"depurado" o "depuración"? sv
# Puse de depurado para evitar la cacofonía información depuración.
# Sugerencias bienvenidas. mm
#: src/main.c:397
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
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
msgid "  -w, --print-directory       Print the current directory.\n"
msgstr "  -w, --print-directory       Muestra el directorio actual.\n"

# Lo mismo. sv
# Turn off , desactiva o deshabilita , pero no apaga em+
# 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
msgid "  --no-print-directory        Turn off -w, even if it was turned on implicitly.\n"
msgstr "  --no-print-directory        Desactiva -w, aún cuando haya sido activado implícitamente.\n"

#: src/main.c:405
msgid ""
"  -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
"                              Consider FILE to be infinitely new.\n"
msgstr ""
"  -W ARCHIVO, --what-if=ARCHIVO, --new-file=ARCHIVO, --assume-new=ARCHIVO\n"
"                               Supone que ARCHIVO es infinitamente reciente.\n"

# Lo mismo. sv
# Todas estas parecen descripciones de opciones.
#: src/main.c:408
msgid "  --warn-undefined-variables  Warn when an undefined variable is referenced.\n"
msgstr "  --warn-undefined-variables  Advierte cuando se hace una referencia a una variable no definida.\n"

#: src/main.c:671
#, 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
#, c-format
msgid "unknown debug level specification '%s'"
msgstr "se especificó un nivel de depuración desconocido '%s'"

#: src/main.c:794
#, c-format
msgid "unknown output-sync type '%s'"
msgstr "tipo de sincronización de salida desconocido '%s'"

#: src/main.c:849
#, 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
#, c-format
msgid ""
"\n"
"Unhandled exception filter called from program %s\n"
"ExceptionCode = %lx\n"
"ExceptionFlags = %lx\n"
"ExceptionAddress = 0x%p\n"
msgstr ""
"\n"
"Se ha llamado un filtro de excepción no manejado desde el programa %s\n"
"Código de la excepción = %lx\n"
"Banderas de la excepción = %lx\n"
"Dirección de la excepción = 0x%p\n"

#: src/main.c:864
#, 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
#, 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
#, 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
#, 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
#, c-format
msgid "warning: jobserver unavailable: using -j1.  Add '+' to parent make rule."
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
#, 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."
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)"
msgstr "fwrite (archivo temporal)"

#: src/main.c:2004
#, 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
#, 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
#, c-format
msgid "Resetting to single job (-j1) mode."
msgstr "Reajustando al modo monotarea (-j1)."

#: src/main.c:2109
#, c-format
msgid "Symbolic links not supported: disabling -L."
msgstr "Los enlaces simbólicos no están implementados: se deshabilitan con -L."

# Antes pusiste "makefiles". Coherencia. sv
# Cierto. mm
#: src/main.c:2190
#, c-format
msgid "Updating makefiles....\n"
msgstr "Actualizando archivos makefiles....\n"

# Me comería el "archivo" inicial.
# Ok. mm
# "El Makefile `%s' ..." sv
# 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
#, 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"

# Lo mismo. sv
#: src/main.c:2303
#, c-format
msgid "Failed to remake makefile '%s'."
msgstr "Fallo al reconstruir el makefile '%s'."

# Lo mismo. sv
#: src/main.c:2323
#, 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
#, 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."
msgstr "No se pudo regresar al directorio original."

#: src/main.c:2402
#, 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
#, c-format
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ".DEFAULT_GOAL contien más de un objetivo"

#: src/main.c:2579
#, 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
#, 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
#, c-format
msgid "Updating goal targets....\n"
msgstr "Actualizando los objetivos finales....\n"

#: src/main.c:2610
#, 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
#, 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
#, 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
#, c-format
msgid "%sBuilt for %s\n"
msgstr "%sEste programa fue construido para %s\n"

#: src/main.c:3365
#, c-format
msgid "%sBuilt for %s (%s)\n"
msgstr "%sEste programa fue construido para %s (%s)\n"

#: src/main.c:3376
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://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"
msgstr ""
"%sLicencia GPLv3+: GNU GPL versión 3 o posterior <http://gnu.org/licenses/gpl.html>\n"
"%sEste es software libre: cualquiera es libre para redistribuirlo y modificarlo.\n"
"%sNo existe GARANTÍA ALGUNA, hasta los límites permitidos por las leyes aplicables.\n"

#: src/main.c:3397
#, c-format
msgid ""
"\n"
"# Make data base, printed on %s"
msgstr ""
"\n"
"# Base de datos del Make, mostrada en %s"

# make -> Make. sv
# Ok. mm
# Porqué 'del', o pones 'del programa' Make o pones
# 'de Make' em+
# Ok. mm
#: src/main.c:3407
#, c-format
msgid ""
"\n"
"# Finished Make data base on %s\n"
msgstr ""
"\n"
"# Se termina la base de datos de Make en %s\n"

#: src/misc.c:643
#, c-format
msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
msgstr "%s: usuario %lu (real %lu), grupo %lu (real %lu)\n"

#: src/misc.c:664
msgid "Initialized access"
msgstr "Acceso inicializado"

#: src/misc.c:743
msgid "User access"
msgstr "Acceso del usuario"

#: src/misc.c:791
msgid "Make access"
msgstr "Acceso del Make"

#: src/misc.c:825
msgid "Child access"
msgstr "Acceso del hijo"

#: src/output.c:97
#, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "%s: se ingresa a un directorio desconocido\n"

#: src/output.c:99
#, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s: se sale del directorio desconocido\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:102
#, c-format
msgid "%s: Entering directory '%s'\n"
msgstr "%s: se entra en el 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:104
#, c-format
msgid "%s: Leaving directory '%s'\n"
msgstr "%s: se sale del directorio '%s'\n"

#: src/output.c:108
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "%s[%u]: se ingresa a un directorio desconocido\n"

#: src/output.c:110
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "%s[%u]: se sale del directorio desconocido\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:113
#, c-format
msgid "%s[%u]: Entering directory '%s'\n"
msgstr "%s[%u]: se entra en el 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:115
#, 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
#, c-format
msgid "write error: stdout"
msgstr "error al escribir: stdout"

# 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
msgid ".  Stop.\n"
msgstr ".  Alto.\n"

#: src/output.c:658
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"

#: src/output.c:667
#, c-format
msgid "%s: %s"
msgstr "%s: %s"

#: 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:90
msgid "creating jobs pipe"
msgstr "creando una tubería de tareas"

#: src/posixos.c:98 src/posixos.c:251
msgid "duping jobs pipe"
msgstr "duplicando una tubería de tareas"

#: src/posixos.c:104
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'"
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
msgid "write jobserver"
msgstr "escribir en el servidor de tareas"

#: src/posixos.c:300
#, c-format
msgid "job server shut down"
msgstr "servidor de tareas detenido"

#: src/posixos.c:303
msgid "pselect jobs pipe"
msgstr "tubería de trabajos «pselect»"

#: src/posixos.c:319 src/posixos.c:433
msgid "read jobs pipe"
msgstr "tubería de trabajos leídos"

# Sugerencia: eliminar la palabra "archivo". sv
# Ok. Mejora. mm
#: src/read.c:181
#, c-format
msgid "Reading makefiles...\n"
msgstr "Leyendo makefiles...\n"

#: src/read.c:336
#, c-format
msgid "Reading makefile '%s'"
msgstr "Leyendo makefile '%s'"

#: src/read.c:338
#, c-format
msgid " (no default goal)"
msgstr " (no hay objetivo por defecto)"

#: src/read.c:340
#, c-format
msgid " (search path)"
msgstr " (ruta de búsqueda)"

#: src/read.c:342
#, c-format
msgid " (don't care)"
msgstr " (no importa)"

#: src/read.c:344
#, c-format
msgid " (no ~ expansion)"
msgstr " (no hay expansión del ~)"

#: src/read.c:655
#, 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
#, 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
#, 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
#, c-format
msgid "recipe commences before first target"
msgstr "las instrucciones comenzaron antes del primer objetivo"

# "falta una regla". sv
# (es que extraviada me suena muy raro).
# 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
#, c-format
msgid "missing rule before recipe"
msgstr "falta una regla antes de las instrucciones"

#: src/read.c:1136
#, 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
#, c-format
msgid "missing separator"
msgstr "falta un separador"

#: src/read.c:1283
#, c-format
msgid "missing target pattern"
msgstr "falta un patrón de objetivos"

#: src/read.c:1285
#, c-format
msgid "multiple target patterns"
msgstr "hay varios patrones de objetivos"

#: src/read.c:1289
#, c-format
msgid "target pattern contains no '%%'"
msgstr "el patrón de objetivo no contiene '%%'"

#: src/read.c:1404
#, c-format
msgid "missing 'endif'"
msgstr "falta un 'endif'"

#: src/read.c:1443 src/read.c:1488 src/variable.c:1600
#, c-format
msgid "empty variable name"
msgstr "nombre de variable vacío"

#: src/read.c:1478
#, 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
#, c-format
msgid "missing 'endef', unterminated 'define'"
msgstr "falta un 'endef', no se terminó un 'define'"

#: src/read.c:1531
#, 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
#, 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
#, c-format
msgid "extraneous '%s'"
msgstr "irrelevante o mal colocado '%s'"

#: src/read.c:1632
#, c-format
msgid "only one 'else' per conditional"
msgstr "sólo se admite un 'else' por condicional"

#: src/read.c:1908
#, 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
#, 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
#, c-format
msgid "grouped targets must provide a recipe"
msgstr "los objetivos agrupados deben proporcionar instrucción"

#: src/read.c:2029
#, 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
#, c-format
msgid "mixed implicit and normal rules"
msgstr "las reglas implícitas y las normales están mezcladas"

#: src/read.c:2107
#, 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
#, 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
#, 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"

# 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/read.c:2138
#, 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
#, 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
#, c-format
msgid "*** mixed implicit and normal rules: deprecated syntax"
msgstr "*** las reglas implícitas y las normales están mezcladas: sintaxis obsoleta"

# 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/read.c:2271
#, 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
#, 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
#, c-format
msgid "Nothing to be done for '%s'."
msgstr "No se hace nada para '%s'."

#: src/remake.c:227
#, c-format
msgid "'%s' is up to date."
msgstr "'%s' está actualizado."

#: src/remake.c:323
#, c-format
msgid "Pruning file '%s'.\n"
msgstr "Se poda el archivo '%s'.\n"

#: src/remake.c:389
#, c-format
msgid "%sNo rule to make target '%s', needed by '%s'%s"
msgstr "%sNo hay ninguna regla para construir el objetivo '%s', necesario para '%s'%s"

# Sugerencia: No hay ninguna regla... sv
# Como una no hay ninguna. mm
#: src/remake.c:399
#, c-format
msgid "%sNo rule to make target '%s'%s"
msgstr "%sNo hay ninguna regla para construir el objetivo '%s'%s"

# ¿target file no sería "archivo objetivo"? sv
# Literalmente si pero un archivo make puede tener varios objetivos. mm
# Max , pero no existe un archivo de objetivos. Esta línea, que es
# 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
#, c-format
msgid "Considering target file '%s'.\n"
msgstr "Se considera el archivo objetivo '%s'.\n"

# Un compañero mío dice que una buena regla es poner siempre que se pueda
# un número par de comas.
# Es decir: "Se intentó, sin éxito, actualizar ..."
# o bien "Se intentó sin éxito actualizar ..."
# ¿Qué te parece? sv
# Bien y tiene razón. mm
#: src/remake.c:432
#, 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
#, c-format
msgid "File '%s' was considered already.\n"
msgstr "Ya se ha tenido en cuenta el archivo '%s'.\n"

#: src/remake.c:454
#, c-format
msgid "Still updating file '%s'.\n"
msgstr "Se continúa actualizando el archivo '%s'.\n"

#: src/remake.c:457
#, c-format
msgid "Finished updating file '%s'.\n"
msgstr "Se terminó de actualizar el archivo '%s'.\n"

#: src/remake.c:486
#, c-format
msgid "File '%s' does not exist.\n"
msgstr "El archivo '%s' no existe.\n"

#: src/remake.c:494
#, c-format
msgid "*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
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"

# Por defecto, como haces arriba em+
# en efecto, mm
#: src/remake.c:515
#, 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
#, c-format
msgid "Circular %s <- %s dependency dropped."
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
#, c-format
msgid "Finished prerequisites of target file '%s'.\n"
msgstr "Se terminaron las dependencias del archivo objetivo '%s'.\n"

#: src/remake.c:680
#, 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
#, c-format
msgid "Giving up on target file '%s'.\n"
msgstr "Se abandona el archivo objetivo '%s'.\n"

#: src/remake.c:699
#, 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
#, 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
#, 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
#, 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
#, 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
#, 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
#, 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
#, 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
#, c-format
msgid "No need to remake target '%s'"
msgstr "No es necesario reconstruir el objetivo '%s'."

#: src/remake.c:804
#, c-format
msgid "; using VPATH name '%s'"
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
#, c-format
msgid "Must remake target '%s'.\n"
msgstr "Se debe reconstruir el objetivo '%s'.\n"

#: src/remake.c:830
#, c-format
msgid "  Ignoring VPATH name '%s'.\n"
msgstr "  Se ignora el nombre del VPATH '%s'.\n"

#: src/remake.c:839
#, c-format
msgid "Recipe of '%s' is being run.\n"
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
#, 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
#, 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
#, 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
#, 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
#, 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
#, c-format
msgid ".LIBPATTERNS element '%s' is not a pattern"
msgstr "El elemento .LIBPATTERNS '%s' no es un patrón"

# ¿Las aduanas? sv
# Si, las aduanas de exportación de procesos. Suena rarísimo pero
# revisé el código y todo parece apuntar a que así son las cosas.
# Creo que esto es otra cosa. Custom se refiere a los valores dados
# por el usuario ( customizables ) , y que no se exportarán se refiere
# a que al llamar a otros makefiles, no serán pasados como valores
# que se antepongan ( otro término para override ) a los que make
# tiene por defecto .
# La traducción exacta por tanto es, los valores definidos por el usuario
# 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
#, 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:516
msgid ""
"\n"
"# Implicit Rules"
msgstr ""
"\n"
"# Reglas implícitas."

#: src/rule.c:531
msgid ""
"\n"
"# No implicit rules."
msgstr ""
"\n"
"# No hay reglas implícitas."

#: src/rule.c:534
#, c-format
msgid ""
"\n"
"# %u implicit rules, %u (%.1f%%) terminal."
msgstr ""
"\n"
"# %u reglas implícitas, %u (%.1f%%) terminal."

# ## Añado ¡ con tu permiso. sv
# Gracias. mm
# ¿ qué tal erróneo ? em+
# Si, suena mejor. mm
#: src/rule.c:543
#, c-format
msgid "BUG: num_pattern_rules is wrong!  %u != %u"
msgstr "BUG: ¡num_pattern_rules erróneo!  %u != %u"

#: src/signame.c:84
msgid "unknown signal"
msgstr "señal desconocida"

#: src/signame.c:92
msgid "Hangup"
msgstr "Colgado"

# ¿ Y por qué no Interrupción ? em+
# Porque es una acción. De hecho es un mensaje que se envía a través
# del sistema en este caso le enviarías un kill -INT num_proceso para
# interrumpir al programa. Lo revisé contra el fuente. mm
#: src/signame.c:95
msgid "Interrupt"
msgstr "Interrumpir"

#: src/signame.c:98
msgid "Quit"
msgstr "Finalizar"

#: src/signame.c:101
msgid "Illegal Instruction"
msgstr "Instrucción no válida"

# Los trap los hemos dejado como traps, simplemente. em+
# Ok. mm
#: src/signame.c:104
msgid "Trace/breakpoint trap"
msgstr "Trace/breakpoint trap"

#: src/signame.c:109
msgid "Aborted"
msgstr "Abortado"

# Ponte de acuerdo con Enrique en cómo se traduce esto.
# Enrique tiene esta misma frase en glibc. sv
# Eso es :) IOT trap em+
# Ok. mm
#: src/signame.c:112
msgid "IOT trap"
msgstr "IOT trap"

# Otra em+
# Ok. mm
#: src/signame.c:115
msgid "EMT trap"
msgstr "EMT trap"

# Coma flotante, por favor. sv
# Creeme que aquí lo de coma flotante no vale. Somos pro-yanquis y
# por eso usamos el punto flotante. Debemos llegar a un acuerdo.
# Por ahora pongo coma flotante para facilitar las cosas, pero bajo
# protesta ;-) mm
#: src/signame.c:118
msgid "Floating point exception"
msgstr "Excepción de coma flotante"

# "Terminado por la señal kill" quedaría un poco más suave ... sv
# Enrique tiene en glibc "Terminado (killed)". sv
# Bueno, creo que mi traducción es más exacta, concisa y clara
# pero si insisten... Además recuerda en que estoy en un país
# en donde asesinado es palabra de todos los días. mm
#: src/signame.c:121
msgid "Killed"
msgstr "Terminado (killed)"

#: src/signame.c:124
msgid "Bus error"
msgstr "Error en el bus"

#: src/signame.c:127
msgid "Segmentation fault"
msgstr "Fallo de segmentación"

#: src/signame.c:130
msgid "Bad system call"
msgstr "Llamada al sistema errónea"

#: src/signame.c:133
msgid "Broken pipe"
msgstr "Tubería rota"

# ¿Temporizador? (así lo tradujo Enrique en glibc). sv
# Suena como StarTrek. Mejor lo platico con él. A lo mejor
# hasta lo convenzo. mm
# Pues tendrás que darme razones em+
# Bueno, un alarm clock es una alarma del reloj. No tiene pierde.
# Temporizador es una bonita palabra pero en donde dice que va a
# sonar una campana para despertarte? mm
#: src/signame.c:136
msgid "Alarm clock"
msgstr "Alarma del reloj"

#: src/signame.c:139
msgid "Terminated"
msgstr "Finalizado"

#: src/signame.c:142
msgid "User defined signal 1"
msgstr "Señal 1 definida por el usuario"

#: src/signame.c:145
msgid "User defined signal 2"
msgstr "Señal 2 definida por el usuario"

# Proceso hijo terminado em+
# Ok. mm
#: src/signame.c:150 src/signame.c:153
msgid "Child exited"
msgstr "Proceso hijo terminado"

# Fallo. sv
# Alimentación eléctrico em+
# Ok. mm
#: src/signame.c:156
msgid "Power failure"
msgstr "Falla de alimentación eléctrica"

#: src/signame.c:159
msgid "Stopped"
msgstr "Detenido"

# Enrique hizo una preciosa traducción de este mensaje que, según él,
# mejora el original. Era algo así como:
# "Detenido (requiere entrada de terminal)". sv
# Tiene razón se ve bien. mm
# Requiere 'de';) , como te vea Santiago que le metes
# otro 'de' otra vez ... em+
# Ok. mm
#: src/signame.c:162
msgid "Stopped (tty input)"
msgstr "Detenido (se requiere entrada de terminal)"

# lo mismo, se requiere entrada de terminal ,  em+
# Ok. mm
#: src/signame.c:165
msgid "Stopped (tty output)"
msgstr "Detenido (se requiere salida de terminal)"

# idem em+
#: src/signame.c:168
msgid "Stopped (signal)"
msgstr "Detenido (se requiere una señal)"

#: src/signame.c:171
msgid "CPU time limit exceeded"
msgstr "Se agotó el tiempo de CPU permitido"

#: src/signame.c:174
msgid "File size limit exceeded"
msgstr "Se excedió el tamaño máximo de archivo permitido"

#: src/signame.c:177
msgid "Virtual timer expired"
msgstr "El contador de tiempo virtual ha expirado"

# Nunca me enteré de cómo se traducía profile, pero perfil me suena raro.
# ¿De dónde lo has sacado? sv
# Es lo que quiere decir, ni modo. Perfil de un avión es plane profile.
# Por cierto, lo más probable es que esta "traducción" haya que
# modificarla para que sea entendible. mm
# Esto lo tengo en glibc, lo mirare otro día. Estos mensajes no son
# importantes em+
# Agregué unas palabras en aras de claridad (espero) mm
#: src/signame.c:180
msgid "Profiling timer expired"
msgstr "El contador de tiempo para la generación del perfil ha expirado"

#: src/signame.c:186
msgid "Window changed"
msgstr "La ventana ha cambiado"

#: src/signame.c:189
msgid "Continued"
msgstr "Continuado"

#: src/signame.c:192
msgid "Urgent I/O condition"
msgstr "Condición urgente de I/O"

#: src/signame.c:199 src/signame.c:208
msgid "I/O possible"
msgstr "Posible I/O"

#: src/signame.c:202
msgid "SIGWIND"
msgstr "SIGWIND"

#: src/signame.c:205
msgid "SIGPHONE"
msgstr "SIGPHONE"

#: src/signame.c:211
msgid "Resource lost"
msgstr "Recurso perdido"

#: src/signame.c:214
msgid "Danger signal"
msgstr "Señal de peligro"

#: src/signame.c:217
msgid "Information request"
msgstr "Petición de información"

#: src/signame.c:220
msgid "Floating point co-processor not available"
msgstr "Coprocesador de punto flotante no disponible"

#: src/strcache.c:274
#, c-format
msgid ""
"\n"
"%s No strcache buffers\n"
msgstr ""
"\n"
"%s No hay «buffers» strcache\n"

#: src/strcache.c:304
#, c-format
msgid ""
"\n"
"%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu B\n"
msgstr ""
"\n"
"%s «buffers» strcache: %lu (%lu) / cadenas = %lu / almacenamiento = %lu B / promedio = %lu B\n"

#: src/strcache.c:308
#, c-format
msgid "%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %u B\n"
msgstr "%s «buffer» actual: tamaño = %hu B / utilizado = %hu B / número = %hu / promedio = %u B\n"

#: src/strcache.c:319
#, c-format
msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
msgstr "%s otros utilizado: total = %lu B / / número = %lu / promedio = %lu B\n"

#: src/strcache.c:322
#, c-format
msgid "%s other free: total = %lu B / max = %lu B / min = %lu B / avg = %hu B\n"
msgstr "%s otros libre: total = %lu B / máx = %lu B / mín = %lu B / promedio = %hu B\n"

#: src/strcache.c:326
#, c-format
msgid ""
"\n"
"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
msgstr ""
"\n"
"%s rendimiento de strcache: búsquedas = %lu / coincidencias = %lu%%\n"

#: src/strcache.c:328
msgid ""
"# hash-table stats:\n"
"# "
msgstr ""
"# estadísticas de la tabla «hash»:\n"
"# "

# Lo he cmabiado em+
# Ok. Deberíamos platicarlo con Ulrich. mm
#: src/variable.c:1653
msgid "automatic"
msgstr "automática/o"

#: src/variable.c:1656
msgid "default"
msgstr "por defecto"

#: src/variable.c:1659
msgid "environment"
msgstr "entorno"

# Sugerencia: No poner archivo. sv
# Ok. mm
#: src/variable.c:1662
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
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
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
msgid "'override' directive"
msgstr "directiva 'override'"

#: src/variable.c:1682
#, c-format
msgid " (from '%s', line %lu)"
msgstr " (de '%s', línea %lu):"

# Bueno. Aquí un punto de discusión. Traduzco buckets por cubetas o
# mejor las dejo tal cual? Opiniones bienvenidas. mm
# 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
msgid "# variable set hash-table stats:\n"
msgstr "# estadísticas del conjunto de variables de la tabla «hash»:\n"

#: src/variable.c:1756
msgid ""
"\n"
"# Variables\n"
msgstr ""
"\n"
"# Variables\n"

#: src/variable.c:1760
msgid ""
"\n"
"# Pattern-specific Variable Values"
msgstr ""
"\n"
"# Valores de variables específicas al patrón"

#: src/variable.c:1774
msgid ""
"\n"
"# No pattern-specific variable values."
msgstr ""
"\n"
"# No hay valores de variables específicas al patrón."

#: src/variable.c:1776
#, c-format
msgid ""
"\n"
"# %u pattern-specific variable values"
msgstr ""
"\n"
"# %u valores de variables específicas al patrón"

# ¿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
#, c-format
msgid "warning: undefined variable '%.*s'"
msgstr "atención: la variable '%.*s' no ha sido definida"

#: src/vmsfunctions.c:91
#, c-format
msgid "sys$search() failed with %d\n"
msgstr "fallo en sys$search() con %d\n"

#: src/vmsjobs.c:244
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr "-atención, deberás rehabilitar el manejo del CTRL-Y desde el DCL.\n"

#: src/vmsjobs.c:681
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "CD INTEGRADO %s\n"

#: src/vmsjobs.c:1224
#, c-format
msgid "DCL: %s\n"
msgstr "DCL: %s\n"

#: src/vmsjobs.c:1284
#, c-format
msgid "Append output to %s\n"
msgstr "Salida redirigida a %s\n"

#: src/vmsjobs.c:1309
#, 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
#, 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
msgid ""
"\n"
"# VPATH Search Paths\n"
msgstr ""
"\n"
"# Rutas de búsqueda VPATH\n"

# Rutas creo que queda mejor. sv
# Ok. Es más común. mm
#: src/vpath.c:620
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
#, c-format
msgid ""
"\n"
"# %u 'vpath' search paths.\n"
msgstr ""
"\n"
"# %u rutas de búsqueda 'vpath'.\n"

#: src/vpath.c:625
msgid ""
"\n"
"# No general ('VPATH' variable) search path."
msgstr ""
"\n"
"# No hay ruta de búsqueda general (variable 'VPATH')."

#: src/vpath.c:631
msgid ""
"\n"
"# General ('VPATH' variable) search path:\n"
"# "
msgstr ""
"\n"
"# Ruta de búsqueda general (variable 'VPATH'):\n"
"# "

#: src/w32/w32os.c:44
#, c-format
msgid "Jobserver slots limited to %d\n"
msgstr "Ranuras del servidor de tareas limitads a %d\n"

#: src/w32/w32os.c:60
#, 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
#, c-format
msgid "internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
msgstr "error interno: no se pudo abrir el semáforo del servidor de tareas '%s': (Error %ld: %s)"

#: src/w32/w32os.c:82
#, c-format
msgid "Jobserver client (semaphore %s)\n"
msgstr "Cliente del servidor de tareas (semáforo %s)\n"

#: src/w32/w32os.c:123
#, 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
#, c-format
msgid "semaphore or child process wait: (Error %ld: %s)"
msgstr "semáforo o proceso hijo en espera: (Error %ld: %s)"

#~ msgid "%s: %s: Command not found\n"
#~ msgstr "%s: %s: No se encontró el programa\n"

#~ msgid "%s[%u]: %s: Command not found\n"
#~ msgstr "%s[%u]: %s: No se encontró el programa\n"

# ¿Y "el programa Shell"? (a secas) sv
# Si. Suena mucho mejor. mm
# Suena, pero no es mejor. Tal y como esta escrito, incluso
# yo pensaria que me falta un programa en mi sistema que se
# llame shell. No se ha encontrado el 'shell'em+
# Es bueno contar con una segunda opinión ... mm
#~ msgid "%s: Shell program not found"
#~ msgstr "%s: No se ha encontrado el `shell'"

#~ msgid "%s is suspending for 30 seconds..."
#~ msgstr "%s está suspendida por 30 segundos..."

#~ msgid "done sleep(30). Continuing.\n"
#~ msgstr "se hizo un sleep(30). Continuando.\n"

#~ msgid "Unknown error %d"
#~ msgstr "Error desconocido %d"

# Ubicada :)) , que tal futura, a secas ? em+
# Bueno, sonaba como StarTrek, muy chido, pero acepto tu sugerencia. mm
#~ msgid "Warning: File '%s' has modification time in the future"
#~ msgstr "Atención: El archivo '%s' tiene una hora de modificación en el futuro"

#~ msgid " terminal."
#~ msgstr " terminal."

# 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
#~ msgid "%s: recipe for target '%s' failed"
#~ msgstr "%s: fallo en las instrucciones para el objetivo '%s'"

#~ msgid "%s[%s] Error 0x%x%s"
#~ msgstr "%s[%s] Error 0x%x%s"

#~ msgid "%s[%s] %s%s%s"
#~ msgstr "%s[%s] %s%s%s"

#~ msgid "dup jobserver"
#~ msgstr "servidor de tareas duplicado"

#~ msgid "Warning: Empty redirection\n"
#~ msgstr "Atención: redirección vacía\n"

#~ msgid "internal error: '%s' command_state"
#~ msgstr "error interno: '%s' command_state"

#~ msgid "BUILTIN [%s][%s]\n"
#~ msgstr "INTEGRADA(S) [%s][%s]\n"

#~ msgid "BUILTIN ECHO %s->%s\n"
#~ msgstr "ECO INTEGRADO %s->%s\n"

# Por defecto, como haces arriba em+
# en efecto, mm
#~ msgid "Unknown builtin command '%s'\n"
#~ msgstr "Instrucción integrada desconocida '%s'\n"

#~ msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"
#~ msgstr "La instrucción integrada se desconoce o no funciona en .ONESHELL: '%s'\n"

#~ msgid "Error, empty command\n"
#~ msgstr "Error, comando vacío\n"

#~ msgid "Redirected input from %s\n"
#~ msgstr "Entrada redirigida desde %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.
#~ msgid "Redirected error to %s\n"
#~ msgstr "Se redirecciona el error a %s\n"

#~ msgid "Redirected output to %s\n"
#~ msgstr "Salida redirigida a %s\n"

#~ msgid "Error spawning, %d\n"
#~ msgstr "Error al lanzar el proceso %d\n"

#~ msgid "internal error: multiple --sync-mutex options"
#~ msgstr "error interno: hay varias opciones --sync-mutex"

#~ msgid "internal error: multiple --jobserver-fds options"
#~ msgstr "error interno: hay varias opciones --jobserver-fds"

# Propongo eliminar la palabra virtual. sv
# Pero si es muy bonita. :) Bueno. Como ya platicamos puede que sea
# una buena idea pero, por ahora la dejaría. mm
#~ msgid "virtual memory exhausted"
#~ msgstr "memoria virtual agotada"

#~ msgid "write error"
#~ msgstr "error al escribir"

#~ msgid "BUILTIN RM %s\n"
#~ msgstr "RM INTERCONSTRUIDO %s\n"
