# Italian translation for gprof.
# Copyright (C) 2010, 2011 Free Software Foundation, Inc.
# This file is distributed under the same license as the binutils package.
# Sergio Zanchetta <primes2h@ubuntu.com>, 2010, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: gprof-2.21.53\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
"POT-Creation-Date: 2010-11-05 10:29+0100\n"
"PO-Revision-Date: 2011-10-17 14:45+0200\n"
"Last-Translator: Sergio Zanchetta <primes2h@ubuntu.com>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\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"
"Plural-Forms: nplurals=2; plural= (n != 1)\n"

#: alpha.c:102 mips.c:54
msgid "<indirect child>"
msgstr "<figlio indiretto>"

#: alpha.c:107 mips.c:59
#, c-format
msgid "[find_call] %s: 0x%lx to 0x%lx\n"
msgstr "[find_call] %s: 0x%lx su 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 <figlio_indiretto>\n"

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

#: basic_blocks.c:128 call_graph.c:89 hist.c:107
#, c-format
msgid "%s: %s: unexpected end of file\n"
msgstr "%s: %s: fine del file inattesa\n"

#: basic_blocks.c:196
#, c-format
msgid "%s: warning: ignoring basic-block exec counts (use -l or --line)\n"
msgstr "%s: attenzione, ignorato il conteggio delle esecuzioni dei blocchi di base (usare -l oppure --line)\n"

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

#: basic_blocks.c:290 basic_blocks.c:300
msgid "<unknown>"
msgstr "<sconosciuto>"

#: basic_blocks.c:543
#, c-format
msgid ""
"\n"
"\n"
"Top %d Lines:\n"
"\n"
"     Line      Count\n"
"\n"
msgstr ""
"\n"
"\n"
"Prime %d righe:\n"
"\n"
"     Riga      Totale\n"
"\n"

#: basic_blocks.c:567
#, c-format
msgid ""
"\n"
"Execution Summary:\n"
"\n"
msgstr ""
"\n"
"Riepilogo esecuzioni:\n"
"\n"

#: basic_blocks.c:568
#, c-format
msgid "%9ld   Executable lines in this file\n"
msgstr "%9ld   Righe eseguibili in questo file\n"

#: basic_blocks.c:570
#, c-format
msgid "%9ld   Lines executed\n"
msgstr "%9ld   Righe eseguite\n"

#: basic_blocks.c:571
#, c-format
msgid "%9.2f   Percent of the file executed\n"
msgstr "%9.2f   Percentuale eseguita del file\n"

#: basic_blocks.c:575
#, c-format
msgid ""
"\n"
"%9lu   Total number of line executions\n"
msgstr ""
"\n"
"%9lu   Numero totale di esecuzioni di righe\n"

#: basic_blocks.c:577
#, c-format
msgid "%9.2f   Average executions per line\n"
msgstr "%9.2f   Esecuzioni medie per riga\n"

#: call_graph.c:68
#, c-format
msgid "[cg_tally] arc from %s to %s traversed %lu times\n"
msgstr "[cg_tally] arco da %s a %s attraversato %lu volte\n"

#: cg_print.c:74
#, c-format
msgid ""
"\t\t     Call graph (explanation follows)\n"
"\n"
msgstr ""
"\t\t     Grafico delle chiamate (spiegazione a seguire)\n"
"\n"

#: cg_print.c:76
#, c-format
msgid ""
"\t\t\tCall graph\n"
"\n"
msgstr ""
"\t\t\tGrafico delle chiamate\n"
"\n"

#: cg_print.c:79 hist.c:468
#, c-format
msgid ""
"\n"
"granularity: each sample hit covers %ld byte(s)"
msgstr ""
"\n"
"granularità: ogni richiesta campione copre %ld byte"

#: cg_print.c:83
#, c-format
msgid ""
" for %.2f%% of %.2f seconds\n"
"\n"
msgstr ""
" per %.2f%% di %.2f secondi\n"
"\n"

#: cg_print.c:87
#, c-format
msgid ""
" no time propagated\n"
"\n"
msgstr ""
" non distribuiti nel tempo\n"
"\n"

#: cg_print.c:96 cg_print.c:99 cg_print.c:101
msgid "called"
msgstr "chiamate"

#: cg_print.c:96 cg_print.c:101
msgid "total"
msgstr "totale"

#: cg_print.c:96
msgid "parents"
msgstr "genitori"

#: cg_print.c:98 cg_print.c:99
msgid "index"
msgstr "indice"

#: cg_print.c:98
#, c-format
msgid "%time"
msgstr "%time"

#: cg_print.c:98 cg_print.c:99
msgid "self"
msgstr "se stessa"

#: cg_print.c:98
msgid "descendants"
msgstr "discendenti"

#: cg_print.c:99 hist.c:494
msgid "name"
msgstr "nome"

#: cg_print.c:101
msgid "children"
msgstr "figlio"

