# translation of sed-4.1.1.tr.po to Turkish
# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
# Deniz Akkus Kanca <deniz@arayan.com>, 2001,2003, 2004.
#
msgid ""
msgstr ""
"Project-Id-Version: sed 4.1.1\n"
"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
"POT-Creation-Date: 2012-12-22 14:36+0100\n"
"PO-Revision-Date: 2004-12-05 10:03+0200\n"
"Last-Translator: Deniz Akkus Kanca <deniz@arayan.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"
"X-Generator: KBabel 1.3.1\n"
"Plural-Forms: nplurals=1; plural=0;\n"

#: sed/compile.c:144
msgid "multiple `!'s"
msgstr "birden fazla '!'"

#: sed/compile.c:145
msgid "unexpected `,'"
msgstr "beklenmeyen ','"

#: sed/compile.c:146
msgid "invalid usage of +N or ~N as first address"
msgstr "ilk adres olarak +N veya ~N kullanılamaz"

#: sed/compile.c:147
msgid "unmatched `{'"
msgstr "eşleşmeyen '{'"

#: sed/compile.c:148
msgid "unexpected `}'"
msgstr "beklenmeyen '}'"

#: sed/compile.c:149
msgid "extra characters after command"
msgstr "komuttan sonra fazla karakterler var"

#: sed/compile.c:150
msgid "expected \\ after `a', `c' or `i'"
msgstr "`a', `c' veya `i' sonrası \\ beklendi"

#: sed/compile.c:151
msgid "`}' doesn't want any addresses"
msgstr "'}' için adres istenmez"

#: sed/compile.c:152
msgid ": doesn't want any addresses"
msgstr ": için hiç adres istenmez"

#: sed/compile.c:153
msgid "comments don't accept any addresses"
msgstr "açıklamalarda adres kabul edilmez"

#: sed/compile.c:154
msgid "missing command"
msgstr "komut eksik"

#: sed/compile.c:155
msgid "command only uses one address"
msgstr "komutta yalnızca tek adres kullanılır"

#: sed/compile.c:156
msgid "unterminated address regex"
msgstr "sonlandırılmamış adres düzenli ifadesi"

#: sed/compile.c:157
msgid "unterminated `s' command"
msgstr "sonlandırılmamış 's' komutu"

#: sed/compile.c:158
msgid "unterminated `y' command"
msgstr "sonlandırılmamış 'y' komutu"

#: sed/compile.c:159
msgid "unknown option to `s'"
msgstr "`s' komutuna bilinmeyen seçenek verilmiş"

#: sed/compile.c:160
msgid "multiple `p' options to `s' command"
msgstr "`s' komutuna birden fazla `p' seçeneği verilmiş"

#: sed/compile.c:161
msgid "multiple `g' options to `s' command"
msgstr "`s' komutuna birden fazla `g' seçeneği verilmiş"

#: sed/compile.c:162
msgid "multiple number options to `s' command"
msgstr "`s' komutuna birden fazla sayı seçeneği verilmiş"

#: sed/compile.c:163
msgid "number option to `s' command may not be zero"
msgstr "`s' komutuna verilen sayı seçeneği sıfır olamaz"

#: sed/compile.c:164
msgid "strings for `y' command are different lengths"
msgstr "`y' komutu için dizgeler değişik uzunluklarda"

#: sed/compile.c:165
msgid "delimiter character is not a single-byte character"
msgstr "ayraç karakteri tek baytlık değil"

#: sed/compile.c:166
msgid "expected newer version of sed"
msgstr "sed'in daha yeni bir sürümü beklendi"

#: sed/compile.c:167
msgid "invalid usage of line address 0"
msgstr "satır adresi 0'ın hatalı kullanımı"

#: sed/compile.c:168
#, c-format
msgid "unknown command: `%c'"
msgstr "bilinmeyen komut: `%c'"

#: sed/compile.c:169
#, fuzzy
msgid "incomplete command"
msgstr "komut eksik"

#: sed/compile.c:192
#, c-format
msgid "%s: file %s line %lu: %s\n"
msgstr "%s: dosya %s satır %lu: %s\n"

