# Romanian 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: Romanian\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 "&Proprietăți"

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

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

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

#: clock.rc:34
msgid "&Without Titlebar"
msgstr "Fără &bara de titlu"

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

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

#: clock.rc:39
msgid "&Always on Top"
msgstr "T&otdeauna deasupra"

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

#: clock.rc:42
msgid "&About Clock..."
msgstr "&Despre ceas..."

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

#: cmd.rc:30
msgid "ATTRIB shows or changes DOS file attributes.\n"
msgstr "ATTRIB afișează sau schimbă atributele fișierelor DOS.\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 <numefișierbatch> se utilizează într-un fișier batch pentru a\n"
"executa comenzi dintr-un alt fișier batch. Când se închide fișierul\n"
"batch, controlul revine la fișierul care l-a apelat. Comanda CALL poate\n"
"furniza parametri pentru procedura apelată.\n"
"\n"
"Modificările la directorul curent, variabilele de mediu etc. efectuate\n"
"într-o procedură apelată se reflectă asupra apelantului.\n"

#: cmd.rc:41
msgid ""
"CD <dir> is the short version of CHDIR. It changes the current\n"
"default directory.\n"
msgstr ""
"CD <dir> este versiunea scurtă pentru CHDIR. CD schimbă directorul curent.\n"

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

#: cmd.rc:44
msgid "CLS clears the console screen.\n"
msgstr "CLS golește ecranul consolei\n"

#: cmd.rc:46
msgid "COPY <filename> copies a file.\n"
msgstr "COPY <fișier> copiază un fișier.\n"

#: cmd.rc:47
msgid "CTTY changes the input/output device.\n"
msgstr "CTTY schimbă dizpozitivul de intrăre/ieșire.\n"

#: cmd.rc:48
msgid "DATE shows or changes the system date.\n"
msgstr "DATE afișează sau schimbă data sistemului.\n"

#: cmd.rc:49
msgid "DEL <filename> deletes a file or set of files.\n"
msgstr "DEL <fișier> șterge un fișier sau un set de fișiere.\n"

#: cmd.rc:50
msgid "DIR lists the contents of a directory.\n"
msgstr "DIR afișează conținutul unui director.\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 <șir> afișează <șir> pe dispozitivul terminal curent.\n"
"\n"
"ECHO ON determină afișarea tuturor comenzilor succesive dintr-un fișier\n"
"batch pe terminal înainte de a fi executate.\n"
"\n"
"ECHO OFF anulează efectului unui ECHO ON anterior (ECHO este OFF în mod\n"
"implicit). Se poate împiedica afișarea comenzii ECHO OFF dacă este\n"
"precedată de semnul @.\n"

#: cmd.rc:62
msgid "ERASE <filename> deletes a file or set of files.\n"
msgstr "ERASE <fișier> șterge un fișier sau un set de fișiere.\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 ""
"Comanda FOR se utilizează pentru a executa o comandă pentru fiecare set\n"
"de fișere.\n"
"\n"
"Sintaxă: FOR %variabilă IN (set) comandă DO\n"
"\n"
"Necesitatea de a dubla semnul % când se utilizează FOR într-un fișier\n"
"batch nu există în cmd în Wine.\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 ""
"Comanda GOTO transferă execuția la o altă comandă dintr-un fișier batch.\n"
"\n"
"Eticheta vizată de GOTO poate avea maxim 255 de caractere dar nu poate\n"
"include spații (spre deosebire de alte sisteme de operare). Dacă există\n"
"două sau mai multe etichete identice într-un fișier batch, va fi\n"
"executată exclusiv prima. Încercarea GOTO spre o etichetă inexistentă\n"
"va termina execuția fișierului batch.\n"
"\n"
"GOTO nu are efect când se utilizează interactiv.\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 <comandă> arată un scurt ajutor pentru <comandă>\n"
"HELP fără nici un parametru enumerează toate comenzile integrate în cmd."

