# Czech 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: Czech\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 "&Vlastnosti"

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

#: clock.rc:30
msgid "Digi&tal"
msgstr "Digi&tální"

#: clock.rc:32
msgid "&Font..."
msgstr "&Font..."

#: clock.rc:34
msgid "&Without Titlebar"
msgstr "B&ez menu"

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

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

#: clock.rc:39
msgid "&Always on Top"
msgstr "Vždy n&a vrchu"

#: clock.rc:41
msgid "Inf&o"
msgstr "&O aplikaci"

#: clock.rc:42
msgid "&About Clock..."
msgstr "O &aplikaci..."

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

#: cmd.rc:30
msgid "ATTRIB shows or changes DOS file attributes.\n"
msgstr "Nápověda k ATTRIB\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 <dávkový soubor> je užíván ke spuštění příkazů\n"
"z jiného dávkového souboru. Když se běh volaného dávkového souboru ukončí, "
"kontrola se vrátí\n"
"volajícímu souboru. Příkaz CALL může předávat parametry\n"
"volané proceduře.\n"
"\n"
"Změny v defaultním adresáři, proměnných prostředí atd., udělané\n"
"volanou procedurou jsou zděděny volajícím.\n"

#: cmd.rc:41
msgid ""
"CD <dir> is the short version of CHDIR. It changes the current\n"
"default directory.\n"
msgstr "Nápověda k CD\n"

#: cmd.rc:42
msgid "CHDIR <dir> changes the current default directory.\n"
msgstr "Nápověda k CHDIR\n"

#: cmd.rc:44
msgid "CLS clears the console screen.\n"
msgstr "CLS vymaže obrazovku terminálu\n"

#: cmd.rc:46
msgid "COPY <filename> copies a file.\n"
msgstr "Nápověda k COPY\n"

#: cmd.rc:47
msgid "CTTY changes the input/output device.\n"
msgstr "Nápověda k CTTY\n"

#: cmd.rc:48
msgid "DATE shows or changes the system date.\n"
msgstr "Nápověda k DATE\n"

#: cmd.rc:49
msgid "DEL <filename> deletes a file or set of files.\n"
msgstr "Nápověda k DEL\n"

#: cmd.rc:50
msgid "DIR lists the contents of a directory.\n"
msgstr "Nápověda k DIR\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 <řetězec> zobrazí <řetězec> na používaném terminálovém zařízení.\n"
"\n"
"ECHO ON způsobí, že všechny následující příkazy v dávkovém souboru budou\n"
"zobrazeny na terminálovém zařízení před svým spuštěním.\n"
"\n"
"ECHO OFF vypisování příkazů zakáže (ECHO je OFF defaultně.\n"
"Předsadí-li se příkazu ECHO OFF @ nebude příkaz ECHO OFF vypsán\n"
"na terminálové zařízení.\n"

#: cmd.rc:62
msgid "ERASE <filename> deletes a file or set of files.\n"
msgstr "Nápověda k ERASE\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 ""
"Příkaz FOR vykoná zadanou akci pro každý ze zadané skupiny souborů.\n"
"\n"
"Syntaxe: FOR %proměnná IN (skupina souborů) DO akce\n"
"\n"
"V programu cmd není třeba zdvojovat znak % před proměnnou při použití "
"příkazu\n"
" FOR v dávkovém souboru.\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 ""
"Příkaz GOTO předá výkon na jiné místo\n"
"v dávkovém souboru.\n"
"\n"
"Návěští, kterým se označuje cíl skoku GOTO může být až 255 znaků\n"
"dlouhé. Nesmí však obsahovat mezery (odlišné chování od jiných operačních\n"
"systémů). Existují-li dvě nebo více stejných návěští v jednom dávkovém\n"
"souboru, pak první bude vykonáno. Skok GOTO na neexistující návěští\n"
"ukončí výkon dávkového souboru.\n"
"\n"
"GOTO se nedá použít interaktivně.\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 "Nápověda k HELP\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 slouží k podmíněnému výkonu příkazů.\n"
"\n"
"Syntaxe: IF [NOT] EXIST soubor příkaz\n"
"IF [NOT] řetězec1==řetězec2 příkaz\n"
"IF [NOT] ERRORLEVEL číslo příkaz\n"
"\n"
"Ve druhé formě příkazu musí být řetězec1 a řetězec2 uzavřeny v dvojitých\n"
"uvozovkách. Srovnání není citlivé na velikost písmen.\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 nastavuje jmenovku svazku-disku.\n"
"\n"
"Syntaxe: LABEL [disk:]\n"
"Budete vyzváni k zadání jmenovky.\n"
"Jmenovku si můžete zobrazit příkazem VOL.\n"

