# Italian translation for xz-utils
# This file is in the public domain
# Gruppo traduzione italiano di Ubuntu-it <gruppo-traduzione@ubuntu-it.org>, 2009, 2010
# Lorenzo De Liso <blackz@ubuntu.com>, 2010.
# Milo Casagrande <milo@ubuntu.com>, 2009, 2010, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: xz-utils\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-27 11:59+0200\n"
"PO-Revision-Date: 2011-05-27 11:59+0200\n"
"Last-Translator: Milo Casagrande <milo@ubuntu.com>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-08-16 19:16+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"

#: ../src/xz/args.c:338
#, c-format
msgid "%s: Unknown file format type"
msgstr "%s: tipo di formato del file sconosciuto"

#: ../src/xz/args.c:361 ../src/xz/args.c:369
#, c-format
msgid "%s: Unsupported integrity check type"
msgstr "%s: tipo di controllo integrità non supportato"

#: ../src/xz/args.c:396
msgid "Only one file can be specified with `--files' or `--files0'."
msgstr "Solo un file può essere specificato con \"--files\" o \"--files0\"."

#: ../src/xz/args.c:459
#, c-format
msgid "The environment variable %s contains too many arguments"
msgstr "La variabile d'ambiente %s contiene troppi argomenti"

#: ../src/xz/coder.c:105
msgid "Maximum number of filters is four"
msgstr "Il numero massimo di filtri è quattro"

#: ../src/xz/coder.c:118
msgid "Memory usage limit is too low for the given filter setup."
msgstr ""
"Il limite dell'uso della memoria è troppo basso per l'impostazione del "
"filtro dato."

#. The message is shown only if warnings are allowed
#. but the exit status isn't changed.
#: ../src/xz/coder.c:148
msgid "Using a preset in raw mode is discouraged."
msgstr "Non è consigliato usare un preset nella modalità raw."

#: ../src/xz/coder.c:150
msgid "The exact options of the presets may vary between software versions."
msgstr ""
"Le opzioni esatte per i preset possono variare tra le versioni del software."

#: ../src/xz/coder.c:176
msgid "The .lzma format supports only the LZMA1 filter"
msgstr "Il formato .lzma supporta solo il filtro LZMA1"

#: ../src/xz/coder.c:184
msgid "LZMA1 cannot be used with the .xz format"
msgstr "LZMA1 non può essere usato con il formato .xz"

#: ../src/xz/coder.c:203
#, c-format
msgid "Using up to %<PRIu32> threads."
msgstr "Vengono usati circa %<PRIu32> thread."

#: ../src/xz/coder.c:216
msgid "Unsupported filter chain or filter options"
msgstr "Catena di filtri od opzioni del filtro non supportata"

#: ../src/xz/coder.c:224
#, c-format
msgid "Decompression will need %s MiB of memory."
msgstr "L'estrazione necessita di %s MiB di memoria."

#: ../src/xz/coder.c:259
#, c-format
msgid ""
"Adjusted the number of threads from %s to %s to not exceed the memory usage "
"limit of %s MiB"
msgstr ""
"Regolato il numero di thread da %s a %s per non eccedere il limite di "
"utilizzo della memoria di %s MiB"

#. Tell the user that we decreased the dictionary size.
#: ../src/xz/coder.c:313
#, c-format
msgid ""
"Adjusted LZMA%c dictionary size from %s MiB to %s MiB to not exceed the "
"memory usage limit of %s MiB"
msgstr ""
"Regolata la dimensione del dizionario LZMA%c da %s MiB a %s MiB per non "
"superare il limite dell'uso della memoria di %s MiB"

#. TRANSLATORS: When compression or decompression finishes,
#. and xz is going to remove the source file, xz first checks
#. if the source file still exists, and if it does, does its
#. device and inode numbers match what xz saw when it opened
#. the source file. If these checks fail, this message is
#. shown, %s being the filename, and the file is not deleted.
#. The check for device and inode numbers is there, because
#. it is possible that the user has put a new file in place
#. of the original file, and in that case it obviously
#. shouldn't be removed.
#: ../src/xz/file_io.c:136
#, c-format
msgid "%s: File seems to have been moved, not removing"
msgstr "%s: sembra che il file sia stato spostato, non viene rimosso"

#: ../src/xz/file_io.c:143 ../src/xz/file_io.c:635
#, c-format
msgid "%s: Cannot remove: %s"
msgstr "%s: impossibile rimuovere: %s"

#: ../src/xz/file_io.c:168
#, c-format
msgid "%s: Cannot set the file owner: %s"
msgstr "%s: impossibile impostare il proprietario del file: %s"