#: cg_print.c:106
#, c-format
msgid "index %% time    self  children    called     name\n"
msgstr "indice %% tempo  se stessa  figli  chiamate   nome\n"

#: cg_print.c:129
#, c-format
msgid " <cycle %d as a whole> [%d]\n"
msgstr " <ciclo %d preso globalmente> [%d]\n"

#: cg_print.c:355
#, 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     <spontaneo>\n"

#: cg_print.c:356
#, c-format
msgid "%6.6s %5.5s %7.7s %7.7s %7.7s %7.7s     <spontaneous>\n"
msgstr "%6.6s %5.5s %7.7s %7.7s %7.7s %7.7s     <spontaneo>\n"

#: cg_print.c:590
#, c-format
msgid ""
"Index by function name\n"
"\n"
msgstr ""
"Indice per nome della funzione\n"
"\n"

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

#: corefile.c:60
#, c-format
msgid "%s: unable to parse mapping file %s.\n"
msgstr "%s: impossibile analizzare il file di mappatura %s.\n"

#: corefile.c:84 corefile.c:504
#, c-format
msgid "%s: could not open %s.\n"
msgstr "%s: impossibile aprire %s.\n"

#: corefile.c:183
#, c-format
msgid "%s: %s: not in executable format\n"
msgstr "%s: %s: non in formato eseguibile\n"

#: corefile.c:194
#, c-format
msgid "%s: can't find .text section in %s\n"
msgstr "%s: impossibile trovare la sezione .text in %s\n"

#: corefile.c:269
#, c-format
msgid "%s: ran out room for %lu bytes of text space\n"
msgstr "%s: spazio esaurito per %lu byte di spazio testo\n"

#: corefile.c:283
#, c-format
msgid "%s: can't do -c\n"
msgstr "%s: impossibile eseguire -c\n"

#: corefile.c:322
#, c-format
msgid "%s: -c not supported on architecture %s\n"
msgstr "%s: -c non supportato dall'architettura %s\n"

#: corefile.c:513 corefile.c:598
#, c-format
msgid "%s: file `%s' has no symbols\n"
msgstr "%s: il file \"%s\" non ha simboli\n"

#: corefile.c:859
#, c-format
msgid "%s: somebody miscounted: ltab.len=%d instead of %ld\n"
msgstr "%s: eseguito un conteggio errato: ltab.len=%d invece di %ld\n"

#: gmon_io.c:84
#, c-format
msgid "%s: address size has unexpected value of %u\n"
msgstr "%s: la dimensione dell'indirizzo ha un valore %u inaspettato\n"

#: gmon_io.c:319 gmon_io.c:415
#, c-format
msgid "%s: file too short to be a gmon file\n"
msgstr "%s: file troppo corto per essere un file gmon\n"

#: gmon_io.c:329 gmon_io.c:458
#, c-format
msgid "%s: file `%s' has bad magic cookie\n"
msgstr "%s: il file \"%s\" ha il cookie magico errato\n"

#: gmon_io.c:340
#, c-format
msgid "%s: file `%s' has unsupported version %d\n"
msgstr "%s: il file \"%s\" ha una versione %d non supportata\n"

#: gmon_io.c:370
#, c-format
msgid "%s: %s: found bad tag %d (file corrupted?)\n"
msgstr "%s: %s: trovato tag %d errato (forse il file è danneggiato)\n"

#: gmon_io.c:437
#, c-format
msgid "%s: profiling rate incompatible with first gmon file\n"
msgstr "%s: il tasso di profiling è incompatibile con il primo file gmon\n"

#: gmon_io.c:488
#, c-format
msgid "%s: incompatible with first gmon file\n"
msgstr "%s: incompatibile con il primo file gmon\n"

#: gmon_io.c:518
#, c-format
msgid "%s: file '%s' does not appear to be in gmon.out format\n"
msgstr "%s: il file \"%s\" non sembra essere di formato gmon.out\n"

#: gmon_io.c:531
#, c-format
msgid "%s: unexpected EOF after reading %d/%d bins\n"
msgstr "%s: EOF inatteso dopo la lettura di %d/%d bin\n"

#: gmon_io.c:563
#, c-format
msgid "time is in ticks, not seconds\n"
msgstr "il tempo è in ticchettii, non in secondi\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: si ignora il modo di gestire i file di formato %d\n"

#: gmon_io.c:579
#, c-format
msgid "File `%s' (version %d) contains:\n"
msgstr "Il file \"%s\" (versione %d) contiene:\n"

#: gmon_io.c:582
#, c-format
msgid "\t%d histogram record\n"
msgstr "\t%d record di istogramma\n"

#: gmon_io.c:583
#, c-format
msgid "\t%d histogram records\n"
msgstr "\t%d record di istogramma\n"

#: gmon_io.c:585
#, c-format
msgid "\t%d call-graph record\n"
msgstr "\t%d record di grafico delle chiamate\n"

