# Messaggi in Italiano per `dpkg'.
# Copyright (C) 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
# Lele Gaifax <lele@seldati.it>, 2000, 2001, 2002, 2003, 2004.
#
# Stefano Canepa <sc@linux.it>, 2004 only for an update because Lele was
# unreachable and translation needed to be updated
#
# Stefano Canepa <sc@linux.it>, 2005.
# Convenzioni usate, per rendere più semplice la loro individuazione ed
# eventuale sostituzione:
#
# `(hard) link' ......: `collegamento'
# `argument' .........: `parametro'
# `bad magic' ........: `codice di controllo errato'
# `broken' ...........: `difettoso'
# `bulk update' ......: `aggiornamento massivo'
# `checksum' .........: `codice di controllo'
# `cleanup' ..........: `pulizia'
# `corrupt' ..........: `rovinato'
# `diverted by' ......: `diversificato da'
# `enter' ............: `invio'
# `file details field': `campo dettagli del file'
# `giving up' ........: `lascio perdere'
# `hold' .............: `blocca'/`bloccato'
# `junk' .............: `robaccia'
# `maintainer' .......: `responsabile'
# `nested errors' ....: `errori correlati'
# `newline' ..........: `a-capo'
# `pad' ..............: `riempimento'
# `pan' ..............: `slittare'
# `purge' ............: `elimina'
# `required' .........: `essenziale'
# `screenpart' .......: `settore schermata'
# `set up' ...........: `configurare'
# `symbolic link' ....: `collegamento simbolico'
# `unable' ...........: `impossibile'
# `unbuffer' .........: `rimuovere la bufferizzazione'
# `unpacked' .........: `spacchettato'
# `up-to-date' .......: `già aggiornati'
# `warning' ..........: `attenzione'
#
msgid ""
msgstr ""
"Project-Id-Version: dpkg 1.10.22\n"
"Report-Msgid-Bugs-To: debian-dpkg@lists.debian.org\n"
"POT-Creation-Date: 2011-10-14 07:11+0200\n"
"PO-Revision-Date: 2006-10-06 22:01+0200\n"
"Last-Translator: Stefano Canepa <sc@linux.it>\n"
"Language-Team: italian <debian-l10n-italian@debian.org>\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: dselect/basecmds.cc:125
msgid "Search for ? "
msgstr "Ricerca di ? "

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

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

#: dselect/basecmds.cc:184
msgid "Press ? for help menu, . for next topic, <space> to exit help."
msgstr "Premi ? per menu aiuto, . prossimo argomento, <spazio> per uscire."

#: dselect/basecmds.cc:191
msgid "Help information is available under the following topics:"
msgstr "Sono disponibili informazioni di aiuto sui seguenti argomenti:"

#: 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 ""
"Premi un tasto della lista sopra, <spazio> o 'q' per uscire dall'aiuto,\n"
"  o '.' (punto) per leggere ogni pagina di aiuto in sequenza. "

#: dselect/basecmds.cc:205
msgid "error reading keyboard in help"
msgstr "errore di lettura della tastiera nell'aiuto"

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

#: dselect/baselist.cc:60
msgid "doupdate in SIGWINCH handler failed"
msgstr "fallita doupdate nel gestore SIGWINCH"

#: dselect/baselist.cc:67
msgid "failed to restore old SIGWINCH sigact"
msgstr "impossibile ripristinare la vecchia \"sigact\" su SIGWINCH"

#: dselect/baselist.cc:69
msgid "failed to restore old signal mask"
msgstr "impossibile ripristinare la vecchia maschera dei segnali"

#: dselect/baselist.cc:79
msgid "failed to get old signal mask"
msgstr "impossibile ottenere la vecchia maschera dei segnali"

#: dselect/baselist.cc:80
msgid "failed to get old SIGWINCH sigact"
msgstr "impossibile ottenere la vecchia \"sigact\" su SIGWINCH"

#: dselect/baselist.cc:84
msgid "failed to block SIGWINCH"
msgstr "impossibile bloccare SIGWINCH"

#: dselect/baselist.cc:89
msgid "failed to set new SIGWINCH sigact"
msgstr "impossibile impostare la nuova \"sigact\" su SIGWINCH"

#: dselect/baselist.cc:126
msgid "failed to allocate colour pair"
msgstr "impossibile allocare le coppie di colori"

#: dselect/baselist.cc:167
msgid "failed to create title window"
msgstr "impossibile creare la finestra del titolo"

#: dselect/baselist.cc:171
msgid "failed to create whatinfo window"
msgstr "impossibile creare la finestra di descrizione delle informazioni"

#: dselect/baselist.cc:175
msgid "failed to create baselist pad"
msgstr "impossibile creare la schermata per la lista di base"

#: dselect/baselist.cc:178
msgid "failed to create heading pad"
msgstr "impossibile creare la schermata per l'intestazione"

#: dselect/baselist.cc:182
msgid "failed to create thisstate pad"
msgstr "impossibile creare la schermata per lo stato del pacchetto"

#: dselect/baselist.cc:186
msgid "failed to create info pad"
msgstr "impossibile creare la schermata delle informazioni"

#: dselect/baselist.cc:191
msgid "failed to create query window"
msgstr "impossibile creare la finestra di ricerca"

#: dselect/baselist.cc:255
#, fuzzy
msgid "Keybindings"
msgstr "funzionalità dei tasti"

#: dselect/baselist.cc:303
#, c-format
msgid "  -- %d%%, press "
msgstr "  -- %d%%, premi "

#: dselect/baselist.cc:306
#, c-format
msgid "%s for more"
msgstr "%s per vedere il resto"

