# Turkish translations for Wine
#
msgid ""
msgstr ""
"Project-Id-Version: Wine\n"
"Report-Msgid-Bugs-To: http://bugs.winehq.org\n"
"POT-Creation-Date: N/A\n"
"PO-Revision-Date: N/A\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: Turkish\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: clock.rc:28
msgid "&Properties"
msgstr "&Özellikler"

#: clock.rc:29
msgid "Ana&log"
msgstr "Ana&log"

#: clock.rc:30
msgid "Digi&tal"
msgstr "Sa&yısal"

#: clock.rc:32
msgid "&Font..."
msgstr "&Yazı Tipi..."

#: clock.rc:34
msgid "&Without Titlebar"
msgstr "&Başlık Çubuğunu Kaldır"

#: clock.rc:36
msgid "&Seconds"
msgstr "&Saniyeler"

#: clock.rc:37
msgid "&Date"
msgstr "&Tarih"

#: clock.rc:39
msgid "&Always on Top"
msgstr "&Her zaman üstte"

#: clock.rc:41
msgid "Inf&o"
msgstr "B&ilgi"

#: clock.rc:42
msgid "&About Clock..."
msgstr "&Saat Hakkında..."

#: clock.rc:48
msgid "Clock"
msgstr "Saat"

#: cmd.rc:30
msgid "ATTRIB shows or changes DOS file attributes.\n"
msgstr "ATTRIB hakkında yardım\n"

#: cmd.rc:38
msgid ""
"CALL <batchfilename> is used within a batch file to execute commands\n"
"from another batch file. When the batch file exits, control returns to\n"
"the file which called it. The CALL command may supply parameters to the\n"
"called procedure.\n"
"\n"
"Changes to default directory, environment variables etc made within a\n"
"called procedure are inherited by the caller.\n"
msgstr ""
"CALL <topluişlemdosyası> komutu bir toplu işlem dosyasında başka bir\n"
"toplu işlem dosyasındaki komutları çalıştırmak için kullanılır. Eğer\n"
"dosya mevcutsa, denetim yine onu çağıran dosyaya döner. CALL komutu\n"
"çağrılan yordamlar için parametre verebilir.\n"
"\n"
"Çağrılan bir yordamda değiştirilen dizinler, çevre değişkenleri vb.\n"
"kendisini çağıran tarafından miras alınır.\n"

#: cmd.rc:41
msgid ""
"CD <dir> is the short version of CHDIR. It changes the current\n"
"default directory.\n"
msgstr "CD hakkında yardım\n"

#: cmd.rc:42
msgid "CHDIR <dir> changes the current default directory.\n"
msgstr "CHDIR hakkında yardım\n"

#: cmd.rc:44
msgid "CLS clears the console screen.\n"
msgstr "CLS konsol ekranını temizler\n"

#: cmd.rc:46
msgid "COPY <filename> copies a file.\n"
msgstr "COPY hakkında yardım\n"

#: cmd.rc:47
msgid "CTTY changes the input/output device.\n"
msgstr "CTTY hakkında yardım\n"

#: cmd.rc:48
msgid "DATE shows or changes the system date.\n"
msgstr "DATE hakkında yardım\n"

#: cmd.rc:49
msgid "DEL <filename> deletes a file or set of files.\n"
msgstr "DEL hakkında yardım\n"

#: cmd.rc:50
msgid "DIR lists the contents of a directory.\n"
msgstr "DIR hakkında yardım\n"

#: cmd.rc:60
msgid ""
"ECHO <string> displays <string> on the current terminal device.\n"
"\n"
"ECHO ON causes all subsequent commands in a batch file to be displayed\n"
"on the terminal device before they are executed.\n"
"\n"
"ECHO OFF reverses the effect of a previous ECHO ON (ECHO is OFF by\n"
"default). The ECHO OFF command can be prevented from displaying by\n"
"preceding it with an @ sign.\n"
msgstr ""
"ECHO <ileti> geçerli uçbirim aygıtında <ileti>'yi gösterir.\n"
"\n"
"ECHO ON bir toplu işlem dosyasında tüm komutların çalıştırılmadan önce\n"
"uçbirim aygıtında görüntülenmesini sağlar\n"
"\n"
"ECHO OFF bir önceki ECHO ON (ECHO öntanımlı olarak kapalıdır)komutunun\n"
"tersini yapar. ECHO OFF çıktısının görüntülenmesini başına @ işareti\n"
"getirerek engelleyebilirsiniz.\n"

#: cmd.rc:62
msgid "ERASE <filename> deletes a file or set of files.\n"
msgstr "ERASE hakkında yardım\n"

