# translation of ro.po to Romanian
# Romanian translations for the dpkg package.
# This file is distributed under the same license as the dpkg package.
#
# Explicații legate de modul de traducere:
# - la mesajele emise în urma acțiunilor programului se folosește forma impersonală,
#   folosită și în versiunea în engleză
# - se păstrează denumirile în engleză pentru:
#   - numele funcților și a argumentelor acestora
#   - numele și opțiunile programelor
#
# Copyright (C) 2005 THE PACKAGE'S COPYRIGHT HOLDER
#
# Rușeț Zeno <rzeno@cwazy.co.uk>, 2005.
# Eddy Petrișor <eddy.petrisor@gmail.com>, 2005, 2006, 2007, 2008.
# Sorin Batariuc <sorin@bonbon.net>, 2005.
msgid ""
msgstr ""
"Project-Id-Version: ro\n"
"Report-Msgid-Bugs-To: debian-dpkg@lists.debian.org\n"
"POT-Creation-Date: 2011-10-14 07:11+0200\n"
"PO-Revision-Date: 2008-06-28 19:11+0300\n"
"Last-Translator: Eddy Petrișor <eddy.petrisor@gmail.com>\n"
"Language-Team: Romanian <debian-l10n-romanian@lists.debian.org>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms:  nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
"20)) ? 1 : 2;\n"
"X-Generator: KBabel 1.11.4\n"

#  spațiile sunt necesare!!
#: dselect/basecmds.cc:125
msgid "Search for ? "
msgstr "Ce căutați ? "

#: dselect/basecmds.cc:147
msgid "Error: "
msgstr "Eroare: "

#: dselect/basecmds.cc:178
msgid "Help: "
msgstr "Ajutor: "

#: dselect/basecmds.cc:184
msgid "Press ? for help menu, . for next topic, <space> to exit help."
msgstr ""
"Apăsați ? pentru meniul ajutor, . pentru următorul subiect, <spațiu> pentru "
"ieșire."

#: dselect/basecmds.cc:191
msgid "Help information is available under the following topics:"
msgstr "Informații ajutătoare sunt disponibile pentru următoarele subiecte:"

#: dselect/basecmds.cc:199
msgid ""
"Press a key from the list above, <space> or `q' to exit help,\n"
"  or `.' (full stop) to read each help page in turn. "
msgstr ""
"Apăsați o tastă din lista care urmează, <spațiu> sau „q” pentru ieșire din "
"ajutor,\n"
"  sau  „.” (oprire totală) pentru a citi fiecare pagină de ajutor. "

#: dselect/basecmds.cc:205
msgid "error reading keyboard in help"
msgstr "eroare citire tastatură în ajutor"

#: dselect/baselist.cc:57
msgid "ioctl(TIOCGWINSZ) failed"
msgstr "eșec ioctl(TIOCGWINSZ)"

#: dselect/baselist.cc:60
msgid "doupdate in SIGWINCH handler failed"
msgstr "eșec doupdate în descriptorul SIGWINCH"

#: dselect/baselist.cc:67
msgid "failed to restore old SIGWINCH sigact"
msgstr "eșec la restaurarea vechiului sigact pentru SIGWINCH"

#: dselect/baselist.cc:69
msgid "failed to restore old signal mask"
msgstr "eșec la restaurarea vechii măști de semnal"

#: dselect/baselist.cc:79
msgid "failed to get old signal mask"
msgstr "eșec la preluarea vechii măști de semnal"

#: dselect/baselist.cc:80
msgid "failed to get old SIGWINCH sigact"
msgstr "eșec la preluarea vechiului sigact pentru SIGWINCH"

#: dselect/baselist.cc:84
msgid "failed to block SIGWINCH"
msgstr "eșec la blocarea lui SIGWINCH"

#: dselect/baselist.cc:89
msgid "failed to set new SIGWINCH sigact"
msgstr "eșec la inițializarea noului sigact pentru SIGWINCH"

#: dselect/baselist.cc:126
msgid "failed to allocate colour pair"
msgstr "eșec la alocarea perechii de culori"

#: dselect/baselist.cc:167
msgid "failed to create title window"
msgstr "eșec la crearea titlului ferestrei"

#: dselect/baselist.cc:171
msgid "failed to create whatinfo window"
msgstr "eșec la crearea ferestrei de informații"

#: dselect/baselist.cc:175
msgid "failed to create baselist pad"
msgstr "eșec la crearea zonei listei de bază"

#: dselect/baselist.cc:178
msgid "failed to create heading pad"
msgstr "eșec la crearea zonei pentru titlul"

#: dselect/baselist.cc:182
msgid "failed to create thisstate pad"
msgstr "eșec la crearea zonei despre starea curentă"

#: dselect/baselist.cc:186
msgid "failed to create info pad"
msgstr "eșec la crearea zonei de informare"

#: dselect/baselist.cc:191
msgid "failed to create query window"
msgstr "eșec la crearea ferestrei de interogare"

#: dselect/baselist.cc:255
msgid "Keybindings"
msgstr "Combinații de taste"

#: dselect/baselist.cc:303
#, c-format
msgid "  -- %d%%, press "
msgstr "  -- %d%%, apăsați "

#: dselect/baselist.cc:306
#, c-format
msgid "%s for more"
msgstr "%s pentru mai mult"

#: dselect/baselist.cc:310
#, c-format
msgid "%s to go back"
msgstr "%s pentru a merge înapoi"

#: dselect/bindings.cc:78
msgid "[not bound]"
msgstr "[neasignată]"

#: dselect/bindings.cc:82
#, c-format
msgid "[unk: %d]"
msgstr "[necunoscut: %d]"

#: dselect/bindings.cc:139
msgid "Scroll onwards through help/information"
msgstr "Derulare înainte prin ajutor/informații"

#: dselect/bindings.cc:140
msgid "Scroll backwards through help/information"
msgstr "Derulare înapoi prin ajutor/informații"

#: dselect/bindings.cc:141
msgid "Move up"
msgstr "Deplasare în sus"

#: dselect/bindings.cc:142
msgid "Move down"
msgstr "Deplasare în jos"

#: dselect/bindings.cc:143
msgid "Go to top of list"
msgstr "Mergi la începutul listei"

#: dselect/bindings.cc:144
msgid "Go to end of list"
msgstr "Mergi la sfârșitul listei"

#: dselect/bindings.cc:145
msgid "Request help (cycle through help screens)"
msgstr "Cerere de ajutor (ciclu printre ecranele de ajutor)"

#: dselect/bindings.cc:146
msgid "Cycle through information displays"
msgstr "Ciclu printre informațiile afișate"

#: dselect/bindings.cc:147
msgid "Redraw display"
msgstr "Redesenare ecran"

#: dselect/bindings.cc:148
msgid "Scroll onwards through list by 1 line"
msgstr "Derulare înainte prin listă cu 1 rând"

#: dselect/bindings.cc:149
msgid "Scroll backwards through list by 1 line"
msgstr "Derulare înapoi prin listă cu 1 rând"

#: dselect/bindings.cc:150
msgid "Scroll onwards through help/information by 1 line"
msgstr "Derulare înainte prin ajutor/informații cu 1 rând"

#: dselect/bindings.cc:151
msgid "Scroll backwards through help/information by 1 line"
msgstr "Derulare înapoi prin ajutor/informații cu 1 rând"

#: dselect/bindings.cc:152
msgid "Scroll onwards through list"
msgstr "Derulare înainte prin listă"

#: dselect/bindings.cc:153
msgid "Scroll backwards through list"
msgstr "Derulare înapoi prin listă"

#: dselect/bindings.cc:156
msgid "Mark package(s) for installation"
msgstr "Marchează pachet(ul/ele) pentru instalare"

#: dselect/bindings.cc:157
msgid "Mark package(s) for deinstallation"
msgstr "Marchează pachet(ul/ele) pentru dezinstalare"