#: dselect/baselist.cc:310
#, c-format
msgid "%s to go back"
msgstr "%s per tornare indietro"

#: dselect/bindings.cc:78
msgid "[not bound]"
msgstr "[non associato ad alcuna funzione]"

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

#: dselect/bindings.cc:139
msgid "Scroll onwards through help/information"
msgstr "Scorri l'aiuto/informazione in avanti"

#: dselect/bindings.cc:140
msgid "Scroll backwards through help/information"
msgstr "Scorri l'aiuto/informazione indietro"

#: dselect/bindings.cc:141
msgid "Move up"
msgstr "Spostati in su"

#: dselect/bindings.cc:142
msgid "Move down"
msgstr "Spostati in giù"

#: dselect/bindings.cc:143
msgid "Go to top of list"
msgstr "Vai all'inizio della lista"

#: dselect/bindings.cc:144
msgid "Go to end of list"
msgstr "Vai alla fine della lista"

#: dselect/bindings.cc:145
msgid "Request help (cycle through help screens)"
msgstr "Richiedi aiuto (vedi le varie pagine di aiuto)"

#: dselect/bindings.cc:146
msgid "Cycle through information displays"
msgstr "Vedi le varie pagine di informazione"

#: dselect/bindings.cc:147
msgid "Redraw display"
msgstr "Ridisegna la schermata"

#: dselect/bindings.cc:148
msgid "Scroll onwards through list by 1 line"
msgstr "Scorri la lista in avanti di una riga"

#: dselect/bindings.cc:149
msgid "Scroll backwards through list by 1 line"
msgstr "Scorri la lista indietro di una riga"

#: dselect/bindings.cc:150
msgid "Scroll onwards through help/information by 1 line"
msgstr "Scorri l'aiuto/informazione in avanti di una riga"

#: dselect/bindings.cc:151
msgid "Scroll backwards through help/information by 1 line"
msgstr "Scorri l'aiuto/informazione indietro di una riga"

#: dselect/bindings.cc:152
msgid "Scroll onwards through list"
msgstr "Scorri la lista in avanti"

#: dselect/bindings.cc:153
msgid "Scroll backwards through list"
msgstr "Scorri la lista indietro"

#: dselect/bindings.cc:156
msgid "Mark package(s) for installation"
msgstr "Contrassegna i pacchetti per l'installazione"

#: dselect/bindings.cc:157
msgid "Mark package(s) for deinstallation"
msgstr "Contrassegna i pacchetti per la disinstallazione"

#: dselect/bindings.cc:158
msgid "Mark package(s) for deinstall and purge"
msgstr "Contrassegna i pacchetti per la disinstallazione ed eliminazione"

#: dselect/bindings.cc:159
msgid "Make highlight more specific"
msgstr "Rendi l'evidenziazione più specifica"

#: dselect/bindings.cc:160
msgid "Make highlight less specific"
msgstr "Rendi l'evidenziazione meno specifica"

#: dselect/bindings.cc:161
msgid "Search for a package whose name contains a string"
msgstr "Ricerca un pacchetto il cui nome contenga una stringa"

#: dselect/bindings.cc:162
msgid "Repeat last search."
msgstr "Ripeti l'ultima ricerca."

#: dselect/bindings.cc:163
msgid "Swap sort order priority/section"
msgstr "Scambia l'ordinamento priorità/sezione"

#: dselect/bindings.cc:164
msgid "Quit, confirming, and checking dependencies"
msgstr "Esci, confermando, con controllo delle dipendenze"

#: dselect/bindings.cc:165
msgid "Quit, confirming without check"
msgstr "Esci, confermando senza ulteriori controlli"

#: dselect/bindings.cc:166
msgid "Quit, rejecting conflict/dependency suggestions"
msgstr "Esci, rifiutando i suggerimenti sui conflitti/dipendenze"

#: dselect/bindings.cc:167
msgid "Abort - quit without making changes"
msgstr "Abbandona - esci senza apportare alcuna modifica"

#: dselect/bindings.cc:168
msgid "Revert to old state for all packages"
msgstr "Ripristina lo stato precedente per tutti i pacchetti"

#: dselect/bindings.cc:169
msgid "Revert to suggested state for all packages"
msgstr "Ripristina lo stato suggerito per tutti i pacchetti"

#: dselect/bindings.cc:170
msgid "Revert to directly requested state for all packages"
msgstr "Ripristina lo stato espressamente richiesto per tutti i pacchetti"

#: dselect/bindings.cc:171
#, fuzzy
msgid "Revert to currently installed state for all packages"
msgstr "Ripristina lo stato espressamente richiesto per tutti i pacchetti"

#: dselect/bindings.cc:174
msgid "Select currently-highlighted access method"
msgstr "Seleziona il metodo evidenziato"

#: dselect/bindings.cc:175
msgid "Quit without changing selected access method"
msgstr "Esci senza cambiare il metodo di accesso"

#: dselect/helpmsgs.cc:29
msgid "Keystrokes"
msgstr "Funzionalità dei Tasti"

