# Mensajes en español para gprof 2.22.90
# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
# This file is distributed under the same license as the binutils package.
# Cristian Othón Martínez Vera <cfuga@cfuga.mx>, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: gprof 2.22.90\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
"POT-Creation-Date: 2011-10-18 14:20+0100\n"
"PO-Revision-Date: 2012-07-27 17:15-0500\n"
"Last-Translator: Cristian Othón Martínez Vera <cfuga@cfuga.mx>\n"
"Language-Team: Spanish <es@li.org>\n"
"Language: es\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: alpha.c:102 mips.c:54
msgid "<indirect child>"
msgstr "<hijo indirecto>"

#: alpha.c:107 mips.c:59
#, c-format
msgid "[find_call] %s: 0x%lx to 0x%lx\n"
msgstr "[find_call] %s: 0x%lx a 0x%lx\n"

#: alpha.c:129
#, c-format
msgid "[find_call] 0x%lx: jsr%s <indirect_child>\n"
msgstr "[find_call] 0x%lx: jsr%s <hijo_indirecto>\n"

#: alpha.c:139
#, c-format
msgid "[find_call] 0x%lx: bsr"
msgstr "[find_call] 0x%lx: bsr"

#: basic_blocks.c:129 call_graph.c:89 hist.c:107
#, c-format
msgid "%s: %s: unexpected end of file\n"
msgstr "%s: %s: fin de fichero inesperado\n"

#: basic_blocks.c:197
#, c-format
msgid "%s: warning: ignoring basic-block exec counts (use -l or --line)\n"
msgstr "%s: aviso: se descartan las cuentas de ejecución de bloques básicos (use -l o --line)\n"

#. FIXME: This only works if bfd_vma is unsigned long.
#: basic_blocks.c:290 basic_blocks.c:300
#, c-format
msgid "%s:%d: (%s:0x%lx) %lu executions\n"
msgstr "%s:%d: (%s:0x%lx) %lu ejecuciones\n"

#: basic_blocks.c:291 basic_blocks.c:301
msgid "<unknown>"
msgstr "<desconocido>"

#: basic_blocks.c:544
#, c-format
msgid ""
"\n"
"\n"
"Top %d Lines:\n"
"\n"
"     Line      Count\n"
"\n"
msgstr ""
"\n"
"\n"
"%d Líneas Principales:\n"
"\n"
"     Línea     Cuenta\n"
"\n"

#: basic_blocks.c:568
#, c-format
msgid ""
"\n"
"Execution Summary:\n"
"\n"
msgstr ""
"\n"
"Resumen de Ejecución:\n"
"\n"

#: basic_blocks.c:569
#, c-format
msgid "%9ld   Executable lines in this file\n"
msgstr "%9ld   Líneas ejecutables en este fichero\n"

#: basic_blocks.c:571
#, c-format
msgid "%9ld   Lines executed\n"
msgstr "%9ld   Líneas ejecutadas\n"

#: basic_blocks.c:572
#, c-format
msgid "%9.2f   Percent of the file executed\n"
msgstr "%9.2f   Porcentaje ejecutado del fichero\n"

#: basic_blocks.c:576
#, c-format
msgid ""
"\n"
"%9lu   Total number of line executions\n"
msgstr ""
"\n"
"%9lu   Número total de ejecuciones de línea\n"

#: basic_blocks.c:578
#, c-format
msgid "%9.2f   Average executions per line\n"
msgstr "%9.2f   Ejecuciones promedio por línea\n"

#: call_graph.c:68
#, c-format
msgid "[cg_tally] arc from %s to %s traversed %lu times\n"
msgstr "[cg_tally] arco desde %s hasta %s recorrido %lu veces\n"

#: cg_print.c:75
#, c-format
msgid ""
"\t\t     Call graph (explanation follows)\n"
"\n"
msgstr ""
"\t\t     Gráfico de llamadas (explicación a continuación)\n"
"\n"

