# Pesan bahasa indonesia untuk gprof.
# Copyright (C) 2002 Free Software Foundation, Inc.
# This file is distributed under the same license as the binutils package.
# Tedi Heriyanto <tedi_h@gmx.net>, 2002.
# Arif E. Nugroho <arif_endro@yahoo.com>, 2008, 2009, 2010, 2011, 2012, 2013, 2014.
#
msgid ""
msgstr ""
"Project-Id-Version: gprof 2.23.90\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
"POT-Creation-Date: 2011-10-18 14:20+0100\n"
"PO-Revision-Date: 2014-08-24 08:00+0700\n"
"Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n"
"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
"Language: id\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 "<indirect child>"

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

#: basic_blocks.c:197
#, c-format
msgid "%s: warning: ignoring basic-block exec counts (use -l or --line)\n"
msgstr "%s: peringatan: mengabaikan hitungan basic-block exec (gunakan -l atau --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 eksekusi\n"

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

#: basic_blocks.c:544
#, c-format
msgid ""
"\n"
"\n"
"Top %d Lines:\n"
"\n"
"     Line      Count\n"
"\n"
msgstr ""
"\n"
"\n"
"Awal %d Baris:\n"
"\n"
"     Baris      Hitungan\n"
"\n"

#: basic_blocks.c:568
#, c-format
msgid ""
"\n"
"Execution Summary:\n"
"\n"
msgstr ""
"\n"
"Ringkasan Eksekusi:\n"
"\n"

#: basic_blocks.c:569
#, c-format
msgid "%9ld   Executable lines in this file\n"
msgstr "%9ld   baris eksekutabel dalam file ini\n"

#: basic_blocks.c:571
#, c-format
msgid "%9ld   Lines executed\n"
msgstr "%9ld   baris dieksekusi\n"

#: basic_blocks.c:572
#, c-format
msgid "%9.2f   Percent of the file executed\n"
msgstr "%9.2f   Persen file dieksekusi\n"

#: basic_blocks.c:576
#, c-format
msgid ""
"\n"
"%9lu   Total number of line executions\n"
msgstr ""
"\n"
"%9lu   Total jumlah baris eksekusi\n"

#: basic_blocks.c:578
#, c-format
msgid "%9.2f   Average executions per line\n"
msgstr "%9.2f   Rata-rata eksekusi per baris\n"

#: call_graph.c:68
#, c-format
msgid "[cg_tally] arc from %s to %s traversed %lu times\n"
msgstr "[cg_tally] arc dari %s hingga %s ditransvers %lu kali\n"

#: cg_print.c:75
#, c-format
msgid ""
"\t\t     Call graph (explanation follows)\n"
"\n"
msgstr ""
"\t\t     Panggil graph (penjelasan mengikuti)\n"
"\n"

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

#: cg_print.c:80 hist.c:468
#, c-format
msgid ""
"\n"
"granularity: each sample hit covers %ld byte(s)"
msgstr ""
"\n"
"granularitas: setiap contoh mencapai %ld byte(s)"

#: cg_print.c:84
#, c-format
msgid ""
" for %.2f%% of %.2f seconds\n"
"\n"
msgstr ""
" untuk %.2f%% dari %.2f detik\n"
"\n"

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

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

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

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

#: cg_print.c:99 cg_print.c:103
msgid "index"
msgstr "indeks"

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

#: cg_print.c:102
msgid "self"
msgstr "diri"

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

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

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

#: cg_print.c:110
#, c-format
msgid "index %% time    self  children    called     name\n"
msgstr "indeks %% waktu    diri  anak    dipanggil     nama\n"

#: cg_print.c:133
#, c-format
msgid " <cycle %d as a whole> [%d]\n"
msgstr " <siklus %d sebagai kesatuan> [%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     <spontan>\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 %7.7s %7.7s %7.7s     <spontan>\n"