#: dselect/helpmsgs.cc:29
#, fuzzy
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 ""
"Tasti per lo spostamento: \n"
"  n, Cursore-giù, j     p, Cursore-su, k        sposta l'evidenziazione\n"
"  N, Pag.-giù, Spazio   P, Pag.-su, Backspace   scorri la lista di 1 pagina\n"
"  ^n                    ^p                      scorri la lista di 1 riga\n"
"  t, Inizio             e, Fine                 salta in cima/fondo alla "
"lista\n"
"  u                     d                       scorri le info di 1 pagina\n"
"  ^u                    ^d                      scorri le info di 1 riga\n"
"  B, Cursore-sinistra   F, Cursore-destra       slitta schermo di 1/3 "
"ampiezza\n"
"  ^b                    ^f                      slitta schermo di 1 "
"carattere\n"
"\n"
"Contrassegna i pacchetti per una azione successiva:\n"
" +, Ins   installa o aggiorna     =, H  blocca nello stato attuale\n"
" -, Canc  rimuovi                 :, G  sblocca: aggiorna o lascia non "
"install.\n"
" _        rimuovi ed elimina configurazione\n"
"                                             Varie:\n"
"Esci, termina, sovrascr. (nota maiuscole!):   ?, F1 chiedi aiuto (anche "
"Help)\n"
" Invio   Conferma, esci (controlla dipend.)   i, I  vedi varie pagine di "
"info\n"
"   Q     Conferma, termina (ignora dipend.)   o, O  cambia ordinamento "
"lista\n"
" X, Esc  Esci, abbandona modifiche fatte      v, V  cambia modo visual. "
"stato\n"
"   R     Riprist. stato prec. questa lista     ^l   ridisegna la schermata\n"
"   U     imposta tutti a stato sUggerito        /   cerca (Invio per "
"annullare)\n"
"   D     imposta tutti a stato Dirett. chiesto  \\   ripeti l'ultima "
"ricerca\n"

#: dselect/helpmsgs.cc:55
msgid "Introduction to package selections"
msgstr "Introduzione alla selezione dei pacchetti"

#: 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 ""
"Benvenuto nella lista principale dei pacchetti.\n"
"\n"
"Ti sarà presentata una lista dei pacchetti che sono installati o "
"disponibili\n"
"ad esserlo. Puoi navigare in giro per la lista usando i tasti cursore, "
"marcare\n"
"i pacchetti per l'installazione (usando `+') o per la rimozione (usando "
"`-').\n"
"I pacchetti possono essere marcati sia singolarmente che in gruppo; "
"all'inizio\n"
"risulterà evidenziata la riga `Tutti i pacchetti'. `+',`-' e così via "
"agiscono\n"
"su tutti i pacchetti indicati dalla riga evidenziata.\n"
"\n"
"Alcune scelte causeranno conflitti o problemi con le dipendenze; ti verrà\n"
"proposta una sotto-lista dei pacchetti in questione consentirti di "
"risolverli.\n"
"\n"
"Dovresti leggere la lista dei tasti e le spiegazioni sulle schermate. E'\n"
"disponibile svariato aiuto in linea, fanne buon uso - premi `?' in "
"qualsiasi\n"
"momento per ottenerlo.\n"
"\n"
"Quando sei soddisfatto della selezione premi <invio> per confermare le\n"
"modifiche, o `X' per uscire senza salvarle.  Verrà effettuato un controllo\n"
"finale sui conflitti e sulle dipendenze - anche qui potresti ottenere una\n"
"sotto-lista.\n"
"\n"
"Adesso premi <spazio> per uscire dall'aiuto ed entrare nella lista.\n"

#: dselect/helpmsgs.cc:80
msgid "Introduction to read-only package list browser"
msgstr "Introduzione alla lista dei pacchetti (in sola lettura)"

#: 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 ""
"Benvenuto nella lista principale dei pacchetti di dselect.\n"
"\n"
"Ti sarà presentata una lista di pacchetti che sono installati o disponibili\n"
"ad esserlo. Dal momento che non hai i privilegi necessari ad aggiornare lo\n"
"stato dei pacchetti, sei in modalità di sola lettura.  Puoi navigare in "
"giro\n"
"per la lista con i tasti cursore (vedi l'aiuto sulle associazioni dei "
"tasti),\n"
"osservare lo stato dei pacchetti e leggerne le relative informazioni.\n"
"\n"
"Dovresti leggere la lista dei tasti e le spiegazioni sulle videate.\n"
"E' disponibile molto aiuto in linea, usalo per favore!  Premi `?' in "
"qualsiasi\n"
"momento per vederlo.\n"
"\n"
"Quando hai finito di ispezionare, premi `Q' o <invio> per uscire.\n"
"\n"
"Adesso premi <spazio> per lasciare l'aiuto e visitare la lista.\n"

#: dselect/helpmsgs.cc:99
msgid "Introduction to conflict/dependency resolution sub-list"
msgstr ""
"Introduzione alla sotto-lista per la risoluzione dei conflitti/dipendenze"

#: 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 ""
"Risoluzione problemi con le dipendenze/conflitti - introduzione.\n"
"\n"
"Una o più delle scelte effettuate hanno causato un conflitto o un problema "
"con\n"
"le dipendenze - qualche pacchetto dovrebbe essere installato solo insieme "
"con\n"
"qualche altro, e potrebbe essere impossibile installare insieme qualche\n"
"combinazione di pacchetti.\n"
"\n"
"Ti viene ora proposta una sotto-lista contenente i pacchetti coinvolti. La "
"metà\n"
"inferiore dello schermo mostra i conflitti ed i problemi con le dipendenze; "
"usa\n"
"`i' per passare da questa informazione, alla descrizione del pacchetto ed "
"alle\n"
"informazioni di controllo interne.\n"
"\n"
"Viene stabilito un insieme di pacchetti `suggeriti' e le marcature iniziali "
"di\n"
"questa sotto-lista sono impostate di conseguenza, in modo tale che con un "
"solo\n"
"<invio> tu possa confermare la selezione, se ti va bene. Puoi annullare la\n"
"modifica che ha causato il problema, e tornare indietro alla lista "
"principale\n"
"premendo `X' maiuscola.\n"
"\n"
"Puoi anche spostarti per la lista e cambiare le impostazioni a tuo "
"piacimento,\n"
"e puoi rigettare i miei suggerimenti usando le maiuscole `D' o `R' (vedi "
"aiuto\n"
"sulle associazioni dei tasti).  Puoi usare la maiuscola `Q' per forzarmi ad\n"
"accettare le impostazioni correnti, nel caso tu voglia ignorare una\n"
"raccomandazione o perché pensi il programma sia in errore.\n"
"\n"
"Premi <spazio> per lasciare l'aiuto e visitare la sotto-lista; ricorda:"
"`?'=aiuto\n"