#: cmd.rc:104
msgid "MD <name> is the short version of MKDIR. It creates a subdirectory.\n"
msgstr "Nápověda k MD\n"

#: cmd.rc:105
msgid "MKDIR <name> creates a subdirectory.\n"
msgstr "Nápověda k MKDIR\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 přesune soubor či adresář na jiné místo v souborovém systému.\n"
"\n"
"Je-li přesouván adresář, jsou přesunuty všechny jeho podadresáře a soubory.\n"
"\n"
"MOVE selže jsou-li zdrojová a cílová oblast na jednotkách s jinými DOS "
"písmeny disků.\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 zobrazí či změní cesty, v nichž cmd hledá soubory.\n"
"\n"
"PATH bez argumentů zobrazí momentálně platné nastavení (před první změnou\n"
"je to hodnota převzatá ze souboru wine.conf). Ke změně připojte k příkazu\n"
"PATH novou cestu.\n"
"\n"
"Je taktéž možné změnit PATH použitím proměnné prostředí PATH,\n"
"například:\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 zobrazí na obrazovce text 'Press Return key to continue'\n"
"a vyčká, dokud uživatel nestiskne klávesu Enter. Je to užitečné hlavně\n"
"proto, aby si uživatel mohl přečíst výstup z výkonu předcházejích příkazů,\n"
"než se tyto odrolují z obrazovky.\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 nastaví výzvu příkazového řádku.\n"
"\n"
"Řetězec za příkazem PROMPT (a mezerou bezprostředně za PROMPT)\n"
"se zobrazí na začátku každé nové příkazové řádky.\n"
"\n"
"Tyto znaky mají v řetězcích speciální význam:\n"
"\n"
"$$    Znak dolaru         $_    Odřádkování         $b    Znak roury (|)\n"
"$d    Datum               $e    Escape              $g    Znaménko větší "
"než\n"
"$l    Znaménko menší než  $n    Písmeno disku       $p    Cesta\n"
"$q    Rovnítko            $t    Čas                 $v    Verze cmd\n"
"\n"
"PROMPT bez parametrů resetuje prompt na defaultní,\n"
"který je složen z cesty k současnému adresáři (včetně písmena disku\n"
") a znaménka  větší než (>).\n"
"(jako je v DOS-u PROMPT $p$g).\n"
"\n"
"Prompt může být změněn i změnou proměnné prostředí PROMPT,\n"
"čili příkaz 'SET PROMPT=text' má tentýž efekt jako 'PROMPT text'\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 ""
"Řádky začínající REM (následovaným mezerou)\n"
"nejsou vykonány. REM je proto používán jako komentářový příkaz.\n"

#: cmd.rc:157
msgid "REN <filename> is the short version of RENAME. It renames a file.\n"
msgstr "Nápověda k REN\n"

#: cmd.rc:158
msgid "RENAME <filename> renames a file\n"
msgstr "Nápověda k RENAME\n"

#: cmd.rc:160
msgid "RD <dir> is the short version of RMDIR. It deletes a subdirectory.\n"
msgstr "Nápověda k RD\n"

#: cmd.rc:161
msgid "RMDIR <dir> deletes a subdirectory.\n"
msgstr "Nápověda k RMDIR\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 zobrazí nebo změní proměnné prostředí cmd.\n"
"\n"
"SET bez argumentů ukáže současné nastavení prostředí.\n"
"\n"
"Syntaxe pro nastavení a změnu proměnné prostředí je:\n"
"\n"
"SET <proměnná>=<hodnota>\n"
"\n"
"kde <proměnná> a <hodnota> musí být prosta mezer\n"
"a speciálních znaků a mezi <proměnná> rovnítko <hodnota>\n"
"nesmí být mezery.\n"
"\n"
"Ve Wine jsou viditelné proměnné prostředí operačního\n"
"systému, ve kterém je Wine spuštěn. Proto uvidíte mnohem víc proměnných\n"
"prostředí, než u nativní Win32 implementace. Není možné\n"
"měnit proměnné prostředí hostitelského operačního systému z cmd.\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 užíván v dávkových souborech k odstranění jednoho parametru ze "
"začátku\n"
"jejich seznamu, takže parametr 2 se stane parametrem 1 atd. Nemá žádný\n"
"efekt, je-li zadán na příkazovou řádku.\n"

