# German 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: German\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 "&Einstellungen"

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

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

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

#: clock.rc:34
msgid "&Without Titlebar"
msgstr "&Ohne Titelleiste"

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

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

#: clock.rc:39
msgid "&Always on Top"
msgstr "&Immer im Vordergrund"

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

#: clock.rc:42
msgid "&About Clock..."
msgstr "&Über Uhr..."

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

#: cmd.rc:30
msgid "ATTRIB shows or changes DOS file attributes.\n"
msgstr "ATTRIB zeigt oder ändert die DOS Dateieigenschaften.\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 <Batchdateiname> wird in einer Batchdatei genutzt, um Befehle aus\n"
"einer anderen Batchdatei auszuführen. Wenn die Batchdatei exisiert, kehrt\n"
"die Kontrolle zu der Datei zurück, die sie aufgerufen hat. Der CALL Befehl "
"kann\n"
"Parameter zu der rufenden Prozedure übergeben.\n"
"\n"
"Änderungen für das aktuelle Verzeichnis, Umgebungsvariablen usw. werden in\n"
"der gerufenen Prozedur gemacht, die sie von der aufgerufenen geerbt hat.\n"

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

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

#: cmd.rc:44
msgid "CLS clears the console screen.\n"
msgstr "CLS löscht den Bildschirminhalt der Konsole.\n"

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

#: cmd.rc:47
msgid "CTTY changes the input/output device.\n"
msgstr "CTTY Ändert das Eingabe/Ausgabe - Gerät.\n"

#: cmd.rc:48
msgid "DATE shows or changes the system date.\n"
msgstr "DATE zeigt oder ändert das Systemdatum.\n"

#: cmd.rc:49
msgid "DEL <filename> deletes a file or set of files.\n"
msgstr "DEL löscht eine oder mehrere Dateien\n"

#: cmd.rc:50
msgid "DIR lists the contents of a directory.\n"
msgstr "DIR listet den Inhalt eines Verzeichnisses.\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 <Zeichenkette> zeigt die <Zeichenkette> auf dem aktuellen "
"Terminalgerät.\n"
"\n"
"ECHO ON bewirkt, dass alle nachfolgenden Befehle in einer Batchdatei zuerst\n"
"auf dem Terminalgerät angezeigt und danach ausgeführt werden.\n"
"\n"
"ECHO OFF kehrt den Effekt des vorherigen ECHO ON (ECHO ist standardmässig\n"
"auf OFF) um. Um den ECHO OFF Befehl nicht anzeigen zu lassen, kann vor "
"dessen\n"
"ein @ Zeichen gesetzt werden.\n"

#: cmd.rc:62
msgid "ERASE <filename> deletes a file or set of files.\n"
msgstr "ERASE löscht die angegebenen Dateien.\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 ""
"Der FOR Befehl wird genutzt, um einen Befehl für eine Menge von Dateien\n"
"einzeln auszuführen.\n"
"\n"
"Syntax: FOR %Variable IN (set) DO Befehl\n"
"\n"
"Die Anforderung das % Zeichen zu verdoppeln, sobald FOR in einer Batchdatei\n"
"benutzt wird, existiert in CMD nicht.\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 ""
"Der GOTO Befehl transferiert die Ausführung zu einer anderen Stelle in "
"einer\n"
"Batchdatei.\n"
"\n"
"Die Bezeichnung, die das Ziel eines GOTO's ist, kann bis zu 255 Zeichen "
"lang\n"
"sein, darf aber keine Leerzeichen enthalten (dies ist der Unterschied zu\n"
"anderen Betriebssystemen). Wenn zwei oder mehr identische Bezeichnungen in\n"
"einer Batchdatei existieren, dann wird immer zu der ersten Bezeichnung\n"
"gesprungen. Versucht GOTO zu einer nicht vorhanden Bezeichnung zu springen,\n"
"beendet sich die Ausführung der Batchdatei.\n"
"\n"
"GOTO hat keine Auswirkungen, wenn es interaktiv genutzt wird.\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 zeigt die Hilfe an\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 wird benutzt, um einen Befehl bedingt auszuführen.\n"
"\n"
"Syntax:\tIF [NOT] EXIST Dateiname Befehl\n"
"IF [NOT] Zeichenkette1==Zeichenkette2 Befehl\n"
"IF [NOT] ERRORLEVEL Nummer Befehl\n"
"\n"
"In der zweiten Form des Befehls, müssen die beiden Zeichenketten in "
"doppelten\n"
"Anführungszeichen stehen. Der Vergleich achtet nicht auf die Groß- und\n"
"Kleinschreibung.\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 wird benutzt, um die Laufwerksbezeichnung festzulegen.\n"
"\n"
"Syntax: LABEL [Laufwerk:]\n"
"\n"
"Der Befehl wartet auf die Eingabe einer neuen Bezeichnung für das "
"angegebene\n"
"Laufwerk. Sie können sich auch die Laufwerksbezeicnung mit dem VOL - Befehl\n"
"anzeigen lassen.\n"

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