#: dselect/helpmsgs.cc:125
msgid "Display, part 1: package listing and status chars"
msgstr "Visualizzazione, parte 1: lista dei pacchetti e caratteri di stato"

#: dselect/helpmsgs.cc:125
#, fuzzy
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 ""
"La prima metà dello schermo mostra una lista di pacchetti.  Per ognuno di "
"essi\n"
"quattro colonne riportano lo stato corrente e la marcatura. Nella modalità\n"
"concisa (`v' passa a quella estesa) sono singoli caratteri, da sinistra "
"sono:\n"
"\n"
" Indicatore Errore: Spazio - nessun errore (ma può essere difettoso - v."
"sotto)\n"
"                     `R'   - errori gravi di installaz., necessita "
"reinstall.;\n"
"   Stato pacchetto: Spazio - non installato;\n"
"                     `*'   - installato;\n"
"                     `-'   - non installato, ma file configurazione "
"presenti;\n"
"    i pacchetti in { `U'   - spacchettato ma non ancora configurato;\n"
"      questi stati { `C'   - configurato parzialmente (occorso qualche "
"errore);\n"
"    sono difettosi { `I'   - installato parzialmente (occorso qualche "
"errore).\n"
" Vecchia marcatura: situazione precedente alla presentazione di questa "
"lista;\n"
" Marcatura: cosa si richiede per questo pacchetto:\n"
"  `*': contrassegnato per l'installazione o l'aggiornamento;\n"
"  `-': contrassegnato per la rimozione, conservando però i file di "
"configuraz.;\n"
"  `=': bloccato: il pacchetto non verrà processato in alcun modo;\n"
"  `_': contrassegnato per l'eliminazione completa, anche della "
"configurazione;\n"
"  `n': il pacchetto è nuovo e non è ancora stato contrassegnato.\n"
"\n"
"Di ogni pacchetto sono riportate la Priorità, la Sezione, il Nome, la "
"versione\n"
"installata, quella disponibile (`V' per mostrarla/nasc.) e la descr. "
"sommaria.\n"

#: dselect/helpmsgs.cc:152
msgid "Display, part 2: list highlight; information display"
msgstr ""
"Visualizzazione, parte 2: evidenziazione nella lista; vis. informazioni"

#: 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 ""
"* Evidenziatura: una linea dell'elenco dei pacchetti verrà evidenziata,\n"
"  ed indica a quale o a quali pacchetti verrà applicato il comando `+',\n"
"  `-' e `_'.\n"
"\n"
"* La linea divisoria nel mezzo dello schermo mostra una breve spiegazione\n"
"  dello stato del pacchetto evidenziato al momento, o una descrizione di\n"
"  a quale gruppo si applichi il comando se viene evidenziata una linea di\n"
"  gruppo. Se non capite il significato di alcuni dei caratteri di stato\n"
"  mostrati, andate sul pacchetto in questione e guardate la linea "
"divisoria,\n"
"  o usate il tasto `v' per avere una spiegazione prolissa (premete di nuovo\n"
"  `v' per tornare alla visualizzazione sintetica).\n"
"\n"
"* Il fondo dello schermo mostra ulteriori informazioni sul pacchetto\n"
"  correntemente evidenziato, se c'è.\n"
"\n"
"  Può mostrare una descrizione estesa del pacchetto, i dettagli di "
"controllo\n"
"  interni del pacchetto (sia per la versione installata che per quella \n"
"  disponibile), o informazioni sui conflitti e sulle dipendenze relative\n"
"  al pacchetto stesso (in sottoelenchi di risoluzione di conflitti e\n"
"  dipendenze).\n"
"\n"
"  Usate il tasto `i' per fare un ciclo tra le schermate, e `I' per \n"
"  nascondere la schermata delle informazioni o espanderla su quasi \n"
"  tutto lo schermo.\n"

#: dselect/helpmsgs.cc:176
msgid "Introduction to method selection display"
msgstr "Introduzione alla selezione del metodo"

#: 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 e dpkg possono eseguire una installazione automatica, caricando i\n"
"file dei pacchetti da installare in una delle svariate maniere possibili.\n"
"\n"
"Questa lista ti consente di selezionare uno di questi metodi di "
"installazione.\n"
"\n"
"Sposta l'evidenziazione sul metodo che desideri usare e premi Invio.  Poi "
"ti\n"
"saranno richieste le informazioni necessarie all'installazione.\n"
"\n"
"Spostando l'evidenziazione viene visualizzata una descrizione di\n"
"ciascun metodo, se è disponibile, sulla metà inferiore dello schermo.\n"
"\n"
"Se desideri uscire senza cambiare nulla, usa il tasto `x' mentre sei nella\n"
"lista dei metodi di installazione.\n"
"\n"
"Una lista completa dei tasti è disponibile premendo `k' adesso, o dal menù\n"
"di aiuto che è raggiungibile premendo `?'.\n"

#: dselect/helpmsgs.cc:196
msgid "Keystrokes for method selection"
msgstr "Tasti per la selezione del metodo"