#: cmd.rc:70
msgid ""
"The FOR command is used to execute a command for each of a set of files.\n"
"\n"
"Syntax: FOR %variable IN (set) DO command\n"
"\n"
"The requirement to double the % sign when using FOR in a batch file does\n"
"not exist in wine's cmd.\n"
msgstr ""
"FOR komutu bir dosya kümesinin her öğesi için bir komut çalıştırmada\n"
"kullanılır.\n"
"\n"
"Sözdizim: FOR %değişken IN (küme) DO komut\n"
"\n"
"FOR kullanımı için toplu işlem dosyasında % işaretini çift kullanma\n"
"gereksinimi cmd'de yoktur.\n"

#: cmd.rc:82
msgid ""
"The GOTO command transfers execution to another statement within a\n"
"batch file.\n"
"\n"
"The label which is the target of a GOTO may be up to 255 characters\n"
"long but may not include spaces (this is different from other operating\n"
"systems). If two or more identical labels exist in a batch file the\n"
"first one will always be executed. Attempting to GOTO a nonexistent\n"
"label terminates the batch file execution.\n"
"\n"
"GOTO has no effect when used interactively.\n"
msgstr ""
"GOTO komutu çalışma satırını toplu işlem dosyasındaki başka bir satıra\n"
"yönlendirir.\n"
"\n"
"GOTO komutunun hedefi olacak etiket en fazla 255 karakterden oluşabilir;\n"
"ancak boşluk içeremez (bu diğer işletim sistemlerinden farklıdır). Eğer\n"
"toplu işlem dosyasında aynı etiket bir veya daha fazla yerde kullanılmışsa\n"
"her zaman ilk etiket kullanılacaktır. GOTO var olmayan bir etiket alırsa\n"
"toplu işlem dosyası sonlanacaktır.\n"
"\n"
"GOTO komutunun etkileşimli olarak kullanımının bir etkisi yoktur.\n"

#: cmd.rc:85
msgid ""
"HELP <command> shows brief help details on a topic.\n"
"HELP without an argument shows all CMD built-in commands.\n"
msgstr "HELP hakkında yardım\n"

#: cmd.rc:95
msgid ""
"IF is used to conditionally execute a command.\n"
"\n"
"Syntax:\tIF [NOT] EXIST filename command\n"
"IF [NOT] string1==string2 command\n"
"IF [NOT] ERRORLEVEL number command\n"
"\n"
"In the second form of the command, string1 and string2 must be in double\n"
"quotes. The comparison is not case-sensitive.\n"
msgstr ""
"IF bir komutu koşula bağlı olarak çalıştırmada kullanılır.\n"
"\n"
"Sözdzimi:   IF [NOT] EXIST dosyaadı komut\n"
"IF [NOT] dize1==dize2 komut\n"
"IF [NOT] ERRORLEVEL sayı komut\n"
"\n"
"İkinci biçimde dize1 ve dize2 çift tırnak içerisinde olmalıdır.\n"
"Karşılaştırma BÜYÜK/küçük harf duyarlı değildir.\n"

#: cmd.rc:101
msgid ""
"LABEL is used to set a disk volume label.\n"
"\n"
"Syntax: LABEL [drive:]\n"
"The command will prompt you for the new volume label for the given drive.\n"
"You can display the disk volume label with the VOL command.\n"
msgstr ""
"LABEL bir disk bölümüne etiket verir.\n"
"\n"
"Sözdizimi: LABEL [sürücü:]\n"
"Komut sizden verilen sürücü için yeni bir etiket girmenizi bekleyecektir.\n"
"Disk bölüm etiketini VOL komutu ile gösterebilirsiniz.\n"

#: cmd.rc:104
msgid "MD <name> is the short version of MKDIR. It creates a subdirectory.\n"
msgstr "MD hakkında yardım\n"

#: cmd.rc:105
msgid "MKDIR <name> creates a subdirectory.\n"
msgstr "MKDIR hakkında yardım\n"

#: cmd.rc:112
msgid ""
"MOVE relocates a file or directory to a new point within the file system.\n"
"\n"
"If the item being moved is a directory then all the files and "
"subdirectories\n"
"below the item are moved as well.\n"
"\n"
"MOVE fails if the old and new locations are on different DOS drive letters.\n"
msgstr ""
"MOVE bir dosya veya dizini dosya sistemi içinde yeni bir noktaya taşır.\n"
"\n"
"Eğer taşınacak öğe bir dizinse dizin içerisindeki tüm dosyalar ve alt\n"
"dizinler de birlikte taşınacaktır.\n"
"\n"
"Eğer eski ve yeni konumlar farklı DOS sürücüleri üzerindeyse MOVE hata\n"
"verecektir.\n"