#: ../src/xz/file_io.c:174
#, c-format
msgid "%s: Cannot set the file group: %s"
msgstr "%s: impossibile impostare il gruppo del file: %s"

#: ../src/xz/file_io.c:193
#, c-format
msgid "%s: Cannot set the file permissions: %s"
msgstr "%s: impossibile impostare i permessi del file: %s"

#: ../src/xz/file_io.c:340 ../src/xz/file_io.c:423
#, c-format
msgid "%s: Is a symbolic link, skipping"
msgstr "%s: è un collegamento simbolico, viene saltato"

#: ../src/xz/file_io.c:468
#, c-format
msgid "%s: Is a directory, skipping"
msgstr "%s: è una directory, viene saltata"

#: ../src/xz/file_io.c:474
#, c-format
msgid "%s: Not a regular file, skipping"
msgstr "%s: non è un file regolare, viene saltato"

#. gzip rejects setuid and setgid files even
#. when --force was used. bzip2 doesn't check
#. for them, but calls fchown() after fchmod(),
#. and many systems automatically drop setuid
#. and setgid bits there.
#.
#. We accept setuid and setgid files if
#. --force was used. We drop these bits
#. explicitly in io_copy_attr().
#: ../src/xz/file_io.c:491
#, c-format
msgid "%s: File has setuid or setgid bit set, skipping"
msgstr "%s: il file ha il bit setuid o setgid impostato, viene saltato"

#: ../src/xz/file_io.c:498
#, c-format
msgid "%s: File has sticky bit set, skipping"
msgstr "%s: il file ha lo sticky bit impostato, viene saltato"

#: ../src/xz/file_io.c:505
#, c-format
msgid "%s: Input file has more than one hard link, skipping"
msgstr "%s: il file di input ha più di un collegamento fisico, viene saltato"

#: ../src/xz/file_io.c:761
#, c-format
msgid "Error restoring the O_APPEND flag to standard output: %s"
msgstr "Errore nel ripristinare la flag O_APPEND sullo standard output: %s"

#: ../src/xz/file_io.c:773
#, c-format
msgid "%s: Closing the file failed: %s"
msgstr "%s: chiusura del file non riuscita: %s"

#: ../src/xz/file_io.c:809 ../src/xz/file_io.c:1008
#, c-format
msgid "%s: Seeking failed when trying to create a sparse file: %s"
msgstr ""
"%s: posizionamento non riuscito nel tentativo di creare un file sparso: %s"

#: ../src/xz/file_io.c:883
#, c-format
msgid "%s: Read error: %s"
msgstr "%s: errore di lettura: %s"

#: ../src/xz/file_io.c:906
#, c-format
msgid "%s: Error seeking the file: %s"
msgstr "%s: errore nel cercare il file: %s"

#: ../src/xz/file_io.c:916
#, c-format
msgid "%s: Unexpected end of file"
msgstr "%s: fine del file inaspettata"

#: ../src/xz/file_io.c:966
#, c-format
msgid "%s: Write error: %s"
msgstr "%s: errore di scrittura: %s"

#: ../src/xz/hardware.c:101
msgid "Disabled"
msgstr "Disabilitato"

#. TRANSLATORS: Test with "xz --info-memory" to see if
#. the alignment looks nice.
#: ../src/xz/hardware.c:120
msgid "Total amount of physical memory (RAM): "
msgstr "Quantità totale di memoria fisica (RAM):     "

#: ../src/xz/hardware.c:122
msgid "Memory usage limit for compression:    "
msgstr "Limite utilizzo memoria per la compressione: "

#: ../src/xz/hardware.c:124
msgid "Memory usage limit for decompression:  "
msgstr "Limite utilizzo memoria per l'estrazione:    "

#. TRANSLATORS: Indicates that there is no integrity check.
#. This string is used in tables, so the width must not
#. exceed ten columns with a fixed-width font.
#: ../src/xz/list.c:62
msgid "None"
msgstr "Nessuno"

#. TRANSLATORS: Indicates that integrity check name is not known,
#. but the Check ID is known (here 2). This and other "Unknown-N"
#. strings are used in tables, so the width must not exceed ten
#. columns with a fixed-width font. It's OK to omit the dash if
#. you need space for one extra letter, but don't use spaces.
#: ../src/xz/list.c:69
msgid "Unknown-2"
msgstr "Sconosc2"

#: ../src/xz/list.c:70
msgid "Unknown-3"
msgstr "Sconosc3"