#: dselect/helpmsgs.cc:196
#, fuzzy
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 ""
"Tasti per lo spostamento:\n"
"  n, Cursore-giù        p, Cursore-su           sposta l'evidenziazione\n"
"  N, Pag.-giù, Spazio   P, Pag.-su, Backspace   scorri la lista di 1 pagina\n"
"  ^n                    ^p                      scorri la lista di 1 riga\n"
"  t, Inizio             e, Fine                 salta in cima/fondo alla "
"lista\n"
"  u                     d                       scorri le info di 1 pagina\n"
"  ^u                    ^d                      scorri le info di 1 riga\n"
"  B, Cursore-sinistra   F, Cursore-destra       slitta schermo di 1/3 "
"ampiezza\n"
"  ^b                    ^f                      slitta schermo di 1 "
"carattere\n"
"(Sono gli stessi tasti di spostamento usati nella lista dei pacchetti.)\n"
"\n"
"Esci:\n"
" Invio            seleziona questo metodo e procedi alla sua configurazione\n"
" x, X             esci senza cambiare o impostare il metodo di "
"installazione\n"
"\n"
"Varie\n"
"  ?, Aiuto, F1     richiedi aiuto\n"
" ^l                ridisegna la schermata\n"
"  /                cerca (basta un Invio per annullarla)\n"
"  \\                ripeti l'ultima ricerca\n"

#: dselect/main.cc:60
msgid "Type dselect --help for help."
msgstr "Esegui dselect --help per un aiuto."

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

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

#: dselect/main.cc:143
msgid "Choose the access method to use."
msgstr "Scegli il metodo di accesso da usare."

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

#: dselect/main.cc:144
msgid "[U]pdate"
msgstr "[A]ggiorna"

#: dselect/main.cc:144
msgid "Update list of available packages, if possible."
msgstr "Aggiorna, se possibile, l'elenco dei pacchetti disponibili."

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

#: dselect/main.cc:145
msgid "[S]elect"
msgstr "[S]eleziona"

#: dselect/main.cc:145
msgid "Request which packages you want on your system."
msgstr "Scegli quali pacchetti vuoi nel tuo sistema."

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

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

#: dselect/main.cc:146
msgid "Install and upgrade wanted packages."
msgstr "Installa ed aggiorna i pacchetti scelti."

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

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

#: dselect/main.cc:147
msgid "Configure any packages that are unconfigured."
msgstr "Configura tutti i pacchetti ancora da configurare."

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

#: dselect/main.cc:148
msgid "[R]emove"
msgstr "[R]imuovi"

#: dselect/main.cc:148
msgid "Remove unwanted software."
msgstr "Rimuovi il software non voluto."

#: dselect/main.cc:149
msgid "q"
msgstr "t"

#: dselect/main.cc:149
msgid "[Q]uit"
msgstr "[T]ermina"

#: dselect/main.cc:149
msgid "Quit dselect."
msgstr "Esci da dselect."

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

#: dselect/main.cc:155
#, c-format
msgid "Debian `%s' package handling frontend version %s.\n"
msgstr "Debian `%s' interfaccia per la gestione dei pacchetti versione %s.\n"

#: dselect/main.cc:158
msgid ""
"Copyright (C) 1994-1996 Ian Jackson.\n"
"Copyright (C) 2000,2001 Wichert Akkerman.\n"
msgstr ""
"Copyright (C) 1994-1996 Ian Jackson.\n"
"Copyright (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 ""
"Questo è software libero; si veda la GNU General Public License versione 2\n"
"o successiva per le condizioni di copia. NON c'è alcuna garanzia.\n"
"Si veda %s --license per il copyright e i dettagli della licenza.\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 ""
"Uso: %s [<opzione> ...] [<azione> ...]\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 ""
"Opzioni:\n"
"  --admindir <directory>     Usa <directory> invece di %s.\n"
"  --expert                   Abilita il modo esperto.\n"
"  --debug <file> | -D<file>  Abilita il debugging, mandando l'output a "
"<file>.\n"
"  --colour | --color screenpart:[foreground],[background][:attr[+attr+..]]\n"
"                             Configura i colori dello schermo.\n"
"\n"

#: dselect/main.cc:196
#, fuzzy, c-format
msgid ""
"  --help                     Show this help message.\n"
"  --version                  Show the version.\n"
"\n"
msgstr ""
"  --help                     Mostra questo messaggio di aiuto.\n"
"  --version                  Mostra la versione.\n"
"  --license | --licence      Mostra la licenza.\n"
"\n"

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

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

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

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

#: dselect/main.cc:233
#, c-format
msgid "couldn't open debug file `%.255s'\n"
msgstr "impossibile aprire il file di debug `%.255s'\n"

#: dselect/main.cc:253
#, c-format
msgid "Invalid %s `%s'\n"
msgstr "Elemento non valido per tabella %s: '%s'\n"

#: dselect/main.cc:270
msgid "screen part"
msgstr "settore schermata"

#: dselect/main.cc:276
msgid "Null colour specification\n"
msgstr "Specificato un colore nullo\n"

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

#: dselect/main.cc:297
msgid "colour attribute"
msgstr "attributo colore"

#: dselect/main.cc:329
msgid "Terminal does not appear to support cursor addressing.\n"
msgstr ""
"Il terminale non sembra in grado di gestire il posizionamento del cursore.\n"

#: dselect/main.cc:331
msgid "Terminal does not appear to support highlighting.\n"
msgstr "Il terminale non sembra in grado di gestire l'evidenziazione.\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 ""
"Imposta correttamente la variabile TERM, utilizza un terminale migliore,\n"
"oppure usa lo strumento di base per la gestione dei pacchetti %s.\n"