#: cmd.rc:123
msgid ""
"PATH displays or changes the cmd search path.\n"
"\n"
"Entering PATH will display the current PATH setting (initially taken\n"
"from the registry). To change the setting follow the\n"
"PATH command with the new value.\n"
"\n"
"It is also possible to modify the PATH by using the PATH environment\n"
"variable, for example:\n"
"PATH %PATH%;c:\\temp\n"
msgstr ""
"PATH cmd arama yolunu gösterir veya değiştirir.\n"
"\n"
"Sadece PATH girmek geçerli PATH ayarını gösterecektir (başlangıçta bu\n"
"wine.conf dosyanızda verilen değer olacaktır). Ayarı değiştirmek için\n"
"PATH komutuna yeni değeri ekleyin.\n"
"\n"
"Ayrıca PATH ayarını düzenlemek için PATH çevre değikenini de\n"
"kullanabilirsiniz, örneğin:\n"
"PATH %PATH%;c:\\temp\n"

#: cmd.rc:129
msgid ""
"PAUSE displays a message on the screen 'Press Return key to continue'\n"
"and waits for the user to press the Return key. It is mainly useful in\n"
"batch files to allow the user to read the output of a previous command\n"
"before it scrolls off the screen.\n"
msgstr ""
"PAUSE 'Devam etmek için bir tuşa basın' iletisini ekranda gösterip\n"
"kullanıcının bir tuşa basmasını bekler. Çoğunlukla toplu işlem\n"
"dosyalarında kullanıcıya önceki komutun çıktısını ekrandan çıkmadan\n"
"önce okutmak için kullanılır.\n"

#: cmd.rc:150
msgid ""
"PROMPT sets the command-line prompt.\n"
"\n"
"The string following the PROMPT command (and the space immediately after)\n"
"appears at the beginning of the line when cmd is waiting for input.\n"
"\n"
"The following character strings have the special meaning shown:\n"
"\n"
"$$    Dollar sign         $_    Linefeed            $b    Pipe sign (|)\n"
"$d    Current date        $e    Escape              $g    > sign\n"
"$l    < sign              $n    Current drive       $p    Current path\n"
"$q    Equal sign          $t    Current time        $v    cmd version\n"
"\n"
"Note that entering the PROMPT command without a prompt-string resets the\n"
"prompt to the default, which is the current directory (which includes the\n"
"current drive letter) followed by a greater-than (>) sign.\n"
"(like a command PROMPT $p$g).\n"
"\n"
"The prompt can also be changed by altering the PROMPT environment variable,\n"
"so the command 'SET PROMPT=text' has the same effect as 'PROMPT text'\n"
msgstr ""
"PROMPT komut istemini değiştirir.\n"
"\n"
"PROMPT komutunu izleyen dize (ve hemen ardından bir boşluk) cmd sizden\n"
"komut beklerken satır başında görünür.\n"
"\n"
"Aşağıdaki karakter dizeleri gösterilen özel anlamları içerir:\n"
"\n"
"$$    Dolar işareti       $_    Alt satır           $b    boru işareti (|)\n"
"$d    Geçerli tarih       $e    Escape              $g    > işareti\n"
"$l    < işareti           $n    Geçerli sürücü      $p    Geçerli yol\n"
"$q    Eşittir işareti     $t    Geçerli saat        $v    cmd sürümü\n"
"\n"
"Sadece PROMPT komutunu girerseniz komut istemi geçerli dizini (sürücü harfi\n"
"dahil) ve onu izleyen büyüktür (>) işareti içeren öntanımlı değerlere\n"
"dönecektir.\n"
"(PROMPT $p$g komutu gibi).\n"
"\n"
"Komut istemi ayrıca PROMPT çevre değişkeni değiştirilerek de "
"belirlenebilir.\n"
"Yani 'SET PROMPT=metin' ile 'PROMPT metin' aynı işi görür.\n"

#: cmd.rc:154
msgid ""
"A command line beginning REM (followed by a space) performs no\n"
"action, and can therefore be used as a comment in a batch file.\n"
msgstr ""
"REM (ardından da bir boşluk) ile başlayan bir komut satırının\n"
"hiçbir işlevi yoktur; dolayısıyla toplu işlem dosyalarında\n"
"açıklama olarak kullanılabilir.\n"

#: cmd.rc:157
msgid "REN <filename> is the short version of RENAME. It renames a file.\n"
msgstr "REN hakkında yardım\n"

#: cmd.rc:158
msgid "RENAME <filename> renames a file\n"
msgstr "RENAME hakkında yardım\n"