#: ../src/xz/list.c:72
msgid "Unknown-5"
msgstr "Sconosc5"

#: ../src/xz/list.c:73
msgid "Unknown-6"
msgstr "Sconosc6"

#: ../src/xz/list.c:74
msgid "Unknown-7"
msgstr "Sconosc7"

#: ../src/xz/list.c:75
msgid "Unknown-8"
msgstr "Sconosc8"

#: ../src/xz/list.c:76
msgid "Unknown-9"
msgstr "Sconosc9"

#: ../src/xz/list.c:78
msgid "Unknown-11"
msgstr "Sconosc11"

#: ../src/xz/list.c:79
msgid "Unknown-12"
msgstr "Sconosc12"

#: ../src/xz/list.c:80
msgid "Unknown-13"
msgstr "Sconosc13"

#: ../src/xz/list.c:81
msgid "Unknown-14"
msgstr "Sconosc14"

#: ../src/xz/list.c:82
msgid "Unknown-15"
msgstr "Sconosc15"

#: ../src/xz/list.c:126
#, c-format
msgid "%s: File is empty"
msgstr "%s: il file è vuoto"

#: ../src/xz/list.c:131
#, c-format
msgid "%s: Too small to be a valid .xz file"
msgstr "%s: troppo piccolo per essere un file .xz valido"

#. TRANSLATORS: These are column headings. From Strms (Streams)
#. to Ratio, the columns are right aligned. Check and Filename
#. are left aligned. If you need longer words, it's OK to
#. use two lines here. Test with "xz -l foo.xz".
#: ../src/xz/list.c:612
msgid "Strms  Blocks   Compressed Uncompressed  Ratio  Check   Filename"
msgstr " Strm  Blocc.    Compresso     Estratto  Rapp.  Contr   Nome file"

#: ../src/xz/list.c:652
#, c-format
msgid "  Streams:            %s\n"
msgstr "  Stream:               %s\n"

#: ../src/xz/list.c:654
#, c-format
msgid "  Blocks:             %s\n"
msgstr "  Blocchi:              %s\n"

#: ../src/xz/list.c:656
#, c-format
msgid "  Compressed size:    %s\n"
msgstr "  Dim. compresso:       %s\n"

#: ../src/xz/list.c:659
#, c-format
msgid "  Uncompressed size:  %s\n"
msgstr "  Dim. estratto:        %s\n"

#: ../src/xz/list.c:662
#, c-format
msgid "  Ratio:              %s\n"
msgstr "  Rapporto:             %s\n"

#: ../src/xz/list.c:664
#, c-format
msgid "  Check:              %s\n"
msgstr "  Controllo:            %s\n"

#: ../src/xz/list.c:665
#, c-format
msgid "  Stream padding:     %s\n"
msgstr "  Padding dello stream: %s\n"

#. Print information about the Streams.
#.
#. TRANSLATORS: The second line is column headings. All except
#. Check are right aligned; Check is left aligned. Test with
#. "xz -lv foo.xz".
#: ../src/xz/list.c:693
msgid ""
"  Streams:\n"
"    Stream    Blocks      CompOffset    UncompOffset        CompSize      "
"UncompSize  Ratio  Check      Padding"
msgstr ""
"Stream:\n"
"    Stream    Blocc.    Offset comp.    Offset estr.      Dim. comp.   Dim. "
"estratto  Rapp.  Contr      Padding"

#. TRANSLATORS: The second line is column headings. All
#. except Check are right aligned; Check is left aligned.
#: ../src/xz/list.c:748
#, c-format
msgid ""
"  Blocks:\n"
"    Stream     Block      CompOffset    UncompOffset       TotalSize      "
"UncompSize  Ratio  Check"
msgstr ""
"  Blocchi:\n"
"    Stream    Blocc.    Offset comp. Offset estratto       Dim. tot.   Dim. "
"estratto  Rapp.  Contr"

#. TRANSLATORS: These are additional column headings
#. for the most verbose listing mode. CheckVal
#. (Check value), Flags, and Filters are left aligned.
#. Header (Block Header Size), CompSize, and MemUsage
#. are right aligned. %*s is replaced with 0-120
#. spaces to make the CheckVal column wide enough.
#. Test with "xz -lvv foo.xz".
#: ../src/xz/list.c:760
#, c-format
msgid "      CheckVal %*s Header  Flags        CompSize    MemUsage  Filters"
msgstr "      Val.cont %*s Header  Flag       Dim.compr.    Uso mem.  Filtri"