#: dselect/bindings.cc:158
msgid "Mark package(s) for deinstall and purge"
msgstr "Marchează pachet(ul/ele) pentru dezinstalare și curățare"

#: dselect/bindings.cc:159
msgid "Make highlight more specific"
msgstr "Evidențierea este mai specifică"

#: dselect/bindings.cc:160
msgid "Make highlight less specific"
msgstr "Evidențierea este mai generică"

#: dselect/bindings.cc:161
msgid "Search for a package whose name contains a string"
msgstr "Caută pachetul al cărui nume conține un șir de caractere"

#: dselect/bindings.cc:162
msgid "Repeat last search."
msgstr "Repetă ultima căutare."

#: dselect/bindings.cc:163
msgid "Swap sort order priority/section"
msgstr "Comută ordinea de sortare prioritate/secțiune"

#: dselect/bindings.cc:164
msgid "Quit, confirming, and checking dependencies"
msgstr "Ieșire, confirmare, și verificare dependențe"

#: dselect/bindings.cc:165
msgid "Quit, confirming without check"
msgstr "Terminare, confirmare fără verificare"

#: dselect/bindings.cc:166
msgid "Quit, rejecting conflict/dependency suggestions"
msgstr "Terminare, se refuză sugestiile legate de conflicte/dependențe"

#: dselect/bindings.cc:167
msgid "Abort - quit without making changes"
msgstr "Abandon - terminare fără a face schimbări"

#: dselect/bindings.cc:168
msgid "Revert to old state for all packages"
msgstr "Revenire la vechile stări pentru toate pachetele"

#: dselect/bindings.cc:169
msgid "Revert to suggested state for all packages"
msgstr "Revenire la stările sugerate pentru toate pachetele"

#: dselect/bindings.cc:170
msgid "Revert to directly requested state for all packages"
msgstr "Revenire direct la stările cerute pentru toate pachetele"

#: dselect/bindings.cc:171
msgid "Revert to currently installed state for all packages"
msgstr "Revenire la starea instalată acum pentru toate pachetele"

#: dselect/bindings.cc:174
msgid "Select currently-highlighted access method"
msgstr "Selctează metoda care este evidențiată acum"

#: dselect/bindings.cc:175
msgid "Quit without changing selected access method"
msgstr "Abandonează fără schimbarea metodei de acces selectate"

#: dselect/helpmsgs.cc:29
msgid "Keystrokes"
msgstr "Combinații taste"

#: dselect/helpmsgs.cc:29
msgid ""
"Motion keys: Next/Previous, Top/End, Up/Down, Backwards/Forwards:\n"
"  j, Down-arrow         k, Up-arrow             move highlight\n"
"  N, Page-down, Space   P, Page-up, Backspace   scroll list by 1 page\n"
"  ^n                    ^p                      scroll list by 1 line\n"
"  t, Home               e, End                  jump to top/end of list\n"
"  u                     d                       scroll info by 1 page\n"
"  ^u                    ^d                      scroll info by 1 line\n"
"  B, Left-arrow         F, Right-arrow          pan display by 1/3 screen\n"
"  ^b                    ^f                      pan display by 1 character\n"
"\n"
"Mark packages for later processing:\n"
" +, Insert  install or upgrade      =, H  hold in present state\n"
" -, Delete  remove                  :, G  unhold: upgrade or leave "
"uninstalled\n"
" _          remove & purge config\n"
"                                             Miscellaneous:\n"
"Quit, exit, overwrite (note capitals!):       ?, F1 request help (also "
"Help)\n"
" Return  Confirm, quit (check dependencies)   i, I  toggle/cycle info "
"displays\n"
"   Q     Confirm, quit (override dep.s)       o, O  cycle through sort "
"options\n"
" X, Esc  eXit, abandoning any changes made    v, V  change status display "
"opts\n"
"   R     Revert to state before this list      ^l   redraw display\n"
"   U     set all to sUggested state             /   search (Return to "
"cancel)\n"
"   D     set all to Directly requested state  n, \\  repeat last search\n"
msgstr ""
"Taste de deplasare: Următor/Anterior, Cap/Coadă, Sus/Jos, Înainte/Înapoi:\n"
"  j, Săgeată-jos        k, Săgeată-sus          mută cursorul\n"
"  N, Page-down, Space   P, Page-up, Backspace   derulează lista cu 1 pagină\n"
"  ^n                    ^p                      derulează lista cu 1 linie\n"
"  t, Home               e, End                  sari la capul/coada listei\n"
"  u                     d                       derulează info cu 1 pagină\n"
"  ^u                    ^d                      derulează info cu 1 linie\n"
"  B, Săgeată-stânga     F, Săgeată-dreapta      mută afișajul cu 1/3 de "
"ecran\n"
"  ^b                    ^f                      mută afișajul cu 1 caracter\n"
"\n"
"Marchează pachetele pentru prelucrare ulterioară:\n"
" +, Insert  instalare/actualizare     =, H  păstrare în starea prezentă\n"
" -, Delete  șterge                    :, G  eliberare: actualizare sau "
"păstrare neinstalat\n"
" _          dezinstalare și ștergere configurație\n"
"                                                  Diverse:\n"
"Termină, ieși, rescriere (litere mari/mici!):      ?, F1 cerere de ajutor "
"(la fel și Ajutor)\n"
" Return  Confirmă, termină (verifică dependențe)   i, I  comută/ciclează "
"ecranele info\n"
"   Q     Confirmă, termină (suprascriere dep.)     o, O  ciclează între "
"opțiunile de sortare\n"
" X, Esc  ieșire, abandonează schimbările făcute    v, V  schimbă starea "
"opțiunilor de afișare\n"
"   R     Revenire la starea anterioară listei       ^l   redesenare ecran\n"
"   U     plasează tot în starea sUgerată             /   caută (Return "
"pentru renunțare)\n"
"   D     plasează tot, Direct în starea cerută      n, \\  repetă ultima "
"căutare\n"

#: dselect/helpmsgs.cc:55
msgid "Introduction to package selections"
msgstr "Introducere în selecția pachetelor"

#: dselect/helpmsgs.cc:55
msgid ""
"Welcome to dselect's main package listing.\n"
"\n"
"You will be presented with a list of packages which are installed or "
"available\n"
"for installation.  You can navigate around the list using the cursor keys,\n"
"mark packages for installation (using `+') or deinstallation (using `-').\n"
"Packages can be marked either singly or in groups; initially you will see "
"that\n"
"the line `All packages' is selected.  `+', `-' and so on will affect all "
"the\n"
"packages described by the highlighted line.\n"
"\n"
"Some of your choices will cause conflicts or dependency problems; you will "
"be\n"
"given a sub-list of the relevant packages, so that you can solve the "
"problems.\n"
"\n"
"You should read the list of keys and the explanations of the display.\n"
"Much on-line help is available, please make use of it - press `?' at\n"
"any time for help.\n"
"\n"
"When you have finished selecting packages, press <enter> to confirm "
"changes,\n"
"or `X' to quit without saving changes. A final check on conflicts and\n"
"dependencies will be done - here too you may see a sublist.\n"
"\n"
"Press <space> to leave help and enter the list now.\n"
msgstr ""
"Bine ați venit la listarea principală a pachetelor lui dselect.\n"
"\n"
"Vă va fi arătată o listă de pachete care sunt instalate sau disponibile\n"
"pentru instalare. Puteți naviga prin listă folosind tastele cursorului,\n"
"puteți marca pachetele pentru instalare (folosind „+”) sau dezinstalare "
"(folosind „-”).\n"
"Pachetele pot fi marcate fie individual fie în grupuri, inițial veți vedea "
"că\n"
"linia „Toate pachetele” este selectată.  „+”, „-” și toate celelalte vor "
"afecta toate\n"
"pachetele descrise de linia evidențiată.\n"
"\n"
"Unele din alegerile dvs. vor determina conflicte sau probleme de dependențe, "
"vi se\n"
"va da o sub-listă de pachete relevante, care vor rezolva problemele.\n"
"\n"
"Ar trebui să citiți lista de taste și explicațiile de pe ecran.\n"
"Este disponibil mult ajutor imediat, sunteți rugat să vă folosiți de el - "
"apăsați când doriți\n"
"„?” pentru a primi ajutor.\n"
"\n"
"Când ați terminat de selectat pachetele, apăsați <enter> pentru a confirma "
"schimbările,\n"
"sau „X” pentru a ieși fără să salvați schimbările. O verificare finală la "
"conflicte și\n"
"dependențe va fi făcută - aici și dvs veți putea vedea o sublistă.\n"
"\n"
"Apăsați <spațiu> pentru a părăsi ajutorul și a intra în listă.\n"

