# This file is distributed under the same license as the binutils package.
# translation of gprof-2.28.90.tr.po to Turkish
# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
# Deniz Akkus Kanca <deniz@arayan.com>, 2001,2003.
# Mehmet Kececi <mkececi@mehmetkececi.com>, 2017.
msgid ""
msgstr ""
"Project-Id-Version: gprof 2.28.90\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
"POT-Creation-Date: 2017-07-03 16:56+0200\n"
"PO-Revision-Date: 2017-07-05 14:21+0300\n"
"Last-Translator: Mehmet Kececi <mkececi@mehmetkececi.com>\n"
"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
"Language: tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Virtaal 0.7.1\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"

#: alpha.c:102 mips.c:54
msgid "<indirect child>"
msgstr "<dolaylı ast>"

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

#: alpha.c:129
#, c-format
msgid "[find_call] 0x%lx: jsr%s <indirect_child>\n"
msgstr "[find_call] 0x%lx: jsr%s <dolaylı_ast>\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:106
#, c-format
msgid "%s: %s: unexpected end of file\n"
msgstr "%s: %s: beklenmeyen dosyasonu\n"

#: basic_blocks.c:196
#, c-format
msgid "%s: warning: ignoring basic-block exec counts (use -l or --line)\n"
msgstr "%s: uyarı: temel blok yürütme sayıları yoksayıldı (-l veya --line kullanın)\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 yürütme\n"

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

#: basic_blocks.c:543
#, c-format
msgid ""
"\n"
"\n"
"Top %d Lines:\n"
"\n"
"     Line      Count\n"
"\n"
msgstr ""
"\n"
"\n"
"Tepe %d Satır:\n"
"\n"
"     Satır      Sayı\n"
"\n"

#: basic_blocks.c:567
#, c-format
msgid ""
"\n"
"Execution Summary:\n"
"\n"
msgstr ""
"\n"
"Yürütme Özeti:\n"
"\n"

#: basic_blocks.c:568
#, c-format
msgid "%9ld   Executable lines in this file\n"
msgstr "%9ld   yürütülür satır -- bu dosyada\n"

#: basic_blocks.c:570
#, c-format
msgid "%9ld   Lines executed\n"
msgstr "%9ld   Yürütülen Satır\n"

#: basic_blocks.c:571
#, c-format
msgid "%9.2f   Percent of the file executed\n"
msgstr "%9.2f   Dosyanın yürütülen kısım yüzdesi\n"

#: basic_blocks.c:575
#, c-format
msgid ""
"\n"
"%9lu   Total number of line executions\n"
msgstr ""
"\n"
"%9lu   Toplam satır yürütüş sayısı\n"

#: basic_blocks.c:577
#, c-format
msgid "%9.2f   Average executions per line\n"
msgstr "%9.2f   Satır başına ortalama yürütüş sayısı\n"

#: call_graph.c:68
#, c-format
msgid "[cg_tally] arc from %s to %s traversed %lu times\n"
msgstr "[cg_tally] %s'dan %s'a olan yay %lu defa geçildi\n"

#: cg_print.c:74
#, c-format
msgid ""
"\t\t     Call graph (explanation follows)\n"
"\n"
msgstr ""
"\t\t     Çağrı grafiği (açıklama aşağıda)\n"
"\n"

#: cg_print.c:76
#, c-format
msgid ""
"\t\t\tCall graph\n"
"\n"
msgstr ""
"\t\t\tÇağrı grafiği\n"
"\n"

#: cg_print.c:79 hist.c:470
#, c-format
msgid ""
"\n"
"granularity: each sample hit covers %ld byte(s)"
msgstr ""
"\n"
"Öğe boyu: her örnek %ld bayt içermektedir"

#: cg_print.c:83
#, c-format
msgid ""
" for %.2f%% of %.2f seconds\n"
"\n"
msgstr ""
"Toplam %2$.2f saniyenin %1$.2f%%'si için\n"
"\n"

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