#: cg_print.c:77
#, c-format
msgid ""
"\t\t\tCall graph\n"
"\n"
msgstr ""
"\t\t\tGráfico de llamadas\n"
"\n"

#: cg_print.c:80 hist.c:468
#, c-format
msgid ""
"\n"
"granularity: each sample hit covers %ld byte(s)"
msgstr ""
"\n"
"granularidad: cada elemento de muestra cubre %ld byte(s)"

#: cg_print.c:84
#, c-format
msgid ""
" for %.2f%% of %.2f seconds\n"
"\n"
msgstr ""
" para %.2f%% de %.2f segundos\n"
"\n"

#: cg_print.c:88
#, c-format
msgid ""
" no time propagated\n"
"\n"
msgstr ""
" no hay tiempo propagado\n"
"\n"

#: cg_print.c:97 cg_print.c:102 cg_print.c:105
msgid "called"
msgstr "llamado"

#: cg_print.c:97 cg_print.c:105
msgid "total"
msgstr "total"

#: cg_print.c:97
msgid "parents"
msgstr "padres"

#: cg_print.c:99 cg_print.c:103
msgid "index"
msgstr "índice"

#: cg_print.c:101
#, no-c-format
msgid "%time"
msgstr "%tiempo"

#: cg_print.c:102
msgid "self"
msgstr "sí mismo"

#: cg_print.c:102
msgid "descendants"
msgstr "descendientes"

#: cg_print.c:103 hist.c:494
msgid "name"
msgstr "nombre"

#: cg_print.c:105
msgid "children"
msgstr "hijos"

#: cg_print.c:110
#, c-format
msgid "index %% time    self  children    called     name\n"
msgstr "ind   %% tiempo  sí_mismo hijos    llamado    nombre\n"

#: cg_print.c:133
#, c-format
msgid " <cycle %d as a whole> [%d]\n"
msgstr " <ciclo %d como un todo> [%d]\n"

#: cg_print.c:359
#, c-format
msgid "%6.6s %5.5s %7.7s %11.11s %7.7s %7.7s     <spontaneous>\n"
msgstr "%6.6s %5.5s %7.7s %11.11s %7.7s %7.7s     <espontáneos>\n"

#: cg_print.c:360
#, c-format
msgid "%6.6s %5.5s %7.7s %7.7s %7.7s %7.7s     <spontaneous>\n"
msgstr "%6.6s %5.5s %7.7s %11.11s %7.7s %7.7s   <espontáneos>\n"

#: cg_print.c:594
#, c-format
msgid ""
"Index by function name\n"
"\n"
msgstr ""
"Índice por nombre de función\n"
"\n"

#: cg_print.c:651 cg_print.c:660
#, c-format
msgid "<cycle %d>"
msgstr "<ciclo %d>"

#: corefile.c:61
#, c-format
msgid "%s: unable to parse mapping file %s.\n"
msgstr "%s: no se puede decodificar el fichero de mapeo %s.\n"

#: corefile.c:85 corefile.c:514
#, c-format
msgid "%s: could not open %s.\n"
msgstr "%s: no se puede abrir %s.\n"

#: corefile.c:185
#, c-format
msgid "%s: %s: not in executable format\n"
msgstr "%s: %s: no está en formato ejecutable\n"

#: corefile.c:196
#, c-format
msgid "%s: can't find .text section in %s\n"
msgstr "%s: no se puede encontrar la sección .text en %s\n"

#: corefile.c:271
#, c-format
msgid "%s: ran out room for %lu bytes of text space\n"
msgstr "%s: se terminó el espacio para %lu bytes de espacio de texto\n"

#: corefile.c:285
#, c-format
msgid "%s: can't do -c\n"
msgstr "%s: no se puede hacer -c\n"

#: corefile.c:324
#, c-format
msgid "%s: -c not supported on architecture %s\n"
msgstr "%s: -c no se admite en la arquitectura %s\n"