#: ../src/xz/list.c:838 ../src/xz/list.c:1007
#, c-format
msgid "  Memory needed:      %s MiB\n"
msgstr "  Memoria necessaria:   %s MiB\n"

#: ../src/xz/list.c:840 ../src/xz/list.c:1009
#, c-format
msgid "  Sizes in headers:   %s\n"
msgstr "  Dim. negli header:    %s\n"

#: ../src/xz/list.c:841 ../src/xz/list.c:1010
msgid "Yes"
msgstr "Sì"

#: ../src/xz/list.c:841 ../src/xz/list.c:1010
msgid "No"
msgstr "No"

#. Since we print totals only when there are at least two files,
#. the English message will always use "%s files". But some other
#. languages need different forms for different plurals so we
#. have to translate this with ngettext().
#.
#. TRANSLATORS: %s is an integer. Only the plural form of this
#. message is used (e.g. "2 files"). Test with "xz -l foo.xz bar.xz".
#: ../src/xz/list.c:986
#, c-format
msgid "%s file\n"
msgid_plural "%s files\n"
msgstr[0] "%s file\n"
msgstr[1] "%s file\n"

#: ../src/xz/list.c:999
msgid "Totals:"
msgstr "Totali:"

#: ../src/xz/list.c:1000
#, c-format
msgid "  Number of files:    %s\n"
msgstr "  Numero di file:       %s\n"

#: ../src/xz/list.c:1072
msgid "--list works only on .xz files (--format=xz or --format=auto)"
msgstr "--list funziona solamente con file .xz (--format=xz o --format=auto)"

#: ../src/xz/list.c:1078
msgid "--list does not support reading from standard input"
msgstr "--list non è in grado di leggere dallo standard input"

#: ../src/xz/main.c:89
#, c-format
msgid "%s: Error reading filenames: %s"
msgstr "%s: errore nel leggere i nomi dei file: %s"

#: ../src/xz/main.c:96
#, c-format
msgid "%s: Unexpected end of input when reading filenames"
msgstr "%s: fine dell'input durante la lettura dei nomi dei file non attesa"

#. A null character was found when using --files,
#. which expects plain text input separated with
#. newlines.
#: ../src/xz/main.c:120
#, c-format
msgid ""
"%s: Null character found when reading filenames; maybe you meant to use `--"
"files0' instead of `--files'?"
msgstr ""
"%s: nessun carattere trovato durante la lettura dei nomi dei file; forse si "
"intendeva usare \"--files0\" invece di \"--files\"?"

#: ../src/xz/main.c:174
msgid "Compression and decompression with --robot are not supported yet."
msgstr "La compressione e l'estrazione con --robot non sono ancora supportate."

#: ../src/xz/main.c:231
msgid ""
"Cannot read data from standard input when reading filenames from standard "
"input"
msgstr ""
"Impossibile leggere i dati dallo standard input durante la lettura dei nomi "
"dei file dallo standard input"

#. TRANSLATORS: This is the program name in the beginning
#. of the line in messages. Usually it becomes "xz: ".
#. This is a translatable string because French needs
#. a space before a colon.
#: ../src/xz/message.c:733
#, c-format
msgid "%s: "
msgstr "%s: "

#: ../src/xz/message.c:796 ../src/xz/message.c:846
msgid "Internal error (bug)"
msgstr "Errore interno (bug)"

#: ../src/xz/message.c:803
msgid "Cannot establish signal handlers"
msgstr "Impossibile stabilire i gestori dei segnali"

#: ../src/xz/message.c:812
msgid "No integrity check; not verifying file integrity"
msgstr ""
"Nessun controllo d'integrità; l'integrità del file non viene verificata"

#: ../src/xz/message.c:815
msgid "Unsupported type of integrity check; not verifying file integrity"
msgstr ""
"Tipo di controllo di integrità non supportato; l'integrità del file non "
"viene verificata"

#: ../src/xz/message.c:822
msgid "Memory usage limit reached"
msgstr "Limite di utilizzo della memoria raggiunto"

#: ../src/xz/message.c:825
msgid "File format not recognized"
msgstr "Formato di file non riconosciuto"

#: ../src/xz/message.c:828
msgid "Unsupported options"
msgstr "Opzioni non supportate"

#: ../src/xz/message.c:831
msgid "Compressed data is corrupt"
msgstr "I dati compressi sono danneggiati"

#: ../src/xz/message.c:834
msgid "Unexpected end of input"
msgstr "Fine dell'input non attesa"

#: ../src/xz/message.c:885
#, c-format
msgid "%s MiB of memory is required. The limit is %s."
msgstr "%s MiB di memoria sono richiesti. Il limite è %s."