#: cmd.rc:160
msgid "RD <dir> is the short version of RMDIR. It deletes a subdirectory.\n"
msgstr "RD hakkında yardım\n"

#: cmd.rc:161
msgid "RMDIR <dir> deletes a subdirectory.\n"
msgstr "RMDIR hakkında yardım\n"

#: cmd.rc:179
msgid ""
"SET displays or changes the cmd environment variables.\n"
"\n"
"SET without parameters shows all of the current environment.\n"
"\n"
"To create or modify an environment variable the syntax is:\n"
"\n"
"SET <variable>=<value>\n"
"\n"
"where <variable> and <value> are character strings. There must be no\n"
"spaces before the equals sign, nor can the variable name\n"
"have embedded spaces.\n"
"\n"
"Under Wine, the environment of the underlying operating system is\n"
"included into the Win32 environment, there will generally therefore be\n"
"many more values than in a native Win32 implementation. Note that it is\n"
"not possible to affect the operating system environment from within cmd.\n"
msgstr ""
"SET cmd çevre değişkenlerini gösterir veya değiştirir.\n"
"\n"
"Parametresiz girilen SET geçerli çevrenin tümünü gösterir.\n"
"\n"
"Bir çevre değişkenini oluşturmak veya düzenlemek için sözdizimi:\n"
"\n"
"SET <değişken>=<değer>\n"
"\n"
"<değişken> ve <değer> karakter dizeleridir. Ne eşittir işaretinden\n"
"önce ne de değişken adı içerisinde boşluk bulunabilir.\n"
"\n"
"Wine altında, üzerinde çalışılan işletim sistemi çevresi Win32 çevresine\n"
"dahil edilir. Dolayısıyla doğal bir Win32 gerçeklemesinden daha fazla\n"
"değer bulunacaktır. cmd altında işletim sistemi çevresini değiştirmek\n"
"mümkün değildir.\n"

#: cmd.rc:184
msgid ""
"SHIFT is used in a batch file to remove one parameter from the head of\n"
"the list, so parameter 2 becomes parameter 1 and so on. It has no effect\n"
"if called from the command line.\n"
msgstr ""
"SHIFT toplu işlem dosyasında parametre listesinin başından bir tanesini\n"
"siler. Böylece 2. parametre 1. parametre olacaktır. Komut satırında\n"
"çağrıldığında bir etkisi yoktur.\n"

#: cmd.rc:186
msgid "TIME sets or shows the current system time.\n"
msgstr "TIME hakkında yardım\n"

#: cmd.rc:188
msgid "Sets the window title for the cmd window, syntax TITLE [string]\n"
msgstr ""
"cmd penceresi için pencere başlığını değiştirir. Sözdizimi: TITLE [dize]\n"

#: cmd.rc:192
msgid ""
"TYPE <filename> copies <filename> to the console device (or elsewhere\n"
"if redirected). No check is made that the file is readable text.\n"
msgstr ""
"TYPE <dosyaadı> komutu <dosyaadı>'nı konsol aygıtına kopyalar (eğer\n"
"yönlendirilmişse başka yere). Dosyanın okunabilirliği denetlenmez.\n"

#: cmd.rc:201
msgid ""
"VERIFY is used to set, clear or test the verify flag. Valid forms are:\n"
"\n"
"VERIFY ON\tSet the flag\n"
"VERIFY OFF\tClear the flag\n"
"VERIFY\t\tDisplays ON or OFF as appropriate.\n"
"\n"
"The verify flag has no function in Wine.\n"
msgstr ""
"VERIFY doğrulama bayrağını açar, kapatır veya sınar. Geçerli biçimler:\n"
"\n"
"VERIFY ON\tBayrağı aç\n"
"VERIFY OFF\tBayrağı kaldır\n"
"VERIFY\t\tBayrağın durumunu gösterir.\n"
"\n"
"Doğrulama bayrağının Wine'da bir işlevi yoktur.\n"

#: cmd.rc:204
msgid "VER displays the version of cmd you are running\n"
msgstr "VER kullandığınız cmd sürümünü gösterir\n"

#: cmd.rc:206
msgid "VOL shows the volume label of a disk device.\n"
msgstr "VOL hakkında yardım\n"

#: cmd.rc:209
msgid ""
"PUSHD <directoryname> saves the current directory onto a\n"
"stack, and then changes the current directory to the supplied one.\n"
msgstr ""
"PUSHD <directoryname> saves the current directory onto a\n"
"stack, and then changes the current directory to the supplied one.\n"