#: 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 este utilizat pentru a executa o comandă în mod condiționat.\n"
"\n"
"Sintaxă: IF [NOT] EXIST numefișier comandă\n"
"         IF [NOT] șir1==șir2 comandă\n"
"         IF [NOT] ERRORLEVEL număr comandă\n"
"\n"
"În a doua formă a comenzii, șir1 și șir2 trebuie să fie între ghilimele\n"
"duble. Comparația este insensibilă la majuscule.\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 se utilizează pentru a stabili eticheta  volumului unui disc.\n"
"\n"
"Sintaxă: LABEL [unitate:]\n"
"Comanda vă va solicita noua etichetă de volum pentru unitatea dată.\n"
"Puteți afișa eticheta de volum a discului cu comanda VOL.\n"

#: cmd.rc:104
msgid "MD <name> is the short version of MKDIR. It creates a subdirectory.\n"
msgstr ""
"MD <nume> este versiunea scurtă pentru MKDIR. MD creează un subdosar.\n"

#: cmd.rc:105
msgid "MKDIR <name> creates a subdirectory.\n"
msgstr "MKDIR <nume> creează un subdosar.\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 deplasează un fișier sau un dosar în alt loc din sistemul de fișiere.\n"
"\n"
"Dacă elementul mutat este un dosar, atunci toate fișierele și subdosarele\n"
"de sub el vor fi mutate și ele.\n"
"\n"
"MOVE eșuează dacă locația veche și cea nouă se află în directoare DOS\n"
"diferite.\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 afișează sau schimbă calea de căutare pentru cmd.\n"
"\n"
"Dacă se introduce PATH, se va afișa configurația curentă pentru PATH\n"
"(inițial, este valoarea dată în registru). Pentru a o modifica, adăugați\n"
"noua valoare după comanda PATH.\n"
"\n"
"PATH se poate modifica și utilizând variabila de mediu PATH, de exemplu:\n"
"\tPATH %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 afișează un mesaj pe ecran „Apăsați pe Enter pentru a continua”\n"
"și așteaptă ca utilizatorul să apese tasta Enter. Este util mai ales în\n"
"fișierele batch, pentru a permite utilizatorului să citească rezultatul\n"
"unei comenzi anterioare, înainte de a dispărea de pe ecran.\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 configurează prompterul pentru linia de comandă.\n"
"\n"
"Șirul care urmează după comanda PROMPT (și spațiul imediat următor)\n"
"apare la începutul liniei când cmd așteaptă introducerea de date.\n"
"\n"
"Următoarele șiruri de caractere au semnificație specială:\n"
"\n"
"$$  Semnul dollar       $_   Salt de rând       $b  Bara verticală (|)\n"
"$d  Data curentă        $e   Escape             $g  Semnul >\n"
"$l  Semnul <            $n   Unitatea curenta   $p  Calea curentă\n"
"$q  Semnul egal         $t   Ora curentă        $v  Versiunea de cmd\n"
"\n"
"Rețineți că, dacă introduceți comanda PROMPT fără un șir, se va restabili\n"
"la valoarea implicită, care este directorul curent (care include litera\n"
"unității curente) urmat de semnul mai mare ca (>).\n"
"(ca o comandă PROMPT $p$g).\n"
"\n"
"Și prompterul poate fi modificat schimbând variabila de mediu PROMPT,\n"
"astfel încât comanda „SET PROMPT=text” are același efect ca și „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 ""
"O linie de comandă începând cu REM (urmat de spațiu) nu realizează nici o\n"
"acțiune și de aceea poate fi utilizată ca un comentariu într-un fișier "
"batch.\n"

#: cmd.rc:157
msgid "REN <filename> is the short version of RENAME. It renames a file.\n"
msgstr ""
"REN <fișier> este versiunea scurtă pentru RENAME. REN redenumește fișierul.\n"