#: cmd.rc:105
msgid "MKDIR <name> creates a subdirectory.\n"
msgstr "MKDIR erstellt ein Verzeichnis\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 verschiebt eine Datei oder ein Verzeichnis zu einem neuen Punkt im\n"
"Dateisystem.\n"
"\n"
"Ist das zu verschiebende Objekt ein Verzeichnis, dann werden alle Dateien "
"und\n"
"Unterverzeichnisse unterhalb des Objektes genauso verschoben.\n"
"\n"
"MOVE schlägt fehl, wenn die alte und die neue Position auf verschiedenen "
"DOS\n"
"Laufwerken sind.\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 ändert oder zeigt den CMD Suchpfad an.\n"
"\n"
"Nach der Eingabe von PATH, wird die aktuelle PATH Einstellung angezeigt\n"
"(nach dem Start wird der Wert aus der Registry genommen). Um die\n"
"Einstellungen zu ändern, muss nach dem PATH Befehl der neue Wert angegeben\n"
"werden\n"
"\n"
"Es ist auch möglich den PATH mit Hilfe der PATH Umgebungsvariable zu\n"
"modifizieren. Zum Beispiel:\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 lässt eine Meldung auf dem Bildschirm erscheinen\n"
"'Drücken Sie die Eingabetaste um fortzufahren' und wartet darauf, dass der\n"
"Benutzer die Eingabetaste/Enter-Taste drückt. Es wird hauptsächlich in\n"
"Batchdateien genutzt, um dem Beutzer zu erlauben, die Ausgabe eines "
"vorherigen\n"
"Befehls zu lesen, bevor es durch Scrollen vom Bildschirm verschwindet.\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 setzt den Befehlszeilenprompt.\n"
"\n"
"Die Zeichenkette, die dem PROMPT Befehl folgt (und dem Leerzeichen\n"
"unmittelbar danach), erscheint am Zeilenanfang, wenn CMD auf die Eingabe\n"
"wartet.\n"
"\n"
"Die nachfolgenden Zeichen haben eine besondere Bedeutung:\n"
"\n"
"$$    Dollarzeichen       $_    Zeilenvorschub      $b    Pipe Zeichen (|)\n"
"$d    aktuelles Datum     $e    Escape              $g    > Zeichen\n"
"$l    < Zeichen           $n    akutelles Laufwerk  $p    aktueller Pfad\n"
"$q    Gleichheitszeichen  $t    aktuelle Zeit       $v    cmd Version\n"
"\n"
"Hinweis: Die Eingabe des PROMPT Befehls ohne eine Prompt-Zeichenkette, "
"setzt\n"
"den Prompt zu den Standardwert zurück, was das aktuelle Verzeichnis "
"(inklusive\n"
"dem aktuellen Laufwerksbuchstaben) gefolgt von einen Größerzeichen (>)\n"
"(genau wie der PROMPT $p$g Befehl).\n"
"\n"
"Der Prompt kann auch geändert werden durch das Ändern der PROMPT\n"
"Umgebungsvariable, so hat der Befehl 'SET PROMPT=text' die gleiche "
"Auswirkung\n"
"wie '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 ""
"Beginnt eine Befehlszeile mit REM (gefolgt von einem Leerzeichen), wird\n"
"keine Aktion ausgeführt und kann deshalb auch als Kommentar in einer\n"
"Batchdatei genutzt werden.\n"

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