#: cmd.rc:212
msgid ""
"POPD changes current directory to the last one saved with\n"
"PUSHD.\n"
msgstr ""
"POPD changes current directory to the last one saved with\n"
"PUSHD.\n"

#: cmd.rc:214
msgid "MORE displays output of files or piped input in pages.\n"
msgstr "MORE displays output of files or piped input in pages.\n"

#: cmd.rc:218
msgid ""
"CHOICE displays a text and waits, until the User\n"
"presses an allowed Key from a selectable list.\n"
"CHOICE is mainly used to build a menu selection in a batch file.\n"
msgstr ""

#: cmd.rc:222
msgid ""
"EXIT terminates the current command session and returns\n"
"to the operating system or shell from which you invoked cmd.\n"
msgstr ""
"EXIT geçerli komut oturumunu sonlandırır ve cmd'yi çağırdığınız\n"
"yerden işletim sistemine döner.\n"

#: cmd.rc:253
msgid ""
"CMD built-in commands are:\n"
"ATTRIB\t\tShow or change DOS file attributes\n"
"CALL\t\tInvoke a batch file from inside another\n"
"CD (CHDIR)\tChange current default directory\n"
"CHOICE\t\tWait for an keypress from a selectable list\n"
"CLS\t\tClear the console screen\n"
"COPY\t\tCopy file\n"
"CTTY\t\tChange input/output device\n"
"DATE\t\tShow or change the system date\n"
"DEL (ERASE)\tDelete a file or set of files\n"
"DIR\t\tList the contents of a directory\n"
"ECHO\t\tCopy text directly to the console output\n"
"HELP\t\tShow brief help details on a topic\n"
"MD (MKDIR)\tCreate a subdirectory\n"
"MORE\t\tDisplay output in pages\n"
"MOVE\t\tMove a file, set of files or directory tree\n"
"PATH\t\tSet or show the search path\n"
"POPD\t\tRestores the directory to the last one saved with PUSHD\n"
"PROMPT\t\tChange the command prompt\n"
"PUSHD\t\tChanges to a new directory, saving the current one\n"
"REN (RENAME)\tRename a file\n"
"RD (RMDIR)\tDelete a subdirectory\n"
"SET\t\tSet or show environment variables\n"
"TIME\t\tSet or show the current system time\n"
"TITLE\t\tSet the window title for the CMD session\n"
"TYPE\t\tType the contents of a text file\n"
"VER\t\tShow the current version of CMD\n"
"VOL\t\tShow the volume label of a disk device\n"
"EXIT\t\tClose down CMD\n"
"\n"
"Enter HELP <command> for further information on any of the above commands\n"
msgstr ""
"CMD dahili komutları:\n"
"ATTRIB\t\tDOS dosya özelliklerini göster veya değiştir\n"
"CALL\t\tToplu işlem dosyası içerisinden bir diğerini çalıştır\n"
"CD (CHDIR)\tGeçerli dizini değiştir\n"
"CLS\t\tKonsol ekranını temizle\n"
"COPY\t\tDosya kopyala\n"
"CTTY\t\tGiriş/çıkış aygıtını değiştir\n"
"DATE\t\tSistem tarihini göster veya değiştir\n"
"DEL (ERASE)\tBir veya daha fazla dosyayı sil\n"
"DIR\t\tDizin içeriğini listele\n"
"ECHO\t\tMetni doğrudan konsol çıkışına kopyala\n"
"HELP\t\tBir konu üzerinde özet yardım göster\n"
"MD (MKDIR)\tAlt dizin oluştur\n"
"MORE\t\tDisplay output in pages\n"
"MOVE\t\tBir veya daha fazla dosyayı ya da dizin ağacını taşı\n"
"PATH\t\tArama yolunu düzenle veya göster\n"
"POPD\t\tRestores the directory to the last one saved with PUSHD\n"
"PROMPT\t\tKomut istemini değiştir\n"
"PUSHD\t\tChanges to a new directory, saving the current one\n"
"REN (RENAME)\tDosyayı yeniden adlandır\n"
"RD (RMDIR)\tAlt dizini sil\n"
"SET\t\tÇevre değişkenlerini düzenle veya göster\n"
"TIME\t\tGeçerli sistem saatini düzenle veya göster\n"
"TITLE\t\tCMD oturumu için pencere başlığını belirle\n"
"TYPE\t\tMetin dosyasının içeriğini göster\n"
"VER\t\tGeçerli CMD sürümünü göster\n"
"VOL\t\tDisk aygıtının bölüm etiketini göster\n"
"EXIT\t\tCMD'yi kapat\n"
"\n"
"Yukarıdaki komutlar hakkında daha fazla bilgi için HELP <komut> girin\n"