#: ../src/xz/message.c:1052
#, c-format
msgid "%s: Filter chain: %s\n"
msgstr "%s: catena di filtri: %s\n"

#. Print this with V_WARNING instead of V_ERROR to prevent it from
#. showing up when --quiet has been specified.
#: ../src/xz/message.c:1062
#, c-format
msgid "Try `%s --help' for more information."
msgstr "Provare \"%s --help\" per maggiori informazioni."

#: ../src/xz/message.c:1088
#, c-format
msgid ""
"Usage: %s [OPTION]... [FILE]...\n"
"Compress or decompress FILEs in the .xz format.\n"
"\n"
msgstr ""
"Uso: %s [OPZIONI]... [FILE]...\n"
"Comprime o estrae i FILE nel formato .xz.\n"
"\n"

#: ../src/xz/message.c:1095
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
"Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle "
"brevi.\n"

#: ../src/xz/message.c:1099
msgid " Operation mode:\n"
msgstr " Modalità di operazione:\n"

#: ../src/xz/message.c:1102
msgid ""
"  -z, --compress      force compression\n"
"  -d, --decompress    force decompression\n"
"  -t, --test          test compressed file integrity\n"
"  -l, --list          list information about .xz files"
msgstr ""
"  -z, --compress      Forza la compressione\n"
"  -d, --decompress    Forza l'estrazione\n"
"  -t, --test          Verifica l'integrità dei file compressi\n"
"  -l, --list          Elenca informazioni sui file .xz"

#: ../src/xz/message.c:1108
msgid ""
"\n"
" Operation modifiers:\n"
msgstr ""
"\n"
" Modificatori di operazioni:\n"

#: ../src/xz/message.c:1111
msgid ""
"  -k, --keep          keep (don't delete) input files\n"
"  -f, --force         force overwrite of output file and (de)compress links\n"
"  -c, --stdout        write to standard output and don't delete input files"
msgstr ""
"  -k, --keep          Mantiene (non elimina) i file di input\n"
"  -f, --force         Forza la sovrascrittura dell'output e comprime/estrae "
"i\n"
"                      collegamenti\n"
"  -c, --stdout        Scrive sullo standard output e non elimina i file di "
"input"

#: ../src/xz/message.c:1117
msgid ""
"      --single-stream decompress only the first stream, and silently\n"
"                      ignore possible remaining input data"
msgstr ""
"      --single-stream Decomprime solamente il primo stream e ignora\n"
"                      silenziosamente i restanti dati di input"

#: ../src/xz/message.c:1120
msgid ""
"      --no-sparse     do not create sparse files when decompressing\n"
"  -S, --suffix=.SUF   use the suffix `.SUF' on compressed files\n"
"      --files[=FILE]  read filenames to process from FILE; if FILE is\n"
"                      omitted, filenames are read from the standard input;\n"
"                      filenames must be terminated with the newline "
"character\n"
"      --files0[=FILE] like --files but use the null character as terminator"
msgstr ""
"      --no-sparse     Non crea file sparsi durante l'estrazione\n"
"  -S, --suffix=.SUF   Usa il suffisso \".SUF\" sui file compressi\n"
"      --files=[FILE]  Legge i nomi dei file da elaborare da FILE; se FILE è\n"
"                      omesso, i nomi dei file sono letti dallo standard "
"input;\n"
"                      i nomi dei file devono essere terminati con un "
"carattere\n"
"                      di newline\n"
"      --files0=[FILE] Come --files ma usa il carattere null come terminatore"

#: ../src/xz/message.c:1129
msgid ""
"\n"
" Basic file format and compression options:\n"
msgstr ""
"\n"
" Formato file di base e opzioni di compressione:\n"

#: ../src/xz/message.c:1131
msgid ""
"  -F, --format=FMT    file format to encode or decode; possible values are\n"
"                      `auto' (default), `xz', `lzma', and `raw'\n"
"  -C, --check=CHECK   integrity check type: `none' (use with caution),\n"
"                      `crc32', `crc64' (default), or `sha256'"
msgstr ""
"  -F, --format=FMT    Formato file per codificare o decodificare; i "
"possibili\n"
"                      valori sono \"auto\" (predefinito) \"xz\", \"lzma\" e "
"\"raw\"\n"
"  -C, --check=CHECK   Tipo di verifica integrità: \"none\" (usare con "
"attenzione),\n"
"                      \"crc32\", \"crc64\" (predefinito) o \"sha256\""