#: cmd.rc:158
msgid "RENAME <filename> renames a file\n"
msgstr "RENAME benennt die angegebenen Dateien um.\n"

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

#: cmd.rc:161
msgid "RMDIR <dir> deletes a subdirectory.\n"
msgstr "RMDIR löscht das angegebene Verzeichnis.\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 ändert oder zeigt die CMD Umgebungsvariablen an.\n"
"\n"
"SET ohne Parameter zeigt alle aktuellen Umgebungsvariablen an.\n"
"\n"
"Um eine Umgebungsvariable zu erschaffen oder zu ändern, ist der Syntax "
"nötig:\n"
"\n"
"SET <Variable>=<Wert>\n"
"\n"
"Wobei <Variable> und <Wert> Zeichenketten sind. Es dürfen keine Leerzeichen "
"vor\n"
"dem Gleichheitszeichen sein, noch darf der Variablenname Leerzeichen "
"enthalten.\n"
"\n"
"In Wine werden die Umgebungsvariablen des darunterliegenden Betriebssystems\n"
"mit in die Win32 Umgebung eingebunden, deshalb gibt es gewöhnlich mehr "
"Werte\n"
"als es sie in einer ursprünglichen Win32 Realisierung gäbe. Anmerkung: Es "
"ist\n"
"nicht möglich die Umgebungsvariablen des Betriebssystems vom CMD aus zu\n"
"beeinflussen.\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 wird in einer Batchdatei genutzt, um einen Parameter vom Anfang der\n"
"Liste zu entfernen, so das der Parameter 2 zu Parameter 1 wird und so "
"weiter.\n"
"Es hat keine Auswirkungen, wenn es von der Befehlszeile aus aufgerufen "
"wird.\n"

#: cmd.rc:186
msgid "TIME sets or shows the current system time.\n"
msgstr "TIME Setzt oder zeigt die aktuelle Systemzeit an.\n"

#: cmd.rc:188
msgid "Sets the window title for the cmd window, syntax TITLE [string]\n"
msgstr ""
"Setzt den Fenstertitel für das CMD - Fenster.\n"
"\n"
"Syntax: TITLE [Zeichenkette]\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 <Datei> kopiert <Datei> zu dem Konsolengerät (oder dorthin, wohin\n"
"dies umgeleitet wurde). Es wird keine Überprüfung vorgenommen, ob die\n"
"Datei lesbaren Text enthält.\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 wird benutzt, um das Verify Flag zu setzen, zu löschen oder zu\n"
"testen. Gültige Eingaben sind:\n"
"\n"
"VERIFY ON\tSetzt das Flag\n"
"VERIFY OFF\tLöscht das Flag\n"
"VERIFY\t\tZeigt an, ob ON oder OFF verwendet wird.\n"
"\n"
"Das Verify Flag hat keine Funktion in Wine.\n"

#: cmd.rc:204
msgid "VER displays the version of cmd you are running\n"
msgstr "VER zeigt die aktuelle Version von CMD an.\n"

#: cmd.rc:206
msgid "VOL shows the volume label of a disk device.\n"
msgstr "VOL zeigt die Volumeseriennummer an\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 <Verzeichnisname> speichert das aktuelle\n"
"Verzeichnis auf einem Stack und wecheselt das Arbeitsverzeichnis\n"
"zu dem angegebenen.\n"

#: cmd.rc:212
msgid ""
"POPD changes current directory to the last one saved with\n"
"PUSHD.\n"
msgstr ""
"POPD wechselt das Arbeitsverzeichnis zu dem zuletzt\n"
"mit PUSHD gespeicherten.\n"

