# Norwegian Bokmål 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: Norwegian Bokmål\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 "&Egenskaper"

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

#: clock.rc:30
msgid "Digi&tal"
msgstr "Digi&tal"

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

#: clock.rc:34
msgid "&Without Titlebar"
msgstr "&Uten tittellinje"

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

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

#: clock.rc:39
msgid "&Always on Top"
msgstr "&Alltid øverst"

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

#: clock.rc:42
msgid "&About Clock..."
msgstr "&Om Klokke..."

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

#: cmd.rc:30
msgid "ATTRIB shows or changes DOS file attributes.\n"
msgstr "Hjelp til 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 <satsvisfilnavn>» brukes i en satsvis fil for å utføre kommandoer\n"
"fra en annen satsvis fil. Når den satsvise filen avslutter, returneres\n"
"kontrollen til filen som kalte den. CALL-kommandoen kan gi parametere\n"
"til den kalte prosedyren.\n"
"\n"
"Endringer til standardkatalogen, miljøvariabler etc. gjort av den kalte\n"
"prosedyren arves av påkalleren.\n"

#: cmd.rc:41
msgid ""
"CD <dir> is the short version of CHDIR. It changes the current\n"
"default directory.\n"
msgstr "Hjelp til CD\n"

#: cmd.rc:42
msgid "CHDIR <dir> changes the current default directory.\n"
msgstr "Hjelp til CHDIR\n"

#: cmd.rc:44
msgid "CLS clears the console screen.\n"
msgstr "CLS tømmer konsollskjermen\n"

#: cmd.rc:46
msgid "COPY <filename> copies a file.\n"
msgstr "Hjelp til COPY\n"

#: cmd.rc:47
msgid "CTTY changes the input/output device.\n"
msgstr "Hjelp til CTTY\n"

#: cmd.rc:48
msgid "DATE shows or changes the system date.\n"
msgstr "Hjelp til DATE\n"

#: cmd.rc:49
msgid "DEL <filename> deletes a file or set of files.\n"
msgstr "Hjelp til DEL\n"

#: cmd.rc:50
msgid "DIR lists the contents of a directory.\n"
msgstr "Hjelp til 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 <streng> viser <streng>» på den gjeldende terminalenheten.\n"
"\n"
"«ECHO ON» forårsaker at alle kommandoer i en satsvis fil vises på\n"
"terminalenheten før de kjøres.\n"
"\n"
"«ECHO OFF» reverserer effekten av en tidligere «ECHO ON» (ECHO er OFF som\n"
"standard). «ECHO OFF»-kommandoen kan hindres fra å vises ved å plassere\n"
"et @-tegn foran den.\n"

#: cmd.rc:62
msgid "ERASE <filename> deletes a file or set of files.\n"
msgstr "Hjelp til 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 ""
"FOR-kommandoen brukes til å kjøre en kommando for hver fil i et sett filer.\n"
"\n"
"Syntaks: FOR %variabel IN (sett) DO kommando\n"
"\n"
"Kravet om to %-tegn når FOR brukes i en satsvis fil finnes ikke i Wines "
"CMD.\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-kommandoen flytter kjøringen til et annet sted i en satsvis fil.\n"
"\n"
"Merkelappen som er målet til GOTO kan være opptil 255 tegn langt,\n"
"men kan ikke inneholde mellomrom (dette er forskjellig fra andre\n"
"operativsystemer). Hvis det finnes to eller flere identiske merkelapper\n"
"i en satsvis fil, kjøres alltid den første. Å peke GOTO til en ikke-\n"
"eksisterende merkelapp avbryter kjøringen av den satsvise filen.\n"
"\n"
"GOTO har ingen effekt når den brukes interaktivt.\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 "Hjelp til 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 brukes til å kjøre en kommando på betingelser.\n"
"\n"
"Bruk:\tIF [NOT] EXIST filnavn kommando\n"
"IF [NOT] streng1==streng2 kommando\n"
"IF [NOT] ERRORLEVEL nummer kommando\n"
"\n"
"I kommandoform nummer to må streng1 og streng2 omsluttes av doble\n"
" anførselstegn. Det skiller ikke mellom store og små bokstaver.\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 brukes for å navgi et stasjonsvolum.\n"
"\n"
"Syntaks: LABEL [stasjon:]\n"
"Kommandoen vil be om det nye volumnavnet for stasjonen.\n"
"Du kan vise en stasjons volumnavn med VOL-kommandoen.\n"