#: cmd.rc:255
msgid "Are you sure"
msgstr "Are you sure"

#: cmd.rc:256
msgctxt "Yes key"
msgid "Y"
msgstr "Y"

#: cmd.rc:257
msgctxt "No key"
msgid "N"
msgstr "N"

#: cmd.rc:258
msgid "File association missing for extension %s\n"
msgstr "File association missing for extension %s\n"

#: cmd.rc:259
msgid "No open command associated with file type '%s'\n"
msgstr "No open command associated with file type '%s'\n"

#: cmd.rc:260
msgid "Overwrite %s"
msgstr "Overwrite %s"

#: cmd.rc:261
msgid "More..."
msgstr "More..."

#: cmd.rc:262
msgid "Line in Batch processing possibly truncated. Using:\n"
msgstr "Line in Batch processing possibly truncated. Using:\n"

#: cmd.rc:263
msgid ""
"Not Yet Implemented\n"
"\n"
msgstr ""
"Not Yet Implemented\n"
"\n"

#: cmd.rc:264
msgid "Argument missing\n"
msgstr "Argument missing\n"

#: cmd.rc:265
msgid "Syntax error\n"
msgstr "Syntax error\n"

#: cmd.rc:266
msgid "%s : File Not Found\n"
msgstr "%s : File Not Found\n"

#: cmd.rc:267
msgid "No help available for %s\n"
msgstr "No help available for %s\n"

#: cmd.rc:268
msgid "Target to GOTO not found\n"
msgstr "Target to GOTO not found\n"

#: cmd.rc:269
msgid "Current Date is %s\n"
msgstr "Current Date is %s\n"

#: cmd.rc:270
msgid "Current Time is %s\n"
msgstr "Current Time is %s\n"

#: cmd.rc:271
msgid "Enter new date: "
msgstr "Enter new date: "

#: cmd.rc:272
msgid "Enter new time: "
msgstr "Enter new time: "

#: cmd.rc:273
msgid "Environment variable %s not defined\n"
msgstr "Environment variable %s not defined\n"

#: cmd.rc:274
msgid "Failed to open '%s'\n"
msgstr "Failed to open '%s'\n"

#: cmd.rc:275
msgid "Cannot call batch label outside of a batch script\n"
msgstr "Cannot call batch label outside of a batch script\n"

#: cmd.rc:276
msgctxt "All key"
msgid "A"
msgstr "A"

#: cmd.rc:277
msgid "%s, Delete"
msgstr "%s, Delete"

#: cmd.rc:278
msgid "Echo is %s\n"
msgstr "Echo is %s\n"

#: cmd.rc:279
msgid "Verify is %s\n"
msgstr "Verify is %s\n"

#: cmd.rc:280
msgid "Verify must be ON or OFF\n"
msgstr "Verify must be ON or OFF\n"

#: cmd.rc:281
msgid "Parameter error\n"
msgstr "Parameter error\n"

#: cmd.rc:282
msgid ""
"Volume in drive %c is %s\n"
"Volume Serial Number is %04x-%04x\n"
"\n"
msgstr ""
"Volume in drive %c is %s\n"
"Volume Serial Number is %04x-%04x\n"
"\n"

#: cmd.rc:283
msgid "Volume label (11 characters, ENTER for none)?"
msgstr "Volume label (11 characters, ENTER for none)?"

#: cmd.rc:284
msgid "PATH not found\n"
msgstr "PATH not found\n"

#: cmd.rc:285
msgid "Press Return key to continue: "
msgstr "Press Return key to continue: "

#: cmd.rc:286
msgid "Wine Command Prompt"
msgstr "Wine Command Prompt"

#: cmd.rc:287
msgid ""
"CMD Version %s\n"
"\n"
msgstr ""
"CMD Version %s\n"
"\n"

#: cmd.rc:288
msgid "More? "
msgstr "More? "

#: cmd.rc:289
msgid "The input line is too long.\n"
msgstr "The input line is too long.\n"

#: ipconfig.rc:27
msgid "Usage: ipconfig [ /? | /all ]\n"
msgstr ""

#: ipconfig.rc:28
msgid "Error: Unknown or invalid command line parameters specified\n"
msgstr ""

#: ipconfig.rc:29
msgid "%s adapter %s\n"
msgstr ""

#: ipconfig.rc:30
msgid "Ethernet"
msgstr ""

#: ipconfig.rc:31
msgid "Unknown"
msgstr ""

#: ipconfig.rc:32
msgid "Connection-specific DNS suffix"
msgstr ""

#: ipconfig.rc:33
msgid "IP address"
msgstr ""

