# translation of gprof-2.15.96.tr.po to Turkish
# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
# Deniz Akkus Kanca <deniz@arayan.com>, 2001,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-14 04:28+0200\n"
"Last-Translator: Deniz Akkus Kanca <deniz@arayan.com>\n"
"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.9.1\n"

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

#: alpha.c:119 mips.c:71
#, 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:141
#, c-format
msgid "[find_call] 0x%lx: jsr%s <indirect_child>\n"
msgstr "[find_call] 0x%lx: jsr%s <dolaylı_ast>\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: 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:287 basic_blocks.c:297
#, 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:288 basic_blocks.c:298
msgid "<unknown>"
msgstr "<bilinmeyen>"

#: basic_blocks.c:541
#, 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:565
#, c-format
msgid ""
"\n"
"Execution Summary:\n"
"\n"
msgstr ""
"\n"
"Yürütme Özeti:\n"
"\n"

#: basic_blocks.c:566
#, 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:568
#, c-format
msgid "%9ld   Lines executed\n"
msgstr "%9ld   Yürütülen Satır\n"

#: basic_blocks.c:569
#, 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:573
#, 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:575
#, 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:73
#, 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:75
#, c-format
msgid ""
"\t\t\tCall graph\n"
"\n"
msgstr ""
"\t\t\tÇağrı grafiği\n"
"\n"

#: cg_print.c:78 hist.c:359
#, 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:82
#, 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:86
#, c-format
msgid ""
" no time propagated\n"
"\n"
msgstr ""
" zaman ilerletilmedi\n"
"\n"

#: cg_print.c:95 cg_print.c:98 cg_print.c:100
msgid "called"
msgstr "çağrıldı"

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

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

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

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

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

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

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

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

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

#: cg_print.c:128
#, c-format
msgid " <cycle %d as a whole> [%d]\n"
msgstr " <%d'yi bütün olarak çevrimler> [%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     <kendiliğinden>\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     <kendiliğinden>\n"

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

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

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

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

#: corefile.c:155
#, c-format
msgid "%s: %s: not in a.out format\n"
msgstr "%s: %s: a.out biçeminde değil\n"

#: corefile.c:166
#, 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:224
#, 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:238
#, c-format
msgid "%s: can't do -c\n"
msgstr "%s: -c yapılamıyor\n"

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

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

#: corefile.c:751
#, 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:317 gmon_io.c:413
#, 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:327 gmon_io.c:456
#, 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:338
#, 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:368
#, 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:435
#, 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:483
#, c-format
msgid "%s: incompatible with first gmon file\n"
msgstr "%s: ilk gmon dosyası ile uyumlu değil\n"

#: gmon_io.c:511
#, 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:532
#, 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:565
#, c-format
msgid "time is in ticks, not seconds\n"
msgstr "zaman tık olarak veriliyor, saniye olarak değil\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: %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: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 ""
"Kullanım: %s [-[abcDhilLsTvwxyz]] [-[ACeEfFJnNOpPqQZ][isim]] [-I dizinler]\n"
"\t[-d[sayı]] [-k hedeften/hedefe] [-m minimum-sayı] [-t tablo-uzunluğu]\n"
"\t[--[no-]annotated-source[=isim]]  açıklamalı kaynak kodunu gösterir/göstermez\n"
"\t[--[no-]exec-counts[=isim]]       yürütme sayısını gösterir/göstermez\n"
"\t[--[no-]flat-profile[=isim]]      düz profil çıktılar\n"
"\t[--[no-]graph[=isim]]             grafik çıktılar\n"
"\t[--[no-]time=isim]                zaman bilgisi çıktılar\n"
"\t[--all-lines]                     bütün satırları gösterir\n"
"\t[--brief]                         kısa çıktı verir\n"
"\t[--debug[=seviye]]                hata ayıklama seviyesini atar\n"
"\t[--function-ordering]             işlev adına göre sıralar\n"
"\t[--file-ordering]                 dosya adına göre sıralar\n"
"\t[--directory-path=dizinler]       dizin adres yolunu belirtir\n"
"\t[--display-unused-functions]      kullanılmayan işlevleri gösterir\n"
"\t[--file-format=isim]              dosya biçemini belirtir\n"
"\t[--file-info]                     dosya bilgisini gösterir\n"
"\t[--help]                          yardım bilgisi gösterir\n"
"\t[--line]                          satır bilgisi gösterir\n"
"\t[--min-count=n]                   minimum sayıyı atar\n"
"\t[--no-static]                     statik işlemleri yoksayar\n"
"\t[--print-path]                    yazdırma yolu\n"
"\t[--separate-files]                ayrı dosyalar\n"
"\t[--static-call-graph]             statik çağrı grafiği\n"
"\t[--sum]                           toplam\n"
"\t[--table-length=uzunluk]          tablo uzunluğu\n"
"\t[--traditional]                   geleneksel\n"
"\t[--version]                       sürüm bilgisi gösterir\n"
"\t[--width=n]                       genişlik\n"
"\t[--ignore-non-functions]          işlev olmayanları yoksayar\n"
"\t[--demangle[=TARZ]]               düzeltme tarzı atar\n"
"\t[--no-demangle]                   düzeltme uygulamaz\n"
"\t[görüntü-dosyası] [profil-dosyası...]\n"

#: gprof.c:176
#, c-format
msgid "Report bugs to %s\n"
msgstr ""
"Yazılım hatalarını %s adresine,\n"
"çeviri hatalarını <gnu-tr@belgeler.org> adresine bildirin\n"

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

#: gprof.c:328
#, 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: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 "BSD gprof baz alınmıştır. BSD gprof Telif Hakkı 1983 Regents of the University of California.\n"

#: gprof.c:414
#, 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:455
#, c-format
msgid "%s: unknown demangling style `%s'\n"
msgstr "%s: bilinmeyen düzeltme tarzı `%s'\n"

#: gprof.c:475
#, 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:525
#, 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:574
#, 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:581
#, 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:126
#, c-format
msgid "%s: `%s' is incompatible with first gmon file\n"
msgstr "%s: `%s' ilk gmon dosyası ile uyumlu değil\n"

#: hist.c:142
#, c-format
msgid "%s: %s: unexpected EOF after reading %u of %u samples\n"
msgstr ""
"%1$s: %2$s: Toplam %4$u örneğin %3$u'si okunduktan sonra\n"
"beklenmeyen dosyasonu(EOF) bulundu\n"

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

#: hist.c:363
#, 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:369
#, c-format
msgid ""
"\n"
"Each sample counts as %g %s.\n"
msgstr ""
"\n"
"Her örnek %g %s sayılıyor.\n"

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

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

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

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

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

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

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

#: hist.c:479
#, c-format
msgid "Flat profile:\n"
msgstr "Düz 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: `%s' bulunamadı\n"

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

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

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