#: corefile.c:523 corefile.c:622
#, c-format
msgid "%s: file `%s' has no symbols\n"
msgstr "%s: el fichero `%s' no tiene símbolos\n"

#: corefile.c:884
#, c-format
msgid "%s: somebody miscounted: ltab.len=%d instead of %ld\n"
msgstr "%s: alguien contó mal: ltab.len=%d en lugar de %ld\n"

#: gmon_io.c:84
#, c-format
msgid "%s: address size has unexpected value of %u\n"
msgstr "%s: el tamaño de la dirección tiene un valor inesperado de %u\n"

#: gmon_io.c:319 gmon_io.c:415
#, c-format
msgid "%s: file too short to be a gmon file\n"
msgstr "%s: el fichero es muy corto para ser un fichero gmon\n"

#: gmon_io.c:329 gmon_io.c:458
#, c-format
msgid "%s: file `%s' has bad magic cookie\n"
msgstr "%s: el fichero `%s' tiene una galleta mágica errónea\n"

#: gmon_io.c:340
#, c-format
msgid "%s: file `%s' has unsupported version %d\n"
msgstr "%s: el fichero `%s' tiene la version %d que no se admite\n"

#: gmon_io.c:370
#, c-format
msgid "%s: %s: found bad tag %d (file corrupted?)\n"
msgstr "%s: %s: se encontró la marca errónea %d (¿Fichero corrupto?)\n"

#: gmon_io.c:437
#, c-format
msgid "%s: profiling rate incompatible with first gmon file\n"
msgstr "%s: tasa de análisis de perfil incompatible con el primer fichero gmon\n"

#: gmon_io.c:488
#, c-format
msgid "%s: incompatible with first gmon file\n"
msgstr "%s: incompatible con el primer fichero gmon\n"

#: gmon_io.c:518
#, c-format
msgid "%s: file '%s' does not appear to be in gmon.out format\n"
msgstr "%s: el fichero '%s' no parece estar en el formato gmon.out\n"

#: gmon_io.c:531
#, c-format
msgid "%s: unexpected EOF after reading %d/%d bins\n"
msgstr "%s: fin de fichero inesperado después de leer %d/%d binarios\n"

#: gmon_io.c:563
#, c-format
msgid "time is in ticks, not seconds\n"
msgstr "el tiempo está en tics, no en segundos\n"

#: gmon_io.c:569 gmon_io.c:749
#, c-format
msgid "%s: don't know how to deal with file format %d\n"
msgstr "%s: se desconoce cómo lidiar con el fichero de formato %d\n"

#: gmon_io.c:579
#, c-format
msgid "File `%s' (version %d) contains:\n"
msgstr "El fichero `%s' (versión %d) contiene:\n"

#: gmon_io.c:582
#, c-format
msgid "\t%d histogram record\n"
msgstr "\t%d registro de histograma\n"

#: gmon_io.c:583
#, c-format
msgid "\t%d histogram records\n"
msgstr "\t%d registros de histogramas\n"

#: gmon_io.c:585
#, c-format
msgid "\t%d call-graph record\n"
msgstr "\t%d registro de gráfico de llamadas\n"

#: gmon_io.c:586
#, c-format
msgid "\t%d call-graph records\n"
msgstr "\t%d registros de gráficos de llamadas\n"

#: gmon_io.c:588
#, c-format
msgid "\t%d basic-block count record\n"
msgstr "\t%d registro de cuenta de bloques básicos\n"

#: gmon_io.c:589
#, c-format
msgid "\t%d basic-block count records\n"
msgstr "\t%d registros de cuentas de bloques básicos\n"