#: cmd.rc:158
msgid "RENAME <filename> renames a file\n"
msgstr "RENAME <fișier> redenumește fișierul.\n"

#: cmd.rc:160
msgid "RD <dir> is the short version of RMDIR. It deletes a subdirectory.\n"
msgstr "RD <dir> este versiunea scurtă pentru RMDIR. RD șterge subdosarul.\n"

#: cmd.rc:161
msgid "RMDIR <dir> deletes a subdirectory.\n"
msgstr "RMDIR <dir> șterge subdosarul.\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 afișează sau schimbă variabilele de mediu ale cmd.\n"
"\n"
"SET fără parametri afișează variabilele de mediu currente.\n"
"\n"
"Pentru a crea sau modifica o variabilă de mediu, sintaxa este:\n"
"\n"
"SET <variabilă>=<valoare>\n"
"\n"
"unde <variabilă> și <valoare> sunt șiruri de caractere. Nu trebuie să\n"
"existe nici un spațiu înainte de semnul egal și nici în numele variabilei.\n"
"\n"
"În Wine, mediul sistemului de operare de bază este inclus în mediul Win32,\n"
"astfel că vor fi, în general, mult mai multe valori decât într-o\n"
"implementare Win32 nativă. Rețineți că nu poate fi modificat mediul\n"
"sistemului de operare din 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 se utilizează într-un fișier batch pentru a elimina primul parametru\n"
"din listă; astfel, parametrul 2 devine parametrul 1 și așa mai departe.\n"
"Nu are efect dacă este apelat din linia de comandă.\n"

#: cmd.rc:186
msgid "TIME sets or shows the current system time.\n"
msgstr "TIME afișează sau schimbă ora sistemului.\n"

#: cmd.rc:188
msgid "Sets the window title for the cmd window, syntax TITLE [string]\n"
msgstr "Definește titlul pentru fereastra cmd, cu sintaxa TITLE [șir]\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 <numefișier> copiază <numefișier> în consolă (sau unde este\n"
"redirecționat). Nu se verifică dacă fișierul conține text lizibil.\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 se utilizează pentru a activa, a elimina sau a testa indicatorul\n"
"de verificare. Sunt valabile formele:\n"
"\n"
"VERIFY ON\tActivează indicatorul\n"
"VERIFY OFF\tElimină indicatorul\n"
"VERIFY\t\tAfișează ON sau OFF după cum este cazul.\n"
"\n"
"Indicatorul de verificare nu are nici o funcție în Wine.\n"

#: cmd.rc:204
msgid "VER displays the version of cmd you are running\n"
msgstr "VER afișează versiunea de cmd utilizată\n"

#: cmd.rc:206
msgid "VOL shows the volume label of a disk device.\n"
msgstr "VOL Afișează eticheta de volum a unui disc\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 <numedirector> salvează directorul curent într-o stivă și apoi\n"
"înlocuiește directorul curent cu cel specificat.\n"

#: cmd.rc:212
msgid ""
"POPD changes current directory to the last one saved with\n"
"PUSHD.\n"
msgstr "POPD schimbă directorul curent cu ultimul salvat cu PUSHD.\n"