#: ../src/xz/message.c:1138
msgid ""
"  -0 ... -9           compression preset; default is 6; take compressor "
"*and*\n"
"                      decompressor memory usage into account before using "
"7-9!"
msgstr ""
"  -0 ... -9           Preset di compressione; predefinito è 6; tenere a "
"mente\n"
"                      l'utilizzo di memoria per comprimere ed estrarre "
"prima\n"
"                      di usare 7-9"

#: ../src/xz/message.c:1142
msgid ""
"  -e, --extreme       try to improve compression ratio by using more CPU "
"time;\n"
"                      does not affect decompressor memory requirements"
msgstr ""
"  -e, --extreme       Tenta di migliorare il rapporto di compressione\n"
"                      utilizzando più tempo di CPU; non cambia i requisiti "
"di\n"
"                      memoria in fase di estrazione"

#: ../src/xz/message.c:1147
msgid ""
"      --block-size=SIZE\n"
"                      when compressing to the .xz format, start a new block\n"
"                      after every SIZE bytes of input; 0=disabled (default)"
msgstr ""
"      --block-size=DIM \n"
"                      Comprimendo nel formato .zx, comincia un nuovo blocco\n"
"                      dopo DIM byte di input; 0=disabilitato (predefinito)"

#: ../src/xz/message.c:1151
#, no-c-format
msgid ""
"      --memlimit-compress=LIMIT\n"
"      --memlimit-decompress=LIMIT\n"
"  -M, --memlimit=LIMIT\n"
"                      set memory usage limit for compression, "
"decompression,\n"
"                      or both; LIMIT is in bytes, % of RAM, or 0 for defaults"
msgstr ""
"      --memlimit-compress=LIMIT\n"
"      --memlimit-decompress=LIMIT\n"
"  -M, --memlimit=LIMIT\n"
"                      Imposta il limite di utilizzo della memoria per la\n"
"                      compressione, l'estrazione o entrambe; LIMIT è in "
"byte,\n"
"                      % della memoria RAM oppure 0 per il valore predefinito"

#: ../src/xz/message.c:1158
msgid ""
"      --no-adjust     if compression settings exceed the memory usage "
"limit,\n"
"                      give an error instead of adjusting the settings "
"downwards"
msgstr ""
"      --no-adjust     Se le impostazioni di compressione eccedono il limite "
"di\n"
"                      utilizzo della memoria, lancia un errore invece di\n"
"                      utilizzare valori più piccoli"

#: ../src/xz/message.c:1164
msgid ""
"\n"
" Custom filter chain for compression (alternative for using presets):"
msgstr ""
"\n"
" Catena di filtri personalizzati per la compressione (alternative per\n"
" l'utilizzo di preset):"

#: ../src/xz/message.c:1173
msgid ""
"\n"
"  --lzma1[=OPTS]      LZMA1 or LZMA2; OPTS is a comma-separated list of zero "
"or\n"
"  --lzma2[=OPTS]      more of the following options (valid values; "
"default):\n"
"                        preset=PRE reset options to a preset (0-9[e])\n"
"                        dict=NUM   dictionary size (4KiB - 1536MiB; 8MiB)\n"
"                        lc=NUM     number of literal context bits (0-4; 3)\n"
"                        lp=NUM     number of literal position bits (0-4; 0)\n"
"                        pb=NUM     number of position bits (0-4; 2)\n"
"                        mode=MODE  compression mode (fast, normal; normal)\n"
"                        nice=NUM   nice length of a match (2-273; 64)\n"
"                        mf=NAME    match finder (hc3, hc4, bt2, bt3, bt4; "
"bt4)\n"
"                        depth=NUM  maximum search depth; 0=automatic "
"(default)"
msgstr ""
"\n"
"  --lzma1[=OPZ]      LZMA1 o LZMA2; OPZ è un elenco separato da virgole di "
"zero\n"
"  --lzma2[=OPZ]      o più delle seguenti opzioni (valori validi; "
"predefinito):\n"
"                        preset=NUM Reimposta le opzioni al preset NUM (0-9"
"[e])\n"
"                        dict=NUM   Dimensione del dizionario\n"
"                                   (4KiB - 1536MiB; 8MiB)\n"
"                        lc=NUM     Numero di bit letterali di contesto (0-4; "
"3)\n"
"                        lp=NUM     Numero di bit letterali di posizione "
"(0-4; 0)\n"
"                        pb=NUM     Numero di bit di posizione (0-4; 2)\n"
"                        mode=MODE  Modalità di compressione\n"
"                                   (fast, normal; normal)\n"
"                        nice=NUM   Lunghezza valida per una corrispondenza\n"
"                                   (2-273; 64)\n"
"                        mf=NAME    Strumento per cercare corrispondenze\n"
"                                   (hc3, hc4, bt2, bt3, bt4; bt4)\n"
"                        depth=NUM  Profondità massima di ricerca; "
"0=automatica\n"
"                                   (predefinito)"