#: dselect/helpmsgs.cc:80
msgid "Introduction to read-only package list browser"
msgstr "Introducere a navigatorului listei de pachete, în mod strict citire"

#: dselect/helpmsgs.cc:80
msgid ""
"Welcome to dselect's main package listing.\n"
"\n"
"You will be presented with a list of packages which are installed or "
"available\n"
"for installation.  Since you do not have the privilege necessary to update\n"
"package states, you are in a read-only mode.  You can navigate around the\n"
"list using the cursor keys (please see the `Keystrokes' help screen), "
"observe\n"
"the status of the packages and read information about them.\n"
"\n"
"You should read the list of keys and the explanations of the display.\n"
"Much on-line help is available, please make use of it - press `?' at\n"
"any time for help.\n"
"\n"
"When you have finished browsing, press `Q' or <enter> to quit.\n"
"\n"
"Press <space> to leave help and enter the list now.\n"
msgstr ""
"Bine ați venit la lista principală de pachete a lui dselect.\n"
"\n"
"Vă va fi arătată o listă de pachete care sunt instalate sau disponibile\n"
"pentru instalare. Din moment ce nu aveți privilegiile necesare pentru a \n"
"actualiza starea pachetelor, sunteți în modul doar-citire. Puteți naviga \n"
"prin listă folosind tastele pentru cursor (vă rog, vedeți ecranul de ajutor\n"
"„Combinații taste”), observa starea pachetelor și citi informațiile despre "
"ele.\n"
"\n"
"Ar trebui să citiți lista de taste și explicațiile de pe ecran.\n"
"Este disponibil mult ajutor imediat, sunteți rugat să vă folosiți de el - "
"apăsați oricând doriți\n"
" „?” pentru a primi ajutor.\n"
"\n"
"Când ați terminat de selectat pachetele, apăsați „Q” sau <enter> pentru a "
"ieși.\n"
"\n"
"Apăsați <spațiu> pentru a părăsi ajutorul și a intra în listă.\n"

#: dselect/helpmsgs.cc:99
msgid "Introduction to conflict/dependency resolution sub-list"
msgstr "Introducere a sublistei de rezolvare a conflictelor/dependențelor"

#: dselect/helpmsgs.cc:99
msgid ""
"Dependency/conflict resolution - introduction.\n"
"\n"
"One or more of your choices have raised a conflict or dependency problem -\n"
"some packages should only be installed in conjunction with certain others, "
"and\n"
"some combinations of packages may not be installed together.\n"
"\n"
"You will see a sub-list containing the packages involved.  The bottom half "
"of\n"
"the display shows relevant conflicts and dependencies; use `i' to cycle "
"between\n"
"that, the package descriptions and the internal control information.\n"
"\n"
"A set of `suggested' packages has been calculated, and the initial markings "
"in\n"
"this sub-list have been set to match those, so you can just hit Return to\n"
"accept the suggestions if you wish.  You may abort the change(s) which "
"caused\n"
"the problem(s), and go back to the main list, by pressing capital `X'.\n"
"\n"
"You can also move around the list and change the markings so that they are "
"more\n"
"like what you want, and you can `reject' my suggestions by using the "
"capital\n"
"`D' or `R' keys (see the keybindings help screen).  You can use capital `Q' "
"to\n"
"force me to accept the situation currently displayed, in case you want to\n"
"override a recommendation or think that the program is mistaken.\n"
"\n"
"Press <space> to leave help and enter the sub-list; remember: press `?' for "
"help.\n"
msgstr ""
"Rezoluție de dependențe/conflicte - introducere.\n"
"\n"
"Una sau mai multe dintre alegerile dvs. vor determina conflicte sau probleme "
"de dependențe -\n"
"unele pachete ar trebui instalate doar împreună cu anumite altele, și\n"
"unele combinații de pachete nu pot fi instalate împreună.\n"
"\n"
"Veți vedea o sub-listă conținând pachetele implicate.  Jumătatea inferioară "
"a\n"
"afișajului arată conflictele și dependențele relevante; folosiți „i” pentru "
"a circula între\n"
"acestea, descrierile pachetelor și informația internă de control.\n"
"\n"
"Au fost calculate un set de pachete „sugerate”, și selecțiile inițiale în\n"
"această sub-listă au fost aranjate să se potrivească cu acelea, astfel încât "
"doar apăsați Enter\n"
"pentru a accepta sugestiile, dacă doriți. Puteți anula schimbările care "
"determină\n"
"probleme, și vă duceți înapoi la lista principală, apăsând majuscula „X”.\n"
"\n"
"Puteți de asemenea să navigați prin listă și schimba selecțiile după "
"dorință,\n"
"și puteți anula sugestiile folosind majusculele „D” ori „R”\n"
"(vedeți ecranul de ajutor cu combinațiile de taste). Puteți folosi "
"majuscula\n"
"„Q” pentru a forța acceptul în situația curent afișată, în caz că vreți să\n"
"treceți peste o recomandare sau vă gândiți că programul se înșeală.\n"
"\n"
"Apasați <spațiu> pentru a părăsi ajutorul și a intra în sub-listă; nu "
"uitați: apăsați „?” pentru ajutor.\n"

#: dselect/helpmsgs.cc:125
msgid "Display, part 1: package listing and status chars"
msgstr "Afișare, partea 1: lista de pachete și caracterele de stare"

#: dselect/helpmsgs.cc:125
msgid ""
"The top half of the screen shows a list of packages.  For each package you "
"see\n"
"four columns for its current status on the system and mark.  In terse mode "
"(use\n"
"`v' to toggle verbose display) these are single characters, from left to "
"right:\n"
"\n"
" Error flag: Space - no error (but package may be in broken state - see "
"below)\n"
"              `R'  - serious error during installation, needs "
"reinstallation;\n"
" Installed state:     Space    - not installed;\n"
"                       `*'     - installed;\n"
"                       `-'     - not installed but config files remain;\n"
"   packages in these { `U'     - unpacked but not yet configured;\n"
"   states are not    { `C'     - half-configured (an error happened);\n"
"   (quite) properly  { `I'     - half-installed (an error happened);\n"
"   installed         { `W',`t' - triggers are awaited resp. pending.\n"
" Old mark: what was requested for this package before presenting this list;\n"
" Mark: what is requested for this package:\n"
"  `*': marked for installation or upgrade;\n"
"  `-': marked for removal, but any configuration files will remain;\n"
"  `=': on hold: package will not be processed at all;\n"
"  `_': marked for purge completely - even remove configuration;\n"
"  `n': package is new and has yet to be marked for install/remove/&c.\n"
"\n"
"Also displayed are each package's Priority, Section, name, installed and\n"
"available version numbers (shift-V to display/hide) and summary "
"description.\n"
msgstr ""
"Jumătatea superioară a ecranului arată o listă de pachete. La fiecare pachet "
"veți vedea\n"
"patru coloane pentru starea curentă în sistem și marcajul. În modul concis "
"(folosiți „v”\n"
"pentru a comuta la afișajul detaliat) acestea sunt caractere individuale, de "
"la stânga la dreapta:\n"
"\n"
" Fanion de eroare:   Spațiu - fără eroare (dar pachetul ar putea fi\n"
"                              deteriorat - vedeți mai jos)\n"
"                       „R”  - eroare gravă în timpul instalării, are\n"
"                              nevoie de reinstalare;\n"
" Starea instalării:    Spațiu    - neinstalat;\n"
"                         „*”     - instalat;\n"
"                         „-”     - neinstalat dar fișierele de configurare\n"
"                                     rămân;\n"
"   pachetele în aceste { „U”     - despachetat dar încă neconfigurat;\n"
"   stări nu sunt       { „C”     - semi-configurat (s-a întâlnit eroare);\n"
"   (chiar) bine        { „I”     - semi-instalat (s-a întâlnit eroare).\n"
"   instalate           { „W”,„t” - declanșatorii sunt așteptați, respectiv\n"
"                                     în așteptare. Vechiul marcaj: ceea ce s-"
"a cerut de la acest pachet înainte de a afișa\n"
"                   această listă;\n"
" Marcaj: ceea ce se cere pentru acest pachet:\n"
"  „*”: marcat pentru instalare sau înnoire;\n"
"  „-”: marcat pentru ștergere, dar fișierele de configurare rămân;\n"
"  „=”: în așteptare: pachetul nu va fi procesat deloc;\n"
"  „_”: marcat pentru ștergere completă - inclusiv configurarea;\n"
"  „n”: pachetul este nou și poate încă fi marcat pentru\n"
"         instalare/ștergere/&c.\n"
"\n"
"De asemenea, pentru fiecare pachet, sunt afișate Prioritatea, Secțiunea,\n"
"numele, versiunea instalată și cea disponibilă (shift-V pentru a\n"
"afișa/ascunde) și descrierea pe scurt.\n"