#: cmd.rc:214
msgid "MORE displays output of files or piped input in pages.\n"
msgstr "MORE afișează în pagini conținutul fișierelor sau datele introduse.\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 termină sesiunea curentă a liniei de comandă și revine la sistemul\n"
"de operare sau shell-ul din care ați invocat cmd.\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 ""
"Comenzile integrate în CMD sunt:\n"
"ATTRIB\t\tAfișează sau schimbă atributele fișierelor DOS\n"
"CALL\t\tInvocă un fișier batch din interiorul altuia\n"
"CD (CHDIR)\tSchimbă directorul implicit curent\n"
"CLS\t\tGolește ecranul consolei\n"
"COPY\t\tCopiază fișierul\n"
"CTTY\t\tSchimbă dispozitivul de intrare/ieșire\n"
"DATE\t\tAfișează sau schimbă data sistemului\n"
"DEL (ERASE)\tȘterge un fișier sau un set de fișiere\n"
"DIR\t\tListează conținutul unui director\n"
"ECHO\t\tCopiază textul direct în consolă\n"
"HELP\t\tAfișează pe scurt detalii de ajutor pentru un subiect\n"
"MD (MKDIR)\tCreează un subdirector\n"
"MORE\t\tAfișează textul în pagini\n"
"MOVE\t\tMută un fișier, un set de fișiere sau un arbore de directoare\n"
"PATH\t\tStabilește sau afișează calea de căutare\n"
"POPD\t\tRestabilește directorul în ultima sa formă salvată cu PUSHD\n"
"PROMPT\t\tSchimbă prompterul de comandă\n"
"PUSHD\t\tTrece la un nou director, salvându-l pe cel curent\n"
"REN (RENAME)\tRedenumește un fișier\n"
"RD (RMDIR)\tȘterge un subdirector\n"
"SET\t\tStabilește sau afișează variabilele de mediu\n"
"TIME\t\tStabilește sau afișează ora curentă a sistemului\n"
"TITLE\t\tStabilește titlul ferestrei pentru sesiunea CMD\n"
"TYPE\t\tAfișează conținutul unui fișier text\n"
"VER\t\tAfișează versiunea curentă de CMD\n"
"VOL\t\tAfișează eticheta de volum a unui disc\n"
"EXIT\t\tÎnchide CMD\n"
"\n"
"Introduceți HELP <comandă> pentru informații suplimentare despre\n"
"comenzile de mai sus\n"

#: cmd.rc:255
msgid "Are you sure"
msgstr "Sunteți sigur"

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

#: 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 "Lipsește asocierea cu fișiere pentru extensia %s\n"

#: cmd.rc:259
msgid "No open command associated with file type '%s'\n"
msgstr ""
"Nici o comandă de deschidere nu este asociată cu tipul de fișier „%s”\n"

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

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

#: cmd.rc:262
msgid "Line in Batch processing possibly truncated. Using:\n"
msgstr ""
"Linie posibil trunchiată în procesarea fișierului batch. Se utilizează:\n"

#: cmd.rc:263
msgid ""
"Not Yet Implemented\n"
"\n"
msgstr ""
"Încă neimplementat\n"
"\n"

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

#: cmd.rc:265
msgid "Syntax error\n"
msgstr "Eroare de sintaxă\n"

#: cmd.rc:266
msgid "%s : File Not Found\n"
msgstr "%s : fișier negăsit\n"

#: cmd.rc:267
msgid "No help available for %s\n"
msgstr "Nu există ajutor pentru %s\n"

#: cmd.rc:268
msgid "Target to GOTO not found\n"
msgstr "Destinația pentru GOTO nu a fost găsită\n"

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

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

#: cmd.rc:271
msgid "Enter new date: "
msgstr "Introduceți noua dată: "

#: cmd.rc:272
msgid "Enter new time: "
msgstr "Introduceți noua oră: "

#: cmd.rc:273
msgid "Environment variable %s not defined\n"
msgstr "Variabila de mediu %s nu este definită\n"

#: cmd.rc:274 xcopy.rc:38
msgid "Failed to open '%s'\n"
msgstr "Deschiderea „%s” a eșuat\n"

#: cmd.rc:275
msgid "Cannot call batch label outside of a batch script\n"
msgstr "Nu se poate apela eticheta pentru batch în afara unui script batch\n"

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

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

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

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

#: cmd.rc:280
msgid "Verify must be ON or OFF\n"
msgstr "Verify trebuie să fie ON sau OFF\n"

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