#: cmd.rc:104
msgid "MD <name> is the short version of MKDIR. It creates a subdirectory.\n"
msgstr "Hjelp til MD\n"

#: cmd.rc:105
msgid "MKDIR <name> creates a subdirectory.\n"
msgstr "Hjelp til 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 flytter en fil eller katalog til et nytt sted innenfor\n"
"filsystemet.\n"
"\n"
"Hvis elementet som flyttes er en katalog, flyttes også filene og\n"
"underkatalogene i den.\n"
"\n"
"MOVE feiler hvis den gamle og nye plasseringen har forskjellige\n"
"stasjonsbokstaver.\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 viser eller endrer CMDs søkesti.\n"
"\n"
"Å skrive inn PATH viser den gjeldende PATH-innstillingen (dette er\n"
"i begynnelsen verdien oppgitt i filen «wine.conf»). Etterfølg PATH-\n"
"kommandoen med et nytt navn for å endre innstillingen.\n"
"\n"
"Det er også mulig å endre PATH ved å bruke miljøvariablen PATH, for\n"
"eksempel:\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 viser meldingen 'Trykk Enter for å fortsette', og venter på at\n"
" brukeren trykker Enter. Dette er hovedsakelig nyttig i satsvise filer,\n"
"for å la brukeren lese utdata fra en tidligere kommando før den ruller\n"
"vekk fra skjermen..\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 oppgir kommandolinje-klartegnet.\n"
"\n"
"Strengen som etterfølger PROMPT-kommandoen (og mellomrommet rett etter)\n"
"vises ved begynnelsen av linjen når vcmd venter på inndata.\n"
"\n"
"Følgende tegnstrenger har den spesielle betydningen som vises:\n"
"\n"
"$$   Dollar-tegn       $_   Linjemating         $b   Rørtegn sign (|)\n"
"$d   Gjeldende dato    $e   Escape              $g   Større enn-tegn\n"
"$l   Mindre enn-tegn   $n   Gjeldende stasjon   $p   Gjeldende sti\n"
"$q   Likhetstegn       $t   Gjeldende tid       $v   CMD-versjon\n"
"\n"
"Merk at å bruke PROMPT-kommandoen uten en klartegn-streng tilbakestiller\n"
"klartegnet til standardverdien, som er arbeidskatalogen (inkludert\n"
"stasjonsbokstaven) etterfulgt av et større enn-tegn (>).\n"
"(Som en kommando PROMPT $p$g.)\n"
"\n"
"Klartegnet kan også endres ved endre miljøvariablen PROMPT, så\n"
"kommandoen «SET PROMPT=tekst» har samme effekt som «PROMPT tekst».\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 ""
"En kommandolinje som begynner med REM (etterfulgt av et mellomrom)\n"
"utfører ingen handling, og kan derfor brukes som kommantar i en satsvis\n"
"fil.\n"

#: cmd.rc:157
msgid "REN <filename> is the short version of RENAME. It renames a file.\n"
msgstr "Hjelp til REN\n"

#: cmd.rc:158
msgid "RENAME <filename> renames a file\n"
msgstr "Hjelp til RENAME\n"

#: cmd.rc:160
msgid "RD <dir> is the short version of RMDIR. It deletes a subdirectory.\n"
msgstr "Hjelp til RD\n"

#: cmd.rc:161
msgid "RMDIR <dir> deletes a subdirectory.\n"
msgstr "Hjelp til 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 viser eller endrer miljøvariablene i CMD.\n"
"\n"
"SET uten parametere viser alle gjeldende miljøvariabler.\n"
"\n"
"Syntaksen for å opprette eller endre en miljøvariabel er:\n"
"\n"
"SET <variabel>=<verdi>\n"
"\n"
"hvor <variabel> og <verdi> er tegnstrenger. Det må ikke være mellomrom\n"
"før likhetstegnet, og variabelnavnet kan heller ikke ha innebygde\n"
"mellomrom.\n"
"\n"
"I Wine er miljøvariablene i det underliggende operativsystemet\n"
" inkludert i Win32-miljøet, og det er derfor vanligvis mange flere\n"
"verdier enn i et vanlig Win32-miljø. Vær oppmerksom på at det ikke går\n"
"an å endre mijøet i det underliggende operativsystemet fra 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 bruker i en satsvis fil for å fjerne den første parameteren i en\n"
"liste, sånn at parameter 2 blir parameter 1 og så videre. Det har ingen\n"
"effekt hvis det brukes fra kommandolinjen.\n"