#: gmon_io.c:586
#, c-format
msgid "\t%d call-graph records\n"
msgstr "\t%d record di grafico delle chiamate\n"

#: gmon_io.c:588
#, c-format
msgid "\t%d basic-block count record\n"
msgstr "\t%d record di conteggio dei blocchi di base\n"

#: gmon_io.c:589
#, c-format
msgid "\t%d basic-block count records\n"
msgstr "\t%d record di conteggio dei blocchi di base\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 ""
"Uso: %s [-[abcDhilLsTvwxyz]] [-[ACeEfFJnNOpPqSQZ][nome]] [-I dir]\n"
"\t[-d[num]] [-k da/a] [-m num-minimo] [-t lunghezza-tabella]\n"
"\t[--[no-]annotated-source[=nome]] [--[no-]exec-counts[=nome]]\n"
"\t[--[no-]flat-profile[=nome]] [--[no-]graph[=nome]]\n"
"\t[--[no-]time=nome] [--all-lines] [--brief] [--debug[=livello]]\n"
"\t[--function-ordering] [--file-ordering]\n"
"\t[--directory-path=dir] [--display-unused-functions]\n"
"\t[--file-format=nome] [--file-info] [--help] [--line] [--min-count=n]\n"
"\t[--no-static] [--print-path] [--separate-files]\n"
"\t[--static-call-graph] [--sum] [--table-length=lunghezza] [--traditional]\n"
"\t[--version] [--width=n] [--ignore-non-functions]\n"
"\t[--demangle[=STILE]] [--no-demangle] [--external-symbol-table=nome] [@FILE]\n"
"\t[file-immagine] [file-profilo...]\n"

#: gprof.c:175
#, c-format
msgid "Report bugs to %s\n"
msgstr "Segnalare i bug su %s\n"

#: gprof.c:251
#, c-format
msgid "%s: debugging not supported; -d ignored\n"
msgstr "%s: debug non supportato; -d ignorato\n"

#: gprof.c:331
#, c-format
msgid "%s: unknown file format %s\n"
msgstr "%s: formato del file non conosciuto %s\n"

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

#: gprof.c:420
#, c-format
msgid "Based on BSD gprof, copyright 1983 Regents of the University of California.\n"
msgstr "Basato su gprof di BSD, copyright 1983 - Reggenti dell'Università della California.\n"

#: gprof.c:421
#, c-format
msgid "This program is free software.  This program has absolutely no warranty.\n"
msgstr "Questo programma è software libero e non ha assolutamente alcuna garanzia.\n"

#: gprof.c:462
#, c-format
msgid "%s: unknown demangling style `%s'\n"
msgstr "%s: stile di decodifica sconosciuto \"%s\"\n"

#: gprof.c:482
#, c-format
msgid "%s: Only one of --function-ordering and --file-ordering may be specified.\n"
msgstr "%s:può essere specificata solo una tra --function-ordering e --file-ordering.\n"

#: gprof.c:534
#, c-format
msgid "%s: sorry, file format `prof' is not yet supported\n"
msgstr "%s: il file di formato \"prof\" non è ancora supportato\n"

#: gprof.c:588
#, c-format
msgid "%s: gmon.out file is missing histogram\n"
msgstr "%s: al file gmon.out manca l'istogramma\n"

#: gprof.c:595
#, c-format
msgid "%s: gmon.out file is missing call-graph data\n"
msgstr "%s: al file gmon.out mancano i dati del grafico delle chiamate\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: unità di dimensione modificata tra i record degli istogrammi\n"
"%s: da \"%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: abbreviazione di dimensione modificata tra i record degli istogrammi\n"
"%s: da \"%c\"\n"
"%s: a \"%c\"\n"

#: hist.c:159
#, c-format
msgid "%s: different scales in histogram records"
msgstr "%s: scale diverse nei record di istogramma"

#: hist.c:196
#, c-format
msgid "%s: overlapping histogram records\n"
msgstr "%s: record di istogramma sovrapposti\n"

#: hist.c:230
#, c-format
msgid "%s: %s: unexpected EOF after reading %u of %u samples\n"
msgstr "%s: %s: EOF inatteso dopo la lettura di %u su %u campioni\n"

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

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

#: hist.c:478
#, c-format
msgid ""
"\n"
"Each sample counts as %g %s.\n"
msgstr ""
"\n"
"Ogni campione conta come %g %s.\n"

#: hist.c:483
#, c-format
msgid ""
" no time accumulated\n"
"\n"
msgstr ""
" non accumulati nel tempo\n"
"\n"

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

#: hist.c:490
msgid "self  "
msgstr "se stessa"

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

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

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

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

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

#: hist.c:709
#, c-format
msgid "%s: found a symbol that covers several histogram records"
msgstr "%s: trovato un simbolo che copre parecchi record di istogramma"

#: 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: impossibile localizzare \"%s\"\n"

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

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