# German translation of gprof
# Copyright (C) 1997, 1998 Free Software Foundation, Inc.
# This file is distributed under the same license as the gprof package.
# Roland Stigge <stigge@antcom.de>, 2003.
#
msgid ""
msgstr ""
"Project-Id-Version: gprof 2.15.96\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2005-03-03 21:05+1030\n"
"PO-Revision-Date: 2005-03-26 15:40+0200\n"
"Last-Translator: Roland Stigge <stigge@antcom.de>\n"
"Language-Team: German <de@li.org>\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 "<indirektes Kind>"

#: alpha.c:119 mips.c:71
#, c-format
msgid "[find_call] %s: 0x%lx to 0x%lx\n"
msgstr "[find_call] %s: 0x%lx bis 0x%lx\n"

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

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

#: basic_blocks.c:128 call_graph.c:89 hist.c:97
#, c-format
msgid "%s: %s: unexpected end of file\n"
msgstr "%s: %s: unerwartetes Dateiende\n"

#: basic_blocks.c:196
#, c-format
msgid "%s: warning: ignoring basic-block exec counts (use -l or --line)\n"
msgstr "%s: Warnung: ignoriere basic-block Befehlszähler (benutzen Sie -l oder --line)\n"

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

#: basic_blocks.c:288 basic_blocks.c:298
msgid "<unknown>"
msgstr "<unbekannt>"

#: basic_blocks.c:541
#, c-format
msgid ""
"\n"
"\n"
"Top %d Lines:\n"
"\n"
"     Line      Count\n"
"\n"
msgstr ""
"\n"
"\n"
"Erste %d Zeilen:\n"
"\n"
"     Zeile     Anzahl\n"
"\n"

#: basic_blocks.c:565
#, c-format
msgid ""
"\n"
"Execution Summary:\n"
"\n"
msgstr ""
"\n"
"Ausführungszusammenfassung:\n"
"\n"

#: basic_blocks.c:566
#, c-format
msgid "%9ld   Executable lines in this file\n"
msgstr "%9ld   Ausführbare Zeilen in dieser Datei\n"

#: basic_blocks.c:568
#, c-format
msgid "%9ld   Lines executed\n"
msgstr "%9ld   Zeilen ausgeführt\n"

#: basic_blocks.c:569
#, c-format
msgid "%9.2f   Percent of the file executed\n"
msgstr "%9.2f   Prozent der Datei ausgeführt\n"

#: basic_blocks.c:573
#, c-format
msgid ""
"\n"
"%9lu   Total number of line executions\n"
msgstr ""
"\n"
"%9lu   Gesamtzahl ausgeführter Zeilen\n"

#: basic_blocks.c:575
#, c-format
msgid "%9.2f   Average executions per line\n"
msgstr "%9.2f   Durchschnittliche Ausführungen pro Zeile\n"

#: call_graph.c:68
#, c-format
msgid "[cg_tally] arc from %s to %s traversed %lu times\n"
msgstr "[cg_tally] Bogen von %s bis %s wurde %lu mal durchlaufen\n"

#: cg_print.c:73
#, c-format
msgid ""
"\t\t     Call graph (explanation follows)\n"
"\n"
msgstr ""
"\t\t     Aufrufgraph (Erklärung folgt)\n"
"\n"

#: cg_print.c:75
#, c-format
msgid ""
"\t\t\tCall graph\n"
"\n"
msgstr ""
"\t\t\tAufrufgraph\n"
"\n"

#: cg_print.c:78 hist.c:359
#, c-format
msgid ""
"\n"
"granularity: each sample hit covers %ld byte(s)"
msgstr ""
"\n"
"Granularität: jeder Stichprobentreffer deckt %ld Byte(s) ab"

#: cg_print.c:82
#, c-format
msgid ""
" for %.2f%% of %.2f seconds\n"
"\n"
msgstr ""
" für %.2f%% von %.2f Sekunden\n"
"\n"

#: cg_print.c:86
#, c-format
msgid ""
" no time propagated\n"
"\n"
msgstr ""
" keine Zeit weitergereicht\n"
"\n"

#: cg_print.c:95 cg_print.c:98 cg_print.c:100
msgid "called"
msgstr "aufgerufen"

#: cg_print.c:95 cg_print.c:100
msgid "total"
msgstr "gesamt"

#: cg_print.c:95
msgid "parents"
msgstr "Eltern"

#: cg_print.c:97 cg_print.c:98
msgid "index"
msgstr "Index"

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

#: cg_print.c:97 cg_print.c:98
msgid "self"
msgstr "selbst"

#: cg_print.c:97
msgid "descendants"
msgstr "Nachfahren"

#: cg_print.c:98 hist.c:385
msgid "name"
msgstr "Name"

#: cg_print.c:100
msgid "children"
msgstr "Kinder"