#: cg_print.c:96 cg_print.c:101 cg_print.c:104
msgid "called"
msgstr "çağrıldı"

#: cg_print.c:96 cg_print.c:104
msgid "total"
msgstr "toplam"

#: cg_print.c:96
msgid "parents"
msgstr "üstler"

#: cg_print.c:98 cg_print.c:102
msgid "index"
msgstr "indeks"

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

#: cg_print.c:101
msgid "self"
msgstr "kendisi"

#: cg_print.c:101
msgid "descendants"
msgstr "astlar"

#: cg_print.c:102 hist.c:496
msgid "name"
msgstr "isim"

#: cg_print.c:104
msgid "children"
msgstr "astlar"

#: cg_print.c:109
#, c-format
msgid "index %% time    self  children    called     name\n"
msgstr "indeks %% zaman  kendi astlar      çağrıldı   isim\n"

#: cg_print.c:132
#, c-format
msgid " <cycle %d as a whole> [%d]\n"
msgstr " <%d'yi bütün olarak çevrimler> [%d]\n"

#: cg_print.c:358
#, 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     <kendiliğinden>\n"

#: cg_print.c:359
#, 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     <kendiliğinden>\n"

#: cg_print.c:593
#, c-format
msgid ""
"Index by function name\n"
"\n"
msgstr ""
"İşlev adına göre indeks\n"
"\n"

#: cg_print.c:650 cg_print.c:659
#, c-format
msgid "<cycle %d>"
msgstr "<çevrim %d>"

#: corefile.c:62
#, c-format
msgid "%s: unable to parse mapping file %s.\n"
msgstr "%s: eşlem dosyası %s ayrıştırılamadı.\n"

#: corefile.c:90 corefile.c:527
#, c-format
msgid "%s: could not open %s.\n"
msgstr "%s: %s açılamadı.\n"

#: corefile.c:192
#, c-format
msgid "%s: %s: not in executable format\n"
msgstr "%s: %s: çalıştırılabilir biçimde değil\n"

#: corefile.c:203
#, c-format
msgid "%s: can't find .text section in %s\n"
msgstr "%s: %s içerisinde .text (metin) bölümü bulunamadı\n"

#: corefile.c:278
#, c-format
msgid "%s: ran out room for %lu bytes of text space\n"
msgstr "%s: %lu bayt metin yeri için yer bulunamadı\n"

#: corefile.c:292
#, c-format
msgid "%s: can't do -c\n"
msgstr "%s: -c yapılamıyor\n"

#: corefile.c:335
#, c-format
msgid "%s: -c not supported on architecture %s\n"
msgstr "%s: -c %s platformu üzerinde desteklenmiyor\n"

#: corefile.c:536 corefile.c:642
#, c-format
msgid "%s: file `%s' has no symbols\n"
msgstr "%s: `%s' dosyası sembol içermiyor\n"

#: corefile.c:541
#, c-format
msgid "%s: file `%s' has too many symbols\n"
msgstr "%s: dosyası `%s' çok fazla sembol içeriyor\n"

#: corefile.c:909
#, c-format
msgid "%s: somebody miscounted: ltab.len=%d instead of %ld\n"
msgstr "%1$s: hatalı sayım: %3$ld yerine ltab.len=%2$d\n"

#: gmon_io.c:83
#, c-format
msgid "%s: address size has unexpected value of %u\n"
msgstr "%s: adres boyu, beklenmeyen %u değerine sahip\n"

#: gmon_io.c:318 gmon_io.c:414
#, c-format
msgid "%s: file too short to be a gmon file\n"
msgstr "%s: Dosya bir gmon dosyası olmak için çok kısa\n"

#: gmon_io.c:328 gmon_io.c:457
#, c-format
msgid "%s: file `%s' has bad magic cookie\n"
msgstr "%s: `%s' dosyasında kötü sihirli çerez var\n"

#: gmon_io.c:339
#, c-format
msgid "%s: file `%s' has unsupported version %d\n"
msgstr "%s: `%s' dosyası desteklenmeyen %d sürümünde\n"