#: dselect/main.cc:336
msgid "terminal lacks necessary features, giving up"
msgstr "il terminale manca delle funzionalità necessarie, lascio perdere"

#: 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"
"Spostati con ^P e ^N, i tasti cursore, lettera iniziale o numero "
"dell'opzione;\n"
"Premi <invio> per confermare la selezione.   ^L ridisegna la schermata.\n"
"\n"

#: dselect/main.cc:428
msgid ""
"\n"
"\n"
"Read-only access: only preview of selections is available!"
msgstr ""
"\n"
"\n"
"Accesso in sola lettura: è possibile solo visionare le selezioni!"

#: dselect/main.cc:448
msgid "failed to getch in main menu"
msgstr "impossibile eseguire getch nel menù principale"

#: dselect/main.cc:531
#, c-format
msgid "unknown action string `%.50s'"
msgstr "stringa di azione sconosciuta `%.50s'"

#: dselect/methlist.cc:77
msgid "dselect - list of access methods"
msgstr "dselect - lista dei metodi di accesso"

#: dselect/methlist.cc:86
#, c-format
msgid "Access method `%s'."
msgstr "Metodo d'accesso `%s'."

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

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

#: dselect/methlist.cc:164 dselect/pkglist.cc:572
msgid "doupdate failed"
msgstr "doupdate fallita"

#: dselect/methlist.cc:166 dselect/pkglist.cc:575
msgid "failed to unblock SIGWINCH"
msgstr "impossibile sbloccare SIGWINCH"

#: dselect/methlist.cc:170 dselect/pkglist.cc:580
msgid "failed to re-block SIGWINCH"
msgstr "impossibile ribloccare SIGWINCH"

#: dselect/methlist.cc:171 dselect/pkglist.cc:582
msgid "getch failed"
msgstr "getch fallita"

#: dselect/methlist.cc:188
#, fuzzy
msgid "Explanation"
msgstr "spiegazioni su "

#: dselect/methlist.cc:197
msgid "No explanation available."
msgstr "Nessuna spiegazione disponibile"

#: 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"
"Premi <invio> per continuare."

#: dselect/method.cc:161
#, c-format
msgid "Press <enter> to continue.\n"
msgstr "Premi <invio> per continuare.\n"

#: dselect/method.cc:162
#, fuzzy
msgid "<standard error>"
msgstr "errore di scrittura su standard error"

#: dselect/method.cc:165
msgid "error reading acknowledgement of program failure message"
msgstr "errore leggendo l'accettazione del messaggio di errore del programma"

#: dselect/method.cc:196
msgid "update available list script"
msgstr "lo script di aggiornamento della disponibilità"

#: dselect/method.cc:200
msgid "installation script"
msgstr "lo script di installazione"

#: dselect/method.cc:246
msgid "query/setup script"
msgstr "lo script di query/setup"

#: dselect/methparse.cc:53
#, c-format
msgid "syntax error in method options file `%.250s' -- %s"
msgstr "errore di sintassi nel file di opzioni dei metodi `%.250s' -- %s"

#: dselect/methparse.cc:59
#, c-format
msgid "error reading options file `%.250s'"
msgstr "errore leggendo il file di opzioni `%.250s'"

#: dselect/methparse.cc:90
#, c-format
msgid "unable to read `%.250s' directory for reading methods"
msgstr "impossibile leggere la directory `%.250s' per leggere i metodi"

#: dselect/methparse.cc:106
#, c-format
msgid "method `%.250s' has name that is too long (%d > %d characters)"
msgstr "il metodo `%.250s' ha un nome troppo lungo (%d > %d caratteri)"

#: dselect/methparse.cc:117
#, c-format
msgid "unable to access method script `%.250s'"
msgstr "impossibile accedere allo script di metodo `%.250s'"

#: dselect/methparse.cc:123
#, c-format
msgid "unable to read method options file `%.250s'"
msgstr "impossibile leggere il file di opzioni dei metodi `%.250s'"

#: dselect/methparse.cc:147
msgid "non-digit where digit wanted"
msgstr "un carattere che non è una cifra dove questa è richiesta"

#: dselect/methparse.cc:150
msgid "EOF in index string"
msgstr "EOF nella stringa di indice"

#: dselect/methparse.cc:153
msgid "index string too long"
msgstr "stringa di indice troppo lunga"

#: dselect/methparse.cc:156
msgid "newline before option name start"
msgstr "a-capo prima dell'inizio del nome dell'opzione"

#: dselect/methparse.cc:158
msgid "EOF before option name start"
msgstr "EOF prima dell'inizio del nome dell'opzione"

#: dselect/methparse.cc:162
msgid "nonalpha where option name start wanted"
msgstr "carattere non alfabetico dove deve cominciare il nome dell'opzione"

#: dselect/methparse.cc:164
msgid "non-alphanum in option name"
msgstr "carattere non alfanumerico nel nome dell'opzione"

#: dselect/methparse.cc:167
msgid "EOF in option name"
msgstr "EOF nel nome dell'opzione"

#: dselect/methparse.cc:172
msgid "newline before summary"
msgstr "a-capo prima del sommario"

#: dselect/methparse.cc:174
msgid "EOF before summary"
msgstr "EOF prima del sommario"

#: dselect/methparse.cc:180
msgid "EOF in summary - missing newline"
msgstr "EOF nel sommario - manca l'a-capo"

#: dselect/methparse.cc:190
#, c-format
msgid "unable to open option description file `%.250s'"
msgstr "impossibile aprire il file con le descrizioni delle opzioni `%.250s'"

#: dselect/methparse.cc:194
#, c-format
msgid "unable to stat option description file `%.250s'"
msgstr ""
"impossibile eseguire stat sul file con le descrizioni delle opzioni `%.250s'"