#: sed/compile.c:195
#, c-format
msgid "%s: -e expression #%lu, char %lu: %s\n"
msgstr "%s: -e ifade #%lu, harf %lu: %s\n"

#: sed/compile.c:1657
#, c-format
msgid "can't find label for jump to `%s'"
msgstr "`%s'e atlamak için etiket bulunamıyor"

#: sed/execute.c:595
#, c-format
msgid "%s: can't read %s: %s\n"
msgstr "%s: %s okunamıyor: %s\n"

#: sed/execute.c:624
#, c-format
msgid "couldn't edit %s: is a terminal"
msgstr "%s düzenlenemedi: bu bir terminal"

#: sed/execute.c:629
#, c-format
msgid "couldn't edit %s: not a regular file"
msgstr "%s düzenlenemedi: normal dosya değil"

#: sed/execute.c:640
#, c-format
msgid "%s: warning: failed to set default file creation context to %s: %s"
msgstr ""

#: sed/execute.c:647
#, c-format
msgid "%s: warning: failed to get security context of %s: %s"
msgstr ""

#: sed/execute.c:664 sed/utils.c:211
#, c-format
msgid "couldn't open temporary file %s: %s"
msgstr "geçici dosya %s açılamadı: %s"

#: sed/execute.c:1193 sed/execute.c:1373
msgid "error in subprocess"
msgstr "altsüreçte hata"

#: sed/execute.c:1195
msgid "option `e' not supported"
msgstr " e' seçeneği desteklenmiyor"

#: sed/execute.c:1375
msgid "`e' command not supported"
msgstr "`e' komutu desteklenmiyor"

#: sed/execute.c:1725
msgid "no input files"
msgstr ""

#: sed/regexp.c:39
msgid "no previous regular expression"
msgstr "daha önce bir düzenli ifade yok"

#: sed/regexp.c:40
msgid "cannot specify modifiers on empty regexp"
msgstr "boş düzenli ifadeye değiştirici atanamaz"

#: sed/regexp.c:129
#, c-format
msgid "invalid reference \\%d on `s' command's RHS"
msgstr "`s' komutunun RHS'sinde geçersiz \\%d referansı"

#: sed/sed.c:32
msgid "Jay Fenlason"
msgstr ""

#: sed/sed.c:33
msgid "Tom Lord"
msgstr ""

#: sed/sed.c:34
msgid "Ken Pizzini"
msgstr ""

#: sed/sed.c:35
msgid "Paolo Bonzini"
msgstr ""

#: sed/sed.c:79
#, c-format
msgid ""
"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
msgstr ""

#: sed/sed.c:86
#, fuzzy, c-format
msgid ""
"E-mail bug reports to: <%s>.\n"
"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
msgstr ""
"Yazılım hatalarını %s adresine, çeviri hatalarını \n"
"<gnu-tr-u12a@lists.sourceforge.net> adresine bildirin. \n"
"``%s'' sözcüğünün Konu başlığında yer almasına dikkat edin. \n"

#: sed/sed.c:99
msgid ""
"  -R, --regexp-perl\n"
"                 use Perl 5's regular expressions syntax in the script.\n"
msgstr ""
"  -R, --regexp-perl\n"
"                 betikte Perl 5'in düzenli ifade sözdizimini kullanır.\n"

#: sed/sed.c:104
#, c-format
msgid ""
"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
"\n"
msgstr ""
"Kullanım: %s [SEÇENEK]... {betik-eğer-başka-betik-yoksa} [girdi-dosyası]...\n"
"\n"

#: sed/sed.c:108
#, fuzzy, c-format
msgid ""
"  -n, --quiet, --silent\n"
"                 suppress automatic printing of pattern space\n"
msgstr ""
"-n, --quiet, --silent\n"
"                 kalıp uzayının otomatik yazdırılmasını kaldırır\n"

#: sed/sed.c:110
#, c-format
msgid ""
"  -e script, --expression=script\n"
"                 add the script to the commands to be executed\n"
msgstr ""
"  -e script, --expression=betik\n"
"                 betiği, koşturulacak komutlara ekler\n"

#: sed/sed.c:112
#, c-format
msgid ""
"  -f script-file, --file=script-file\n"
"                 add the contents of script-file to the commands to be "
"executed\n"
msgstr ""
"  -f betik-dosyası, --file=betik-dosyası\n"
"                 betik-dosyası'nın içeriğini, koşturulacak komutlara ekler\n"

