# 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: 2009-06-27 15:08+0200\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"
"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:161
msgid "multiple `!'s"
msgstr "birden fazla '!'"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#: sed/compile.c:180
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:181
msgid "strings for `y' command are different lengths"
msgstr "`y' komutu için dizgeler değişik uzunluklarda"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#: sed/sed.c:97
#, 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:104
#, 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:117
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:122
#, 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:126
#, 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:128
#, 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:130
#, 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:133
#, c-format
msgid ""
"  --follow-symlinks\n"
"                 follow symlinks when processing in place\n"
msgstr ""

#: sed/sed.c:136
#, c-format
msgid ""
"  -i[SUFFIX], --in-place[=SUFFIX]\n"
"                 edit files in place (makes backup if extension 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:139
#, c-format
msgid ""
"  -b, --binary\n"
"                 open files in binary mode (CR+LFs are not processed "
"specially)\n"
msgstr ""

#: sed/sed.c:142
#, 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:144
#, 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:146
#, 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:151
#, 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:154
#, 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:157
#, c-format
msgid "      --help     display this help and exit\n"
msgstr "      --help     bu yardımı gösterir ve çıkar\n"

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

#: sed/sed.c:159
#, 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/sed.c:315
#, c-format
msgid "super-sed version %s\n"
msgstr "super-sed sürüm %s\n"

#: sed/sed.c:316
#, c-format
msgid ""
"based on GNU sed version %s\n"
"\n"
msgstr ""
"GNU sed sürümü %s temel alınmıştır\n"
"\n"

#: sed/sed.c:318
#, c-format
msgid "GNU sed version %s\n"
msgstr "GNU sed sürümü %s\n"

#: sed/sed.c:320
#, fuzzy, c-format
msgid ""
"Copyright (C) %d Free Software Foundation, Inc.\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"

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

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

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

#: sed/utils.c:245
#, 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:260 sed/utils.c:276
#, c-format
msgid "read error on %s: %s"
msgstr "%s'de okuma hatası: %s"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#~ 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"