#: cmd.rc:214
msgid "MORE displays output of files or piped input in pages.\n"
msgstr "MORE gibt Dateien und Pipes seitenweise aus.\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 ""
"CHOICE zeigt einen Text auf dem Bildschirm an und wartet,\n"
"bis der Benutzer eine erlaubte Taste aus einer wählbaren Liste drückt.\n"
"CHOICE wird hauptsächlich als Menüauswahl in einer Batchdatei genutzt.\n"

#: 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 beendet die aktuelle Befehlssitzung und kehrt zum\n"
"Betriebssystem oder der Shell zurück, von der CMD gestart wurde.\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 ""
"In CMD eingebaute Befehle sind:\n"
"ATTRIB\t\tZeigt oder ändert die DOS Dateieigenschaften\n"
"CALL\t\tRuft eine Batch-Datei innerhalb einer anderen auf\n"
"CD (CHDIR)\tWechselt in ein Verzeichnis\n"
"CHOICE\t\tWartet auf einen Tastendruck aus einer wählbaren Liste\n"
"CLS\t\tLöscht den Inhalt der Konsole\n"
"COPY\t\tKopiert eine Datei\n"
"CTTY\t\tÄndert das Eingabe/Ausgabe - Gerät\n"
"DATE\t\tZeigt oder ändert das Systemdatum\n"
"DEL (ERASE)\tLöscht eine oder mehrere Dateien\n"
"DIR\t\tListet den Inhalt eines Verzeichnisses\n"
"ECHO\t\tKopiert den Text direkt zur Konsolenausgabe\n"
"HELP\t\tZeigt detalierte Informationen zu einen Thema\n"
"MD (MKDIR)\tErzeugt ein Unterverzeichnis\n"
"MORE\t\tZeigt die Ausgabe seitenweise an\n"
"MOVE\t\tBewegt eine oder mehrere Dateien oder einen Verzeichnisbaum\n"
"PATH\t\tSetzt oder zeigt den Suchpfad an\n"
"PROMPT\t\tÄndert den Befehlszeilenprompt\n"
"REN (RENAME)\tBenennt eine Datei um\n"
"RD (RMDIR)\tLöscht ein Unterverzeichnis\n"
"SET\t\tSetzt oder zeigt die Umgebungsvariablen an\n"
"TIME\t\tSetzt oder zeigt die aktuelle Systemzeit an\n"
"TITLE\t\tSetzt den Fenstertitel für die CMD - Sitzung\n"
"TYPE\t\tGibt den Inhalt einer Textdatei aus\n"
"VER\t\tZeigt die aktuelle Version von CMD an\n"
"VOL\t\tZeigt die Bezeichnung eines Laufwerkes an\n"
"EXIT\t\tBeendet den CMD\n"
"\n"
"Geben Sie HELP <Befehl> ein, damit Sie weitere Informationen für einen der\n"
"obigen Befehle erhalten.\n"

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

#: 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 "Verknüpfung für Dateiendung %s fehlt\n"

#: cmd.rc:259
msgid "No open command associated with file type '%s'\n"
msgstr "Kein Befehl zum Öffnen für Dateityp '%s'\n"

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

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

#: cmd.rc:262
msgid "Line in Batch processing possibly truncated. Using:\n"
msgstr ""
"Die Zeile bei der Batchverarbeitung ist möglicherweise abgeschnitten. "
"Benutze:\n"

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

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

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

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

#: cmd.rc:267
msgid "No help available for %s\n"
msgstr "Hilfe für %s ist nicht verfügbar\n"

#: cmd.rc:268
msgid "Target to GOTO not found\n"
msgstr "Das Sprungziel von GOTO wurde nicht gefunden\n"

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

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

#: cmd.rc:271
msgid "Enter new date: "
msgstr "Geben Sie das neue Datum ein: "

#: cmd.rc:272
msgid "Enter new time: "
msgstr "Geben Sie die neue Zeit ein: "