#: sed/sed.c:115
#, c-format
msgid ""
"  --follow-symlinks\n"
"                 follow symlinks when processing in place\n"
msgstr ""

#: sed/sed.c:118
#, fuzzy, c-format
msgid ""
"  -i[SUFFIX], --in-place[=SUFFIX]\n"
"                 edit files in place (makes backup if SUFFIX supplied)\n"
msgstr ""
"  -i[SONEK], --in-place[=SONEK]\n"
"                 dosyaları yerinde değiştirir (eğer uzantı verilmişse yedek\n"
"                 oluşturur)\n"

#: sed/sed.c:121
#, c-format
msgid ""
"  -b, --binary\n"
"                 open files in binary mode (CR+LFs are not processed "
"specially)\n"
msgstr ""

#: sed/sed.c:124
#, c-format
msgid ""
"  -l N, --line-length=N\n"
"                 specify the desired line-wrap length for the `l' command\n"
msgstr ""
"  -l N, --line-length=N\n"
"                 `l' komutu için istenen satır sarma uzunluğunu belirtir\n"

#: sed/sed.c:126
#, c-format
msgid ""
"  --posix\n"
"                 disable all GNU extensions.\n"
msgstr ""
"  --posix\n"
"                 bütün GNU eklentilerini devre dışı bırakır.\n"

#: sed/sed.c:128
#, c-format
msgid ""
"  -r, --regexp-extended\n"
"                 use extended regular expressions in the script.\n"
msgstr ""
"  -r, --regexp-extended\n"
"                 betikte geliştirilmiş düzenli ifadeler kullanır.\n"

#: sed/sed.c:133
#, c-format
msgid ""
"  -s, --separate\n"
"                 consider files as separate rather than as a single "
"continuous\n"
"                 long stream.\n"
msgstr ""
"  -s, --separate\n"
"                 dosyaları, tek uzun bir akış yerine ayrı ayrı "
"değerlendirir.\n"

#: sed/sed.c:136
#, c-format
msgid ""
"  -u, --unbuffered\n"
"                 load minimal amounts of data from the input files and "
"flush\n"
"                 the output buffers more often\n"
msgstr ""
"  -u, --unbuffered\n"
"                 girdi dosyalarından asgari miktarda veri yükler ve\n"
"                 çıktı yastıklarını daha sık boşaltır\n"

#: sed/sed.c:139
#, c-format
msgid ""
"  -z, --null-data\n"
"                 separate lines by NUL characters\n"
msgstr ""

#: sed/sed.c:141
#, c-format
msgid "      --help     display this help and exit\n"
msgstr "      --help     bu yardımı gösterir ve çıkar\n"

#: sed/sed.c:142
#, c-format
msgid "      --version  output version information and exit\n"
msgstr "      --version  sürüm bilgisinin gösterir ve çıkar\n"

#: sed/sed.c:143
#, c-format
msgid ""
"\n"
"If no -e, --expression, -f, or --file option is given, then the first\n"
"non-option argument is taken as the sed script to interpret.  All\n"
"remaining arguments are names of input files; if no input files are\n"
"specified, then the standard input is read.\n"
"\n"
msgstr ""
"\n"
"Eğer -e, --expression, -f veya --file seçenekeleri verilmemiş ise,\n"
"ilk seçenek olmayan argüman, işlenecek betik dosyası kabul edilir.\n"
"Bütün diğer argümanlar girdi dosyası adıdır; eğer girdi dosyası adı\n"
"verilmemiş ise, standart girdi okunur.\n"
"\n"

#: sed/utils.c:74 sed/utils.c:432
#, c-format
msgid "cannot remove %s: %s"
msgstr "%s kaldırılamıyor: %s"

#: sed/utils.c:144
#, c-format
msgid "couldn't open file %s: %s"
msgstr "%s dosyası açılamadı: %s"

#: sed/utils.c:167
#, fuzzy, c-format
msgid "couldn't attach to %s: %s"
msgstr "%d sayıda öğe %s'e yazılamadı: %s"