#: ipconfig.rc:34
msgid "Hostname"
msgstr ""

#: ipconfig.rc:35
msgid "Node type"
msgstr ""

#: ipconfig.rc:36
msgid "Broadcast"
msgstr ""

#: ipconfig.rc:37
msgid "Peer-to-peer"
msgstr ""

#: ipconfig.rc:38
msgid "Mixed"
msgstr ""

#: ipconfig.rc:39
msgid "Hybrid"
msgstr ""

#: ipconfig.rc:40
msgid "IP routing enabled"
msgstr ""

#: ipconfig.rc:41
msgid "Description"
msgstr ""

#: ipconfig.rc:42
msgid "Physical address"
msgstr ""

#: ipconfig.rc:43
msgid "DHCP enabled"
msgstr ""

#: ipconfig.rc:44
msgid "Yes"
msgstr ""

#: ipconfig.rc:45
msgid "No"
msgstr ""

#: ipconfig.rc:46
msgid "Default gateway"
msgstr ""

#: net.rc:27
msgid ""
"The syntax of this command is:\n"
"\n"
"NET [ HELP | START | STOP | USE ]\n"
msgstr ""

#: net.rc:28
msgid "Specify service name to start.\n"
msgstr ""

#: net.rc:29
msgid "Specify service name to stop.\n"
msgstr ""

#: net.rc:30
msgid "Stopping dependent service: %s\n"
msgstr ""

#: net.rc:31
msgid "Could not stop service %s\n"
msgstr ""

#: net.rc:32
msgid "Could not get handle to service control manager.\n"
msgstr ""

#: net.rc:33
msgid "Could not get handle to service.\n"
msgstr ""

#: net.rc:34
msgid "The %s service is starting.\n"
msgstr ""

#: net.rc:35
msgid "The %s service was started successfully.\n"
msgstr ""

#: net.rc:36
msgid "The %s service failed to start.\n"
msgstr ""

#: net.rc:37
msgid "The %s service is stopping.\n"
msgstr ""

#: net.rc:38
msgid "The %s service was stopped successfully.\n"
msgstr ""

#: net.rc:39
msgid "The %s service failed to stop.\n"
msgstr ""

#: net.rc:40
msgid ""
"The syntax of this command is:\n"
"\n"
"NET HELP command\n"
"    -or-\n"
"NET command /HELP\n"
"\n"
"   Commands available are:\n"
"   NET HELP    NET START    NET STOP    NET USE\n"
msgstr ""

#: net.rc:42
msgid "There are no entries in the list.\n"
msgstr ""

#: net.rc:43
msgid ""
"\n"
"Status  Local   Remote\n"
"---------------------------------------------------------------\n"
msgstr ""

#: net.rc:44
msgid "%s      %S      %S      Open resources: %lu\n"
msgstr ""

#: reg.rc:27
msgid ""
"The syntax of this command is:\n"
"\n"
"REG [ ADD | DELETE | QUERY ]\n"
"REG command /?\n"
msgstr ""

#: reg.rc:28
msgid ""
"REG ADD key_name [/v value_name | /ve] [/t type] [/s separator] [/d data] [/"
"f]\n"
msgstr ""

#: reg.rc:29
msgid "REG DELETE key_name [/v value_name | /ve | /va] [/f]\n"
msgstr ""

#: reg.rc:30
msgid "REG QUERY key_name [/v value_name | /ve] [/s]\n"
msgstr ""

#: reg.rc:31
msgid "The operation completed successfully\n"
msgstr ""

#: reg.rc:32
msgid "Error: Invalid key name\n"
msgstr ""

#: reg.rc:33
msgid "Error: Invalid command line parameters\n"
msgstr ""

#: reg.rc:34
msgid "Error: Unable to add keys to remote machine\n"
msgstr ""

#: reg.rc:35
msgid ""
"Error: The system was unable to find the specified registry key or value\n"
msgstr ""