#: cmd.rc:273
msgid "Environment variable %s not defined\n"
msgstr "Die Umgebungsvariable %s ist nicht definiert\n"

#: cmd.rc:274
msgid "Failed to open '%s'\n"
msgstr "'%s' konnte nicht geöffnet werden\n"

#: cmd.rc:275
msgid "Cannot call batch label outside of a batch script\n"
msgstr "Kann kein Batch-Label außerhalb eines Batch-Scripts aufrufen\n"

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

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

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

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

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

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

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

#: cmd.rc:283
msgid "Volume label (11 characters, ENTER for none)?"
msgstr "Volumebezeichnung (11 Zeichen, EINGABETASTE für keine)?"

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

#: cmd.rc:285
msgid "Press Return key to continue: "
msgstr "Drücken Sie die Eingabetaste um fortzufahren: "

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

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

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

#: cmd.rc:289
msgid "The input line is too long.\n"
msgstr "Die Eingabezeile ist zu lang.\n"

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

#: ipconfig.rc:28
msgid "Error: Unknown or invalid command line parameters specified\n"
msgstr "Fehler: Unbekannte oder ungültige Kommandozeilenparameter angegeben\n"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#: net.rc:28
msgid "Specify service name to start.\n"
msgstr "Gib den zu startenden Dienst an.\n"

#: net.rc:29
msgid "Specify service name to stop.\n"
msgstr "Gib den zu stoppenden Dienst an.\n"

#: net.rc:30
msgid "Stopping dependent service: %s\n"
msgstr "Stoppe den abbhängigen Dienst: %s\n"

#: net.rc:31
msgid "Could not stop service %s\n"
msgstr "Konnte den Dienst nicht stoppen %s\n"

#: net.rc:32
msgid "Could not get handle to service control manager.\n"
msgstr "Konnte den Zeiger von der Dienststeuerung nicht bekommen.\n"

#: net.rc:33
msgid "Could not get handle to service.\n"
msgstr "Konnte den Zeiger zum Dienst nicht bekommen.\n"

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

#: net.rc:35
msgid "The %s service was started successfully.\n"
msgstr "Der %s Dienst wurde erfolgreich gestartet.\n"

#: net.rc:36
msgid "The %s service failed to start.\n"
msgstr "Der Start des %s Dienstes ist fehlgeschlagen.\n"

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

#: net.rc:38
msgid "The %s service was stopped successfully.\n"
msgstr "Der %s Dienst wurde erfolgreich beendet.\n"

#: net.rc:39
msgid "The %s service failed to stop.\n"
msgstr "Der %s Dienst konnte nicht beendet werden.\n"

#: 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 ""
"Die Syntax von diesem Befehl ist:\n"
"\n"
"NET HELP Befehl\n"
"    -or-\n"
"NET Befehl /HELP\n"
"\n"
"   Mögliche Befehle:\n"
"   NET HELP    NET START    NET STOP    NET USE\n"

#: net.rc:42
msgid "There are no entries in the list.\n"
msgstr "Es sind keine Einträge in der Liste.\n"

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

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

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

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

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

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

#: reg.rc:31
msgid "The operation completed successfully\n"
msgstr "Der Vorgang wurde erfolgreich abgeschlossen\n"

#: reg.rc:32
msgid "Error: Invalid key name\n"
msgstr "Fehler: Ungültiger Schlüssel\n"

#: reg.rc:33
msgid "Error: Invalid command line parameters\n"
msgstr "Fehler: Ungültige Befehlszeilenargumente\n"

#: reg.rc:34
msgid "Error: Unable to add keys to remote machine\n"
msgstr "Fehler: Konnte Schlüssel nicht zum remote Rechner hinzufügen\n"

#: reg.rc:35
msgid ""
"Error: The system was unable to find the specified registry key or value\n"
msgstr ""
"Fehler: Der angegebene Schlüssel oder Wert konnte nicht gefunden werden\n"