#: cmd.rc:282
msgid ""
"Volume in drive %c is %s\n"
"Volume Serial Number is %04x-%04x\n"
"\n"
msgstr ""
"Volumul din unitatea %c este %s\n"
"Numărul de serie al volumului este %04x-%04x\n"
"\n"

#: cmd.rc:283
msgid "Volume label (11 characters, ENTER for none)?"
msgstr "Etichetă pentru volum (11 caractere, ENTER pentru nici una)?"

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

#: cmd.rc:285
msgid "Press Return key to continue: "
msgstr "Apăsați pe Enter pentru a continua: "

#: cmd.rc:286
msgid "Wine Command Prompt"
msgstr "Linia de comandă Wine"

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

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

#: cmd.rc:289
msgid "The input line is too long.\n"
msgstr "Șirul introdus este prea lung.\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 ""
"Sintaxa acestei comenzi este:\n"
"\n"
"NET [ HELP | START | STOP | USE ]\n"

#: net.rc:28
msgid "Specify service name to start.\n"
msgstr "Specificați numele serviciului de pornit.\n"

#: net.rc:29
msgid "Specify service name to stop.\n"
msgstr "Specificați numele serviciului de oprit.\n"

#: net.rc:30
msgid "Stopping dependent service: %s\n"
msgstr "Se oprește serviciul dependent: %s\n"

#: net.rc:31
msgid "Could not stop service %s\n"
msgstr "Serviciul %s nu a putut fi oprit\n"

#: net.rc:32
msgid "Could not get handle to service control manager.\n"
msgstr "Nu a putut fi accesat managerul de control al serviciului.\n"

#: net.rc:33
msgid "Could not get handle to service.\n"
msgstr "Serviciul nu a putut fi accesat.\n"

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

#: net.rc:35
msgid "The %s service was started successfully.\n"
msgstr "Serviciul %s a fost pornit cu succes.\n"

#: net.rc:36
msgid "The %s service failed to start.\n"
msgstr "Pornirea serviciului %s a eșuat.\n"

#: net.rc:37
msgid "The %s service is stopping.\n"
msgstr "Serviciul %s se oprește.\n"

#: net.rc:38
msgid "The %s service was stopped successfully.\n"
msgstr "Serviciul %s a fost oprit cu succes.\n"

#: net.rc:39
msgid "The %s service failed to stop.\n"
msgstr "Oprirea serviciului %s a eșuat.\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 ""
"Sintaxa acestei comenzi este:\n"
"\n"
"comandă NET HELP\n"
"    -sau-\n"
"comandă NET /HELP\n"
"\n"
"   Comenzile disponibile sunt:\n"
"   NET HELP    NET START    NET STOP    NET USE\n"

#: net.rc:42
msgid "There are no entries in the list.\n"
msgstr "Nu există nici un element în listă.\n"

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

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

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

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

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

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

#: reg.rc:31
msgid "The operation completed successfully\n"
msgstr "Operațiunea a fost finalizată cu succes\n"

#: reg.rc:32
msgid "Error: Invalid key name\n"
msgstr "Eroare: Nume de cheie nevalid\n"

#: reg.rc:33
msgid "Error: Invalid command line parameters\n"
msgstr "Eroare: Parametri nevalizi pentru linia de comandă\n"

#: reg.rc:34
msgid "Error: Unable to add keys to remote machine\n"
msgstr "Eroare: Nu se pot adăuga chei pe calculatorul de la distanță\n"