#: dselect/helpmsgs.cc:152
msgid "Display, part 2: list highlight; information display"
msgstr "Afișare, partea a 2-a: evidențierea în listă; afișarea informației"

#: dselect/helpmsgs.cc:152
msgid ""
"* Highlight: One line in the package list will be highlighted.  It "
"indicates\n"
"  which package(s) will be affected by presses of `+', `-' and `_'.\n"
"\n"
"* The dividing line in the middle of the screen shows a brief explanation "
"of\n"
"  the status of the currently-highlighted package, or a description of "
"which\n"
"  group is highlighted if a group line is.  If you don't understand the\n"
"  meaning of some of the status characters displayed, go to the relevant\n"
"  package and look at this divider line, or use the `v' key for a verbose\n"
"  display (press `v' again to go back to the terse display).\n"
"\n"
"* The bottom of the screen shows more information about the\n"
"  currently-highlighted package (if there is only one).\n"
"\n"
"  It can show an extended description of the package, the internal package\n"
"  control details (either for the installed or available version of the\n"
"  package), or information about conflicts and dependencies involving the\n"
"  current package (in conflict/dependency resolution sublists).\n"
"\n"
"  Use the `i' key to cycle through the displays, and `I' to hide the\n"
"  information display or expand it to use almost all of the screen.\n"
msgstr ""
"* Evidențierea: O linie din lista de pachete va fi evidențiată. Semnifică "
"ce\n"
"  pachete sunt afectate de tastele „+”, „-” și „_”.\n"
"\n"
"* Linia despărțitoare din mijlocul ecranului arată o scurtă descriere a\n"
"  stării pachetului curent evidențiat, sau o descriere a grupului care "
"este \n"
"  evidențiat dacă este o linie de grupuri. Dacă nu înțelegeți sensul\n"
"  unora dintre caracterele de stare afișate, duceți-vă la pachetul\n"
"  respectiv și uitați-vă la linia despărțitoare, sau folosiți tasta „v” "
"pentru afișaj\n"
"  detaliat (apăsați din nou „v” pentru a vă reîntoarce la afișarea "
"concisă).\n"
"\n"
"* Partea inferioară a ecranului arată mai multe informații despre\n"
"  pachetul curent evidențiat (dacă este vreunul).\n"
"\n"
"  Poate arăta descrierea extinsă a pachetului, detalii interne de control\n"
"  ale pachetului (fie pentru versiunea instalată fie pentru cea "
"disponibilă),\n"
"  sau informații despre conflicte și dependențe implicate de pachetul "
"curent\n"
"  (în sublista de rezoluții de conflicte/dependențe).\n"
"\n"
"  Folosiți tasta „i” pentru a circula printre afișaje, și „I” pentru a "
"ascunde\n"
"  afișajul de informații sau a-l mări până la a utiliza aproape tot "
"ecranul.\n"

#: dselect/helpmsgs.cc:176
msgid "Introduction to method selection display"
msgstr "Introducere a afișării selecției metodei"

#: dselect/helpmsgs.cc:176
msgid ""
"dselect and dpkg can do automatic installation, loading the package files to "
"be\n"
"installed from one of a number of different possible places.\n"
"\n"
"This list allows you to select one of these installation methods.\n"
"\n"
"Move the highlight to the method you wish to use, and hit Enter.  You will "
"then\n"
"be prompted for the information required to do the installation.\n"
"\n"
"As you move the highlight a description of each method, where available, is\n"
"displayed in the bottom half of the screen.\n"
"\n"
"If you wish to quit without changing anything use the `x' key while in the "
"list\n"
"of installation methods.\n"
"\n"
"A full list of keystrokes is available by pressing `k' now, or from the "
"help\n"
"menu reachable by pressing `?'.\n"
msgstr ""
"dselect și dpkg pot face o instalare automată, încărcând fișierele "
"pachetelor de\n"
"instalat dintr-un număr de diferite posibile locuri.\n"
"\n"
"Această listă vă permite să selectați una din aceste metode de instalare.\n"
"\n"
"Deplasați evidențierea către metoda pe care doriți s-o folosiți, și apăsați "
"Enter. Veți fi\n"
"chestionat pentru informațiile necesare pentru instalare.\n"
"\n"
"Cum deplasați evidențierea, este afișată în jumătatea inferioară a ecranului "
"o\n"
"descriere a fiecărei metode, dacă este disponibilă.\n"
"\n"
"Dacă doriți să ieșiți fără a modifica nimic folosiți tasta „x” în timp ce\n"
"sunteți în lista metodelor de instalare.\n"
"\n"
"O listă completă de taste este disponibilă apăsând acum „k”, sau din meniul "
"de\n"
"ajutor, accesibilă apăsând „?”.\n"

#: dselect/helpmsgs.cc:196
msgid "Keystrokes for method selection"
msgstr "Combinații de taste pentru selectarea metodei"

#: dselect/helpmsgs.cc:196
msgid ""
"Motion keys: Next/Previous, Top/End, Up/Down, Backwards/Forwards:\n"
"  j, Down-arrow         k, Up-arrow             move highlight\n"
"  N, Page-down, Space   P, Page-up, Backspace   scroll list by 1 page\n"
"  ^n                    ^p                      scroll list by 1 line\n"
"  t, Home               e, End                  jump to top/end of list\n"
"  u                     d                       scroll info by 1 page\n"
"  ^u                    ^d                      scroll info by 1 line\n"
"  B, Left-arrow         F, Right-arrow          pan display by 1/3 screen\n"
"  ^b                    ^f                      pan display by 1 character\n"
"(These are the same motion keys as in the package list display.)\n"
"\n"
"Quit:\n"
" Return, Enter    select this method and go to its configuration dialogue\n"
" x, X             exit without changing or setting up the installation "
"method\n"
"\n"
"Miscellaneous:\n"
"  ?, Help, F1      request help\n"
" ^l                redraw display\n"
"  /                search (just return to cancel)\n"
"  \\                repeat last search\n"
msgstr ""
"Taste de deplasare: Următor/Anterior, Început/Sfârșit, Sus/Jos, Înapoi/"
"Înainte:\n"
"  j, Down-arrow         k, Up-arrow             mută selecția\n"
"  N, Page-down, Space   P, Page-up, Backspace   derulează lista cu 1 pagină\n"
"  ^n                    ^p                      derulează lista cu 1 linie\n"
"  t, Home               e, End                  sari la începutul/sfârșitul "
"listei\n"
"  u                     d                       derulează info cu 1 pagină\n"
"  ^u                    ^d                      derulează info cu 1 linie\n"
"  B, Left-arrow         F, Right-arrow          mută afișarea cu 1/3 de "
"ecran\n"
"  ^b                    ^f                      mută afișarea cu 1 caracter\n"
"(Acestea sunt aceleași taste de deplasare ca în afișarea listei de "
"pachete.)\n"
"\n"
"Termină:\n"
" Return, Enter    selectează această metodă și treci la dialogul ei de "
"configurare\n"
" x, X             termină fară schimbări sau setarea metodei de instalare\n"
"\n"
"Diverse:\n"
"  ?, Help, F1      cerere de ajutor\n"
" ^l                reafișare ecran\n"
"  /                căutare (enter pentru renunțare)\n"
"  \\                repetă ultima căutare\n"