#: 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 ""
"Startet ein Programm, oder öffnet ein Dokument in dem Programm, dass "
"normalerweise für die Dateien mit dieser Dateiendung benutzt wird..\n"
"Gebrauch:\n"
"start [Optionen] Programm_Dateiname [...]\n"
"start [Optionen] Dokument_Dateiname\n"
"\n"
"Optionen:\n"
"/M[inimized] Starte das Programm minimiert.\n"
"/MAX[imized] Starte das Programm maximiert.\n"
"/R[estored]  Starte das Programm normal (weder minimiert noch maximiert).\n"
"/W[ait]      Wartet bis das gestartete Programm sich beendet,\n"
"\t     dann beendet sich start mit dessen Exitcode des Programmes.\n"
"/ProgIDOpen  Öffne ein Dokument mit der folgenden progID.\n"
"/L           Zeige die Endbenutzerlizenz an.\n"
"\n"
"start.exe Version 0.2 Copyright (C) 2003, Dan Kegel\n"
"Start kommt ABSOLUT OHNE GARANTIE; für detaillierte Informationen, starte es "
"mit der /L Option.\n"
"Dies ist freie Software, und du bist willkommen, es unter bestimmten\n"
"Bedingungen weiter zu verbreiten; führe 'start /L' für mehr Details aus.\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"
"Schau in die Datei COPYING.LIB für Lizenzinformationen.\n"

#: start.rc:65
msgid ""
"Application could not be started, or no application associated with the "
"specified file.\n"
"ShellExecuteEx failed"
msgstr ""
"Es konnte keine Anwendung gestartet werden, oder es ist keine Anwendung mit "
"der angegebenen Datei verknüpft.\n"
"ShellExecuteEx gescheitert"

#: start.rc:67
msgid "Could not translate the specified Unix filename to a DOS filename."
msgstr ""
"Der angegebene Unix Dateiname konnte nicht in einen DOS Dateinamen "
"umgewandelt werden."

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

#: taskkill.rc:28
msgid "Error: Unknown or invalid command line option specified.\n"
msgstr "Fehler: Unbekannte oder ungültige Kommandozeilenoption angegeben.\n"

#: taskkill.rc:29
msgid "Error: Invalid command line parameter specified.\n"
msgstr "Fehler: Ungültiger Kommandozeilenparameter angegeben.\n"

#: taskkill.rc:30
msgid "Error: One of options /im or /pid must be specified.\n"
msgstr "Fehler: Nur eine der Optionen /im oder /pid dürfen angegeben werden.\n"

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

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

#: taskkill.rc:33
msgid "Close message sent to top-level windows of process with PID %u.\n"
msgstr ""
"Ein Beendigungssignal wurde an die Top-Level Fenster des Prozesses mit der "
"PID %u geschickt.\n"

#: taskkill.rc:34
msgid ""
"Close message sent to top-level windows of process \"%s\" with PID %u.\n"
msgstr ""
"Ein Beendigungssignal wurde an die Top-Level Fenster des Prozessess \"%s\" "
"mit der PID %u geschickt.\n"

#: taskkill.rc:35
msgid "Process with PID %u was forcibly terminated.\n"
msgstr "Prozess mit der PID %u wurde zum beenden gezwungen.\n"

#: taskkill.rc:36
msgid "Process \"%s\" with PID %u was forcibly terminated.\n"
msgstr "Prozess \"%s\" mit der PID %u wurde zum beenden gezwungen.\n"

#: taskkill.rc:37
msgid "Error: Could not find process \"%s\".\n"
msgstr "Fehler: Konnte Prozess \"%s\" nicht finden.\n"

#: taskkill.rc:38
msgid "Error: Unable to enumerate the process list.\n"
msgstr "Fehler: Konnte die Prozessliste nicht Enumerieren.\n"

#: taskkill.rc:39
msgid "Error: Unable to terminate process \"%s\".\n"
msgstr "Fehler: Konnte Prozess \"%s\" nicht beenden.\n"

#: taskkill.rc:40
msgid "Error: Process self-termination is not permitted.\n"
msgstr "Fehler: Eigenen Prozess beenden ist nicht gestattet.\n"