#: reg.rc:35
msgid ""
"Error: The system was unable to find the specified registry key or value\n"
msgstr ""
"Eroare: Sistemul nu a putut găsi cheia sau valoarea de registru specificată\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 ""
"Lansați un program sau deschideți un document în programul utilizat\n"
"de obicei pentru fișierele cu acel sufix.\n"
"Utilizare:\n"
"start [opțiuni] cale_program [...]\n"
"start [opțiuni] cale_document\n"
"\n"
"Opțiuni:\n"
"/M[inimizat] Pornește programul minimizat.\n"
"/MAX[imizat] Pornește programul maximizat.\n"
"/R[estaurat] Pornește programul normal (nici minimizat, nici maximizat).\n"
"/W           Așteaptă ca programul pornit să termine, apoi ieși din el\n"
"             cu codul său de ieșire.\n"
"/Unix        Utilizează un nume de fișier Unix și pornește fișierul ca\n"
"             windows explorer.\n"
"/ProgIDOpen  Deschide un document utilizând următorul progID.\n"
"/L           Afișează licența utilizatorului final.\n"
"\n"
"start.exe versiunea 0.2 Drepturi de autor (C) 2003, Dan Kegel\n"
"Start nu implică ABSOLUT NICIO GARANȚIE; pentru detalii, alegeți opțiunea /"
"L.\n"
"Acesta este un software liber și îl puteți redistribui în anumite condiții;\n"
"executați „start /L” pentru detalii.\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 versiunea 0.2 Drepturi de autor (C) 2003, Dan Kegel\n"
"Acest program este un software liber; îl puteți redistribui și/sau\n"
"modifica respectând termenii GNU Lesser Public License așa cum este\n"
"publicată de către Free Software Foundation; fie versiunea 2.1\n"
"a Licenței, fie (la alegere) orice versiune mai recentă.\n"
"\n"
"Acest program este distribuit cu speranța că va fi util,\n"
"dar FĂRĂ NICIO GARANȚIE; nici măcar cu garanția implicită de\n"
"VANDABILITATE sau POTRIVIRE PENTRU UN ANUMIT SCOP. Consultați\n"
"GNU Lesser Public License pentru mai multe detalii.\n"
"\n"
"Ar fi trebuit să primiți o copie a GNU Lesser Public License\n"
"împreună cu acest program; dacă nu, scrieți la Free Software\n"
"Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.\n"
"\n"
"Consultați fișierul COPYING.LIB pentru informații despre licență.\n"

#: start.rc:65
msgid ""
"Application could not be started, or no application associated with the "
"specified file.\n"
"ShellExecuteEx failed"
msgstr ""
"Aplicația nu a putut fi pornită sau nu există nici o aplicație asociată\n"
"cu fișierul specificat. ShellExecuteEx a eșuat"

#: start.rc:67
msgid "Could not translate the specified Unix filename to a DOS filename."
msgstr ""
"Nu a putut fi tradus numele de fișier Unix specificat într-un nume de fișier "
"DOS."

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

#: taskkill.rc:28
#, fuzzy
msgid "Error: Unknown or invalid command line option specified.\n"
msgstr "Eroare: Parametri nevalizi pentru linia de comandă\n"

#: taskkill.rc:29
#, fuzzy
msgid "Error: Invalid command line parameter specified.\n"
msgstr "Eroare: Parametri nevalizi pentru linia de comandă\n"

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

#: taskkill.rc:31
#, fuzzy
msgid "Error: Option %s expects a command line parameter.\n"
msgstr "Eroare: Parametri nevalizi pentru linia de comandă\n"

#: 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
#, fuzzy
msgid "Error: Unable to enumerate the process list.\n"
msgstr "Eroare: Nu se pot adăuga chei pe calculatorul de la distanță\n"

#: taskkill.rc:39
#, fuzzy
msgid "Error: Unable to terminate process \"%s\".\n"
msgstr "Eroare: Nu se pot adăuga chei pe calculatorul de la distanță\n"

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

#: uninstaller.rc:26
msgid "Wine Application Uninstaller"
msgstr "Programul de dezinstalare de aplicații Wine"

#: 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 ""
"Execuția comenzi de dezinstalare '%s' a eșuat, probabil din lipsa fișierului "
"executabil.\n"
"Doriți să ștergeți înregistrarea de dezinstalare din registru?"

#: write.rc:27
msgid "Starting Wordpad failed"
msgstr "Execuția Wordpad a eșuat"