#: gmon_io.c:369
#, c-format
msgid "%s: %s: found bad tag %d (file corrupted?)\n"
msgstr "%s: %s: Hatalı etiket %d bulundu (dosya bozuk mu?)\n"

#: gmon_io.c:436
#, c-format
msgid "%s: profiling rate incompatible with first gmon file\n"
msgstr "%s: profilleme hızı ilk gmon dosyası ile uyumlu değil\n"

#: gmon_io.c:487
#, c-format
msgid "%s: incompatible with first gmon file\n"
msgstr "%s: ilk gmon dosyası ile uyumlu değil\n"

#: gmon_io.c:517
#, c-format
msgid "%s: file '%s' does not appear to be in gmon.out format\n"
msgstr "%s: '%s' dosyası gmon.out biçeminde değil\n"

#: gmon_io.c:530
#, c-format
msgid "%s: unexpected EOF after reading %d/%d bins\n"
msgstr "%s: %d/%d sele okunduktan sonra beklenmeyen dosyasonu (EOF) bulundu\n"

#: gmon_io.c:562
#, c-format
msgid "time is in ticks, not seconds\n"
msgstr "zaman tık olarak veriliyor, saniye olarak değil\n"

#: gmon_io.c:568 gmon_io.c:748
#, c-format
msgid "%s: don't know how to deal with file format %d\n"
msgstr "%s: %d dosya biçeminin nasıl işleneceği bilinmiyor\n"

#: gmon_io.c:578
#, c-format
msgid "File `%s' (version %d) contains:\n"
msgstr "`%s' Dosyası (%d sürümü) aşağıdakileri içeriyor:\n"

#: gmon_io.c:581
#, c-format
msgid "\t%d histogram record\n"
msgstr "\t%d geçmiş grafiği kaydı\n"

#: gmon_io.c:582
#, c-format
msgid "\t%d histogram records\n"
msgstr "\t%d geçmiş grafiği kayıtları\n"

#: gmon_io.c:584
#, c-format
msgid "\t%d call-graph record\n"
msgstr "\t%d çağrı grafiği kaydı\n"

#: gmon_io.c:585
#, c-format
msgid "\t%d call-graph records\n"
msgstr "\t%d çağrı grafiği kayıtları\n"

#: gmon_io.c:587
#, c-format
msgid "\t%d basic-block count record\n"
msgstr "\t%d temel blok sayım kaydı\n"

#: gmon_io.c:588
#, c-format
msgid "\t%d basic-block count records\n"
msgstr "\t%d temel blok sayım kayıtları\n"

#: gprof.c:162
#, 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] [--inline-file-names]\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 ""
"Kullanım: %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] [--inline-file-names]\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"

#: gprof.c:178
#, c-format
msgid "Report bugs to %s\n"
msgstr "Hataları %s adresine bildirin\n"

#: gprof.c:254
#, c-format
msgid "%s: debugging not supported; -d ignored\n"
msgstr "%s: hata ayıklama desteklenmiyor; -d yoksayıldı\n"

#: gprof.c:336
#, c-format
msgid "%s: unknown file format %s\n"
msgstr "%s: bilinmeyen dosya biçemi %s\n"

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

#: gprof.c:425
#, c-format
msgid "Based on BSD gprof, copyright 1983 Regents of the University of California.\n"
msgstr "BSD gprof baz alınmıştır. BSD gprof Telif Hakkı 1983 Regents of the University of California.\n"

#: gprof.c:426
#, c-format
msgid "This program is free software.  This program has absolutely no warranty.\n"
msgstr "Bu yazılım bir serbest yazılımdır. Bu yazılımın herhangi bir garantisi yoktur.\n"

#: gprof.c:467
#, c-format
msgid "%s: unknown demangling style `%s'\n"
msgstr "%s: bilinmeyen düzeltme tarzı `%s'\n"