#: cg_print.c:105
#, c-format
msgid "index %% time    self  children    called     name\n"
msgstr "Index %% Zeit   Selb. Kinder      aufgerufen Name\n"

#: cg_print.c:128
#, c-format
msgid " <cycle %d as a whole> [%d]\n"
msgstr " <Zyklus %d als Ganzes> [%d]\n"

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

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

#: cg_print.c:589
#, c-format
msgid ""
"Index by function name\n"
"\n"
msgstr ""
"Index nach Funktionsnamen\n"
"\n"

#: cg_print.c:646 cg_print.c:655
#, c-format
msgid "<cycle %d>"
msgstr "<Zyklus %d>"

#: corefile.c:64
#, c-format
msgid "%s: could not open %s.\n"
msgstr "%s: Konnte %s nicht öffnen.\n"

#: corefile.c:78 corefile.c:112
#, c-format
msgid "%s: unable to parse mapping file %s.\n"
msgstr "%s: Konnte Mapping-Datei %s nicht analysieren.\n"

#: corefile.c:155
#, c-format
msgid "%s: %s: not in a.out format\n"
msgstr "%s: %s: nicht im a.out-Format\n"

#: corefile.c:166
#, c-format
msgid "%s: can't find .text section in %s\n"
msgstr "%s: kann den .text-Abschnitt in %s nicht finden\n"

#: corefile.c:224
#, c-format
msgid "%s: ran out room for %lu bytes of text space\n"
msgstr "%s: Platzmangel für %lu Bytes des Textraumes\n"

#: corefile.c:238
#, c-format
msgid "%s: can't do -c\n"
msgstr "%s: kann -c nicht ausführen\n"

#: corefile.c:272
#, c-format
msgid "%s: -c not supported on architecture %s\n"
msgstr "%s: -c nicht unterstützt auf Architektur %s\n"

#: corefile.c:437
#, c-format
msgid "%s: file `%s' has no symbols\n"
msgstr "%s: Datei `%s' hat keine Symbole\n"

#: corefile.c:751
#, c-format
msgid "%s: somebody miscounted: ltab.len=%d instead of %ld\n"
msgstr "%s: jemand hat sich verzählt: ltab.len=%d anstelle von %ld\n"

#: gmon_io.c:83
#, c-format
msgid "%s: address size has unexpected value of %u\n"
msgstr "%s: Adressbreite hat unerwarteten Wert von %u\n"

#: gmon_io.c:317 gmon_io.c:413
#, c-format
msgid "%s: file too short to be a gmon file\n"
msgstr "%s: Datei zu kurz um eine gmon-Datei zu sein\n"

#: gmon_io.c:327 gmon_io.c:456
#, c-format
msgid "%s: file `%s' has bad magic cookie\n"
msgstr "%s: Datei `%s' hat ungültiges magisches Cookie\n"

#: gmon_io.c:338
#, c-format
msgid "%s: file `%s' has unsupported version %d\n"
msgstr "%s: Datei `%s' hat nicht unterstützte Version %d\n"

#: gmon_io.c:368
#, c-format
msgid "%s: %s: found bad tag %d (file corrupted?)\n"
msgstr "%s: %s: schlechte Markierung %d gefunden (Datei beschädigt?)\n"

#: gmon_io.c:435
#, c-format
msgid "%s: profiling rate incompatible with first gmon file\n"
msgstr "%s: Profilingrate inkompatibel mit erster gmon-Datei\n"

#: gmon_io.c:483
#, c-format
msgid "%s: incompatible with first gmon file\n"
msgstr "%s: inkompatibel mit erster gmon-Datei\n"

#: gmon_io.c:511
#, c-format
msgid "%s: file '%s' does not appear to be in gmon.out format\n"
msgstr "%s: Datei '%s' ist nicht im gmon.out-Format\n"

#: gmon_io.c:532
#, c-format
msgid "%s: unexpected EOF after reading %d/%d bins\n"
msgstr "%s: unerwartetes Dateiende nach dem Lesen von %d/%d Kästen\n"

#: gmon_io.c:565
#, c-format
msgid "time is in ticks, not seconds\n"
msgstr "Zeit in Takten, nicht Sekunden\n"

#: gmon_io.c:571 gmon_io.c:747
#, c-format
msgid "%s: don't know how to deal with file format %d\n"
msgstr "%s: keine Behandlung des Dateiformates %d bekannt\n"

#: gmon_io.c:578
#, c-format
msgid "File `%s' (version %d) contains:\n"
msgstr "Datei `%s' (version %d) enthält:\n"

#: gmon_io.c:581
#, c-format
msgid "\t%d histogram record\n"
msgstr "\t%d Histogrammdatensatz\n"

#: gmon_io.c:582
#, c-format
msgid "\t%d histogram records\n"
msgstr "\t%d Histogrammdatensätze\n"

#: gmon_io.c:584
#, c-format
msgid "\t%d call-graph record\n"
msgstr "\t%d Aufrufgraph-Datensatz\n"