#: ../src/xz/message.c:1188
msgid ""
"\n"
"  --x86[=OPTS]        x86 BCJ filter (32-bit and 64-bit)\n"
"  --powerpc[=OPTS]    PowerPC BCJ filter (big endian only)\n"
"  --ia64[=OPTS]       IA-64 (Itanium) BCJ filter\n"
"  --arm[=OPTS]        ARM BCJ filter (little endian only)\n"
"  --armthumb[=OPTS]   ARM-Thumb BCJ filter (little endian only)\n"
"  --sparc[=OPTS]      SPARC BCJ filter\n"
"                      Valid OPTS for all BCJ filters:\n"
"                        start=NUM  start offset for conversions (default=0)"
msgstr ""
"\n"
"  --x86[=OPZ]        Filtro BCJ x86 (32 e 64 bit)\n"
"  --powerpc[=OPZ]    Filtro BCJ PowerPC (solo big endian)\n"
"  --ia64[=OPZ]       Filtro BCJ IA-64 (Itanium)\n"
"  --arm[=OPZ]        Filtro BCJ ARM (solo little endian)\n"
"  --armthumb[=OPZ]   Filtro BCJ ARM-Thumb (solo little endian)\n"
"  --sparc[=OPZ]      Filtro BCJ SPARC\n"
"                     OPZ valide per tutti i filtri BCJ:\n"
"                      start=NUM Offset iniziale per le conversioni\n"
"                                (predefinito=0)"

#: ../src/xz/message.c:1200
msgid ""
"\n"
"  --delta[=OPTS]      Delta filter; valid OPTS (valid values; default):\n"
"                        dist=NUM   distance between bytes being subtracted\n"
"                                   from each other (1-256; 1)"
msgstr ""
"\n"
"  --delta[=OPZ]      Filtro Delta; OPZ valide (valori validi; predefinito):\n"
"                      dist=NUM   Distanza tra byte sottratti\n"
"                                 gli uni dagli altri (1-256; 1)"

#: ../src/xz/message.c:1208
msgid ""
"\n"
" Other options:\n"
msgstr ""
"\n"
" Altre opzioni:\n"

#: ../src/xz/message.c:1211
msgid ""
"  -q, --quiet         suppress warnings; specify twice to suppress errors "
"too\n"
"  -v, --verbose       be verbose; specify twice for even more verbose"
msgstr ""
"  -q, --quiet         Sopprime gli avvisi; specificare due volte per "
"sopprimere\n"
"                      anche gli errori\n"
"  -v, --verbose       Output prolisso; specificare due volte per output "
"ancora\n"
"                      più prolisso"

#: ../src/xz/message.c:1216
msgid "  -Q, --no-warn       make warnings not affect the exit status"
msgstr "  -Q, --no-warn       Gli avvisi non influenzano lo stato d'uscita"

#: ../src/xz/message.c:1218
msgid ""
"      --robot         use machine-parsable messages (useful for scripts)"
msgstr "      --robot         Usa messaggi analizzabili (utile per gli script)"

#: ../src/xz/message.c:1221
msgid ""
"      --info-memory   display the total amount of RAM and the currently "
"active\n"
"                      memory usage limits, and exit"
msgstr ""
"      --info-memory   Visualizza la quantità totale di RAM, il limite "
"attuale\n"
"                      attivo di utilizzo della memore ed esce"

#: ../src/xz/message.c:1224
msgid ""
"  -h, --help          display the short help (lists only the basic options)\n"
"  -H, --long-help     display this long help and exit"
msgstr ""
"  -h, --help          Stampa l'aiuto breve (elenca solo le opzioni di base)\n"
"  -H, --long-help     Stampa questo lungo aiuto ed esce"

#: ../src/xz/message.c:1228
msgid ""
"  -h, --help          display this short help and exit\n"
"  -H, --long-help     display the long help (lists also the advanced options)"
msgstr ""
"  -h, --help          Stampa questo breve aiuto ed esce\n"
"  -H, --long-help     Stampa l'aiuto lungo (elenca anche le opzioni avanzate)"

#: ../src/xz/message.c:1233
msgid "  -V, --version       display the version number and exit"
msgstr "  -V, --version       Stampa il numero della versione ed esce"