#: gprof.c:159
#, c-format
msgid ""
"Usage: %s [-[abcDhilLsTvwxyz]] [-[ACeEfFJnNOpPqSQZ][name]] [-I dirs]\n"
"\t[-d[num]] [-k from/to] [-m min-count] [-t table-length]\n"
"\t[--[no-]annotated-source[=name]] [--[no-]exec-counts[=name]]\n"
"\t[--[no-]flat-profile[=name]] [--[no-]graph[=name]]\n"
"\t[--[no-]time=name] [--all-lines] [--brief] [--debug[=level]]\n"
"\t[--function-ordering] [--file-ordering]\n"
"\t[--directory-path=dirs] [--display-unused-functions]\n"
"\t[--file-format=name] [--file-info] [--help] [--line] [--min-count=n]\n"
"\t[--no-static] [--print-path] [--separate-files]\n"
"\t[--static-call-graph] [--sum] [--table-length=len] [--traditional]\n"
"\t[--version] [--width=n] [--ignore-non-functions]\n"
"\t[--demangle[=STYLE]] [--no-demangle] [--external-symbol-table=name] [@FILE]\n"
"\t[image-file] [profile-file...]\n"
msgstr ""
"Modo de empleo: %s [-[abcDhilLsTvwxyz]] [-[ACeEfFJnNOpPqQZ][nombre]] [-I dirs]\n"
"\t[-d[num]] [-k de/a] [-m cuenta-min] [-t longitud-tabla]\n"
"\t[--[no-]annotated-source[=nombre]] [--[no-]exec-counts[=nombre]]\n"
"\t[--[no-]flat-profile[=nombre]] [--[no-]graph[=nombre]]\n"
"\t[--[no-]time=nombre] [--all-lines] [--brief] [--debug[=nivel]]\n"
"\t[--function-ordering] [--file-ordering]\n"
"\t[--directory-path=dirs] [--display-unused-functions]\n"
"\t[--file-format=nombre] [--file-info] [--help] [--line] [--min-count=n]\n"
"\t[--no-static] [--print-path] [--separate-files]\n"
"\t[--static-call-graph] [--sum] [--table-length=long] [--traditional]\n"
"\t[--version] [--width=n] [--ignore-non-functions]\n"
"\t[--demangle[=ESTILO]] [--no-demangle] [--external-symbol-table=nombre] [@FICHERO]\n"
"\t[fichero-imagen] [fichero-perfil...]\n"

#: gprof.c:175
#, c-format
msgid "Report bugs to %s\n"
msgstr "Reporte bichos a %s\n"

#: gprof.c:251
#, c-format
msgid "%s: debugging not supported; -d ignored\n"
msgstr "%s: no se admite la depuración; se descarta -d\n"

#: gprof.c:331
#, c-format
msgid "%s: unknown file format %s\n"
msgstr "%s: formato de fichero %s desconocido\n"

#. This output is intended to follow the GNU standards document.
#: gprof.c:419
#, c-format
msgid "GNU gprof %s\n"
msgstr "GNU gprof %s\n"

#: gprof.c:420
#, c-format
msgid "Based on BSD gprof, copyright 1983 Regents of the University of California.\n"
msgstr "Basado en gprof de BSD, copyright 1983 Regents of the University of California.\n"

#: gprof.c:421
#, c-format
msgid "This program is free software.  This program has absolutely no warranty.\n"
msgstr "Este programa es software libre.  Este programa no tiene ninguna garantía en lo absoluto.\n"

#: gprof.c:462
#, c-format
msgid "%s: unknown demangling style `%s'\n"
msgstr "%s: estilo de desenredo desconocido `%s'\n"

#: gprof.c:482
#, c-format
msgid "%s: Only one of --function-ordering and --file-ordering may be specified.\n"
msgstr "%s: Sólo se puede especificar uno de --function-ordering y --file-ordering.\n"

#: gprof.c:534
#, c-format
msgid "%s: sorry, file format `prof' is not yet supported\n"
msgstr "%s: perdón, el formato de fichero `prof' aún no se admite\n"

#: gprof.c:588
#, c-format
msgid "%s: gmon.out file is missing histogram\n"
msgstr "%s: falta el histograma en el fichero gmon.out\n"