#: dselect/methparse.cc:198
#, c-format
msgid "failed to read option description file `%.250s'"
msgstr "impossibile leggere il file con le descrizioni delle opzioni `%.250s'"

#: dselect/methparse.cc:201
#, c-format
msgid "error during read of option description file `%.250s'"
msgstr "errore leggendo il file con le descrizioni delle opzioni `%.250s'"

#: dselect/methparse.cc:224
#, c-format
msgid "error during read of method options file `%.250s'"
msgstr "errore leggendo il file di opzioni dei metodi `%.250s'"

#: dselect/methparse.cc:247
#, c-format
msgid "unable to open current option file `%.250s'"
msgstr "impossibile aprire il file di opzioni corrente `%.250s'"

#: dselect/methparse.cc:289
#, c-format
msgid "unable to open new option file `%.250s'"
msgstr "impossibile aprire il nuovo file di opzioni `%.250s'"

#: dselect/methparse.cc:292
#, c-format
msgid "unable to write new option to `%.250s'"
msgstr "impossibile scrivere la nuova opzione in `%.250s'"

#: dselect/methparse.cc:295
#, c-format
msgid "unable to close new option file `%.250s'"
msgstr "impossibile chiudere il nuovo file di opzioni `%.250s'"

#: dselect/methparse.cc:297
#, c-format
msgid "unable to install new option as `%.250s'"
msgstr "impossibile installare la nuova opzione come `%.250s'"

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

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

#: dselect/pkgdisplay.cc:38
msgid "hold"
msgstr "blocca"

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

#: dselect/pkgdisplay.cc:40
msgid "purge"
msgstr "elimina"

#. 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 "REINSTALL"

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

#: dselect/pkgdisplay.cc:52
msgid "removed (configs remain)"
msgstr "rimosso (rimane la config.)"

#: dselect/pkgdisplay.cc:53
msgid "half installed"
msgstr "install. parz."

#: dselect/pkgdisplay.cc:54
msgid "unpacked (not set up)"
msgstr "spacchettato (non conf.)"

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

#: dselect/pkgdisplay.cc:56
msgid "awaiting trigger processing"
msgstr ""

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

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

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

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

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

#: dselect/pkgdisplay.cc:64
msgid "Optional"
msgstr "opzionali"

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

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

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

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

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

#: dselect/pkgdisplay.cc:72
msgid "depends on"
msgstr "dipende da"

#: dselect/pkgdisplay.cc:73
msgid "pre-depends on"
msgstr "pre-dipende da"

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

#: dselect/pkgdisplay.cc:75
msgid "conflicts with"
msgstr "è in conflitto con"

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

#: dselect/pkgdisplay.cc:77
msgid "replaces"
msgstr "sostituisce"

#: dselect/pkgdisplay.cc:78
msgid "enhances"
msgstr "estende"

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

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

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

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

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

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

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

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

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

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

#: dselect/pkgdisplay.cc:98
msgid "Obsolete/local"
msgstr "obsoleti o locali"

#: dselect/pkgdisplay.cc:99
msgid "Up-to-date"
msgstr "già aggiornati"

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

#: dselect/pkgdisplay.cc:101 dselect/pkgdisplay.cc:117
msgid "Removed"
msgstr "rimossi"

#: dselect/pkgdisplay.cc:102 dselect/pkgdisplay.cc:111
msgid "Brokenly installed packages"
msgstr "Pacchetti installati con difetti"

#: dselect/pkgdisplay.cc:103
msgid "Newly available packages"
msgstr "Nuovi pacchetti disponibili"

#: dselect/pkgdisplay.cc:104
msgid "Updated packages (newer version is available)"
msgstr "Pacchetti aggiornabili (è disponibile una nuova versione)"

#: dselect/pkgdisplay.cc:105
msgid "Obsolete and local packages present on system"
msgstr "Pacchetti obsoleti e locali presenti nel sistema"

#: dselect/pkgdisplay.cc:106
msgid "Up to date installed packages"
msgstr "Pacchetti aggiornati già installati"

#: dselect/pkgdisplay.cc:107
msgid "Available packages (not currently installed)"
msgstr "Pacchetti disponibili (non attualmente installati)"

#: dselect/pkgdisplay.cc:108
msgid "Removed and no longer available packages"
msgstr "Pacchetti rimossi e non più disponibili"

#: dselect/pkgdisplay.cc:112
msgid "Installed packages"
msgstr "Pacchetti installati"

#: dselect/pkgdisplay.cc:113
msgid "Removed packages (configuration still present)"
msgstr "Pacchetti rimossi (la configurazione è ancora presente)"

#: dselect/pkgdisplay.cc:114
msgid "Purged packages and those never installed"
msgstr "Pacchetti eliminati e quelli mai installati"

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

#: dselect/pkgdisplay.cc:118
msgid "Purged"
msgstr "Eliminato"

#: dselect/pkgdisplay.cc:198
msgid "dselect - recursive package listing"
msgstr "dselect - lista ricorsiva dei pacchetti "

#: dselect/pkgdisplay.cc:199
msgid "dselect - inspection of package states"
msgstr "dselect - ispezione dello stato del pacchetto"

#: dselect/pkgdisplay.cc:200
msgid "dselect - main package listing"
msgstr "dselect - lista principale"

#: dselect/pkgdisplay.cc:208
msgid " (by section)"
msgstr " (per sezione)"

#: dselect/pkgdisplay.cc:211
msgid " (avail., section)"
msgstr " (dispon., sezione)"

#: dselect/pkgdisplay.cc:214
msgid " (status, section)"
msgstr " (stato, sezione)"