#: gprof.c:490
#, c-format
msgid "%s: Only one of --function-ordering and --file-ordering may be specified.\n"
msgstr ""
"%s: --function-ordering (işleve göre sırala) ve\n"
"    --file-ordering (dosyaya göre sırala) seçeneklerinin biri seçilebilir.\n"

#: gprof.c:542
#, c-format
msgid "%s: sorry, file format `prof' is not yet supported\n"
msgstr "%s: `prof' dosya biçemi henüz desteklenmiyor\n"

#: gprof.c:596
#, c-format
msgid "%s: gmon.out file is missing histogram\n"
msgstr "%s: gmon.out dosyasında geçmiş grafiği yok\n"

#: gprof.c:603
#, c-format
msgid "%s: gmon.out file is missing call-graph data\n"
msgstr "%s: gmon.out dosyasında çağrı grafik verisi yok\n"

#: hist.c:134
#, c-format
msgid ""
"%s: dimension unit changed between histogram records\n"
"%s: from '%s'\n"
"%s: to '%s'\n"
msgstr ""
"%s: histogram kayıtları arasında boyut birim değişişimi\n"
"%s: den '%s'\n"
"%s: için '%s'\n"

#: hist.c:144
#, c-format
msgid ""
"%s: dimension abbreviation changed between histogram records\n"
"%s: from '%c'\n"
"%s: to '%c'\n"
msgstr ""
"%s: histogram kayıtları arasında boyut birim değişişimis\n"
"%s: den '%c'\n"
"%s: için '%c'\n"

#: hist.c:158
#, c-format
msgid "%s: different scales in histogram records"
msgstr "%s: histogram kayıtlarında farklı ölçekler"

#: hist.c:195
#, c-format
msgid "%s: overlapping histogram records\n"
msgstr "%s: örtüşen histogram kayıtları\n"

#: hist.c:229
#, c-format
msgid "%s: %s: unexpected EOF after reading %u of %u samples\n"
msgstr "%s: %s: %u örneklerinin %u'nun okunmasından sonra beklenmedik EOF\n"

#: hist.c:466
#, c-format
msgid "%c%c/call"
msgstr "%c%c/çağrı"

#: hist.c:474
#, c-format
msgid ""
" for %.2f%% of %.2f %s\n"
"\n"
msgstr ""
" Toplam %2$.2f %3$s'nin %1$.2f%%'si okundu\n"
"\n"

#: hist.c:480
#, c-format
msgid ""
"\n"
"Each sample counts as %g %s.\n"
msgstr ""
"\n"
"Her örnek %g %s sayılıyor.\n"

#: hist.c:485
#, c-format
msgid ""
" no time accumulated\n"
"\n"
msgstr ""
" zamanlama değeri biriktirilemedi\n"
"\n"

#: hist.c:492
msgid "cumulative"
msgstr "birikmiş"

#: hist.c:492
msgid "self  "
msgstr "kendisi  "

#: hist.c:492
msgid "total "
msgstr "toplam "

#: hist.c:495
msgid "time"
msgstr "zaman"

#: hist.c:495
msgid "calls"
msgstr "çağrı"

#: hist.c:584
#, c-format
msgid ""
"\n"
"\n"
"\n"
"flat profile:\n"
msgstr ""
"\n"
"\n"
"\n"
"düz profil:\n"

#: hist.c:590
#, c-format
msgid "Flat profile:\n"
msgstr "Düz profil:\n"

#: hist.c:711
#, c-format
msgid "%s: found a symbol that covers several histogram records"
msgstr "%s: birkaç çubuk grafik kayıtlarını kapsayan bir sembol bulundu"

#: 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: `%s' bulunamadı\n"

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

#: utils.c:106
#, c-format
msgid " <cycle %d>"
msgstr " <çevrim %d>"

#~ msgid "%s: `%s' is incompatible with first gmon file\n"
#~ msgstr "%s: `%s' ilk gmon dosyası ile uyumlu değil\n"

#~ msgid "%s: bfd_vma has unexpected size of %ld bytes\n"
#~ msgstr "%s: beklenmeyen boyut: bfd_vma'nın boyutu %ld bayt\n"