#: dselect/main.cc:60
msgid "Type dselect --help for help."
msgstr "Tastați dselect --help pentru ajutor."

#: dselect/main.cc:143
msgid "a"
msgstr "a"

#: dselect/main.cc:143
msgid "[A]ccess"
msgstr "[A]cces"

#: dselect/main.cc:143
msgid "Choose the access method to use."
msgstr "Alegeți metoda de acces folosită."

#: dselect/main.cc:144
msgid "u"
msgstr "u"

#: dselect/main.cc:144
msgid "[U]pdate"
msgstr "Act[u]alizare"

#: dselect/main.cc:144
msgid "Update list of available packages, if possible."
msgstr "Actualizează lista pachetelor disponibile, dacă este posibil."

#: dselect/main.cc:145
msgid "s"
msgstr "s"

#: dselect/main.cc:145
msgid "[S]elect"
msgstr "[S]elecție"

#: dselect/main.cc:145
msgid "Request which packages you want on your system."
msgstr "Cereți pachetele pe care le doriți în sistemul dvs."

#: dselect/main.cc:146
msgid "i"
msgstr "i"

#: dselect/main.cc:146
msgid "[I]nstall"
msgstr "[I]nstalare"

#: dselect/main.cc:146
msgid "Install and upgrade wanted packages."
msgstr "Instalează și actualizează pachetele dorite."

#: dselect/main.cc:147
msgid "c"
msgstr "c"

#: dselect/main.cc:147
msgid "[C]onfig"
msgstr "[C]onfigurare"

#: dselect/main.cc:147
msgid "Configure any packages that are unconfigured."
msgstr "Configurează orice pachet neconfigurat."

#: dselect/main.cc:148
msgid "r"
msgstr "r"

#: dselect/main.cc:148
msgid "[R]emove"
msgstr "Îndepă[R]tare"

#: dselect/main.cc:148
msgid "Remove unwanted software."
msgstr "Îndepărtează programele nedorite."

# semnifică tasta care trebuie apăsată, poate fi schimbată dar trebuie să verificăm conflictele
#: dselect/main.cc:149
msgid "q"
msgstr "q"

#: dselect/main.cc:149
msgid "[Q]uit"
msgstr "Ieșire [q]"

#: dselect/main.cc:149
msgid "Quit dselect."
msgstr "Ieșire din dselect."

#: dselect/main.cc:150
msgid "menu"
msgstr "meniu"

#: dselect/main.cc:155
#, c-format
msgid "Debian `%s' package handling frontend version %s.\n"
msgstr "Interfață de manipulare a pachetelor Debian „%s”, versiunea %s.\n"

#: dselect/main.cc:158
msgid ""
"Copyright (C) 1994-1996 Ian Jackson.\n"
"Copyright (C) 2000,2001 Wichert Akkerman.\n"
msgstr ""
"Drepturi de autor (C) 1994-1996 Ian Jackson.\n"
"Drepturi de autor (C) 2000,2001 Wichert Akkerman.\n"

#: dselect/main.cc:162
#, fuzzy
msgid ""
"This is free software; see the GNU General Public License version 2 or\n"
"later for copying conditions. There is NO warranty.\n"
msgstr ""
"Acesta este soft liber; vezi GNU General Public License versiunea 2 sau\n"
"ulterioară pentru condițiile de copiere. NU există NICI o garanție.\n"
"Vezi %s --licence pentru detalii de licențiere și condiții de copiere.\n"

#: dselect/main.cc:172 dselect/main.cc:220
msgid "<standard output>"
msgstr ""

#: dselect/main.cc:183
#, c-format
msgid ""
"Usage: %s [<option> ...] [<action> ...]\n"
"\n"
msgstr ""
"Utilizare: %s [<opțiune> ...] [<acțiune> ...]\n"
"\n"

#: dselect/main.cc:187
#, c-format
msgid ""
"Options:\n"
"  --admindir <directory>     Use <directory> instead of %s.\n"
"  --expert                   Turn on expert mode.\n"
"  --debug <file> | -D<file>  Turn on debugging, sending output to <file>.\n"
"  --colour | --color screenpart:[foreground],[background][:attr[+attr+..]]\n"
"                             Configure screen colours.\n"
"\n"
msgstr ""
"Opțiuni:\n"
"  --admindir <director>      Folosește <director> în loc de %s.\n"
"  --expert                   Pornește modul expert.\n"
"  --debug <file> | -D<file>  Pornește depanarea, trimițând ieșirea în "
"<file>.\n"
"  --colour | --color parteecran:[prim plan],[fundal][:atrib[+atrib+..]]\n"
"                             Configurează culorile ecranului.\n"

#: dselect/main.cc:196
#, fuzzy, c-format
msgid ""
"  --help                     Show this help message.\n"
"  --version                  Show the version.\n"
"\n"
msgstr ""
"  --help                     Afișează acest mesaj de ajutor.\n"
"  --version                  Afișează versiunea.\n"
"  --license | --licence      Afișează licența.\n"
"\n"

#: dselect/main.cc:201
#, c-format
msgid ""
"Actions:\n"
"  access update select install config remove quit\n"
"\n"
msgstr ""
"Acțiuni:\n"
"  access update select install config remove quit\n"
"\n"

#: dselect/main.cc:205
#, c-format
msgid "Screenparts:\n"
msgstr "Componente ecran:\n"

#: dselect/main.cc:210
#, c-format
msgid "Colours:\n"
msgstr "Culori:\n"

#: dselect/main.cc:215
#, c-format
msgid "Attributes:\n"
msgstr "Atribute:\n"

#: dselect/main.cc:233
#, c-format
msgid "couldn't open debug file `%.255s'\n"
msgstr "nu pot deschide fișierul de depanare „%.255s”\n"

#: dselect/main.cc:253
#, c-format
msgid "Invalid %s `%s'\n"
msgstr "Invalid %s „%s”\n"

#: dselect/main.cc:270
msgid "screen part"
msgstr "parte ecran"

#: dselect/main.cc:276
msgid "Null colour specification\n"
msgstr "Lipsă specificație de culoare\n"

#: dselect/main.cc:284 dselect/main.cc:289
msgid "colour"
msgstr "culoare"

#: dselect/main.cc:297
msgid "colour attribute"
msgstr "atribut culoare"

#: dselect/main.cc:329
msgid "Terminal does not appear to support cursor addressing.\n"
msgstr "Terminalul nu pare să suporte adresare la nivel de cursor.\n"

#: dselect/main.cc:331
msgid "Terminal does not appear to support highlighting.\n"
msgstr "Terminalul nu pare să suporte evidențiere.\n"

#: dselect/main.cc:333
#, c-format
msgid ""
"Set your TERM variable correctly, use a better terminal,\n"
"or make do with the per-package management tool %s.\n"
msgstr ""
"Inițializați corect variabila de mediu TERM, folosiți un terminal mai bun,\n"
"sau faceți asta cu programul de management per pachet %s.\n"