#: gmon_io.c:585
#, c-format
msgid "\t%d call-graph records\n"
msgstr "\t%d Aufrufgraph-Datensätze\n"

#: gmon_io.c:587
#, c-format
msgid "\t%d basic-block count record\n"
msgstr "\t%d basic-block Anzahldatensatz\n"

#: gmon_io.c:588
#, c-format
msgid "\t%d basic-block count records\n"
msgstr "\t%d basic-block Anzahldatensätze\n"

#: gprof.c:160
#, c-format
msgid ""
"Usage: %s [-[abcDhilLsTvwxyz]] [-[ACeEfFJnNOpPqQZ][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]\n"
"\t[image-file] [profile-file...]\n"
msgstr ""
"Aufruf: %s [-[abcDhilLsTvwxyz]] [-[ACeEfFJnNOpPqQZ][Name]] [-I Verzeichnisse]\n"
"\t[-d[Anz.]] [-k von/bis] [-m min-Anz.] [-t Tabellenlänge]\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=Verz.] [--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[=STIL]] [--no-demangle]\n"
"\t[image-file] [profile-Datei...]\n"

#: gprof.c:176
#, c-format
msgid "Report bugs to %s\n"
msgstr "Melden Sie Fehler an %s\n"

#: gprof.c:248
#, c-format
msgid "%s: debugging not supported; -d ignored\n"
msgstr "%s: Debugging nicht unterstützt; -d ignoriert\n"

#: gprof.c:328
#, c-format
msgid "%s: unknown file format %s\n"
msgstr "%s: unbekanntes Dateiformat %s\n"

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

#: gprof.c:413
#, c-format
msgid "Based on BSD gprof, copyright 1983 Regents of the University of California.\n"
msgstr "Basierend auf BSD gprof, copyright 1983 Regenten der University of California.\n"

#: gprof.c:414
#, c-format
msgid "This program is free software.  This program has absolutely no warranty.\n"
msgstr "Dieses Programm ist Freie Software. Es kommt absolut ohne Garantie.\n"

#: gprof.c:455
#, c-format
msgid "%s: unknown demangling style `%s'\n"
msgstr "%s: unbekannter Auflösungsstil `%s'\n"

#: gprof.c:475
#, c-format
msgid "%s: Only one of --function-ordering and --file-ordering may be specified.\n"
msgstr "%s: Nur entweder --function-ordering oder --file-ordering kann angegeben werden.\n"

#: gprof.c:525
#, c-format
msgid "%s: sorry, file format `prof' is not yet supported\n"
msgstr "%s: Sorry, Dateiformat `gprof' wird noch nicht unterstützt\n"

#: gprof.c:574
#, c-format
msgid "%s: gmon.out file is missing histogram\n"
msgstr "%s: gmon.out-Datei hat kein Histogramm\n"

#: gprof.c:581
#, c-format
msgid "%s: gmon.out file is missing call-graph data\n"
msgstr "%s: gmon.out-Datei hat keine Aufrufgraph-Daten\n"

#: hist.c:126
#, c-format
msgid "%s: `%s' is incompatible with first gmon file\n"
msgstr "%s: `%s' ist inkompatibel mit erster gmon-Datei\n"

#: hist.c:142
#, c-format
msgid "%s: %s: unexpected EOF after reading %u of %u samples\n"
msgstr "%s: %s: unerwartetes Dateiende nach dem Lesen von %u von %u Mustern\n"

#: hist.c:355
#, c-format
msgid "%c%c/call"
msgstr "%c%c/Aufruf"

#: hist.c:363
#, c-format
msgid ""
" for %.2f%% of %.2f %s\n"
"\n"
msgstr ""
" für %.2f%% von %.2f %s\n"
"\n"

#: hist.c:369
#, c-format
msgid ""
"\n"
"Each sample counts as %g %s.\n"
msgstr ""
"\n"
"Jedes Muster zählt als %g %s.\n"

#: hist.c:374
#, c-format
msgid ""
" no time accumulated\n"
"\n"
msgstr ""
" keine Zeit angesammelt\n"
"\n"

#: hist.c:381
msgid "cumulative"
msgstr "kumulativ"

#: hist.c:381
msgid "self  "
msgstr "Selbst"

#: hist.c:381
msgid "total "
msgstr "Gesamt"

#: hist.c:384
msgid "time"
msgstr "Zeit"

#: hist.c:384
msgid "calls"
msgstr "Aufrufe"

#: hist.c:473
#, c-format
msgid ""
"\n"
"\n"
"\n"
"flat profile:\n"
msgstr ""
"\n"
"\n"
"\n"
"Flaches Profil:\n"

#: hist.c:479
#, c-format
msgid "Flat profile:\n"
msgstr "Flaches Profil:\n"

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

#: mips.c:107
#, 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: Konnte `%s' nicht finden\n"

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

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