#: xcopy.rc:27
msgid "Invalid number of parameters - Use xcopy /? for help\n"
msgstr "Număr de parametri nevalid - Utilizați xcopy /? pentru ajutor\n"

#: xcopy.rc:28
msgid "Invalid parameter '%s' -  Use xcopy /? for help\n"
msgstr "Parametru nevalid „%s” -  Utilizați xcopy /? pentru ajutor\n"

#: xcopy.rc:29
msgid "Press <enter> to begin copying\n"
msgstr "Apăsați pe <enter> pentru a începe copierea\n"

#: xcopy.rc:30
msgid "%d file(s) would be copied\n"
msgstr "%d fișier(e) ar fi copiat(e)\n"

#: xcopy.rc:31
msgid "%d file(s) copied\n"
msgstr "%d fișier(e) copiat(e)\n"

#: xcopy.rc:34
msgid ""
"Is '%s' a filename or directory\n"
"on the target?\n"
"(F - File, D - Directory)\n"
msgstr ""
"„%s” este un nume de fișier sau un director\n"
"din destinație?\n"
"(F - Fișier, D - Director)\n"

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

#: xcopy.rc:36
msgid "Overwrite %s? (Yes|No|All)\n"
msgstr "Se suprascrie %s? (Da|Nu|Toate)\n"

#: xcopy.rc:37
msgid "Copying of '%s' to '%s' failed with r/c %d\n"
msgstr "Copierea „%s” în „%s” a eșuat cu cod de retur %d\n"

#: xcopy.rc:39
msgid "Failed during reading of '%s'\n"
msgstr "Citirea „%s” a eșuat\n"

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

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

#: 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 ""
"XCOPY - Copiază fișiere sau arbori de directoare sursă într-o destinație\n"
"\n"
"Sintaxă:\n"
"XCOPY sursă [destinație] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U]\n"
"\t     [/R] [/H] [/C] [/P] [/A] [/M] [/E] [/D] [/Y] [/-Y]\n"
"\n"
"Cu:\n"
"\n"
"[/I]  Creează director dacă destinația nu există și se copiază două sau\n"
"\tmai multe fișiere\n"
"[/S]  Copiază directoarele și subdirectoarele\n"
"[/E]  Copiază directoarele și subdirectoarele, inclusiv pe cele goale\n"
"[/Q]  Nu afișa numele în timpul copierii.\n"
"[/F]  Arată numele întreg pentru sursă și destinație în timpul copierii\n"
"[/L]  Simulează operațiunea, afișând numele care ar fi copiate\n"
"[/W]  Solicită confirmarea înainte de a începe copierea\n"
"[/T]  Creează o structură de directoare goale, dar nu copiază fișiere\n"
"[/Y]  Nu solicita confirmarea la suprascrierea fișierelor\n"
"[/-Y] Solicită confirmarea la suprascrierea fișierelor\n"
"[/P]  Solicită confirmarea înainte de copierea fiecărui fișier sursă\n"
"[/N]  Copiază utilizând prescurtări de nume\n"
"[/U]  Copiază numai fișierele care există deja în destinație\n"
"[/R]  Suprascrie orice fișiere cu protecție la modificări\n"
"[/H]  Include în copie fișierele ascunse și de sistem\n"
"[/C]  Continuă chiar dacă apare o eroare în timpul copierii\n"
"[/A]  Copiază numai fișierele cu atributul de arhivă activat\n"
"[/M]  Copiază numai fișierele cu atributul de arhivă activat, dezactivează\n"
"\tapoi atributul\n"
"[/D | /D:m-d-y] Copiază fișierele noi sau pe cele modificate după data\n"
"\t\tspecificată. Dacă nu este specificată nici o dată, copiază\n"
"\t\tnumai dacă fișierul destinație este mai vechi decât fișierul\n"
"\t\tsursă\n"
"\n"