#: dselect/main.cc:336
msgid "terminal lacks necessary features, giving up"
msgstr "terminalul nu suportă cerințele necesare, abandonez"

#: dselect/main.cc:417
msgid ""
"\n"
"\n"
"Move around with ^P and ^N, cursor keys, initial letters, or digits;\n"
"Press <enter> to confirm selection.   ^L redraws screen.\n"
"\n"
msgstr ""
"\n"
"\n"
"Deplasare cu ^P și ^N, tastele cursor, literele inițiale, sau cifre;\n"
"Apăsați <enter> pentru confirmarea selecției.  ^L redesenează ecranul.\n"
"\n"

#: dselect/main.cc:428
msgid ""
"\n"
"\n"
"Read-only access: only preview of selections is available!"
msgstr ""
"\n"
"\n"
"Acces doar în citire: este disponibilă doar vizualizarea selecțiilor!"

#: dselect/main.cc:448
msgid "failed to getch in main menu"
msgstr "eșec în getch în meniul principal"

#: dselect/main.cc:531
#, c-format
msgid "unknown action string `%.50s'"
msgstr "șir acțiune necunoscut „%.50s”"

#: dselect/methlist.cc:77
msgid "dselect - list of access methods"
msgstr "dselect - lista metodelor de acces"

#: dselect/methlist.cc:86
#, c-format
msgid "Access method `%s'."
msgstr "Metoda de acces „%s”."

#: dselect/methlist.cc:120
msgid "Abbrev."
msgstr "Presc."

#: dselect/methlist.cc:121 dselect/pkginfo.cc:105 dselect/pkgtop.cc:291
msgid "Description"
msgstr "Descriere"

#: dselect/methlist.cc:164 dselect/pkglist.cc:572
msgid "doupdate failed"
msgstr "doupdate a eșuat"

#: dselect/methlist.cc:166 dselect/pkglist.cc:575
msgid "failed to unblock SIGWINCH"
msgstr "eșec la deblocarea lui SIGWINCH"

#: dselect/methlist.cc:170 dselect/pkglist.cc:580
msgid "failed to re-block SIGWINCH"
msgstr "eșec la reblocarea lui SIGWINCH"

#: dselect/methlist.cc:171 dselect/pkglist.cc:582
msgid "getch failed"
msgstr "eșec getch"

#: dselect/methlist.cc:188
msgid "Explanation"
msgstr "Explicație"

#: dselect/methlist.cc:197
msgid "No explanation available."
msgstr "Nici o explicație disponibilă."

#: dselect/method.cc:67
#, c-format
msgid ""
"\n"
"\n"
"%s: %s\n"
msgstr ""
"\n"
"\n"
"%s: %s\n"

#: dselect/method.cc:70
msgid ""
"\n"
"Press <enter> to continue."
msgstr ""
"\n"
"Apăsați <enter> pentru a continua."

#: dselect/method.cc:161
#, c-format
msgid "Press <enter> to continue.\n"
msgstr "Apăsați <enter> pentru a continua.\n"

#: dselect/method.cc:162
#, fuzzy
msgid "<standard error>"
msgstr "eroare de scriere la ieșirea standard de erroare"

#: dselect/method.cc:165
msgid "error reading acknowledgement of program failure message"
msgstr "eroare la citirea confirmării mesajului de eșec al programului"

#: dselect/method.cc:196
msgid "update available list script"
msgstr "actualizează scriptul de listare/cu liste disponibil"

#: dselect/method.cc:200
msgid "installation script"
msgstr "script de instalare"

#: dselect/method.cc:246
msgid "query/setup script"
msgstr "script de interogare/pregătire"

#: dselect/methparse.cc:53
#, c-format
msgid "syntax error in method options file `%.250s' -- %s"
msgstr "eroare de sintaxă în fișierul de opțiuni pentru metode „%.250s” -- %s"

#: dselect/methparse.cc:59
#, c-format
msgid "error reading options file `%.250s'"
msgstr "eroare la citirea fișierului de opțiuni „%.250s”"

#: dselect/methparse.cc:90
#, c-format
msgid "unable to read `%.250s' directory for reading methods"
msgstr "nu pot să citesc directorul „%.250s” pentru metodele de citire"

#: dselect/methparse.cc:106
#, c-format
msgid "method `%.250s' has name that is too long (%d > %d characters)"
msgstr "metoda „%.250s” are un nume prea lung (%d > %d caractere)"

#: dselect/methparse.cc:117
#, c-format
msgid "unable to access method script `%.250s'"
msgstr "imposibilitate de acces la scriptul de metode de acces „%.250s”"

#: dselect/methparse.cc:123
#, c-format
msgid "unable to read method options file `%.250s'"
msgstr "citire imposibilă a fișierului de opțiuni pentru metode „%.250s”"

#: dselect/methparse.cc:147
msgid "non-digit where digit wanted"
msgstr "non-numeric unde se cere numeric"

#: dselect/methparse.cc:150
msgid "EOF in index string"
msgstr "EOF în șirul index"

#: dselect/methparse.cc:153
msgid "index string too long"
msgstr "șir index prea lung"

#: dselect/methparse.cc:156
msgid "newline before option name start"
msgstr "linie nouă înainte de începerea numelui opțiunii"

#: dselect/methparse.cc:158
msgid "EOF before option name start"
msgstr "EOF înainte de începerea numelui opțiunii"

#: dselect/methparse.cc:162
msgid "nonalpha where option name start wanted"
msgstr "nu este literă unde trebuie să înceapă numele opțiunii"

#: dselect/methparse.cc:164
msgid "non-alphanum in option name"
msgstr "non-alfanumeric în numele opțiunii"

#: dselect/methparse.cc:167
msgid "EOF in option name"
msgstr "EOF în numele opțiunii"

#: dselect/methparse.cc:172
msgid "newline before summary"
msgstr "linie nouă înainte de sumar"

#: dselect/methparse.cc:174
msgid "EOF before summary"
msgstr "EOF înainte de sumar"

#: dselect/methparse.cc:180
msgid "EOF in summary - missing newline"
msgstr "EOF în sumar - lipsește linie nouă"

#: dselect/methparse.cc:190
#, c-format
msgid "unable to open option description file `%.250s'"
msgstr "nu pot să deschid fișierul de descriere a opțiunilor „%.250s”"

#: dselect/methparse.cc:194
#, c-format
msgid "unable to stat option description file `%.250s'"
msgstr "nu pot să citesc fișierul de descriere a opțiunilor „%.250s”"

#: dselect/methparse.cc:198
#, c-format
msgid "failed to read option description file `%.250s'"
msgstr "eșec la citirea fișierul de descriere a opțiunilor „%.250s”"

#: dselect/methparse.cc:201
#, c-format
msgid "error during read of option description file `%.250s'"
msgstr "eroare în timpul citirii fișierului cu descrierile opțiunilor „%.250s”"

#: dselect/methparse.cc:224
#, c-format
msgid "error during read of method options file `%.250s'"
msgstr "eroare în timpul citirii fișierului cu opțiuni pentru metode „%.250s”"

#: dselect/methparse.cc:247
#, c-format
msgid "unable to open current option file `%.250s'"
msgstr "imposibil a deschide fișierulu curent de opțiuni „%.250s”"

#: dselect/methparse.cc:289
#, c-format
msgid "unable to open new option file `%.250s'"
msgstr "imposibil a deschide fișierulu nou de opțiuni „%.250s”"

#: dselect/methparse.cc:292
#, c-format
msgid "unable to write new option to `%.250s'"
msgstr "imposibil a scrie noua opțiune în „%.250s”"

#: dselect/methparse.cc:295
#, c-format
msgid "unable to close new option file `%.250s'"
msgstr "imposibil a închide fișierul nou de opțiuni „%.250s”"

#: dselect/methparse.cc:297
#, c-format
msgid "unable to install new option as `%.250s'"
msgstr "imposibil a instala noile opțiuni ca „%.250s”"