#: cmd.rc:186
msgid "TIME sets or shows the current system time.\n"
msgstr "Hjelp til TIME\n"

#: cmd.rc:188
msgid "Sets the window title for the cmd window, syntax TITLE [string]\n"
msgstr ""
"Angir tittelen for CMD-vinduet, syntaksen er\n"
"TITLE [streng]\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 <filnavn>» kopierer <filnavn> til konsollenheten (eller et annet\n"
"sted hvis det omdirigeres). Det kontrolleres ikke om filen er leselig "
"tekst.\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 brukes til å aktivere, deaktivere eller teste «verify»-flagget.\n"
" Gyldige måter er:\n"
"\n"
"VERIFY ON\tAktiverer flagget\n"
"VERIFY OFF\tDeaktiverer flagget\n"
"VERIFY\t\tViser ON hvis på ellerr OFF hvis av.\n"
"\n"
"«Verify»-flagget har ingen funksjon i Wine.\n"

#: cmd.rc:204
msgid "VER displays the version of cmd you are running\n"
msgstr "VER viser versjonnummeret til CMD\n"

#: cmd.rc:206
msgid "VOL shows the volume label of a disk device.\n"
msgstr "Hjelp til 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 <katalognavn> lagrer arbeidskatalogen i en stabel, og endrer deretter\n"
"arbeidskatalog til den som er oppgitt.\n"

#: cmd.rc:212
msgid ""
"POPD changes current directory to the last one saved with\n"
"PUSHD.\n"
msgstr "POPD endrer arbeidskatalog til den som sist ble brukt med PUSHD.\n"

#: cmd.rc:214
msgid "MORE displays output of files or piped input in pages.\n"
msgstr "MORE lar deg bla gjennom innholdet i filer eller inndata i rør.\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 avslutter gjeldende kommandoøkt og returnerer til operativsystemet\n"
"eller skallet CMD ble startet fra.\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 ""
"Innebygde kommandoer i CMD:\n"
"ATTRIB\t\tViser eller endrer DOS-filattributter\n"
"CALL\t\tKall en satsvis fil inne i en annen\n"
"CD (CHDIR)\tBytter arbeidskatalog\n"
"CLS\t\tTømmer konsollskjermen\n"
"COPY\t\tKopierer filer\n"
"CTTY\t\tEndrer inn/ut-enhet\n"
"DATE\t\tViser eller endrer systemdatoen\n"
"DEL (ERASE)\tSletter en eller flere filer\n"
"DIR\t\tViser innholdet i en katalgo\n"
"ECHO\t\tKopierer tekst direkte til konsoll-utdataen\n"
"HELP\t\tViser en kort hjelpebeskrivelse om et emne\n"
"MD (MKDIR)\tLager en underkatalog\n"
"MORE\t\tDisplay output in pages\n"
"MOVE\t\tFlytter en eller flere filer, eller en katalogtre\n"
"PATH\t\tEndrer eller viser søkestien\n"
"POPD\t\tEndrer arbeidskatalog til den sist lagret med PUSHD\n"
"PROMPT\t\tEndrer kommando-klartegnet\n"
"PUSHD\t\tEndrer arbeidskatalog og lagrer den gjeldende\n"
"REN (RENAME)\tGir nytt navn til en fil\n"
"RD (RMDIR)\tSletter en underkatalog\n"
"SET\t\tAngir eller viser miljøvariabler\n"
"TIME\t\tAngir eller viser gjeldende systemtid\n"
"TITLE\t\tAngir vindustittelen for CMD-økten\n"
"TYPE\t\tViser innholdet i en fil\n"
"VER\t\tViser CMDs versjonnummer\n"
"VOL\t\tViser volumnavnet til en stasjon\n"
"EXIT\t\tAvslutter CMD\n"
"\n"
"Skriv «HELP <kommando>» for mer informasjon om kommandoene ovenfor\n"

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

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

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

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

#: cmd.rc:259
msgid "No open command associated with file type '%s'\n"
msgstr "Ingen åpnekommando er tilknyttet filtypene '%s'\n"

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

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

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