#: start.rc:45
msgid ""
"Start a program, or open a document in the program normally used for files "
"with that suffix.\n"
"Usage:\n"
"start [options] program_filename [...]\n"
"start [options] document_filename\n"
"\n"
"Options:\n"
"/M[inimized] Start the program minimized.\n"
"/MAX[imized] Start the program maximized.\n"
"/R[estored]  Start the program normally (neither minimized nor maximized).\n"
"/W[ait]      Wait for started program to finish, then exit with its exit "
"code.\n"
"/Unix        Use a Unix filename and start the file like windows explorer.\n"
"/ProgIDOpen  Open a document using the following progID.\n"
"/L           Show end-user license.\n"
"\n"
"start.exe version 0.2 Copyright (C) 2003, Dan Kegel\n"
"Start comes with ABSOLUTELY NO WARRANTY; for details run with /L option.\n"
"This is free software, and you are welcome to redistribute it\n"
"under certain conditions; run 'start /L' for details.\n"
msgstr ""
"Bir programı veya uzantısı ile ilişkili olan program içinde bir belgeyi "
"açar.\n"
"Kullanım:\n"
"start [seçenekler] program_dosyaadı [...]\n"
"start [seçenekler] belge_dosyaadı\n"
"\n"
"Seçenekler:\n"
"/M[inimized] Simge halinde başlat.\n"
"/MAX[imized] Ekranı kaplayacak şekilde başlat.\n"
"/R[estored]  Programı normal bir şekilde başlat (simge halinde veya "
"büyütülmüş halde olabilir).\n"
"/W[ait]      Başlatılmış programın bitmesini bekle, sonra çıkış koduyla "
"çık.\n"
"/ProgIDOpen  Open a document using the following progID.\n"
"/L           Son-kullanıcı lisansını göster.\n"
"\n"
"start.exe sürüm 0.2 Telif Hakkı (C) 2003, Dan Kegel\n"
"Start comes with ABSOLUTELY NO WARRANTY; for details run with /L option.\n"
"This is free software, and you are welcome to redistribute it\n"
"under certain conditions; run 'start /L' for details.\n"

#: start.rc:63
msgid ""
"start.exe version 0.2 Copyright (C) 2003, Dan Kegel\n"
"This program is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU Lesser Public License\n"
"as published by the Free Software Foundation; either version 2.1\n"
"of the License, or (at your option) any later version.\n"
"\n"
"This program is distributed in the hope that it will be useful,\n"
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
"GNU Lesser Public License for more details.\n"
"\n"
"You should have received a copy of the GNU Lesser Public License\n"
"along with this program; if not, write to the Free Software\n"
"Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.\n"
"\n"
"See the COPYING.LIB file for license information.\n"
msgstr ""
"start.exe sürüm 0.2 Telif Hakkı (C) 2003, Dan Kegel\n"
"This program is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU Lesser Public License\n"
"as published by the Free Software Foundation; either version 2.1\n"
"of the License, or (at your option) any later version.\n"
"\n"
"This program is distributed in the hope that it will be useful,\n"
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
"GNU Lesser Public License for more details.\n"
"\n"
"You should have received a copy of the GNU Lesser Public License\n"
"along with this program; if not, write to the Free Software\n"
"Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.\n"
"\n"
"See the COPYING.LIB file for license information.\n"

#: start.rc:65
msgid ""
"Application could not be started, or no application associated with the "
"specified file.\n"
"ShellExecuteEx failed"
msgstr ""
"Uygulama başlatılamadı veya belirtilen dosya ile ilişkili bir uygulama yok.\n"
"ShellExecuteEx başarısız"

#: start.rc:67
msgid "Could not translate the specified Unix filename to a DOS filename."
msgstr "Could not translate the specified Unix filename to a DOS filename."

#: taskkill.rc:27
msgid "Usage: taskkill [/?] [/f] [/im ProcessName | /pid ProcessID]\n"
msgstr ""

#: taskkill.rc:28
msgid "Error: Unknown or invalid command line option specified.\n"
msgstr ""

#: taskkill.rc:29
msgid "Error: Invalid command line parameter specified.\n"
msgstr ""

#: taskkill.rc:30
msgid "Error: One of options /im or /pid must be specified.\n"
msgstr ""

#: taskkill.rc:31
msgid "Error: Option %s expects a command line parameter.\n"
msgstr ""

#: taskkill.rc:32
msgid "Error: Options /im and /pid are mutually exclusive.\n"
msgstr ""

#: taskkill.rc:33
msgid "Close message sent to top-level windows of process with PID %u.\n"
msgstr ""

#: taskkill.rc:34
msgid ""
"Close message sent to top-level windows of process \"%s\" with PID %u.\n"
msgstr ""

#: taskkill.rc:35
msgid "Process with PID %u was forcibly terminated.\n"
msgstr ""

#: taskkill.rc:36
msgid "Process \"%s\" with PID %u was forcibly terminated.\n"
msgstr ""

#: taskkill.rc:37
msgid "Error: Could not find process \"%s\".\n"
msgstr ""

#: taskkill.rc:38
msgid "Error: Unable to enumerate the process list.\n"
msgstr ""

#: taskkill.rc:39
msgid "Error: Unable to terminate process \"%s\".\n"
msgstr ""

#: taskkill.rc:40
msgid "Error: Process self-termination is not permitted.\n"
msgstr ""