#: dselect/pkgdisplay.cc:36
msgid "new package"
msgstr "pachet nou"

#: dselect/pkgdisplay.cc:37
msgid "install"
msgstr "instalează"

#: dselect/pkgdisplay.cc:38
msgid "hold"
msgstr "păstrează"

#: dselect/pkgdisplay.cc:39
msgid "remove"
msgstr "elimină"

#: dselect/pkgdisplay.cc:40
msgid "purge"
msgstr "curăță"

#. TRANSLATORS: The space is a trick to work around gettext which uses
#. * the empty string to store information about the translation. DO NOT
#. * CHANGE THAT IN A TRANSLATION! The code really relies on that being
#. * a single space.
#: dselect/pkgdisplay.cc:47
msgid " "
msgstr " "

#: dselect/pkgdisplay.cc:48
msgid "REINSTALL"
msgstr "REINSTALEAZĂ"

#: dselect/pkgdisplay.cc:51
msgid "not installed"
msgstr "neinstalat"

#: dselect/pkgdisplay.cc:52
msgid "removed (configs remain)"
msgstr "îndepărtate (configurările rămân)"

#: dselect/pkgdisplay.cc:53
msgid "half installed"
msgstr "jumătate instalate"

#: dselect/pkgdisplay.cc:54
msgid "unpacked (not set up)"
msgstr "despachetate (nepregătite)"

#: dselect/pkgdisplay.cc:55
msgid "half configured (config failed)"
msgstr ""

#: dselect/pkgdisplay.cc:56
msgid "awaiting trigger processing"
msgstr "așteaptă procesarea declanșatorilor"

#: dselect/pkgdisplay.cc:57
msgid "triggered"
msgstr "declanșat"

#: dselect/pkgdisplay.cc:58
msgid "installed"
msgstr "instalat"

#: dselect/pkgdisplay.cc:61
msgid "Required"
msgstr "Necesare"

#: dselect/pkgdisplay.cc:62
msgid "Important"
msgstr "Important"

#: dselect/pkgdisplay.cc:63
msgid "Standard"
msgstr "Standard"

#: dselect/pkgdisplay.cc:64
msgid "Optional"
msgstr "Opțional"

#: dselect/pkgdisplay.cc:65
msgid "Extra"
msgstr "Extra"

#: dselect/pkgdisplay.cc:66
msgid "!Bug!"
msgstr "!Defect!"

#: dselect/pkgdisplay.cc:67
msgid "Unclassified"
msgstr "Neclasificat"

#: dselect/pkgdisplay.cc:70
msgid "suggests"
msgstr "sugerează"

#: dselect/pkgdisplay.cc:71
msgid "recommends"
msgstr "recomandă"

#: dselect/pkgdisplay.cc:72
msgid "depends on"
msgstr "depinde de"

#: dselect/pkgdisplay.cc:73
msgid "pre-depends on"
msgstr "ante-dependență de"

#: dselect/pkgdisplay.cc:74
msgid "breaks"
msgstr "corupe"

#: dselect/pkgdisplay.cc:75
msgid "conflicts with"
msgstr "în conflict cu"

#: dselect/pkgdisplay.cc:76
msgid "provides"
msgstr "furnizează"

#: dselect/pkgdisplay.cc:77
msgid "replaces"
msgstr "înlocuiește"

#: dselect/pkgdisplay.cc:78
msgid "enhances"
msgstr "îmbunătățește"

#: dselect/pkgdisplay.cc:81
msgid "Req"
msgstr "Ncs"

#: dselect/pkgdisplay.cc:82
msgid "Imp"
msgstr "Imp"

#: dselect/pkgdisplay.cc:83
msgid "Std"
msgstr "Std"

#: dselect/pkgdisplay.cc:84
msgid "Opt"
msgstr "Opț"

#: dselect/pkgdisplay.cc:85
msgid "Xtr"
msgstr "Sup"

#: dselect/pkgdisplay.cc:86
msgid "bUG"
msgstr "dFT"

#: dselect/pkgdisplay.cc:87
msgid "?"
msgstr "?"

#: dselect/pkgdisplay.cc:95 dselect/pkgdisplay.cc:115
msgid "Broken"
msgstr "Deteriorat"

#: dselect/pkgdisplay.cc:96
msgid "New"
msgstr "Nou"

#: dselect/pkgdisplay.cc:97
msgid "Updated"
msgstr "Actualizat"

#: dselect/pkgdisplay.cc:98
msgid "Obsolete/local"
msgstr "Învechit/local"

#: dselect/pkgdisplay.cc:99
msgid "Up-to-date"
msgstr "La-zi"

#: dselect/pkgdisplay.cc:100
msgid "Available"
msgstr "Disponibil"

#: dselect/pkgdisplay.cc:101 dselect/pkgdisplay.cc:117
msgid "Removed"
msgstr "Îndepărtat"

#: dselect/pkgdisplay.cc:102 dselect/pkgdisplay.cc:111
msgid "Brokenly installed packages"
msgstr "Pachete instalate defectuos"

#: dselect/pkgdisplay.cc:103
msgid "Newly available packages"
msgstr "Pachete noi disponibile"

#: dselect/pkgdisplay.cc:104
msgid "Updated packages (newer version is available)"
msgstr "Pachete actualizate (este disponibilă o versiune mai nouă)"

#: dselect/pkgdisplay.cc:105
msgid "Obsolete and local packages present on system"
msgstr "Pachete învechite și locale existente pe sistem"

#: dselect/pkgdisplay.cc:106
msgid "Up to date installed packages"
msgstr "Pachete instalate aduse la zi"

#: dselect/pkgdisplay.cc:107
msgid "Available packages (not currently installed)"
msgstr "Pachete disponibile (neinstalate încă)"

#: dselect/pkgdisplay.cc:108
msgid "Removed and no longer available packages"
msgstr "Pachete îndepărtate sau indisponibile"

#: dselect/pkgdisplay.cc:112
msgid "Installed packages"
msgstr "Pachete instalate"

#: dselect/pkgdisplay.cc:113
msgid "Removed packages (configuration still present)"
msgstr "Pachete îndepărtate (configurarea încă prezentă)"

#: dselect/pkgdisplay.cc:114
msgid "Purged packages and those never installed"
msgstr "Pachete curățate și cele care nu au fost niciodată instalate"

#: dselect/pkgdisplay.cc:116
msgid "Installed"
msgstr "Instalate"

#: dselect/pkgdisplay.cc:118
msgid "Purged"
msgstr "Curățate"

#: dselect/pkgdisplay.cc:198
msgid "dselect - recursive package listing"
msgstr "dselect - afișare recursivă a pachetelor"

#: dselect/pkgdisplay.cc:199
msgid "dselect - inspection of package states"
msgstr "dselect - inspecția stării pachetelor"

#: dselect/pkgdisplay.cc:200
msgid "dselect - main package listing"
msgstr "dselect - lista principală a pachetelor"

#: dselect/pkgdisplay.cc:208
msgid " (by section)"
msgstr " (după secțiune)"

#: dselect/pkgdisplay.cc:211
msgid " (avail., section)"
msgstr " (disponibil, secțiune)"

#: dselect/pkgdisplay.cc:214
msgid " (status, section)"
msgstr " (stare, secțiune)"

#: dselect/pkgdisplay.cc:223
msgid " (by priority)"
msgstr " (după prioritate)"

#: dselect/pkgdisplay.cc:226
msgid " (avail., priority)"
msgstr " (disponibil, prioritate)"

#: dselect/pkgdisplay.cc:229
msgid " (status, priority)"
msgstr " (stare, prioritate)"

#: dselect/pkgdisplay.cc:238 dselect/pkgdisplay.cc:250
msgid " (alphabetically)"
msgstr " (alfabetic)"

#: dselect/pkgdisplay.cc:241
msgid " (by availability)"
msgstr " (după disponibilitate)"

#: dselect/pkgdisplay.cc:244
msgid " (by status)"
msgstr " (după stare)"