#: gprof.c:595
#, c-format
msgid "%s: gmon.out file is missing call-graph data\n"
msgstr "%s: faltan los datos del gráfico de llamadas en el fichero gmon.out\n"

#: hist.c:135
#, c-format
msgid ""
"%s: dimension unit changed between histogram records\n"
"%s: from '%s'\n"
"%s: to '%s'\n"
msgstr ""
"%s: cambió la unidad de dimensión entre los registros de histograma\n"
"%s: de '%s'\n"
"%s: a '%s'\n"

#: hist.c:145
#, c-format
msgid ""
"%s: dimension abbreviation changed between histogram records\n"
"%s: from '%c'\n"
"%s: to '%c'\n"
msgstr ""
"%s: cambió la abreviación de dimensión entre los registros de histograma\n"
"%s: de '%c'\n"
"%s: a '%c'\n"

#: hist.c:159
#, c-format
msgid "%s: different scales in histogram records"
msgstr "%s: escalas diferentes en los registros de histogramas"

#: hist.c:196
#, c-format
msgid "%s: overlapping histogram records\n"
msgstr "%s: registros de histogramas empalmados\n"

#: hist.c:230
#, c-format
msgid "%s: %s: unexpected EOF after reading %u of %u samples\n"
msgstr "%s: %s: fin de fichero inesperado después de leer %u de %u muestras\n"

#: hist.c:464
#, c-format
msgid "%c%c/call"
msgstr "%c%c/llamada"

#: hist.c:472
#, c-format
msgid ""
" for %.2f%% of %.2f %s\n"
"\n"
msgstr ""
" para %.2f%% de %.2f %s\n"
"\n"

#: hist.c:478
#, c-format
msgid ""
"\n"
"Each sample counts as %g %s.\n"
msgstr ""
"\n"
"Cada muestra cuenta como %g %s.\n"

#: hist.c:483
#, c-format
msgid ""
" no time accumulated\n"
"\n"
msgstr ""
" no hay tiempo acumulado\n"
"\n"

#: hist.c:490
msgid "cumulative"
msgstr "cumulativo"

#: hist.c:490
msgid "self  "
msgstr "sí mismo  "

#: hist.c:490
msgid "total "
msgstr "total "

#: hist.c:493
msgid "time"
msgstr "tiempo"

#: hist.c:493
msgid "calls"
msgstr "llamadas"

#: hist.c:582
#, c-format
msgid ""
"\n"
"\n"
"\n"
"flat profile:\n"
msgstr ""
"\n"
"\n"
"\n"
"perfil plano:\n"

#: hist.c:588
#, c-format
msgid "Flat profile:\n"
msgstr "Perfil plano:\n"

#: hist.c:709
#, c-format
msgid "%s: found a symbol that covers several histogram records"
msgstr "%s: se encontró un símbolo que cubre varios registros de histograma"

#: mips.c:71
#, c-format
msgid "[find_call] 0x%lx: jal"
msgstr "[find_call] 0x%lx: jal"

#: mips.c:99
#, c-format
msgid "[find_call] 0x%lx: jalr\n"
msgstr "[find_call] 0x%lx: jalr\n"

#: source.c:162
#, c-format
msgid "%s: could not locate `%s'\n"
msgstr "%s: no se puede encontrar `%s'\n"

#: source.c:237
#, c-format
msgid "*** File %s:\n"
msgstr "*** Fichero %s:\n"

#: utils.c:99
#, c-format
msgid " <cycle %d>"
msgstr " <ciclo %d>"

#~ msgid "%s: `%s' is incompatible with first gmon file\n"
#~ msgstr "%s: `%s' es incompatible con el primer fichero gmon\n"

#~ msgid "%s: bfd_vma has unexpected size of %ld bytes\n"
#~ msgstr "%s: bfd_vma tiene un tamaño inesperado de %ld bytes\n"
