# Walloon 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: Walloon\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 "&Propietés"

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

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

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

#: clock.rc:34
msgid "&Without Titlebar"
msgstr "Sin bår di &Tite"

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

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

#: clock.rc:39
msgid "&Always on Top"
msgstr "Todi &Visibe"

#: clock.rc:41
msgid "Inf&o"
msgstr "&Informåcion"

#: clock.rc:42
msgid "&About Clock..."
msgstr "Å &dfait di l' ôrlodje..."

#: clock.rc:48
msgid "Clock"
msgstr "Ôrlodje"

#: cmd.rc:30
msgid "ATTRIB shows or changes DOS file attributes.\n"
msgstr ""

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

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

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

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

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

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

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

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

#: cmd.rc:50
msgid "DIR lists the contents of a directory.\n"
msgstr ""

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

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

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

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

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

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

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

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

#: cmd.rc:105
msgid "MKDIR <name> creates a subdirectory.\n"
msgstr ""

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

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

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

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

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

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

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

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

#: cmd.rc:161
msgid "RMDIR <dir> deletes a subdirectory.\n"
msgstr ""

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

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

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

#: cmd.rc:188
msgid "Sets the window title for the cmd window, syntax TITLE [string]\n"
msgstr ""

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

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

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

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

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

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

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

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

#: 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.rc:255
msgid "Are you sure"
msgstr ""

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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