#: dselect/pkgdisplay.cc:258
msgid " mark:+/=/- terse:v help:?"
msgstr " marchează:+/=/- concis:v ajutor:?"

#: dselect/pkgdisplay.cc:259
msgid " mark:+/=/- verbose:v help:?"
msgstr " marchează:+/=/- detaliat:v ajutor:?"

#: dselect/pkgdisplay.cc:260
msgid " terse:v help:?"
msgstr " concis:v ajutor:?"

#: dselect/pkgdisplay.cc:261
msgid " verbose:v help:?"
msgstr " detaliat:v ajutor:?"

#: dselect/pkginfo.cc:80
msgid ""
"The line you have highlighted represents many packages; if you ask to "
"install, remove, hold, etc. it you will affect all the packages which match "
"the criterion shown.\n"
"\n"
"If you move the highlight to a line for a particular package you will see "
"information about that package displayed here.\n"
"You can use `o' and `O' to change the sort order and give yourself the "
"opportunity to mark packages in different kinds of groups."
msgstr ""
"Rândul evidențiat reprezintă mai multe pachete; dacă cereți instalare, "
"îndepărtare, păstrare, etc. va afecta toate pachete care respectă criteriul "
"arătat.\n"
"\n"
"Dacă mutați cursorul pe un rând cu un pachet anume, veți vedea aici "
"informații despre acel pachet.\n"
"Puteți folosi „o” și „O” pentru schimbarea ordinii de sortare dându-vă "
"posibilitatea să marcați pachetele în diferite moduri de grupare."

#: dselect/pkginfo.cc:93
msgid "Interrelationships"
msgstr "Inter-relații"

#: dselect/pkginfo.cc:112
msgid "No description available."
msgstr "Nici o descriere disponibilă."

#: dselect/pkginfo.cc:130
msgid "Installed control file information"
msgstr "Informația de control instalată"

#: dselect/pkginfo.cc:146
msgid "Available control file information"
msgstr "Informația de control disponibilă"

#: dselect/pkglist.cc:416
msgid "There are no packages."
msgstr ""

#: dselect/pkglist.cc:507
msgid "invalid search option given"
msgstr "opțiunea de căutare dată este invalidă"

#: dselect/pkglist.cc:521
msgid "error in regular expression"
msgstr "eroare în expresia regulată"

#: dselect/pkgsublist.cc:107
msgid " does not appear to be available\n"
msgstr "nu pare să fie disponibilă\n"

#: dselect/pkgsublist.cc:127
msgid " or "
msgstr " sau "

#: dselect/pkgtop.cc:57
msgid "All"
msgstr "Tot"

#: dselect/pkgtop.cc:79
msgid "All packages"
msgstr "Toate pachetele"

#: dselect/pkgtop.cc:83
#, c-format
msgid "%s packages without a section"
msgstr "%s pachete fără o secțiune"

#: dselect/pkgtop.cc:85
#, c-format
msgid "%s packages in section %s"
msgstr "%s pachete în secțiunea %s"

#: dselect/pkgtop.cc:91
#, c-format
msgid "%s %s packages"
msgstr "%s %s pachete"

#: dselect/pkgtop.cc:95
#, c-format
msgid "%s %s packages without a section"
msgstr "%s %s pachete fără o secțiune"

#: dselect/pkgtop.cc:97
#, c-format
msgid "%s %s packages in section %s"
msgstr "%s %s pachete în secțiunea %s"

#: dselect/pkgtop.cc:118
#, c-format
msgid "%-*s %s%s%s;  %s (was: %s).  %s"
msgstr "%-*s %s%s%s;  %s (a fost: %s).  %s"

#: dselect/pkgtop.cc:263
msgid "Error"
msgstr "Eroare"

#: dselect/pkgtop.cc:267
msgid "Installed?"
msgstr "Instalat?"

#: dselect/pkgtop.cc:271
msgid "Old mark"
msgstr "Marcaj vechi"

#: dselect/pkgtop.cc:275
msgid "Marked for"
msgstr "Marcat pentru"

#: dselect/pkgtop.cc:278
msgid "EIOM"
msgstr "EIOM"

#: dselect/pkgtop.cc:280
msgid "Section"
msgstr "Secțiune"

#: dselect/pkgtop.cc:281
msgid "Priority"
msgstr "Prioritate"

#: dselect/pkgtop.cc:282
msgid "Package"
msgstr "Pachet"

#: dselect/pkgtop.cc:286
msgid "Inst.ver"
msgstr "Ver. Inst"

#: dselect/pkgtop.cc:289
msgid "Avail.ver"
msgstr "Ver.disp"

#~ msgid "returned error exit status %d.\n"
#~ msgstr "s-a returnat stare de ieșire eronată %d.\n"

#~ msgid "was interrupted.\n"
#~ msgstr "a fost întrerupt.\n"

#~ msgid "was terminated by a signal: %s.\n"
#~ msgstr "a fost terminat de un semnal: %s.\n"

#~ msgid "(It left a coredump.)\n"
#~ msgstr "(A părăsit o stare coredump.)\n"

#~ msgid "failed with an unknown wait return code %d.\n"
#~ msgstr "eșuat cu returnarea unui cod de așteptare necunoscut %d.\n"

# sirul de la process e cale de acces la executabil
#~ msgid "unable to run %.250s process `%.250s'"
#~ msgstr "nu pot rula %.250s proces „%.250s”"

#~ msgid "failed config"
#~ msgstr "configurare eșuată"

#~ msgid "unable to wait for %.250s"
#~ msgstr "nu pot aștepta după %.250s"

#~ msgid "got wrong child's status - asked for %ld, got %ld"
#~ msgstr ""
#~ "am recepționat o stare greșită a procesului-fiu - cerut %ld, recepționat "
#~ "%ld"

#~ msgid "Recommended"
#~ msgstr "Recomandat"

#~ msgid "Contrib"
#~ msgstr "Contrib"

#~ msgid "Rec"
#~ msgstr "Nec"

#~ msgid "Ctb"
#~ msgstr "Ctb"

#~ msgid ""
#~ "baselist::startdisplay() done ...\n"
#~ "\n"
#~ " xmax=%d, ymax=%d;\n"
#~ "\n"
#~ " title_height=%d, colheads_height=%d, list_height=%d;\n"
#~ " thisstate_height=%d, info_height=%d, whatinfo_height=%d;\n"
#~ "\n"
#~ " colheads_row=%d, thisstate_row=%d, info_row=%d;\n"
#~ " whatinfo_row=%d, list_row=%d;\n"
#~ "\n"
#~ msgstr ""
#~ "baselist::startdisplay() terminat ...\n"
#~ "\n"
#~ " xmax=%d, ymax=%d;\n"
#~ "\n"
#~ " title_height=%d, colheads_height=%d, list_height=%d;\n"
#~ " thisstate_height=%d, info_height=%d, whatinfo_height=%d;\n"
#~ "\n"
#~ " colheads_row=%d, thisstate_row=%d, info_row=%d;\n"
#~ " whatinfo_row=%d, list_row=%d;\n"
#~ "\n"

#~ msgid "[none]"
#~ msgstr "[niciuna]"

#~ msgid "error un-catching signal %d: %s\n"
#~ msgstr "eroare semnal necapturat %d: %s\n"

#~ msgid "unable to ignore signal %d before running %.250s"
#~ msgstr "nu pot ignora semnalul %d înainte de a rula %.250s"

#~ msgid "(no clientdata)"
#~ msgstr "(date client lipsă)"

#~ msgid "<null>"
#~ msgstr "<null>"

#~ msgid "interrelationships affecting "
#~ msgstr "relații interne care afectează "

#~ msgid "description of "
#~ msgstr "descriere a "

#~ msgid "description"
#~ msgstr "descriere"

#~ msgid "currently installed control info"
#~ msgstr "informația de control instalată în prezent"

#~ msgid "available version of control info for "
#~ msgstr "versiune disponibilă a informației de control pentru"