#: cg_print.c:594
#, c-format
msgid ""
"Index by function name\n"
"\n"
msgstr ""
"Indeks berdasarkan nama fungsi\n"
"\n"

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

#: corefile.c:61
#, c-format
msgid "%s: unable to parse mapping file %s.\n"
msgstr "%s: tidak dapat memparsing file mapping %s.\n"

#: corefile.c:85 corefile.c:514
#, c-format
msgid "%s: could not open %s.\n"
msgstr "%s: tidak dapat membuka %s.\n"

#: corefile.c:185
#, c-format
msgid "%s: %s: not in executable format\n"
msgstr "%s: %s: bukan dalam format executable\n"

#: corefile.c:196
#, c-format
msgid "%s: can't find .text section in %s\n"
msgstr "%s: tidak dapat menemukan bagian teks dalam %s\n"

#: corefile.c:271
#, c-format
msgid "%s: ran out room for %lu bytes of text space\n"
msgstr "%s: kehabisan ruang untuk %lu byte ruang teks\n"

#: corefile.c:285
#, c-format
msgid "%s: can't do -c\n"
msgstr "%s: tidak dapat melakukan -c\n"

#: corefile.c:324
#, c-format
msgid "%s: -c not supported on architecture %s\n"
msgstr "%s: -c tidak didukung pada arsitektur %s\n"

#: corefile.c:523 corefile.c:622
#, c-format
msgid "%s: file `%s' has no symbols\n"
msgstr "%s: file `%s' tidak memiliki simbol\n"

#: corefile.c:884
#, c-format
msgid "%s: somebody miscounted: ltab.len=%d instead of %ld\n"
msgstr "%s: somebody miscounted: ltab.len=%d alih-alih %ld\n"

#: gmon_io.c:84
#, c-format
msgid "%s: address size has unexpected value of %u\n"
msgstr "%s: ukuran alamat memiliki nilai yang tidak diharapkan %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: file terlalu pendek untuk menjadi file gmon\n"

#: gmon_io.c:329 gmon_io.c:458
#, c-format
msgid "%s: file `%s' has bad magic cookie\n"
msgstr "%s: file `%s' memiliki cookie ajaib yang buruk\n"

#: gmon_io.c:340
#, c-format
msgid "%s: file `%s' has unsupported version %d\n"
msgstr "%s: file `%s' memiliki versi yang belum didukung %d\n"

#: gmon_io.c:370
#, c-format
msgid "%s: %s: found bad tag %d (file corrupted?)\n"
msgstr "%s: %s: ditemukan bad tag %d (file terkorupsi?)\n"

#: gmon_io.c:437
#, c-format
msgid "%s: profiling rate incompatible with first gmon file\n"
msgstr "%s: rate profil tidak kompatibel dengan file gmon pertama\n"

#: gmon_io.c:488
#, c-format
msgid "%s: incompatible with first gmon file\n"
msgstr "%s: tidak kompatibel dengan file gmon pertama\n"

#: gmon_io.c:518
#, c-format
msgid "%s: file '%s' does not appear to be in gmon.out format\n"
msgstr "%s: file '%s' tampaknya bukan dalam format gmon.out\n"

#: gmon_io.c:531
#, c-format
msgid "%s: unexpected EOF after reading %d/%d bins\n"
msgstr "%s: EOF tak diharapkan setelah membaca %d/%d bins\n"

#: gmon_io.c:563
#, c-format
msgid "time is in ticks, not seconds\n"
msgstr "waktu dalam tick, bukan detik\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: tidak tahu bagaimana menangani format file %d\n"

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

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

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

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

#: gmon_io.c:586
#, c-format
msgid "\t%d call-graph records\n"
msgstr "\t%d catatan call-graph\n"

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