#: cmd.rc:186
msgid "TIME sets or shows the current system time.\n"
msgstr "Nápověda k TIME\n"

#: cmd.rc:188
msgid "Sets the window title for the cmd window, syntax TITLE [string]\n"
msgstr "Nastaví titulek okna cmd, syntaxe TITLE [řetězec]\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 <soubor> vypíše <soubor> na konzolové zařízení (nebo jinam,\n"
"je-li výstup přeměrován). Není zjišťováno, bude-li vypsán čitelný text.\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 je používán k nastavení nebo zjištění stavu příznaku verify.\n"
"Syntaxe:\n"
"\n"
"VERIFY ON\tNastaví příznak\n"
"VERIFY OFF\tZruší příznak\n"
"VERIFY\t\tZobrazí aktuální stav.\n"
"\n"
"Příznak verify nemá ve Wine žádnou funkci.\n"

#: cmd.rc:204
msgid "VER displays the version of cmd you are running\n"
msgstr "VER zobrazí verzi spuštěného programu cmd.\n"

#: cmd.rc:206
msgid "VOL shows the volume label of a disk device.\n"
msgstr "Nápověda k VOL\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 ukončí běžící sezení a vrátí kontrolu\n"
"operačnímu systému nebo příkazovému interpretu,\n"
"ze kterého byl cmd spuštěn.\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 ""
"Vestavěné příkazy CMD jsou:\n"
"ATTRIB\t\tZobrazí nebo nastaví DOS-ovské souborové attributy\n"
"CALL\t\tZavolá dávkový soubor z jiného\n"
"CD (CHDIR)\tZmění pracovní adresář\n"
"CLS\t\tVymaže okno terminálu\n"
"COPY\t\tKopíruje soubory\n"
"CTTY\t\tZmění vstupně/výstupní zařízení\n"
"DATE\t\tUkáže nebo nastaví systémové datum\n"
"DEL (ERASE)\tSmaže jeden nebo více souborů\n"
"DIR\t\tVypíše obsah adresáře\n"
"ECHO\t\tVypíše text na terminál\n"
"HELP\t\tZobrazí detailní nápovědu k tématu\n"
"MD (MKDIR)\tVytvoří adresář\n"
"MORE\t\tDisplay output in pages\n"
"MOVE\t\tPřesune soubor, skupinu souborů nebo adresářový strom\n"
"PATH\t\tNastaví nebo ukáže prohledávané cesty\n"
"POPD\t\tRestores the directory to the last one saved with PUSHD\n"
"PROMPT\t\tZmění výzvu příkazového řádku\n"
"PUSHD\t\tChanges to a new directory, saving the current one\n"
"REN (RENAME)\tPřejmenuje soubor\n"
"RD (RMDIR)\tSmaže adresář\n"
"SET\t\tNastaví nebo zobrazí proměnnou prostředí\n"
"TIME\t\tUkáže či nastaví systémový čas\n"
"TITLE\t\tNastaví titulek okna běžící CMD instance\n"
"TYPE\t\tVypíše obsah textového souboru\n"
"VER\t\tZobrazí verzi CMD\n"
"VOL\t\tUkáže jmenovku disku\n"
"EXIT\t\tUkončí CMD\n"
"\n"
"Zadejte HELP <příkaz> pro podrobnější informace o některém z výše uvedených "
"příkazů\n"

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

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

#: cmd.rc:257 xcopy.rc:41
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 xcopy.rc:38
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 xcopy.rc:42
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 ""
"Spustí program nebo otevře dokument v programu, který je normálně použit pro "
"soubory s danou příponou.\n"
"Použití:\n"
"start [volby] jméno_programu [...]\n"
"start [volby] jméno_dokumentu\n"
"\n"
"Volby:\n"
"/M[inimalizovaně] Spustí program minimalizovaně.\n"
"/MAX[imalizovaně] Spustí program maximalizovaně.\n"
"/R Spustí program normálně (ani minimalizovaný ani maximalizovaný).\n"
"/W Čeká na dokončení spuštěného programu, vrací návratový kód.\n"
"/ProgIDOpen  Open a document using the following progID.\n"
"/L Zobrazí licenci.\n"
"\n"
"start.exe verze 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"