#: sed/utils.c:229
#, c-format
msgid "couldn't write %d item to %s: %s"
msgid_plural "couldn't write %d items to %s: %s"
msgstr[0] "%d sayıda öğe %s'e yazılamadı: %s"

#: sed/utils.c:244 sed/utils.c:267
#, c-format
msgid "read error on %s: %s"
msgstr "%s'de okuma hatası: %s"

#: sed/utils.c:372
#, fuzzy, c-format
msgid "couldn't follow symlink %s: %s"
msgstr "%s dosyası açılamadı: %s"

#: sed/utils.c:406
#, fuzzy, c-format
msgid "cannot stat %s: %s"
msgstr "%s yeniden adlandırılamadı: %s"

#: sed/utils.c:437
#, c-format
msgid "cannot rename %s: %s"
msgstr "%s yeniden adlandırılamadı: %s"

#: lib/regcomp.c:132
msgid "Success"
msgstr "Başarılı"

#: lib/regcomp.c:135
msgid "No match"
msgstr "Eşleşme bulunamadı"

#
#: lib/regcomp.c:138
msgid "Invalid regular expression"
msgstr "Hatalı düzenli ifade"

#: lib/regcomp.c:141
msgid "Invalid collation character"
msgstr "Hatalı birleştirme karakteri"

#: lib/regcomp.c:144
msgid "Invalid character class name"
msgstr "Hatalı karakter sınıf ismi"

#: lib/regcomp.c:147
msgid "Trailing backslash"
msgstr "Sonda fazla gerikesme var"

#: lib/regcomp.c:150
msgid "Invalid back reference"
msgstr "Hatalı geri referans"

#
#: lib/regcomp.c:153
msgid "Unmatched [ or [^"
msgstr "Eşleşmeyen [ veya [^"

#
#: lib/regcomp.c:156
msgid "Unmatched ( or \\("
msgstr "Eşleşmeyen ( veya \\("

#
#: lib/regcomp.c:159
msgid "Unmatched \\{"
msgstr "Eşleşmeyen \\{"

#: lib/regcomp.c:162
msgid "Invalid content of \\{\\}"
msgstr "\\{\\} içeriği hatalı"

#: lib/regcomp.c:165
msgid "Invalid range end"
msgstr "Geçersiz kapsam sonu"

#: lib/regcomp.c:168
msgid "Memory exhausted"
msgstr "Bellek tükendi"

#
#: lib/regcomp.c:171
msgid "Invalid preceding regular expression"
msgstr "Bir önceki düzenli ifade hatalı"

#
#: lib/regcomp.c:174
msgid "Premature end of regular expression"
msgstr "Düzenli ifade erken sonlandı"

#
#: lib/regcomp.c:177
msgid "Regular expression too big"
msgstr "Düzenli ifade fazla büyük"

#
#: lib/regcomp.c:180
msgid "Unmatched ) or \\)"
msgstr "Eşleşmeyen ) or \\)"

#: lib/regcomp.c:705
msgid "No previous regular expression"
msgstr "Daha önce düzenli ifade yok"

#~ msgid "super-sed version %s\n"
#~ msgstr "super-sed sürüm %s\n"

#~ msgid ""
#~ "based on GNU sed version %s\n"
#~ "\n"
#~ msgstr ""
#~ "GNU sed sürümü %s temel alınmıştır\n"
#~ "\n"

#~ msgid "GNU sed version %s\n"
#~ msgstr "GNU sed sürümü %s\n"

#~ msgid ""
#~ "%s\n"
#~ "This is free software; see the source for copying conditions.  There is "
#~ "NO\n"
#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
#~ "PURPOSE,\n"
#~ "to the extent permitted by law.\n"
#~ msgstr ""
#~ "%s\n"
#~ "Bu serbest yazılımdır; kopyalama koşulları için kaynak koduna bakınız.\n"
#~ "Hiçbir garantisi yoktur; hatta SATILABİLİRLİĞİ veya HERHANGİ BİR AMACA\n"
#~ "UYGUNLUĞU için bile garanti verilmez.\n"

#~ msgid "Called savchar() with unexpected pushback (%x)"
#~ msgstr "savchar() beklenmeyen geri itme (%x) ile çağrılmış"