#: gmon_io.c:589
#, c-format
msgid "\t%d basic-block count records\n"
msgstr "\t%d catatan hitungan basic-block\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 ""
"Penggunaan: %s [-[abcDhilLsTvwxyz]] [-[ACeEfFJnNOpPqSQZ][nama]] [-I dirs]\n"
"\t[-d[jumlah]] [-k dari/ke] [-m jumlah-min] [-t panjang-tabel]\n"
"\t[--[no-]annotated-source[=nama]] [--[no-]exec-counts[=nama]]\n"
"\t[--[no-]flat-profile[=nama]] [--[no-]graph[=nama]]\n"
"\t[--[no-]time=nama] [--all-lines] [--brief] [--debug[=tingkat]]\n"
"\t[--function-ordering] [--file-ordering]\n"
"\t[--directory-path=dirs] [--display-unused-functions]\n"
"\t[--file-format=nama] [--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=nama][@BERKAS]\n"
"\t[berkas-image] [berkas-profile...]\n"

#: gprof.c:175
#, c-format
msgid "Report bugs to %s\n"
msgstr "Laporkan kesalahan ke %s\n"

#: gprof.c:251
#, c-format
msgid "%s: debugging not supported; -d ignored\n"
msgstr "%s: debugging tidak didukung; -d diabaikan\n"

#: gprof.c:331
#, c-format
msgid "%s: unknown file format %s\n"
msgstr "%s: format file tidak dikenal %s\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 "Berdasarkan BSD gprof, 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 "This program is free software.  This program has absolutely no warranty.\n"

#: gprof.c:462
#, c-format
msgid "%s: unknown demangling style `%s'\n"
msgstr "%s: gaya demangling tidak dikenal `%s'\n"

#: gprof.c:482
#, c-format
msgid "%s: Only one of --function-ordering and --file-ordering may be specified.\n"
msgstr "%s: Hanya satu --function-ordering dan --file-ordering dapat dispesifikasikan.\n"

#: gprof.c:534
#, c-format
msgid "%s: sorry, file format `prof' is not yet supported\n"
msgstr "%s: maaf, format file `prof' belum didukung\n"

#: gprof.c:588
#, c-format
msgid "%s: gmon.out file is missing histogram\n"
msgstr "%s: file gmon.out kehilangan histogram\n"

#: gprof.c:595
#, c-format
msgid "%s: gmon.out file is missing call-graph data\n"
msgstr "%s: file gmon.out kehilangan data call-graph\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: satuan dimensi berubah diantara catatan histogram\n"
"%s: dari '%s'\n"
"%s: ke '%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: kependekan dimensi berubah diantara catatan histogram\n"
"%s: dari '%c'\n"
"%s: ke '%c'\n"

#: hist.c:159
#, c-format
msgid "%s: different scales in histogram records"
msgstr "%s: skala berbeda dalam catatan histogram"

#: hist.c:196
#, c-format
msgid "%s: overlapping histogram records\n"
msgstr "%s: overlapping catatan histogram\n"

#: hist.c:230
#, c-format
msgid "%s: %s: unexpected EOF after reading %u of %u samples\n"
msgstr "%s: %s: EOF tidak diharapkan setelah membaca %u dari %u contoh\n"

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

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

#: hist.c:478
#, c-format
msgid ""
"\n"
"Each sample counts as %g %s.\n"
msgstr ""
"\n"
"Setiap contoh dihitung sebagai %g %s.\n"

#: hist.c:483
#, c-format
msgid ""
" no time accumulated\n"
"\n"
msgstr ""
" tidak ada waktu terkumpul\n"
"\n"

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

#: hist.c:490
msgid "self  "
msgstr "diri.."

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

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

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

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

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

#: hist.c:709
#, c-format
msgid "%s: found a symbol that covers several histogram records"
msgstr "%s: ditemukan sebuah simbol yang melingkupi beberapa catatan histogram"

#: 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: tidak dapat menemukan `%s'\n"

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

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

#~ msgid "%s: `%s' is incompatible with first gmon file\n"
#~ msgstr "%s: `%s' tidak kompatibel dengan file gmon pertama\n"