#: dselect/pkgdisplay.cc:223
msgid " (by priority)"
msgstr " (per priorità)"

#: dselect/pkgdisplay.cc:226
msgid " (avail., priority)"
msgstr " (dispon., priorità)"

#: dselect/pkgdisplay.cc:229
msgid " (status, priority)"
msgstr " (stato, priorità)"

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

#: dselect/pkgdisplay.cc:241
msgid " (by availability)"
msgstr " (per disponibilità)"

#: dselect/pkgdisplay.cc:244
msgid " (by status)"
msgstr " (per stato)"

#: dselect/pkgdisplay.cc:258
msgid " mark:+/=/- terse:v help:?"
msgstr " marc:+/=/- concisa:v aiuto:?"

#: dselect/pkgdisplay.cc:259
msgid " mark:+/=/- verbose:v help:?"
msgstr " marc:+/=/- estesa:v aiuto:?"

#: dselect/pkgdisplay.cc:260
msgid " terse:v help:?"
msgstr " concisa:v aiuto:?"

#: dselect/pkgdisplay.cc:261
msgid " verbose:v help:?"
msgstr " estesa:v aiuto:?"

#: 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 ""
"La riga che hai evidenziato rappresenta diversi pacchetti; se ne chiedi "
"l'installazione, la rimozione, il blocco e così via verranno coinvolti tutti "
"i pacchetti che corrispondono al criterio mostrato.\n"
"\n"
"Se sposti l'evidenziazione su un singolo pacchetto vedrai le informazioni "
"relative ad esso visualizzate qui.\n"
"Puoi usare `o' e `O' per cambiare l'ordine di visualizzazione ed avere "
"l'opportunità di contrassegnare i pacchetti in differenti tipi di "
"raggruppamento."

#: dselect/pkginfo.cc:93
#, fuzzy
msgid "Interrelationships"
msgstr "interrelazioni"

#: dselect/pkginfo.cc:112
#, fuzzy
msgid "No description available."
msgstr "nessuna descrizione disponibile."

#: dselect/pkginfo.cc:130
#, fuzzy
msgid "Installed control file information"
msgstr "info di controllo installate di "

#: dselect/pkginfo.cc:146
#, fuzzy
msgid "Available control file information"
msgstr "info di controllo della versione disponibile"

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

#: dselect/pkglist.cc:507
msgid "invalid search option given"
msgstr "specificata opzione di ricerca errata"

#: dselect/pkglist.cc:521
msgid "error in regular expression"
msgstr "errore nell'espressione regolare"

#: dselect/pkgsublist.cc:107
msgid " does not appear to be available\n"
msgstr " non sembra essere disponibile\n"

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

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

#: dselect/pkgtop.cc:79
msgid "All packages"
msgstr "Tutti i pacchetti"

#: dselect/pkgtop.cc:83
#, c-format
msgid "%s packages without a section"
msgstr "Pacchetti %s senza una sezione"

#: dselect/pkgtop.cc:85
#, c-format
msgid "%s packages in section %s"
msgstr "Pacchetti %s nella sezione %s"

#: dselect/pkgtop.cc:91
#, c-format
msgid "%s %s packages"
msgstr "Pacchetti %2$s %1$s"

#: dselect/pkgtop.cc:95
#, c-format
msgid "%s %s packages without a section"
msgstr "Pacchetti %2$s %1$s senza una sezione"

#: dselect/pkgtop.cc:97
#, c-format
msgid "%s %s packages in section %s"
msgstr "Pacchetti %2$s %1$s nella sezione %3$s"

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

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

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

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

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

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

#: dselect/pkgtop.cc:280
msgid "Section"
msgstr "Sezione"

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

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

#: 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 "ha restituito un codice di errore %d in uscita.\n"

#~ msgid "was interrupted.\n"
#~ msgstr "è stato interrotto.\n"

#~ msgid "was terminated by a signal: %s.\n"
#~ msgstr "è stato terminato da un segnale: %s.\n"

#~ msgid "(It left a coredump.)\n"
#~ msgstr "(Ha lasciato un coredump.)\n"

#~ msgid "failed with an unknown wait return code %d.\n"
#~ msgstr "wait fallita con un errore sconosciuto %d.\n"

#~ msgid "unable to run %.250s process `%.250s'"
#~ msgstr "impossibile eseguire %.250s in `%.250s'"

#~ msgid "failed config"
#~ msgstr "config. fallita"

#~ msgid "unable to wait for %.250s"
#~ msgstr "impossibile aspettare la fine dell'esecuzione di %.250s"

#~ msgid "got wrong child's status - asked for %ld, got %ld"
#~ msgstr ""
#~ "ottenuto un codice errato dal sottoprocesso - richiesto %ld, restituito "
#~ "%ld"

#~ msgid "Recommended"
#~ msgstr "raccomandati"

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

#~ msgid "Rec"
#~ msgstr "Rac"

#~ 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() 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"

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

#~ msgid "error un-catching signal %d: %s\n"
#~ msgstr "errore ripristinando il segnale n.%d: %s\n"

#~ msgid "unable to ignore signal %d before running %.250s"
#~ msgstr "impossibile ignorare il segnare n.%d prima di lanciare %.250s"

#~ msgid "(no clientdata)"
#~ msgstr "(no clientdata)"

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

#~ msgid "interrelationships affecting "
#~ msgstr "interrelazioni relative a "

#~ msgid "description of "
#~ msgstr "descrizione di "

#~ msgid "description"
#~ msgstr "descrizione"

#~ msgid "currently installed control info"
#~ msgstr "info di controllo attualmente installate"

#~ msgid "available version of control info for "
#~ msgstr "info di controllo della versione disponibile di "