#~ msgid "INTERNAL ERROR: bad address type"
#~ msgstr "İÇ HATA: Hatalı adres türü"

#~ msgid "INTERNAL ERROR: Bad cmd %c"
#~ msgstr "İÇ HATA: Hatalı komut %c"

#~ msgid ""
#~ "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
#~ "\n"
#~ "  -n, --quiet, --silent\n"
#~ "                 suppress automatic printing of pattern space\n"
#~ "  -e script, --expression=script\n"
#~ "                 add the script to the commands to be executed\n"
#~ "  -f script-file, --file=script-file\n"
#~ "                 add the contents of script-file to the commands to be "
#~ "executed\n"
#~ "  -i[suffix], --in-place[=suffix]\n"
#~ "                 edit files in place (makes backup if extension "
#~ "supplied)\n"
#~ "  -l N, --line-length=N\n"
#~ "                 specify the desired line-wrap length for the `l' "
#~ "command\n"
#~ "  -r, --regexp-extended\n"
#~ "                 use extended regular expressions in the script.\n"
#~ "%s  -s, --separate\n"
#~ "                 consider files as separate rather than as a single "
#~ "continuous\n"
#~ "                 long stream.\n"
#~ "  -u, --unbuffered\n"
#~ "                 load minimal amounts of data from the input files and "
#~ "flush\n"
#~ "                 the output buffers more often\n"
#~ "      --help     display this help and exit\n"
#~ "  -V, --version  output version information and exit\n"
#~ "\n"
#~ "If no -e, --expression, -f, or --file option is given, then the first\n"
#~ "non-option argument is taken as the sed script to interpret.  All\n"
#~ "remaining arguments are names of input files; if no input files are\n"
#~ "specified, then the standard input is read.\n"
#~ "\n"
#~ msgstr ""
#~ "Kullanım: %s [SEÇENEK]... {betik-eğer-başka-betik-yok-ise} [girdi-"
#~ "dosyası]...\n"
#~ "\n"
#~ "  -n, --quiet, --silent\n"
#~ "                 kalıp uzayının otomatik yazdırılmasını bastırır\n"
#~ "  -e betik, --expression=betik\n"
#~ "                 betiği icra edilecek komutlara ekler\n"
#~ "  -f betik-dosyası, --file=betik-dosyası\n"
#~ "                 betik-dosyasının içeriğini icra edilecek komutlara "
#~ "ekler\n"
#~ "  -i[sonek], --in-place[=sonek]\n"
#~ "                 dosyaları yerinde düzenler (sonek varsa, yedeklerini "
#~ "alır\n"
#~ "  -l N, --line-length=N\n"
#~ "                 `l' komutu için istenen satır uzunluğunu ayarlar\n"
#~ "  -r, --regexp-extended\n"
#~ "                 betikte genişletilmiş düzenli ifadeler kullanır.\n"
#~ "%s -s, --separate\n"
#~ "                 dosyaları tek bir girdi olarak değil, ayrı ayrı "
#~ "dosyalar\n"
#~ "                 halinde işler.\n"
#~ "  -u, --unbuffered\n"
#~ "                 girdi dosyalarından az miktarda veri yükler ve çıktı\n"
#~ "                 yastıklarını daha sık boşaltır.\n"
#~ "  --help         bu yardımı gösterir ve çıkar\n"
#~ "  -V, --version  sürüm bilgisini gösterir ve çıkar\n"
#~ "\n"
#~ "Eğer -e, --expression, -f veya --file seçeneklerinden biri "
#~ "verilmemişse, \n"
#~ "bulunan ilk seçenek olmayan argüman, yorumlanacak sed betiği olarak "
#~ "kabul \n"
#~ "edilir. Bütün kalan argümanlar girdi dosyası adlarıdır; eğer girdi "
#~ "dosyası adı\n"
#~ "belirtilmemişse standart girdi okunur.\n"
#~ "\n"

#~ msgid "Unexpected End-of-file"
#~ msgstr "Beklenmeyen Dosya-Sonu"

#~ msgid "bad regexp: %s\n"
#~ msgstr "Hatalı düzenli ifade: %s\n"

#~ msgid "input read error: %s"
#~ msgstr "girdi okuma hatası: %s"