#: ../src/xz/message.c:1235
msgid ""
"\n"
"With no FILE, or when FILE is -, read standard input.\n"
msgstr ""
"\n"
"Senza FILE, o quando FILE è -, legge lo standard input.\n"

#. TRANSLATORS: This message indicates the bug reporting address
#. for this package. Please add _another line_ saying
#. "Report translation bugs to <...>\n" with the email or WWW
#. address for translation bugs. Thanks.
#: ../src/xz/message.c:1241
#, c-format
msgid "Report bugs to <%s> (in English or Finnish).\n"
msgstr ""
"Segnalare i bug a <%s> (in inglese o finlandese).\n"
"Segnalare i bug di traduzione a <tp@lists.linux.it>.\n"

#: ../src/xz/message.c:1243
#, c-format
msgid "%s home page: <%s>\n"
msgstr "Sito web di %s: <%s>\n"

#: ../src/xz/options.c:86
#, c-format
msgid "%s: Options must be `name=value' pairs separated with commas"
msgstr ""
"%s: le opzioni devono essere coppie \"nome=valore\" separate da virgole"

#: ../src/xz/options.c:93
#, c-format
msgid "%s: Invalid option name"
msgstr "%s: nome opzione non valido"

#: ../src/xz/options.c:113
#, c-format
msgid "%s: Invalid option value"
msgstr "%s: valore dell'opzione non valido"

#: ../src/xz/options.c:247
#, c-format
msgid "Unsupported LZMA1/LZMA2 preset: %s"
msgstr "Preset LZMA/LZMA2 non supportato: %s"

#: ../src/xz/options.c:355
msgid "The sum of lc and lp must not exceed 4"
msgstr "La somma di lc e lp non deve superare 4"

#: ../src/xz/options.c:359
#, c-format
msgid "The selected match finder requires at least nice=%<PRIu32>"
msgstr ""
"Lo strumento per cercare corrispondenze selezionato richiede almeno nice="
"%<PRIu32>"

#: ../src/xz/suffix.c:133 ../src/xz/suffix.c:258
#, c-format
msgid ""
"%s: With --format=raw, --suffix=.SUF is required unless writing to stdout"
msgstr ""
"%s: con --format=raw, --suffix=.SUF è richiesto a meno che non si scriva "
"sullo stdout"

#: ../src/xz/suffix.c:164
#, c-format
msgid "%s: Filename has an unknown suffix, skipping"
msgstr "%s: il nome del file ha un suffisso sconosciuto, viene saltato"

#: ../src/xz/suffix.c:185
#, c-format
msgid "%s: File already has `%s' suffix, skipping"
msgstr "%s: il file ha già il suffisso \"%s\", viene saltato"

#: ../src/xz/suffix.c:393
#, c-format
msgid "%s: Invalid filename suffix"
msgstr "%s: suffisso del nome del file non valido"

#: ../src/xz/util.c:61
#, c-format
msgid "%s: Value is not a non-negative decimal integer"
msgstr "%s: il valore non è un numero intero decimale non-negativo"

#: ../src/xz/util.c:103
#, c-format
msgid "%s: Invalid multiplier suffix"
msgstr "%s: suffisso del moltiplicatore non valido"

#: ../src/xz/util.c:105
msgid "Valid suffixes are `KiB' (2^10), `MiB' (2^20), and `GiB' (2^30)."
msgstr ""
"I suffissi validi sono \"KiB\" (2^10), \"MiB\" (2^20), e \"GiB\" (2^30)."

#: ../src/xz/util.c:122
#, c-format
msgid "Value of the option `%s' must be in the range [%<PRIu64>, %<PRIu64>]"
msgstr ""
"Il valore dell'opzione \"%s\" deve essere nell'intervallo [%<PRIu64>, "
"%<PRIu64>]"

#: ../src/xz/util.c:247
msgid "Empty filename, skipping"
msgstr "Nome file vuoto, viene saltato"

#: ../src/xz/util.c:261
msgid "Compressed data cannot be read from a terminal"
msgstr "I dati compressi non possono essere letti da un terminale"

#: ../src/xz/util.c:274
msgid "Compressed data cannot be written to a terminal"
msgstr "I dati compressi non possono essere scritti ad un terminale"

#: ../src/common/tuklib_exit.c:39
msgid "Writing to standard output failed"
msgstr "Scrittura sullo standard ouput non riuscita"

#: ../src/common/tuklib_exit.c:42
msgid "Unknown error"
msgstr "Errore sconosciuto"