#: 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 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"
"Přečtěte si soubor COPYING.LIB pro získání informací o licenci.\n"

#: start.rc:65
msgid ""
"Application could not be started, or no application associated with the "
"specified file.\n"
"ShellExecuteEx failed"
msgstr ""
"Aplikace nemohla být spuštěna nebo není žádná aplikace asociována s daným "
"souborem.\n"
"ShellExecuteEx selhal"

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

#: uninstaller.rc:26
msgid "Wine Application Uninstaller"
msgstr "Deinstalátor"

#: uninstaller.rc:27
msgid ""
"Execution of uninstall command '%s' failed, perhaps due to missing "
"executable.\n"
"Do you want to remove the uninstall entry from the registry ?"
msgstr ""
"Spuštění příkazu %s selhalo, možná příčína je chybějící aplikace.\n"
"Přejete si odstranit instalační záznam z registru?"

#: write.rc:27
msgid "Starting Wordpad failed"
msgstr ""

#: xcopy.rc:27
msgid "Invalid number of parameters - Use xcopy /? for help\n"
msgstr ""

#: xcopy.rc:28
msgid "Invalid parameter '%s' -  Use xcopy /? for help\n"
msgstr ""

#: xcopy.rc:29
msgid "Press <enter> to begin copying\n"
msgstr ""

#: xcopy.rc:30
msgid "%d file(s) would be copied\n"
msgstr ""

#: xcopy.rc:31
msgid "%d file(s) copied\n"
msgstr ""

#: xcopy.rc:34
msgid ""
"Is '%s' a filename or directory\n"
"on the target?\n"
"(F - File, D - Directory)\n"
msgstr ""

#: xcopy.rc:35
msgid "%s? (Yes|No)\n"
msgstr ""

#: xcopy.rc:36
#, fuzzy
msgid "Overwrite %s? (Yes|No|All)\n"
msgstr "Overwrite %s"

#: xcopy.rc:37
msgid "Copying of '%s' to '%s' failed with r/c %d\n"
msgstr ""

#: xcopy.rc:39
#, fuzzy
msgid "Failed during reading of '%s'\n"
msgstr "Failed to open '%s'\n"

#: xcopy.rc:43
msgctxt "File key"
msgid "F"
msgstr ""

#: xcopy.rc:44
msgctxt "Directory key"
msgid "D"
msgstr ""

#: xcopy.rc:77
msgid ""
"XCOPY - Copies source files or directory trees to a destination\n"
"\n"
"Syntax:\n"
"XCOPY source [dest] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U]\n"
"\t     [/R] [/H] [/C] [/P] [/A] [/M] [/E] [/D] [/Y] [/-Y]\n"
"\n"
"Where:\n"
"\n"
"[/I]  Assume directory if destination does not exist and copying two or\n"
"\tmore files\n"
"[/S]  Copy directories and subdirectories\n"
"[/E]  Copy directories and subdirectories, including any empty ones\n"
"[/Q]  Do not list names during copy, ie quiet.\n"
"[/F]  Show full source and destination names during copy\n"
"[/L]  Simulate operation, showing names which would be copied\n"
"[/W]  Prompts before beginning the copy operation\n"
"[/T]  Creates empty directory structure but does not copy files\n"
"[/Y]  Suppress prompting when overwriting files\n"
"[/-Y] Enable prompting when overwriting files\n"
"[/P]  Prompts on each source file before copying\n"
"[/N]  Copy using short names\n"
"[/U]  Copy only files which already exist in destination\n"
"[/R]  Overwrite any read only files\n"
"[/H]  Include hidden and system files in the copy\n"
"[/C]  Continue even if an error occurs during the copy\n"
"[/A]  Only copy files with archive attribute set\n"
"[/M]  Only copy files with archive attribute set, removes\n"
"\tarchive attribute\n"
"[/D | /D:m-d-y] Copy new files or those modified after the supplied date.\n"
"\t\tIf no date is supplied, only copy if destination is older\n"
"\t\tthan source\n"
"\n"
msgstr ""
