From 4db362f078d756476433b818a60ecdc86906c159 Mon Sep 17 00:00:00 2001 From: Martin Matuska Date: Thu, 11 Nov 2010 22:21:30 +0000 Subject: [PATCH] Vendor import of xz (stripped) Git revision: e45929260cd902036efd40c5610a8d0a50d5712b Release: 5.0.0 Approved by: delphij (mentor) --- ChangeLog | 111 +++++ TODO | 17 +- po/cs.po | 298 +++++------ po/de.po | 267 ++++------ po/it.po | 271 ++++------ po/xz.pot | 736 ++++++++++++++++++++++++++++ src/common/sysdefs.h | 5 + src/liblzma/api/lzma.h | 4 +- src/liblzma/api/lzma/base.h | 45 +- src/liblzma/api/lzma/bcj.h | 4 +- src/liblzma/api/lzma/block.h | 4 +- src/liblzma/api/lzma/container.h | 26 +- src/liblzma/api/lzma/filter.h | 51 +- src/liblzma/api/lzma/hardware.h | 3 +- src/liblzma/api/lzma/index.h | 28 +- src/liblzma/api/lzma/index_hash.h | 2 +- src/liblzma/api/lzma/lzma.h | 50 +- src/liblzma/api/lzma/stream_flags.h | 8 +- src/liblzma/api/lzma/version.h | 8 +- src/liblzma/api/lzma/vli.h | 31 +- src/liblzma/common/common.c | 14 + src/liblzma/common/filter_encoder.c | 2 + src/liblzma/common/filter_encoder.h | 4 +- src/liblzma/common/index.c | 2 +- src/liblzma/common/index_decoder.c | 1 + src/liblzma/common/index_encoder.c | 1 + src/liblzma/lzma/lzma2_decoder.c | 1 - src/liblzma/lzma/lzma_decoder.c | 4 +- src/liblzma/lzma/lzma_encoder.c | 2 +- src/xz/message.c | 45 +- src/xz/message.h | 6 +- src/xz/signals.c | 8 +- 32 files changed, 1377 insertions(+), 682 deletions(-) create mode 100644 po/xz.pot diff --git a/ChangeLog b/ChangeLog index c42458decf3c..66775f3b68a7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,114 @@ +commit e45929260cd902036efd40c5610a8d0a50d5712b +Author: Lasse Collin +Date: Sat Oct 23 17:25:52 2010 +0300 + + Build: Fix mydist rule when .git doesn't exist. + +commit 6e1326fcdf6b6209949be57cfe3ad4b781b65168 +Author: Lasse Collin +Date: Sat Oct 23 14:15:35 2010 +0300 + + Add NEWS for 5.0.0. + +commit b667a3ef6338a2c1db7b7706b1f6c99ea392221c +Author: Lasse Collin +Date: Sat Oct 23 14:02:53 2010 +0300 + + Bump version to 5.0.0 and liblzma version-info to 5:0:0. + +commit 8c947e9291691629714dafb4536c718b6cc24fbd +Author: Lasse Collin +Date: Sat Oct 23 12:30:54 2010 +0300 + + liblzma: Make lzma_code() check the reserved members in lzma_stream. + + If any of the reserved members in lzma_stream are non-zero + or non-NULL, LZMA_OPTIONS_ERROR is returned. It is possible + that a new feature in the future is indicated by just setting + a reserved member to some other value, so the old liblzma + version need to catch it as an unsupported feature. + +commit e61d85e082743ebd2dd0ff28fc0a82482ede0538 +Author: Lasse Collin +Date: Sat Oct 23 12:26:33 2010 +0300 + + Windows: Use MinGW's stdio functions. + + The non-standard ones from msvcrt.dll appear to work + most of the time with XZ Utils, but there are some + corner cases where things may go very wrong. So it's + good to use the better replacements provided by + MinGW(-w64) runtime. + +commit 23e23f1dc029146714c9a98313ab3ea93d71a2fc +Author: Lasse Collin +Date: Sat Oct 23 12:21:32 2010 +0300 + + liblzma: Use 512 as INDEX_GROUP_SIZE. + + This lets compiler use shifting instead of 64-bit division. + +commit 613939fc82603b75b59eee840871a05bc8dd08e0 +Author: Lasse Collin +Date: Sat Oct 23 12:20:11 2010 +0300 + + liblzma: A few ABI tweaks to reserve space in structures. + +commit 68b83f252df3d27480a9f6f03445d16f6506fef1 +Author: Lasse Collin +Date: Thu Oct 21 23:16:11 2010 +0300 + + xz: Make sure that message_strm() can never return NULL. + +commit d09c5753e33ff96ee57edb6d1e98e34041203695 +Author: Lasse Collin +Date: Thu Oct 21 23:06:31 2010 +0300 + + liblzma: Update the comments in the API headers. + + Adding support for LZMA_FINISH for Index encoding and + decoding needed tiny additions to the relevant .c files too. + +commit 33c1c0e102eb529588503b8beea0903a45488fad +Author: Lasse Collin +Date: Tue Oct 19 12:08:30 2010 +0300 + + Update INSTALL.generic. + +commit 0076e03641f201c4b77dddd5a6db5880be19a78c +Author: Lasse Collin +Date: Tue Oct 19 11:44:37 2010 +0300 + + Clean up a few FIXMEs and TODOs. + + lzma_chunk_size() was commented out because it is + currently useless. + +commit ce34ec4f54ff8b753da236f371ad8dd23c8135c9 +Author: Lasse Collin +Date: Tue Oct 19 10:21:08 2010 +0300 + + Update docs. + +commit f0fa880d247e73264d2c04fe31fb3412318a0026 +Author: Lasse Collin +Date: Tue Oct 12 15:13:30 2010 +0300 + + xz: Avoid raise() also on OpenVMS. + + This is similar to DOS/DJGPP that killing the program + with a signal will print a backtrace or a similar message. + +commit ac462b1c47c451f5c62e428306314c4bdad8ae7f +Author: Lasse Collin +Date: Mon Oct 11 21:26:19 2010 +0300 + + xz: Avoid SA_RESTART for portability reasons. + + SA_RESTART is not as portable as I had hoped. It's missing + at least from OpenVMS, QNX, and DJGPP). Luckily we can do + fine without SA_RESTART. + commit d52b411716a614c202e89ba732492efb9916cd3f Author: Lasse Collin Date: Sun Oct 10 17:58:58 2010 +0300 diff --git a/TODO b/TODO index 9fac1b341956..55fc47556030 100644 --- a/TODO +++ b/TODO @@ -18,15 +18,20 @@ Known bugs XZ Utils compress some files significantly worse than LZMA Utils. This is due to faster compression presets used by XZ Utils, and - can be worked around by using "xz --extreme". However, the presets - need some tweaking and maybe this issue can be minimized without - making the typical case too much slower. + can often be worked around by using "xz --extreme". With some files + --extreme isn't enough though: it's most likely with files that + compress extremely well, so going from compression ratio of 0.003 + to 0.004 means big relative increase in the compressed file size. xz doesn't quote unprintable characters when it displays file names given on the command line. tuklib_exit() doesn't block signals => EINTR is possible. + SIGTSTP is not handled. If xz is stopped, the estimated remaining + time and calculated (de)compression speed won't make sense in the + progress indicator (xz --verbose). + Missing features ---------------- @@ -41,11 +46,13 @@ Missing features Buffer-to-buffer coding could use less RAM (especially when decompressing LZMA1 or LZMA2). - I/O library is not implemented. It will possibly be named libzzf. + I/O library is not implemented (similar to gzopen() in zlib). + It will be a separate library that supports uncompressed, .gz, + .bz2, .lzma, and .xz files. lzma_strerror() to convert lzma_ret to human readable form? This is tricky, because the same error codes are used with - slightly different meanings. + slightly different meanings, and this cannot be fixed anymore. Documentation diff --git a/po/cs.po b/po/cs.po index a60a96f3b34f..5bebf6e4661f 100644 --- a/po/cs.po +++ b/po/cs.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: xz-utils\n" "Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n" -"POT-Creation-Date: 2010-09-17 18:33+0200\n" +"POT-Creation-Date: 2010-10-23 17:48+0300\n" "PO-Revision-Date: 2010-09-17 18:54+0200\n" "Last-Translator: Marek Černocký \n" "Language-Team: Czech \n" @@ -30,8 +30,7 @@ msgstr "%s: Neznámý typ kontroly integrity" #: src/xz/args.c:382 msgid "Only one file can be specified with `--files' or `--files0'." -msgstr "" -"Spolu s přepínači „--files“ nebo „--files0“ může být zadán pouze jeden soubor" +msgstr "Spolu s přepínači „--files“ nebo „--files0“ může být zadán pouze jeden soubor" #: src/xz/args.c:445 #, c-format @@ -52,8 +51,7 @@ msgstr "Použití přednastavení v režimu raw je nevhodné." #: src/xz/coder.c:131 msgid "The exact options of the presets may vary between software versions." -msgstr "" -"Přesné volby u přednastavení se mohou lišit mezi různými verzemi softwaru." +msgstr "Přesné volby u přednastavení se mohou lišit mezi různými verzemi softwaru." #: src/xz/coder.c:157 msgid "The .lzma format supports only the LZMA1 filter" @@ -74,12 +72,8 @@ msgstr "Dekomprimace bude vyžadovat %s MiB paměti." #: src/xz/coder.c:247 #, 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 "" -"Přizpůsobit velikost slovníku LZMA%c z %s MiB na %s MiB, tak aby nebylo " -"překročeno omezení použitelné paměti %s MiB" +msgid "Adjusted LZMA%c dictionary size from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgstr "Přizpůsobit velikost slovníku LZMA%c z %s MiB na %s MiB, tak aby nebylo překročeno omezení použitelné paměti %s MiB" #. TRANSLATORS: When compression or decompression finishes, #. and xz is going to remove the source file, xz first checks @@ -159,8 +153,7 @@ msgstr "%s: Selhalo zavření souboru: %s" #: src/xz/file_io.c:762 src/xz/file_io.c:946 #, c-format msgid "%s: Seeking failed when trying to create a sparse file: %s" -msgstr "" -"%s: Selhalo nastavení pozice při pokusu o vytvoření záložního souboru: %s" +msgstr "%s: Selhalo nastavení pozice při pokusu o vytvoření záložního souboru: %s" #: src/xz/file_io.c:821 #, c-format @@ -319,12 +312,10 @@ msgstr " Zarovnání proudu: %s\n" #: src/xz/list.c:693 msgid "" " Streams:\n" -" Stream Blocks CompOffset UncompOffset CompSize " -"UncompSize Ratio Check Padding" +" Stream Blocks CompOffset UncompOffset CompSize UncompSize Ratio Check Padding" msgstr "" " Proudy:\n" -" Proud Bloky KomprPozice NekomprPozice KomprVelikost " -"NekomprVelikost Poměr Kontrola Zarovnání" +" Proud Bloky KomprPozice NekomprPozice KomprVelikost NekomprVelikost Poměr Kontrola Zarovnání" #. TRANSLATORS: The second line is column headings. All #. except Check are right aligned; Check is left aligned. @@ -332,12 +323,10 @@ msgstr "" #, c-format msgid "" " Blocks:\n" -" Stream Block CompOffset UncompOffset TotalSize " -"UncompSize Ratio Check" +" Stream Block CompOffset UncompOffset TotalSize UncompSize Ratio Check" msgstr "" " Bloky:\n" -" Proud Blok KomprPozice NekomprPozice CelkVelikost " -"NekomprVelikost Poměr Kontrola" +" Proud Blok KomprPozice NekomprPozice CelkVelikost NekomprVelikost Poměr Kontrola" #. TRANSLATORS: These are additional column headings #. for the most verbose listing mode. CheckVal @@ -408,78 +397,69 @@ msgstr "%s: Neočekávaný konec vstupu při čtení názvů souborů" #: 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: Byl nalezen nulový znak při čtení názvů souborů; nechtěli jste náhodou " -"použít „--files0“ místo „--files“?" +msgid "%s: Null character found when reading filenames; maybe you meant to use `--files0' instead of `--files'?" +msgstr "%s: Byl nalezen nulový znak při čtení názvů souborů; nechtěli jste náhodou použít „--files0“ místo „--files“?" #: src/xz/main.c:174 msgid "Compression and decompression with --robot are not supported yet." msgstr "Komprimace a dekomprimace s přepínačem --robot není zatím podporovaná." #: src/xz/main.c:231 -msgid "" -"Cannot read data from standard input when reading filenames from standard " -"input" -msgstr "" -"Ze standardního vstupu nelze číst data, když se ze standardního vstupu " -"načítají názvy souborů" +msgid "Cannot read data from standard input when reading filenames from standard input" +msgstr "Ze standardního vstupu nelze číst data, když se ze standardního vstupu načítají názvy souborů" -#: src/xz/message.c:800 src/xz/message.c:844 +#: src/xz/message.c:792 src/xz/message.c:842 msgid "Internal error (bug)" msgstr "Interní chyba" -#: src/xz/message.c:807 +#: src/xz/message.c:799 msgid "Cannot establish signal handlers" msgstr "Nelze ustanovit ovladač signálu" -#: src/xz/message.c:816 +#: src/xz/message.c:808 msgid "No integrity check; not verifying file integrity" msgstr "Žádná kontrola integrity; integrita souboru se nebude ověřovat" -#: src/xz/message.c:819 +#: src/xz/message.c:811 msgid "Unsupported type of integrity check; not verifying file integrity" -msgstr "" -"Nepodporovaný typ kontroly integrity; integrita souboru se nebude ověřovat" +msgstr "Nepodporovaný typ kontroly integrity; integrita souboru se nebude ověřovat" -#: src/xz/message.c:826 +#: src/xz/message.c:818 msgid "Memory usage limit reached" msgstr "Dosaženo omezení použitelné paměti" -#: src/xz/message.c:829 +#: src/xz/message.c:821 msgid "File format not recognized" msgstr "Formát souboru nebyl rozpoznán" -#: src/xz/message.c:832 +#: src/xz/message.c:824 msgid "Unsupported options" msgstr "Nepodporovaná volba" -#: src/xz/message.c:835 +#: src/xz/message.c:827 msgid "Compressed data is corrupt" msgstr "Komprimovaná data jsou poškozená" -#: src/xz/message.c:838 +#: src/xz/message.c:830 msgid "Unexpected end of input" msgstr "Neočekávaný konec vstupu" -#: src/xz/message.c:886 +#: src/xz/message.c:881 #, c-format msgid "%s MiB of memory is required. The limit is %s." msgstr "Je vyžadováno %s MiB paměti. Limit je %s." -#: src/xz/message.c:1053 +#: src/xz/message.c:1048 #, c-format msgid "%s: Filter chain: %s\n" msgstr "%s: Omezující filtr: %s\n" -#: src/xz/message.c:1063 +#: src/xz/message.c:1058 #, c-format msgid "Try `%s --help' for more information." msgstr "Zkuste „%s --help“ pro více informací" -#: src/xz/message.c:1089 +#: src/xz/message.c:1084 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" @@ -490,18 +470,15 @@ msgstr "" "Komprimuje nebo dekomprimuje SOUBORy ve formátu xz.\n" "\n" -#: src/xz/message.c:1096 -msgid "" -"Mandatory arguments to long options are mandatory for short options too.\n" -msgstr "" -"Povinné argumenty pro dlouhé přepínače jsou povinné rovněž pro krátké " -"přepínače.\n" +#: src/xz/message.c:1091 +msgid "Mandatory arguments to long options are mandatory for short options too.\n" +msgstr "Povinné argumenty pro dlouhé přepínače jsou povinné rovněž pro krátké přepínače.\n" -#: src/xz/message.c:1100 +#: src/xz/message.c:1095 msgid " Operation mode:\n" msgstr "Operační režim:\n" -#: src/xz/message.c:1103 +#: src/xz/message.c:1098 msgid "" " -z, --compress force compression\n" " -d, --decompress force decompression\n" @@ -513,7 +490,7 @@ msgstr "" " -t, --test testovat integritu komprimovaného souboru\n" " -l, --list vypsat informace o souborech .xz" -#: src/xz/message.c:1109 +#: src/xz/message.c:1104 msgid "" "\n" " Operation modifiers:\n" @@ -521,39 +498,33 @@ msgstr "" "\n" "Modifikátory operací:\n" -#: src/xz/message.c:1112 +#: src/xz/message.c:1107 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 zachovat (nemazat) vstupní soubory\n" -" -f, --force vynutit přepis výstupního souboru a de/komprimovat " -"odkazy\n" -" -c, --stdout zapisovat na standardní výstup a nemazat vstupní " -"soubory" +" -f, --force vynutit přepis výstupního souboru a de/komprimovat odkazy\n" +" -c, --stdout zapisovat na standardní výstup a nemazat vstupní soubory" -#: src/xz/message.c:1118 +#: src/xz/message.c:1113 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" +" filenames must be terminated with the newline character\n" " --files0[=FILE] like --files but use the null character as terminator" msgstr "" " --no-sparse nevytvářet při dekomprimaci záložní soubory\n" " -S, --suffix=.PRIP použít u komprimovaných souborů příponu „.PRIP“\n" -" --files[=SOUBOR] číst názvy souborů, které se mají zpracovat, ze " -"SOUBORu;\n" -" pokud není SOUBOR zadán, čte se ze standardního " -"vstupu;\n" +" --files[=SOUBOR] číst názvy souborů, které se mají zpracovat, ze SOUBORu;\n" +" pokud není SOUBOR zadán, čte se ze standardního vstupu;\n" " názvy souborů musí být zakončeny znakem nového řádku\n" -" --files0[=SOUBOR] stejné jako --files, ale použít k zakončování nulový " -"znak" +" --files0[=SOUBOR] stejné jako --files, ale použít k zakončování nulový znak" -#: src/xz/message.c:1126 +#: src/xz/message.c:1121 msgid "" "\n" " Basic file format and compression options:\n" @@ -561,7 +532,7 @@ msgstr "" "\n" "Základní přepínače pro formát souboru a komprimaci:\n" -#: src/xz/message.c:1128 +#: src/xz/message.c:1123 msgid "" " -F, --format=FMT file format to encode or decode; possible values are\n" " `auto' (default), `xz', `lzma', and `raw'\n" @@ -570,76 +541,62 @@ msgid "" msgstr "" " -F, --format=FORMÁT formát souboru k zakódování nebo dekódování; možné\n" " hodnoty jsou „auto“ (výchozí), „xz“, „lzma“ a „raw“\n" -" -C, --check=KONTROLA typ kontroly integrity: „none“ (používejte s " -"rozmyslem),\n" +" -C, --check=KONTROLA typ kontroly integrity: „none“ (používejte s rozmyslem),\n" " „crc32“, „crc64“ (výchozí) nebo „sha256“" -#: src/xz/message.c:1135 +#: src/xz/message.c:1130 msgid "" -" -0 ... -9 compression preset; default is 6; take compressor " -"*and*\n" -" decompressor memory usage into account before using " -"7-9!" +" -0 ... -9 compression preset; default is 6; take compressor *and*\n" +" decompressor memory usage into account before using 7-9!" msgstr "" -" -0 .. -9 přednastavení komprimace; výchozí je 6; než " -"použijete\n" -" hodnoty 7 – 9, vezměte do úvahy množství použité " -"paměti" +" -0 .. -9 přednastavení komprimace; výchozí je 6; než použijete\n" +" hodnoty 7 – 9, vezměte do úvahy množství použité paměti" -#: src/xz/message.c:1139 +#: src/xz/message.c:1134 msgid "" -" -e, --extreme try to improve compression ratio by using more CPU " -"time;\n" +" -e, --extreme try to improve compression ratio by using more CPU time;\n" " does not affect decompressor memory requirements" msgstr "" " -e, --extreme zkusit zlepšit poměr komprimace využitím více času\n" " procesoru; nemá vliv na paměťové nároky dekomprimace" -#: src/xz/message.c:1144 +#: src/xz/message.c:1139 #, no-c-format msgid "" " --memlimit-compress=LIMIT\n" " --memlimit-decompress=LIMIT\n" " -M, --memlimit=LIMIT\n" -" set memory usage limit for compression, " -"decompression,\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" " nastaví omezení použitelné paměti pro komprimaci,\n" -" dekomprimaci nebo obojí; LIMIT je v bajtech, % z " -"paměti\n" +" dekomprimaci nebo obojí; LIMIT je v bajtech, % z paměti\n" " RAM nebo 0 pro výchozí" -#: src/xz/message.c:1151 +#: src/xz/message.c:1146 msgid "" -" --no-adjust if compression settings exceed the memory usage " -"limit,\n" -" give an error instead of adjusting the settings " -"downwards" +" --no-adjust if compression settings exceed the memory usage limit,\n" +" give an error instead of adjusting the settings downwards" msgstr "" -" --no-adjust pokud nastavení komprimace přesáhne omezení " -"použitelné\n" +" --no-adjust pokud nastavení komprimace přesáhne omezení použitelné\n" " paměti, předat chybu namísto snížení nastavení" -#: src/xz/message.c:1157 +#: src/xz/message.c:1152 msgid "" "\n" " Custom filter chain for compression (alternative for using presets):" msgstr "" "\n" -"Vlastní omezující filtr pro komprimaci (alternativa k použití " -"přednastavených):" +"Vlastní omezující filtr pro komprimaci (alternativa k použití přednastavených):" -#: src/xz/message.c:1166 +#: src/xz/message.c:1161 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" +" --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" @@ -647,33 +604,24 @@ msgid "" " 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)" +" mf=NAME match finder (hc3, hc4, bt2, bt3, bt4; bt4)\n" +" depth=NUM maximum search depth; 0=automatic (default)" msgstr "" "\n" -" --lzma1[=VOLBY] LZMA1 nebo LZMA2; VOLBY je čárkou oddělovaný seznam " -"žádné\n" -" --lzma2[=VOLBY] nebo více následujících voleb (platné hodnoty; " -"výchozí):\n" -" preset=PŘE změnit volby na PŘEdnastavené (0 – 9" -"[e])\n" -" dict=POČ velikost slovníku (4 KiB – 1536 MiB; 8 " -"MiB)\n" -" lc=POČ počet kontextových bitů literálu (0 – 4; " -"3)\n" -" lp=POČ počet pozičních bitů literálu (0 – 4; " -"0)\n" +" --lzma1[=VOLBY] LZMA1 nebo LZMA2; VOLBY je čárkou oddělovaný seznam žádné\n" +" --lzma2[=VOLBY] nebo více následujících voleb (platné hodnoty; výchozí):\n" +" preset=PŘE změnit volby na PŘEdnastavené (0 – 9[e])\n" +" dict=POČ velikost slovníku (4 KiB – 1536 MiB; 8 MiB)\n" +" lc=POČ počet kontextových bitů literálu (0 – 4; 3)\n" +" lp=POČ počet pozičních bitů literálu (0 – 4; 0)\n" " pb=POČ počet pozičních bitů (0 – 4; 2)\n" " mode=REŽIM režim komprimace (fast, normal; normal)\n" " nice=NUM příznivá délka shody (2 – 273; 64)\n" -" mf=NÁZEV hledání shod (hc3, hc4, bt2, bt3, bt4; " -"bt4)\n" +" mf=NÁZEV hledání shod (hc3, hc4, bt2, bt3, bt4; bt4)\n" " depth=POČ maximální hloubka prohledávání;\n" " 0 = automaticky (výchozí)" -#: src/xz/message.c:1181 +#: src/xz/message.c:1176 msgid "" "\n" " --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n" @@ -695,7 +643,7 @@ msgstr "" " Platné volby pro všechny filtry BCJ:\n" " start=POČ počáteční posun pro převody (výchozí=0)" -#: src/xz/message.c:1193 +#: src/xz/message.c:1188 msgid "" "\n" " --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n" @@ -704,11 +652,10 @@ msgid "" msgstr "" "\n" " --delta[=VOLBY] Filtr Delta; platné VOLBY (platné hodnoty; výchozí):\n" -" dist=POČ vzdálenost mezi bajty, které jsou " -"odečítány\n" +" dist=POČ vzdálenost mezi bajty, které jsou odečítány\n" " jeden od druhého (1 – 256; 1)" -#: src/xz/message.c:1201 +#: src/xz/message.c:1196 msgid "" "\n" " Other options:\n" @@ -716,79 +663,71 @@ msgstr "" "\n" " Ostatní přepínače:\n" -#: src/xz/message.c:1204 +#: src/xz/message.c:1199 msgid "" -" -q, --quiet suppress warnings; specify twice to suppress errors " -"too\n" +" -q, --quiet suppress warnings; specify twice to suppress errors too\n" " -v, --verbose be verbose; specify twice for even more verbose" msgstr "" -" -q, --quiet potlačit varování; zadáním dvakrát, potlačíte i " -"chyby\n" +" -q, --quiet potlačit varování; zadáním dvakrát, potlačíte i chyby\n" " -v, --verbose podrobnější zprávy; zadáním dvakrát, budou ještě\n" " podrobnější" -#: src/xz/message.c:1209 +#: src/xz/message.c:1204 msgid " -Q, --no-warn make warnings not affect the exit status" msgstr " -Q, --no-warn způsobí, že varování neovlivní stav ukončení" -#: src/xz/message.c:1211 -msgid "" -" --robot use machine-parsable messages (useful for scripts)" +#: src/xz/message.c:1206 +msgid " --robot use machine-parsable messages (useful for scripts)" msgstr "" " --robot použít strojově analyzovatelné zprávy (užitečné pro\n" " skripty)" -#: src/xz/message.c:1214 +#: src/xz/message.c:1209 msgid "" -" --info-memory display the total amount of RAM and the currently " -"active\n" +" --info-memory display the total amount of RAM and the currently active\n" " memory usage limits, and exit" msgstr "" -" --info-memory zobrazit celkové množství paměti RAM a současné " -"aktivní\n" +" --info-memory zobrazit celkové množství paměti RAM a současné aktivní\n" " omezení použitelné paměti a skončit" -#: src/xz/message.c:1217 +#: src/xz/message.c:1212 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 zobrazit krátkou nápovědu (vypíše jen základní " -"přepínače)\n" +" -h, --help zobrazit krátkou nápovědu (vypíše jen základní přepínače)\n" " -H, --long-help zobrazit tuto úplnou nápovědu a skončit" -#: src/xz/message.c:1221 +#: src/xz/message.c:1216 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 zobrazit tuto zkrácenou nápovědu a skončit\n" -" -H, --long-help zobrazit úplnou nápovědu (vypíše i pokročilé " -"přepínače)" +" -H, --long-help zobrazit úplnou nápovědu (vypíše i pokročilé přepínače)" -#: src/xz/message.c:1226 +#: src/xz/message.c:1221 msgid " -V, --version display the version number and exit" msgstr " -V, --version zobrazit číslo verze a skončit" -#: src/xz/message.c:1228 +#: src/xz/message.c:1223 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" "\n" -"Pokud SOUBOR není zadán nebo pokud je -, bude se číst ze standardního " -"vstupu.\n" +"Pokud SOUBOR není zadán nebo pokud je -, bude se číst ze standardního vstupu.\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:1234 +#: src/xz/message.c:1229 #, c-format msgid "Report bugs to <%s> (in English or Finnish).\n" msgstr "Chyby hlaste na <%s> (v angličtině nebo finštině).\n" -#: src/xz/message.c:1236 +#: src/xz/message.c:1231 #, c-format msgid "%s home page: <%s>\n" msgstr "Domovská stránka %s: <%s>\n" @@ -824,11 +763,8 @@ msgstr "Vybraný vyhledávač shod vyžaduje minimálně nice=%" #: src/xz/suffix.c:79 src/xz/suffix.c:164 #, c-format -msgid "" -"%s: With --format=raw, --suffix=.SUF is required unless writing to stdout" -msgstr "" -"%s: S přepínačem --format=raw je vyžadován --sufix=.PRIP, vyjma zápisu do " -"standardního výstupu" +msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout" +msgstr "%s: S přepínačem --format=raw je vyžadován --sufix=.PRIP, vyjma zápisu do standardního výstupu" #: src/xz/suffix.c:99 #, c-format @@ -857,9 +793,7 @@ msgstr "%s: Neplatná jednotka s předponou" #: src/xz/util.c:105 msgid "Valid suffixes are `KiB' (2^10), `MiB' (2^20), and `GiB' (2^30)." -msgstr "" -"Platné jednotky s předponami jsou „KiB“ (2^10 B), „MiB“ (2^20 B) a " -"„GiB“ (2^30 B)." +msgstr "Platné jednotky s předponami jsou „KiB“ (2^10 B), „MiB“ (2^20 B) a „GiB“ (2^30 B)." #: src/xz/util.c:122 #, c-format @@ -893,49 +827,37 @@ msgstr "Neznámá chyba" #~ msgstr "%s MiB (%s bajtů)\n" #~ msgid "" -#~ " -e, --extreme use more CPU time when encoding to increase " -#~ "compression\n" +#~ " -e, --extreme use more CPU time when encoding to increase compression\n" #~ " ratio without increasing memory usage of the decoder" #~ msgstr "" -#~ " -e, --extreme využít více procesorového času pro kódování, čímž " -#~ "se\n" -#~ " zvýší kompresní poměr bez zvýšení paměti použité " -#~ "kodérem" +#~ " -e, --extreme využít více procesorového času pro kódování, čímž se\n" +#~ " zvýší kompresní poměr bez zvýšení paměti použité kodérem" #~ msgid "" -#~ " -M, --memory=NUM use roughly NUM bytes of memory at maximum; 0 " -#~ "indicates\n" +#~ " -M, --memory=NUM use roughly NUM bytes of memory at maximum; 0 indicates\n" #~ " the default setting, which is 40 % of total RAM" #~ msgstr "" -#~ " -M, --memory=POČ použít zhruba POČ bajtů paměti jako maximum; 0 " -#~ "znamená\n" -#~ " výchozí nastavení, což je 40% celkového množství " -#~ "paměti" +#~ " -M, --memory=POČ použít zhruba POČ bajtů paměti jako maximum; 0 znamená\n" +#~ " výchozí nastavení, což je 40% celkového množství paměti" #~ msgid "" #~ "\n" -#~ " --subblock[=OPTS] Subblock filter; valid OPTS (valid values; " -#~ "default):\n" +#~ " --subblock[=OPTS] Subblock filter; valid OPTS (valid values; default):\n" #~ " size=NUM number of bytes of data per subblock\n" #~ " (1 - 256Mi; 4Ki)\n" -#~ " rle=NUM run-length encoder chunk size (0-256; " -#~ "0)" +#~ " rle=NUM run-length encoder chunk size (0-256; 0)" #~ msgstr "" #~ "\n" -#~ " --subblock[=VOLBY] Subblokový filtr; platné VOLBY (platné hodnoty; " -#~ "výchozí):\n" +#~ " --subblock[=VOLBY] Subblokový filtr; platné VOLBY (platné hodnoty; výchozí):\n" #~ " size=POČ počet bajtů dat na subblok\n" #~ " (1 - 256 Mi; 4 Ki)\n" -#~ " rle=POČ velikost dávky pro kodér run-length " -#~ "(0-256; 0)" +#~ " rle=POČ velikost dávky pro kodér run-length (0-256; 0)" #~ msgid "" -#~ "On this system and configuration, this program will use a maximum of " -#~ "roughly\n" +#~ "On this system and configuration, this program will use a maximum of roughly\n" #~ "%s MiB RAM and " #~ msgstr "" -#~ "Na tomto systému a s tímto nastavením použije tento program maximum ze " -#~ "zhruba\n" +#~ "Na tomto systému a s tímto nastavením použije tento program maximum ze zhruba\n" #~ "%s MiB RAM a " #~ msgid "" diff --git a/po/de.po b/po/de.po index d88b8cd8a5ec..2cf17c636ac8 100644 --- a/po/de.po +++ b/po/de.po @@ -6,10 +6,11 @@ msgid "" msgstr "" "Project-Id-Version: XZ Utils 4.999.9beta\n" "Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n" -"POT-Creation-Date: 2010-09-11 17:07+0200\n" +"POT-Creation-Date: 2010-10-23 17:48+0300\n" "PO-Revision-Date: 2010-09-07 20:27+0200\n" "Last-Translator: \n" "Language-Team: German\n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -27,8 +28,7 @@ msgstr "%s: Integritäts-Check Typ nicht unterstützt" #: src/xz/args.c:382 msgid "Only one file can be specified with `--files' or `--files0'." -msgstr "" -"Nur ein file kann als Argument für --files oder --files0 angegeben werden." +msgstr "Nur ein file kann als Argument für --files oder --files0 angegeben werden." #: src/xz/args.c:445 #, c-format @@ -41,8 +41,7 @@ msgstr "Maximal vier Filter möglich" #: src/xz/coder.c:108 msgid "Memory usage limit is too low for the given filter setup." -msgstr "" -"Das Speicher Limit ist zu niedrig für die gegebene Filter Konfiguration." +msgstr "Das Speicher Limit ist zu niedrig für die gegebene Filter Konfiguration." #: src/xz/coder.c:129 msgid "Using a preset in raw mode is discouraged." @@ -50,9 +49,7 @@ msgstr "Verwendung der Voreinstellung im raw Modus wird nicht empfohlen." #: src/xz/coder.c:131 msgid "The exact options of the presets may vary between software versions." -msgstr "" -"Die genauen Optionen der Voreinstellung können zwischen Software Versionen " -"variieren." +msgstr "Die genauen Optionen der Voreinstellung können zwischen Software Versionen variieren." #: src/xz/coder.c:157 msgid "The .lzma format supports only the LZMA1 filter" @@ -73,12 +70,8 @@ msgstr "Dekompression wird %s MiB Speicher brauchen." #: src/xz/coder.c:247 #, 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 "" -"Passte LZMA%c Wörterbuch Größe von %s MiB to %s MiB an, um nicht das " -"Speicher Nutzungslimit von %s MiB zu übersteigen" +msgid "Adjusted LZMA%c dictionary size from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgstr "Passte LZMA%c Wörterbuch Größe von %s MiB to %s MiB an, um nicht das Speicher Nutzungslimit von %s MiB zu übersteigen" #. TRANSLATORS: When compression or decompression finishes, #. and xz is going to remove the source file, xz first checks @@ -93,8 +86,7 @@ msgstr "" #: src/xz/file_io.c:137 #, c-format msgid "%s: File seems to have been moved, not removing" -msgstr "" -"%s: Datei scheint umbenannt worden zu sein, daher wird sie nicht gelöscht" +msgstr "%s: Datei scheint umbenannt worden zu sein, daher wird sie nicht gelöscht" #: src/xz/file_io.c:144 src/xz/file_io.c:590 #, c-format @@ -149,8 +141,7 @@ msgstr "%s: Eingabedatei hat mehr als einen hard link, überspringe" #: src/xz/file_io.c:714 #, c-format msgid "Error restoring the O_APPEND flag to standard output: %s" -msgstr "" -"Fehler beim Wiederherstellen des O_APPEND flags bei Standard Output: %s" +msgstr "Fehler beim Wiederherstellen des O_APPEND flags bei Standard Output: %s" #: src/xz/file_io.c:726 #, c-format @@ -160,8 +151,7 @@ msgstr "%s: Fehler beim Schießen der Datei: %s" #: src/xz/file_io.c:762 src/xz/file_io.c:946 #, c-format msgid "%s: Seeking failed when trying to create a sparse file: %s" -msgstr "" -"%s: Positionierungsfehler beim Versuch eine sparse Datei zu erzeugen: %s" +msgstr "%s: Positionierungsfehler beim Versuch eine sparse Datei zu erzeugen: %s" #: src/xz/file_io.c:821 #, c-format @@ -212,7 +202,7 @@ msgstr "Kein" #. 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. +#. you need space for one extra letter, but don't use spaces. #: src/xz/list.c:69 msgid "Unknown-2" msgstr "Unbek.2" @@ -320,12 +310,10 @@ msgstr " Strom Auffüllung: %s\n" #: src/xz/list.c:693 msgid "" " Streams:\n" -" Stream Blocks CompOffset UncompOffset CompSize " -"UncompSize Ratio Check Padding" +" Stream Blocks CompOffset UncompOffset CompSize UncompSize Ratio Check Padding" msgstr "" " Ströme:\n" -" Strom Blöcke KompOffset UnkompOffset KompGröße " -"UnkompGröße Verh. Check Auffüllung" +" Strom Blöcke KompOffset UnkompOffset KompGröße UnkompGröße Verh. Check Auffüllung" #. TRANSLATORS: The second line is column headings. All #. except Check are right aligned; Check is left aligned. @@ -333,12 +321,10 @@ msgstr "" #, c-format msgid "" " Blocks:\n" -" Stream Block CompOffset UncompOffset TotalSize " -"UncompSize Ratio Check" +" Stream Block CompOffset UncompOffset TotalSize UncompSize Ratio Check" msgstr "" " Blöcke:\n" -" Strom Block KompOffset UnkompOffset TotalGröße " -"UnkompGröße Verh. Check" +" Strom Block KompOffset UnkompOffset TotalGröße UnkompGröße Verh. Check" #. TRANSLATORS: These are additional column headings #. for the most verbose listing mode. CheckVal @@ -390,8 +376,7 @@ msgstr " Anzahl Dateien: %s\n" #: src/xz/list.c:1072 msgid "--list works only on .xz files (--format=xz or --format=auto)" -msgstr "" -"--list funktioniert nur mit .xz Dateien (--format=xz oder --format=auto)" +msgstr "--list funktioniert nur mit .xz Dateien (--format=xz oder --format=auto)" #: src/xz/list.c:1078 msgid "--list does not support reading from standard input" @@ -409,79 +394,69 @@ msgstr "%s: Unerwartetes Ende beim Lesen der Dateinamen" #: 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: Null Charakter gefunden beim Lesen der Dateinamen; Meinten Sie `--" -"files0' statt `--files'?" +msgid "%s: Null character found when reading filenames; maybe you meant to use `--files0' instead of `--files'?" +msgstr "%s: Null Charakter gefunden beim Lesen der Dateinamen; Meinten Sie `--files0' statt `--files'?" #: src/xz/main.c:174 msgid "Compression and decompression with --robot are not supported yet." msgstr "Kompression und Dekompression mit --robot ist noch nicht unterstützt." #: src/xz/main.c:231 -msgid "" -"Cannot read data from standard input when reading filenames from standard " -"input" -msgstr "" -"Lesen der Standardeingabe ist nicht möglich, wenn die Dateinamen auch von " -"der Standardeingabe gelesen werden" +msgid "Cannot read data from standard input when reading filenames from standard input" +msgstr "Lesen der Standardeingabe ist nicht möglich, wenn die Dateinamen auch von der Standardeingabe gelesen werden" -#: src/xz/message.c:800 src/xz/message.c:844 +#: src/xz/message.c:792 src/xz/message.c:842 msgid "Internal error (bug)" msgstr "Interner Fehler (Bug)" -#: src/xz/message.c:807 +#: src/xz/message.c:799 msgid "Cannot establish signal handlers" msgstr "Kann Signal Routine nicht setzen" -#: src/xz/message.c:816 +#: src/xz/message.c:808 msgid "No integrity check; not verifying file integrity" msgstr "Kein Integritäts-Check; werde Datei-Integrität nicht überprüfen" -#: src/xz/message.c:819 +#: src/xz/message.c:811 msgid "Unsupported type of integrity check; not verifying file integrity" -msgstr "" -"Typ des Integritäts-Checks nicht unterstützt; werde Datei-Integrität nicht " -"überprüfen" +msgstr "Typ des Integritäts-Checks nicht unterstützt; werde Datei-Integrität nicht überprüfen" -#: src/xz/message.c:826 +#: src/xz/message.c:818 msgid "Memory usage limit reached" msgstr "Speicher-Limit erreicht" -#: src/xz/message.c:829 +#: src/xz/message.c:821 msgid "File format not recognized" msgstr "Datei Format nicht erkannt" -#: src/xz/message.c:832 +#: src/xz/message.c:824 msgid "Unsupported options" msgstr "Optionen nicht unterstützt" -#: src/xz/message.c:835 +#: src/xz/message.c:827 msgid "Compressed data is corrupt" msgstr "Komprimierte Daten sind korrupt" -#: src/xz/message.c:838 +#: src/xz/message.c:830 msgid "Unexpected end of input" msgstr "Unerwartetes Eingabe Ende" -#: src/xz/message.c:886 +#: src/xz/message.c:881 #, c-format msgid "%s MiB of memory is required. The limit is %s." msgstr "%s MiB Speicher wird benötigt. Limit ist %s." -#: src/xz/message.c:1053 +#: src/xz/message.c:1048 #, c-format msgid "%s: Filter chain: %s\n" msgstr "%s: Filter Kette: %s\n" -#: src/xz/message.c:1063 +#: src/xz/message.c:1058 #, c-format msgid "Try `%s --help' for more information." msgstr "Versuchen Sie `%s --help' für mehr Informationen." -#: src/xz/message.c:1089 +#: src/xz/message.c:1084 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" @@ -492,18 +467,17 @@ msgstr "" "Komprimiert oder dekomprimiert .xz DATEI(EN).\n" "\n" -#: src/xz/message.c:1096 -msgid "" -"Mandatory arguments to long options are mandatory for short options too.\n" +#: src/xz/message.c:1091 +msgid "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "Obligatorische Argumente für lange Optionen sind auch für kurze Optionen\n" "zwingend.\n" -#: src/xz/message.c:1100 +#: src/xz/message.c:1095 msgid " Operation mode:\n" msgstr " Operationsmodus:\n" -#: src/xz/message.c:1103 +#: src/xz/message.c:1098 msgid "" " -z, --compress force compression\n" " -d, --decompress force decompression\n" @@ -515,7 +489,7 @@ msgstr "" " -t, --test überprüfe Datei Integrität\n" " -l, --list liste Datei Informationen" -#: src/xz/message.c:1109 +#: src/xz/message.c:1104 msgid "" "\n" " Operation modifiers:\n" @@ -523,7 +497,7 @@ msgstr "" "\n" " Operationsmodifikatoren:\n" -#: src/xz/message.c:1112 +#: src/xz/message.c:1107 msgid "" " -k, --keep keep (don't delete) input files\n" " -f, --force force overwrite of output file and (de)compress links\n" @@ -535,14 +509,13 @@ msgstr "" " -c, --stdout schreibe nach Standard Output und lösche nicht die\n" " Eingabedateien" -#: src/xz/message.c:1118 +#: src/xz/message.c:1113 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" +" filenames must be terminated with the newline character\n" " --files0[=FILE] like --files but use the null character as terminator" msgstr "" " --no-sparse erzeuge keine sparse Datei beim Dekomprimieren\n" @@ -551,10 +524,9 @@ msgstr "" " DATEI nicht angegeben wurde, werden Dateinamen\n" " von Standard Input gelesen. Dateinamen müssen mit\n" " einem Zeilenumbruch voneinander getrennt werden\n" -" --files0=[DATEI] wie --files, aber benutze den Null Charakter als " -"Trenner" +" --files0=[DATEI] wie --files, aber benutze den Null Charakter als Trenner" -#: src/xz/message.c:1126 +#: src/xz/message.c:1121 msgid "" "\n" " Basic file format and compression options:\n" @@ -562,76 +534,62 @@ msgstr "" "\n" " Grundlegende Optionen für Dateiformat und Kompression:\n" -#: src/xz/message.c:1128 +#: src/xz/message.c:1123 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 Dateiformat zur Kodierung oder Dekodierung; " -"mögliche\n" -" Werte sind `auto' (Voreinstellung), `xz', `lzma' " -"und\n" +" -F, --format=FMT Dateiformat zur Kodierung oder Dekodierung; mögliche\n" +" Werte sind `auto' (Voreinstellung), `xz', `lzma' und\n" " `raw'\n" -" -C, --check=CHECK Typ des Integritätschecks: `none' (Vorsicht), " -"`crc32',\n" +" -C, --check=CHECK Typ des Integritätschecks: `none' (Vorsicht), `crc32',\n" " `crc64' (Voreinstellung), oder `sha256'" -#: src/xz/message.c:1135 +#: src/xz/message.c:1130 msgid "" -" -0 ... -9 compression preset; default is 6; take compressor " -"*and*\n" -" decompressor memory usage into account before using 7-" -"9!" +" -0 ... -9 compression preset; default is 6; take compressor *and*\n" +" decompressor memory usage into account before using 7-9!" msgstr "" -" -0 .. -9 Kompressionseinstellung; Voreinstellung is 6. " -"Beachten\n" -" Sie den Speicherverbrauch des Komprimieres *und* " -"des\n" +" -0 .. -9 Kompressionseinstellung; Voreinstellung is 6. Beachten\n" +" Sie den Speicherverbrauch des Komprimieres *und* des\n" " Dekomprimierers, wenn Sie 7-9 benutzen!" -#: src/xz/message.c:1139 +#: src/xz/message.c:1134 msgid "" -" -e, --extreme try to improve compression ratio by using more CPU " -"time;\n" +" -e, --extreme try to improve compression ratio by using more CPU time;\n" " does not affect decompressor memory requirements" msgstr "" -" -e, --extreme Versuche durch stärkere CPU Nutzung das " -"Kompressions-\n" +" -e, --extreme Versuche durch stärkere CPU Nutzung das Kompressions-\n" " verhältnis zu verbessern. Das beeinflusst nicht den\n" " Speicherbedarf des Dekomprimierers." -#: src/xz/message.c:1144 +#: src/xz/message.c:1139 #, no-c-format msgid "" " --memlimit-compress=LIMIT\n" " --memlimit-decompress=LIMIT\n" " -M, --memlimit=LIMIT\n" -" set memory usage limit for compression, " -"decompression,\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 Setze Speicher Nutzungslimit für Kompression,\n" -" Dekompression, oder beides; LIMIT ist in bytes, % " -"RAM,\n" +" Dekompression, oder beides; LIMIT ist in bytes, % RAM,\n" " oder 0 für Grundeinstellungen." -#: src/xz/message.c:1151 +#: src/xz/message.c:1146 msgid "" -" --no-adjust if compression settings exceed the memory usage " -"limit,\n" -" give an error instead of adjusting the settings " -"downwards" +" --no-adjust if compression settings exceed the memory usage limit,\n" +" give an error instead of adjusting the settings downwards" msgstr "" " --no-adjust Wenn die Kompressionseinstellungen das Speicher\n" -" Nutzungslimit übersteigen, erzeuge einen Fehler " -"statt\n" +" Nutzungslimit übersteigen, erzeuge einen Fehler statt\n" " die Einstellungen nach unten anzupassen." -#: src/xz/message.c:1157 +#: src/xz/message.c:1152 msgid "" "\n" " Custom filter chain for compression (alternative for using presets):" @@ -639,13 +597,11 @@ msgstr "" "\n" " User-definierte Filter Kette für Kompression (alternativ zu Voreinstellung):" -#: src/xz/message.c:1166 +#: src/xz/message.c:1161 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" +" --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" @@ -653,37 +609,28 @@ msgid "" " 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)" +" mf=NAME match finder (hc3, hc4, bt2, bt3, bt4; bt4)\n" +" depth=NUM maximum search depth; 0=automatic (default)" msgstr "" "\n" " --lzma1[=OPTIONEN] LZMA1 oder LZMA2; OPTIONEN ist eine durch Kommata\n" -" --lzma2[=OPTIONEN] getrennte Liste bestehend aus den folgenden " -"Optionen\n" +" --lzma2[=OPTIONEN] getrennte Liste bestehend aus den folgenden Optionen\n" " (zulässige Werte; Voreinstellung):\n" -" preset=NUM Setze Optionen zurück zu " -"Voreinstellung\n" +" preset=NUM Setze Optionen zurück zu Voreinstellung\n" " (0-9[e])\n" -" dict=NUM Wörterbuch Größe (4 KiB - 1536 MiB; 8 " -"MiB)\n" -" lc=NUM Anzahl der Literal Kontext Bits (0-4; " -"3)\n" -" lp=NUM Anzahl der Literal Positionsbits (0-4; " -"0)\n" +" dict=NUM Wörterbuch Größe (4 KiB - 1536 MiB; 8 MiB)\n" +" lc=NUM Anzahl der Literal Kontext Bits (0-4; 3)\n" +" lp=NUM Anzahl der Literal Positionsbits (0-4; 0)\n" " pb=NUM Anzahl der Positionsbits (0-4; 2)\n" -" mode=MODUS Kompressionsmodus (fast, normal; " -"normal)\n" +" mode=MODUS Kompressionsmodus (fast, normal; normal)\n" " nice=NUM Nice-Länge eines Treffers (2-273; 64)\n" " mf=NAME Algorithmus zum Auffinden von\n" -" Übereinstimmungen (hc3, hc4, bt2, bt3, " -"bt4;\n" +" Übereinstimmungen (hc3, hc4, bt2, bt3, bt4;\n" " bt4)\n" " depth=NUM Maximale Suchtiefe; 0=automatisch\n" " (Voreinstellung)" -#: src/xz/message.c:1181 +#: src/xz/message.c:1176 msgid "" "\n" " --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n" @@ -706,7 +653,7 @@ msgstr "" " start=NUM Start-Offset für Konversion\n" " (Voreinstellung=0)" -#: src/xz/message.c:1193 +#: src/xz/message.c:1188 msgid "" "\n" " --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n" @@ -716,11 +663,10 @@ msgstr "" "\n" " --delta[=OPTIONEN] Delta Filter; zulässige Optionen (gültige Werte;\n" " Voreinstellung):\n" -" dist=NUM Abstand zwischen den Bytes, die " -"voneinander\n" +" dist=NUM Abstand zwischen den Bytes, die voneinander\n" " subtrahiert werden (1-256; 1)" -#: src/xz/message.c:1201 +#: src/xz/message.c:1196 msgid "" "\n" " Other options:\n" @@ -728,37 +674,33 @@ msgstr "" "\n" " Andere Optionen:\n" -#: src/xz/message.c:1204 +#: src/xz/message.c:1199 msgid "" -" -q, --quiet suppress warnings; specify twice to suppress errors " -"too\n" +" -q, --quiet suppress warnings; specify twice to suppress errors too\n" " -v, --verbose be verbose; specify twice for even more verbose" msgstr "" " -q, --quiet unterdrücke Warnungen; benutze diese Option zweimal\n" " um auch Fehlermeldungen zu unterdrücken\n" -" -v, --verbose sei gesprächig; benutze diese Option zweimal um " -"noch\n" +" -v, --verbose sei gesprächig; benutze diese Option zweimal um noch\n" " gesprächiger zu sein" -#: src/xz/message.c:1209 +#: src/xz/message.c:1204 msgid " -Q, --no-warn make warnings not affect the exit status" msgstr " -Q, --no-warn Warnungen verändern nicht den exit status" -#: src/xz/message.c:1211 -msgid "" -" --robot use machine-parsable messages (useful for scripts)" +#: src/xz/message.c:1206 +msgid " --robot use machine-parsable messages (useful for scripts)" msgstr "" " --robot benutze Maschinen-lesbare Meldungen (nützlich für\n" " Skripte)" -#: src/xz/message.c:1214 +#: src/xz/message.c:1209 msgid "" -" --info-memory display the total amount of RAM and the currently " -"active\n" +" --info-memory display the total amount of RAM and the currently active\n" " memory usage limits, and exit" msgstr " --info-memory zeige Speicherlimit an und terminiere" -#: src/xz/message.c:1217 +#: src/xz/message.c:1212 msgid "" " -h, --help display the short help (lists only the basic options)\n" " -H, --long-help display this long help and exit" @@ -767,21 +709,20 @@ msgstr "" " Optionen)\n" " -H, --long-help zeige diese lange Hilfe an und terminiere" -#: src/xz/message.c:1221 +#: src/xz/message.c:1216 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 zeige diese kurze Hilfe an und terminiere\n" -" -H, --long-help zeige die lange Hilfe an (zeigt auch " -"fortgeschrittene\n" +" -H, --long-help zeige die lange Hilfe an (zeigt auch fortgeschrittene\n" " Optionen an)" -#: src/xz/message.c:1226 +#: src/xz/message.c:1221 msgid " -V, --version display the version number and exit" msgstr " -V, --version zeige Versionsnummer an und terminiere" -#: src/xz/message.c:1228 +#: src/xz/message.c:1223 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" @@ -794,15 +735,14 @@ msgstr "" #. 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:1234 +#: src/xz/message.c:1229 #, c-format msgid "Report bugs to <%s> (in English or Finnish).\n" msgstr "" "Melde Bugs an <%s> (in englisch oder finnisch).\n" -"Melde Übersetzungsfehler an (in englisch oder " -"deutsch).\n" +"Melde Übersetzungsfehler an (in englisch oder deutsch).\n" -#: src/xz/message.c:1236 +#: src/xz/message.c:1231 #, c-format msgid "%s home page: <%s>\n" msgstr "%s Homepage: <%s>\n" @@ -810,9 +750,7 @@ msgstr "%s Homepage: <%s>\n" #: src/xz/options.c:86 #, c-format msgid "%s: Options must be `name=value' pairs separated with commas" -msgstr "" -"%s: Optionen müssen in der Form `Name=Wert` gegeben werden, getrennt durch " -"Kommata" +msgstr "%s: Optionen müssen in der Form `Name=Wert` gegeben werden, getrennt durch Kommata" #: src/xz/options.c:93 #, c-format @@ -836,17 +774,12 @@ msgstr "Die Summe aus lc und lp darf höchstens 4 sein" #: src/xz/options.c:359 #, c-format msgid "The selected match finder requires at least nice=%" -msgstr "" -"Der ausgewählte Algorithmus zum Auffinden von Übereinstimmungen braucht " -"mindestens nice=%" +msgstr "Der ausgewählte Algorithmus zum Auffinden von Übereinstimmungen braucht mindestens nice=%" #: src/xz/suffix.c:79 src/xz/suffix.c:164 #, c-format -msgid "" -"%s: With --format=raw, --suffix=.SUF is required unless writing to stdout" -msgstr "" -"%s: Mit --format=raw ist --sufix=.SUF notwendig, falls nicht nach stdout " -"geschrieben wird" +msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout" +msgstr "%s: Mit --format=raw ist --sufix=.SUF notwendig, falls nicht nach stdout geschrieben wird" #: src/xz/suffix.c:99 #, c-format diff --git a/po/it.po b/po/it.po index 8e096dd4eaef..4f9ef0ddd483 100644 --- a/po/it.po +++ b/po/it.po @@ -7,10 +7,11 @@ msgid "" msgstr "" "Project-Id-Version: xz-utils\n" "Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n" -"POT-Creation-Date: 2010-09-10 14:50+0300\n" +"POT-Creation-Date: 2010-10-23 17:48+0300\n" "PO-Revision-Date: 2010-09-16 21:32+0200\n" "Last-Translator: Milo Casagrande \n" "Language-Team: Italian \n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -43,9 +44,7 @@ msgstr "Il numero massimo di filtri è quattro" #: src/xz/coder.c:108 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." +msgstr "Il limite dell'uso della memoria è troppo basso per l'impostazione del filtro dato." #: src/xz/coder.c:129 msgid "Using a preset in raw mode is discouraged." @@ -53,8 +52,7 @@ msgstr "Non è consigliato usare un preset nella modalità raw." #: src/xz/coder.c:131 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." +msgstr "Le opzioni esatte per i preset possono variare tra le versioni del software." #: src/xz/coder.c:157 msgid "The .lzma format supports only the LZMA1 filter" @@ -75,12 +73,8 @@ msgstr "L'estrazione necessita di %s MiB di memoria." #: src/xz/coder.c:247 #, 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" +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 @@ -160,8 +154,7 @@ msgstr "%s: chiusura del file non riuscita: %s" #: src/xz/file_io.c:762 src/xz/file_io.c:946 #, 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" +msgstr "%s: posizionamento non riuscito nel tentativo di creare un file sparso: %s" #: src/xz/file_io.c:821 #, c-format @@ -212,7 +205,7 @@ msgstr "Nessuno" #. 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. +#. you need space for one extra letter, but don't use spaces. #: src/xz/list.c:69 msgid "Unknown-2" msgstr "Sconosc2" @@ -320,12 +313,10 @@ msgstr " Padding dello stream: %s\n" #: src/xz/list.c:693 msgid "" " Streams:\n" -" Stream Blocks CompOffset UncompOffset CompSize " -"UncompSize Ratio Check Padding" +" 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" +" 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. @@ -333,12 +324,10 @@ msgstr "" #, c-format msgid "" " Blocks:\n" -" Stream Block CompOffset UncompOffset TotalSize " -"UncompSize Ratio Check" +" Stream Block CompOffset UncompOffset TotalSize UncompSize Ratio Check" msgstr "" " Blocchi:\n" -" Stream Blocc. Offset comp. Offset estratto Dim. tot. Dim. " -"estratto Rapp. Contr" +" 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 @@ -408,80 +397,69 @@ msgstr "%s: fine dell'input durante la lettura dei nomi dei file non attesa" #: 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\"?" +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" +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" -#: src/xz/message.c:800 src/xz/message.c:844 +#: src/xz/message.c:792 src/xz/message.c:842 msgid "Internal error (bug)" msgstr "Errore interno (bug)" -#: src/xz/message.c:807 +#: src/xz/message.c:799 msgid "Cannot establish signal handlers" msgstr "Impossibile stabilire i gestori dei segnali" -#: src/xz/message.c:816 +#: src/xz/message.c:808 msgid "No integrity check; not verifying file integrity" -msgstr "" -"Nessun controllo d'integrità; l'integrità del file non viene verificata" +msgstr "Nessun controllo d'integrità; l'integrità del file non viene verificata" -#: src/xz/message.c:819 +#: src/xz/message.c:811 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" +msgstr "Tipo di controllo di integrità non supportato; l'integrità del file non viene verificata" -#: src/xz/message.c:826 +#: src/xz/message.c:818 msgid "Memory usage limit reached" msgstr "Limite di utilizzo della memoria raggiunto" -#: src/xz/message.c:829 +#: src/xz/message.c:821 msgid "File format not recognized" msgstr "Formato di file non riconosciuto" -#: src/xz/message.c:832 +#: src/xz/message.c:824 msgid "Unsupported options" msgstr "Opzioni non supportate" -#: src/xz/message.c:835 +#: src/xz/message.c:827 msgid "Compressed data is corrupt" msgstr "I dati compressi sono danneggiati" -#: src/xz/message.c:838 +#: src/xz/message.c:830 msgid "Unexpected end of input" msgstr "Fine dell'input non attesa" -#: src/xz/message.c:886 +#: src/xz/message.c:881 #, 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:1053 +#: src/xz/message.c:1048 #, c-format msgid "%s: Filter chain: %s\n" msgstr "%s: catena di filtri: %s\n" -#: src/xz/message.c:1063 +#: src/xz/message.c:1058 #, c-format msgid "Try `%s --help' for more information." msgstr "Provare \"%s --help\" per maggiori informazioni." -#: src/xz/message.c:1089 +#: src/xz/message.c:1084 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" @@ -492,18 +470,15 @@ msgstr "" "Comprime o estrae i FILE nel formato .xz.\n" "\n" -#: src/xz/message.c:1096 -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:1091 +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:1100 +#: src/xz/message.c:1095 msgid " Operation mode:\n" msgstr " Modalità di operazione:\n" -#: src/xz/message.c:1103 +#: src/xz/message.c:1098 msgid "" " -z, --compress force compression\n" " -d, --decompress force decompression\n" @@ -515,7 +490,7 @@ msgstr "" " -t, --test Verifica l'integrità dei file compressi\n" " -l, --list Elenca informazioni sui file .xz" -#: src/xz/message.c:1109 +#: src/xz/message.c:1104 msgid "" "\n" " Operation modifiers:\n" @@ -523,40 +498,35 @@ msgstr "" "\n" " Modificatori di operazioni:\n" -#: src/xz/message.c:1112 +#: src/xz/message.c:1107 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" +" -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" +" -c, --stdout Scrive sullo standard output e non elimina i file di input" -#: src/xz/message.c:1118 +#: src/xz/message.c:1113 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" +" 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" +" 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:1126 +#: src/xz/message.c:1121 msgid "" "\n" " Basic file format and compression options:\n" @@ -564,76 +534,62 @@ msgstr "" "\n" " Formato file di base e opzioni di compressione:\n" -#: src/xz/message.c:1128 +#: src/xz/message.c:1123 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" +" -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:1135 +#: src/xz/message.c:1130 msgid "" -" -0 ... -9 compression preset; default is 6; take compressor " -"*and*\n" -" decompressor memory usage into account before using 7-" -"9!" +" -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" +" -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:1139 +#: src/xz/message.c:1134 msgid "" -" -e, --extreme try to improve compression ratio by using more CPU " -"time;\n" +" -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" +" utilizzando più tempo di CPU; non cambia i requisiti di\n" " memoria in fase di estrazione" -#: src/xz/message.c:1144 +#: src/xz/message.c:1139 #, no-c-format msgid "" " --memlimit-compress=LIMIT\n" " --memlimit-decompress=LIMIT\n" " -M, --memlimit=LIMIT\n" -" set memory usage limit for compression, " -"decompression,\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" +" compressione, l'estrazione o entrambe; LIMIT è in byte,\n" " % della memoria RAM oppure 0 per il valore predefinito" -#: src/xz/message.c:1151 +#: src/xz/message.c:1146 msgid "" -" --no-adjust if compression settings exceed the memory usage " -"limit,\n" -" give an error instead of adjusting the settings " -"downwards" +" --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" +" --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:1157 +#: src/xz/message.c:1152 msgid "" "\n" " Custom filter chain for compression (alternative for using presets):" @@ -642,13 +598,11 @@ msgstr "" " Catena di filtri personalizzati per la compressione (alternative per\n" " l'utilizzo di preset):" -#: src/xz/message.c:1166 +#: src/xz/message.c:1161 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" +" --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" @@ -656,24 +610,17 @@ msgid "" " 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)" +" 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" +" --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" +" 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" @@ -681,11 +628,10 @@ msgstr "" " (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" +" depth=NUM Profondità massima di ricerca; 0=automatica\n" " (predefinito)" -#: src/xz/message.c:1181 +#: src/xz/message.c:1176 msgid "" "\n" " --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n" @@ -708,7 +654,7 @@ msgstr "" " start=NUM Offset iniziale per le conversioni\n" " (predefinito=0)" -#: src/xz/message.c:1193 +#: src/xz/message.c:1188 msgid "" "\n" " --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n" @@ -720,7 +666,7 @@ msgstr "" " dist=NUM Distanza tra byte sottratti\n" " gli uni dagli altri (1-256; 1)" -#: src/xz/message.c:1201 +#: src/xz/message.c:1196 msgid "" "\n" " Other options:\n" @@ -728,39 +674,33 @@ msgstr "" "\n" " Altre opzioni:\n" -#: src/xz/message.c:1204 +#: src/xz/message.c:1199 msgid "" -" -q, --quiet suppress warnings; specify twice to suppress errors " -"too\n" +" -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" +" -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" +" -v, --verbose Output prolisso; specificare due volte per output ancora\n" " più prolisso" -#: src/xz/message.c:1209 +#: src/xz/message.c:1204 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:1211 -msgid "" -" --robot use machine-parsable messages (useful for scripts)" +#: src/xz/message.c:1206 +msgid " --robot use machine-parsable messages (useful for scripts)" msgstr " --robot Usa messaggi analizzabili (utile per gli script)" -#: src/xz/message.c:1214 +#: src/xz/message.c:1209 msgid "" -" --info-memory display the total amount of RAM and the currently " -"active\n" +" --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" +" --info-memory Visualizza la quantità totale di RAM, il limite attuale\n" " attivo di utilizzo della memore ed esce" -#: src/xz/message.c:1217 +#: src/xz/message.c:1212 msgid "" " -h, --help display the short help (lists only the basic options)\n" " -H, --long-help display this long help and exit" @@ -768,7 +708,7 @@ 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:1221 +#: src/xz/message.c:1216 msgid "" " -h, --help display this short help and exit\n" " -H, --long-help display the long help (lists also the advanced options)" @@ -776,11 +716,11 @@ 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:1226 +#: src/xz/message.c:1221 msgid " -V, --version display the version number and exit" msgstr " -V, --version Stampa il numero della versione ed esce" -#: src/xz/message.c:1228 +#: src/xz/message.c:1223 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" @@ -792,14 +732,14 @@ msgstr "" #. 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:1234 +#: src/xz/message.c:1229 #, 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 .\n" -#: src/xz/message.c:1236 +#: src/xz/message.c:1231 #, c-format msgid "%s home page: <%s>\n" msgstr "Sito web di %s: <%s>\n" @@ -807,8 +747,7 @@ 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" +msgstr "%s: le opzioni devono essere coppie \"nome=valore\" separate da virgole" #: src/xz/options.c:93 #, c-format @@ -832,17 +771,12 @@ 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=%" -msgstr "" -"Lo strumento per cercare corrispondenze selezionato richiede almeno nice=%" -"" +msgstr "Lo strumento per cercare corrispondenze selezionato richiede almeno nice=%" #: src/xz/suffix.c:79 src/xz/suffix.c:164 #, 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" +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:99 #, c-format @@ -871,15 +805,12 @@ 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)." +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 [%, %]" -msgstr "" -"Il valore dell'opzione \"%s\" deve essere nell'intervallo [%, %" -"]" +msgstr "Il valore dell'opzione \"%s\" deve essere nell'intervallo [%, %]" #: src/xz/util.c:247 msgid "Empty filename, skipping" diff --git a/po/xz.pot b/po/xz.pot new file mode 100644 index 000000000000..80631f6bc844 --- /dev/null +++ b/po/xz.pot @@ -0,0 +1,736 @@ +# SOME DESCRIPTIVE TITLE. +# This file is put in the public domain. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n" +"POT-Creation-Date: 2010-10-23 17:48+0300\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" + +#: src/xz/args.c:333 +#, c-format +msgid "%s: Unknown file format type" +msgstr "" + +#: src/xz/args.c:356 src/xz/args.c:364 +#, c-format +msgid "%s: Unsupported integrity check type" +msgstr "" + +#: src/xz/args.c:382 +msgid "Only one file can be specified with `--files' or `--files0'." +msgstr "" + +#: src/xz/args.c:445 +#, c-format +msgid "The environment variable %s contains too many arguments" +msgstr "" + +#: src/xz/coder.c:95 +msgid "Maximum number of filters is four" +msgstr "" + +#: src/xz/coder.c:108 +msgid "Memory usage limit is too low for the given filter setup." +msgstr "" + +#: src/xz/coder.c:129 +msgid "Using a preset in raw mode is discouraged." +msgstr "" + +#: src/xz/coder.c:131 +msgid "The exact options of the presets may vary between software versions." +msgstr "" + +#: src/xz/coder.c:157 +msgid "The .lzma format supports only the LZMA1 filter" +msgstr "" + +#: src/xz/coder.c:165 +msgid "LZMA1 cannot be used with the .xz format" +msgstr "" + +#: src/xz/coder.c:182 +msgid "Unsupported filter chain or filter options" +msgstr "" + +#: src/xz/coder.c:190 +#, c-format +msgid "Decompression will need %s MiB of memory." +msgstr "" + +#: src/xz/coder.c:247 +#, 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 "" + +#. 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:137 +#, c-format +msgid "%s: File seems to have been moved, not removing" +msgstr "" + +#: src/xz/file_io.c:144 src/xz/file_io.c:590 +#, c-format +msgid "%s: Cannot remove: %s" +msgstr "" + +#: src/xz/file_io.c:169 +#, c-format +msgid "%s: Cannot set the file owner: %s" +msgstr "" + +#: src/xz/file_io.c:175 +#, c-format +msgid "%s: Cannot set the file group: %s" +msgstr "" + +#: src/xz/file_io.c:194 +#, c-format +msgid "%s: Cannot set the file permissions: %s" +msgstr "" + +#: src/xz/file_io.c:337 src/xz/file_io.c:420 +#, c-format +msgid "%s: Is a symbolic link, skipping" +msgstr "" + +#: src/xz/file_io.c:455 +#, c-format +msgid "%s: Is a directory, skipping" +msgstr "" + +#: src/xz/file_io.c:462 +#, c-format +msgid "%s: Not a regular file, skipping" +msgstr "" + +#: src/xz/file_io.c:479 +#, c-format +msgid "%s: File has setuid or setgid bit set, skipping" +msgstr "" + +#: src/xz/file_io.c:486 +#, c-format +msgid "%s: File has sticky bit set, skipping" +msgstr "" + +#: src/xz/file_io.c:493 +#, c-format +msgid "%s: Input file has more than one hard link, skipping" +msgstr "" + +#: src/xz/file_io.c:714 +#, c-format +msgid "Error restoring the O_APPEND flag to standard output: %s" +msgstr "" + +#: src/xz/file_io.c:726 +#, c-format +msgid "%s: Closing the file failed: %s" +msgstr "" + +#: src/xz/file_io.c:762 src/xz/file_io.c:946 +#, c-format +msgid "%s: Seeking failed when trying to create a sparse file: %s" +msgstr "" + +#: src/xz/file_io.c:821 +#, c-format +msgid "%s: Read error: %s" +msgstr "" + +#: src/xz/file_io.c:844 +#, c-format +msgid "%s: Error seeking the file: %s" +msgstr "" + +#: src/xz/file_io.c:854 +#, c-format +msgid "%s: Unexpected end of file" +msgstr "" + +#: src/xz/file_io.c:904 +#, c-format +msgid "%s: Write error: %s" +msgstr "" + +#: src/xz/hardware.c:100 +msgid "Disabled" +msgstr "" + +#. TRANSLATORS: Test with "xz --info-memory" to see if +#. the alignment looks nice. +#: src/xz/hardware.c:119 +msgid "Total amount of physical memory (RAM): " +msgstr "" + +#: src/xz/hardware.c:121 +msgid "Memory usage limit for compression: " +msgstr "" + +#: src/xz/hardware.c:123 +msgid "Memory usage limit for decompression: " +msgstr "" + +#. 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 "" + +#. 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 "" + +#: src/xz/list.c:70 +msgid "Unknown-3" +msgstr "" + +#: src/xz/list.c:72 +msgid "Unknown-5" +msgstr "" + +#: src/xz/list.c:73 +msgid "Unknown-6" +msgstr "" + +#: src/xz/list.c:74 +msgid "Unknown-7" +msgstr "" + +#: src/xz/list.c:75 +msgid "Unknown-8" +msgstr "" + +#: src/xz/list.c:76 +msgid "Unknown-9" +msgstr "" + +#: src/xz/list.c:78 +msgid "Unknown-11" +msgstr "" + +#: src/xz/list.c:79 +msgid "Unknown-12" +msgstr "" + +#: src/xz/list.c:80 +msgid "Unknown-13" +msgstr "" + +#: src/xz/list.c:81 +msgid "Unknown-14" +msgstr "" + +#: src/xz/list.c:82 +msgid "Unknown-15" +msgstr "" + +#: src/xz/list.c:126 +#, c-format +msgid "%s: File is empty" +msgstr "" + +#: src/xz/list.c:131 +#, c-format +msgid "%s: Too small to be a valid .xz file" +msgstr "" + +#. 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 "" + +#: src/xz/list.c:652 +#, c-format +msgid " Streams: %s\n" +msgstr "" + +#: src/xz/list.c:654 +#, c-format +msgid " Blocks: %s\n" +msgstr "" + +#: src/xz/list.c:656 +#, c-format +msgid " Compressed size: %s\n" +msgstr "" + +#: src/xz/list.c:659 +#, c-format +msgid " Uncompressed size: %s\n" +msgstr "" + +#: src/xz/list.c:662 +#, c-format +msgid " Ratio: %s\n" +msgstr "" + +#: src/xz/list.c:664 +#, c-format +msgid " Check: %s\n" +msgstr "" + +#: src/xz/list.c:665 +#, c-format +msgid " Stream padding: %s\n" +msgstr "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#: src/xz/list.c:838 src/xz/list.c:1007 +#, c-format +msgid " Memory needed: %s MiB\n" +msgstr "" + +#: src/xz/list.c:840 src/xz/list.c:1009 +#, c-format +msgid " Sizes in headers: %s\n" +msgstr "" + +#: src/xz/list.c:841 src/xz/list.c:1010 +msgid "Yes" +msgstr "" + +#: src/xz/list.c:841 src/xz/list.c:1010 +msgid "No" +msgstr "" + +#. 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] "" +msgstr[1] "" + +#: src/xz/list.c:999 +msgid "Totals:" +msgstr "" + +#: src/xz/list.c:1000 +#, c-format +msgid " Number of files: %s\n" +msgstr "" + +#: src/xz/list.c:1072 +msgid "--list works only on .xz files (--format=xz or --format=auto)" +msgstr "" + +#: src/xz/list.c:1078 +msgid "--list does not support reading from standard input" +msgstr "" + +#: src/xz/main.c:89 +#, c-format +msgid "%s: Error reading filenames: %s" +msgstr "" + +#: src/xz/main.c:96 +#, c-format +msgid "%s: Unexpected end of input when reading filenames" +msgstr "" + +#: 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 "" + +#: src/xz/main.c:174 +msgid "Compression and decompression with --robot are not supported yet." +msgstr "" + +#: src/xz/main.c:231 +msgid "Cannot read data from standard input when reading filenames from standard input" +msgstr "" + +#: src/xz/message.c:792 src/xz/message.c:842 +msgid "Internal error (bug)" +msgstr "" + +#: src/xz/message.c:799 +msgid "Cannot establish signal handlers" +msgstr "" + +#: src/xz/message.c:808 +msgid "No integrity check; not verifying file integrity" +msgstr "" + +#: src/xz/message.c:811 +msgid "Unsupported type of integrity check; not verifying file integrity" +msgstr "" + +#: src/xz/message.c:818 +msgid "Memory usage limit reached" +msgstr "" + +#: src/xz/message.c:821 +msgid "File format not recognized" +msgstr "" + +#: src/xz/message.c:824 +msgid "Unsupported options" +msgstr "" + +#: src/xz/message.c:827 +msgid "Compressed data is corrupt" +msgstr "" + +#: src/xz/message.c:830 +msgid "Unexpected end of input" +msgstr "" + +#: src/xz/message.c:881 +#, c-format +msgid "%s MiB of memory is required. The limit is %s." +msgstr "" + +#: src/xz/message.c:1048 +#, c-format +msgid "%s: Filter chain: %s\n" +msgstr "" + +#: src/xz/message.c:1058 +#, c-format +msgid "Try `%s --help' for more information." +msgstr "" + +#: src/xz/message.c:1084 +#, c-format +msgid "" +"Usage: %s [OPTION]... [FILE]...\n" +"Compress or decompress FILEs in the .xz format.\n" +"\n" +msgstr "" + +#: src/xz/message.c:1091 +msgid "Mandatory arguments to long options are mandatory for short options too.\n" +msgstr "" + +#: src/xz/message.c:1095 +msgid " Operation mode:\n" +msgstr "" + +#: src/xz/message.c:1098 +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 "" + +#: src/xz/message.c:1104 +msgid "" +"\n" +" Operation modifiers:\n" +msgstr "" + +#: src/xz/message.c:1107 +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 "" + +#: src/xz/message.c:1113 +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 "" + +#: src/xz/message.c:1121 +msgid "" +"\n" +" Basic file format and compression options:\n" +msgstr "" + +#: src/xz/message.c:1123 +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 "" + +#: src/xz/message.c:1130 +msgid "" +" -0 ... -9 compression preset; default is 6; take compressor *and*\n" +" decompressor memory usage into account before using 7-9!" +msgstr "" + +#: src/xz/message.c:1134 +msgid "" +" -e, --extreme try to improve compression ratio by using more CPU time;\n" +" does not affect decompressor memory requirements" +msgstr "" + +#: src/xz/message.c:1139 +#, 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 "" + +#: src/xz/message.c:1146 +msgid "" +" --no-adjust if compression settings exceed the memory usage limit,\n" +" give an error instead of adjusting the settings downwards" +msgstr "" + +#: src/xz/message.c:1152 +msgid "" +"\n" +" Custom filter chain for compression (alternative for using presets):" +msgstr "" + +#: src/xz/message.c:1161 +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 "" + +#: src/xz/message.c:1176 +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 "" + +#: src/xz/message.c:1188 +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 "" + +#: src/xz/message.c:1196 +msgid "" +"\n" +" Other options:\n" +msgstr "" + +#: src/xz/message.c:1199 +msgid "" +" -q, --quiet suppress warnings; specify twice to suppress errors too\n" +" -v, --verbose be verbose; specify twice for even more verbose" +msgstr "" + +#: src/xz/message.c:1204 +msgid " -Q, --no-warn make warnings not affect the exit status" +msgstr "" + +#: src/xz/message.c:1206 +msgid " --robot use machine-parsable messages (useful for scripts)" +msgstr "" + +#: src/xz/message.c:1209 +msgid "" +" --info-memory display the total amount of RAM and the currently active\n" +" memory usage limits, and exit" +msgstr "" + +#: src/xz/message.c:1212 +msgid "" +" -h, --help display the short help (lists only the basic options)\n" +" -H, --long-help display this long help and exit" +msgstr "" + +#: src/xz/message.c:1216 +msgid "" +" -h, --help display this short help and exit\n" +" -H, --long-help display the long help (lists also the advanced options)" +msgstr "" + +#: src/xz/message.c:1221 +msgid " -V, --version display the version number and exit" +msgstr "" + +#: src/xz/message.c:1223 +msgid "" +"\n" +"With no FILE, or when FILE is -, read standard input.\n" +msgstr "" + +#. 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:1229 +#, c-format +msgid "Report bugs to <%s> (in English or Finnish).\n" +msgstr "" + +#: src/xz/message.c:1231 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "" + +#: src/xz/options.c:86 +#, c-format +msgid "%s: Options must be `name=value' pairs separated with commas" +msgstr "" + +#: src/xz/options.c:93 +#, c-format +msgid "%s: Invalid option name" +msgstr "" + +#: src/xz/options.c:113 +#, c-format +msgid "%s: Invalid option value" +msgstr "" + +#: src/xz/options.c:247 +#, c-format +msgid "Unsupported LZMA1/LZMA2 preset: %s" +msgstr "" + +#: src/xz/options.c:355 +msgid "The sum of lc and lp must not exceed 4" +msgstr "" + +#: src/xz/options.c:359 +#, c-format +msgid "The selected match finder requires at least nice=%" +msgstr "" + +#: src/xz/suffix.c:79 src/xz/suffix.c:164 +#, c-format +msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout" +msgstr "" + +#: src/xz/suffix.c:99 +#, c-format +msgid "%s: Filename has an unknown suffix, skipping" +msgstr "" + +#: src/xz/suffix.c:154 +#, c-format +msgid "%s: File already has `%s' suffix, skipping" +msgstr "" + +#: src/xz/suffix.c:205 +#, c-format +msgid "%s: Invalid filename suffix" +msgstr "" + +#: src/xz/util.c:61 +#, c-format +msgid "%s: Value is not a non-negative decimal integer" +msgstr "" + +#: src/xz/util.c:103 +#, c-format +msgid "%s: Invalid multiplier suffix" +msgstr "" + +#: src/xz/util.c:105 +msgid "Valid suffixes are `KiB' (2^10), `MiB' (2^20), and `GiB' (2^30)." +msgstr "" + +#: src/xz/util.c:122 +#, c-format +msgid "Value of the option `%s' must be in the range [%, %]" +msgstr "" + +#: src/xz/util.c:247 +msgid "Empty filename, skipping" +msgstr "" + +#: src/xz/util.c:261 +msgid "Compressed data cannot be read from a terminal" +msgstr "" + +#: src/xz/util.c:274 +msgid "Compressed data cannot be written to a terminal" +msgstr "" + +#: src/common/tuklib_exit.c:39 +msgid "Writing to standard output failed" +msgstr "" + +#: src/common/tuklib_exit.c:42 +msgid "Unknown error" +msgstr "" diff --git a/src/common/sysdefs.h b/src/common/sysdefs.h index 1e138b1c2e79..c74c6212cff5 100644 --- a/src/common/sysdefs.h +++ b/src/common/sysdefs.h @@ -24,6 +24,11 @@ # include #endif +// Get standard-compliant stdio functions under MinGW and MinGW-w64. +#ifdef __MINGW32__ +# define __USE_MINGW_ANSI_STDIO 1 +#endif + // size_t and NULL #include diff --git a/src/liblzma/api/lzma.h b/src/liblzma/api/lzma.h index fb593a35a07e..fb874c3e1377 100644 --- a/src/liblzma/api/lzma.h +++ b/src/liblzma/api/lzma.h @@ -60,8 +60,8 @@ * * Some could argue that liblzma API should provide all the required types, * for example lzma_uint64, LZMA_UINT64_C(n), and LZMA_UINT64_MAX. This was - * seen unnecessary mess, since most systems already provide all the necessary - * types and macros in the standard headers. + * seen as an unnecessary mess, since most systems already provide all the + * necessary types and macros in the standard headers. * * Note that liblzma API still has lzma_bool, because using stdbool.h would * break C89 and C++ programs on many systems. sizeof(bool) in C99 isn't diff --git a/src/liblzma/api/lzma/base.h b/src/liblzma/api/lzma/base.h index 993626a4cdfd..43dde8d60f3d 100644 --- a/src/liblzma/api/lzma/base.h +++ b/src/liblzma/api/lzma/base.h @@ -281,21 +281,21 @@ typedef enum { * Using LZMA_SYNC_FLUSH very often can dramatically reduce * the compression ratio. With some filters (for example, * LZMA2), fine-tuning the compression options may help - * mitigate this problem significantly. + * mitigate this problem significantly (for example, + * match finder with LZMA2). * * Decoders don't support LZMA_SYNC_FLUSH. */ LZMA_FULL_FLUSH = 2, /**< - * \brief Make all the input available at output + * \brief Finish encoding of the current Block * - * Finish encoding of the current Block. All the input - * data going to the current Block must have been given - * to the encoder (the last bytes can still be pending in - * next_in). Call lzma_code() with LZMA_FULL_FLUSH until - * it returns LZMA_STREAM_END. Then continue normally with - * LZMA_RUN or finish the Stream with LZMA_FINISH. + * All the input data going to the current Block must have + * been given to the encoder (the last bytes can still be + * pending in* next_in). Call lzma_code() with LZMA_FULL_FLUSH + * until it returns LZMA_STREAM_END. Then continue normally + * with LZMA_RUN or finish the Stream with LZMA_FINISH. * * This action is currently supported only by Stream encoder * and easy encoder (which uses Stream encoder). If there is @@ -306,12 +306,12 @@ typedef enum { /**< * \brief Finish the coding operation * - * Finishes the coding operation. All the input data must - * have been given to the encoder (the last bytes can still - * be pending in next_in). Call lzma_code() with LZMA_FINISH - * until it returns LZMA_STREAM_END. Once LZMA_FINISH has - * been used, the amount of input must no longer be changed - * by the application. + * All the input data must have been given to the encoder + * (the last bytes can still be pending in next_in). + * Call lzma_code() with LZMA_FINISH until it returns + * LZMA_STREAM_END. Once LZMA_FINISH has been used, + * the amount of input must no longer be changed by + * the application. * * When decoding, using LZMA_FINISH is optional unless the * LZMA_CONCATENATED flag was used when the decoder was @@ -478,8 +478,12 @@ typedef struct { */ void *reserved_ptr1; void *reserved_ptr2; + void *reserved_ptr3; + void *reserved_ptr4; uint64_t reserved_int1; uint64_t reserved_int2; + size_t reserved_int3; + size_t reserved_int4; lzma_reserved_enum reserved_enum1; lzma_reserved_enum reserved_enum2; @@ -506,7 +510,8 @@ typedef struct { */ #define LZMA_STREAM_INIT \ { NULL, 0, 0, NULL, 0, 0, NULL, NULL, \ - NULL, NULL, 0, 0, LZMA_RESERVED_ENUM, LZMA_RESERVED_ENUM } + NULL, NULL, NULL, NULL, 0, 0, 0, 0, \ + LZMA_RESERVED_ENUM, LZMA_RESERVED_ENUM } /** @@ -554,11 +559,11 @@ extern LZMA_API(void) lzma_end(lzma_stream *strm) lzma_nothrow; * this may give misleading information if decoding .xz Streams that have * multiple Blocks, because each Block can have different memory requirements. * - * \return Rough estimate of how much memory is currently allocated - * for the filter decoders. If no filter chain is currently - * allocated, some non-zero value is still returned, which is - * less than or equal to what any filter chain would indicate - * as its memory requirement. + * \return How much memory is currently allocated for the filter + * decoders. If no filter chain is currently allocated, + * some non-zero value is still returned, which is less than + * or equal to what any filter chain would indicate as its + * memory requirement. * * If this function isn't supported by *strm or some other error * occurs, zero is returned. diff --git a/src/liblzma/api/lzma/bcj.h b/src/liblzma/api/lzma/bcj.h index 82e4a440b218..8e37538ad4af 100644 --- a/src/liblzma/api/lzma/bcj.h +++ b/src/liblzma/api/lzma/bcj.h @@ -31,7 +31,7 @@ #define LZMA_FILTER_IA64 LZMA_VLI_C(0x06) /**< - * Filter for IA64 (Itanium) binaries. + * Filter for IA-64 (Itanium) binaries. */ #define LZMA_FILTER_ARM LZMA_VLI_C(0x07) @@ -41,7 +41,7 @@ #define LZMA_FILTER_ARMTHUMB LZMA_VLI_C(0x08) /**< - * Filter for ARMThumb binaries. + * Filter for ARM-Thumb binaries. */ #define LZMA_FILTER_SPARC LZMA_VLI_C(0x09) diff --git a/src/liblzma/api/lzma/block.h b/src/liblzma/api/lzma/block.h index 8e681ed2811b..3019bf916fec 100644 --- a/src/liblzma/api/lzma/block.h +++ b/src/liblzma/api/lzma/block.h @@ -318,8 +318,8 @@ extern LZMA_API(lzma_ret) lzma_block_header_encode( * The size of the Block Header must have already been decoded with * lzma_block_header_size_decode() macro and stored to block->header_size. * - * block->filters must have been allocated, but not necessarily initialized. - * Possible existing filter options are _not_ freed. + * block->filters must have been allocated, but they don't need to be + * initialized (possible existing filter options are not freed). * * \param block Destination for Block options. * \param allocator lzma_allocator for custom allocator functions. diff --git a/src/liblzma/api/lzma/container.h b/src/liblzma/api/lzma/container.h index 0d907650fc49..83e70b44f220 100644 --- a/src/liblzma/api/lzma/container.h +++ b/src/liblzma/api/lzma/container.h @@ -55,13 +55,13 @@ * * This flag doesn't affect the memory usage requirements of the decoder (at * least not significantly). The memory usage of the encoder may be increased - * a little but only at the lowest preset levels (0-2). + * a little but only at the lowest preset levels (0-3). */ #define LZMA_PRESET_EXTREME (UINT32_C(1) << 31) /** - * \brief Calculate rough memory usage of easy encoder + * \brief Calculate approximate memory usage of easy encoder * * This function is a wrapper for lzma_raw_encoder_memusage(). * @@ -72,7 +72,7 @@ extern LZMA_API(uint64_t) lzma_easy_encoder_memusage(uint32_t preset) /** - * \brief Calculate rough decoder memory usage of a preset + * \brief Calculate approximate decoder memory usage of a preset * * This function is a wrapper for lzma_raw_decoder_memusage(). * @@ -93,16 +93,19 @@ extern LZMA_API(uint64_t) lzma_easy_decoder_memusage(uint32_t preset) * \param preset Compression preset to use. A preset consist of level * number and zero or more flags. Usually flags aren't * used, so preset is simply a number [0, 9] which match - * the options -0 .. -9 of the xz command line tool. + * the options -0 ... -9 of the xz command line tool. * Additional flags can be be set using bitwise-or with * the preset level number, e.g. 6 | LZMA_PRESET_EXTREME. * \param check Integrity check type to use. See check.h for available - * checks. If you are unsure, use LZMA_CHECK_CRC32. + * checks. The xz command line tool defaults to + * LZMA_CHECK_CRC64, which is a good choice if you are + * unsure. LZMA_CHECK_CRC32 is good too as long as the + * uncompressed file is not many gigabytes. * * \return - LZMA_OK: Initialization succeeded. Use lzma_code() to * encode your data. * - LZMA_MEM_ERROR: Memory allocation failed. - * - LZMA_OPTIONS_ERROR: The given compression level is not + * - LZMA_OPTIONS_ERROR: The given compression preset is not * supported by this build of liblzma. * - LZMA_UNSUPPORTED_CHECK: The given check type is not * supported by this liblzma build. @@ -310,7 +313,8 @@ extern LZMA_API(lzma_ret) lzma_stream_buffer_encode( * \brief Initialize .xz Stream decoder * * \param strm Pointer to properly prepared lzma_stream - * \param memlimit Rough memory usage limit as bytes + * \param memlimit Memory usage limit as bytes. Use UINT64_MAX + * to effectively disable the limiter. * \param flags Bitwise-or of zero or more of the decoder flags: * LZMA_TELL_NO_CHECK, LZMA_TELL_UNSUPPORTED_CHECK, * LZMA_TELL_ANY_CHECK, LZMA_CONCATENATED @@ -318,6 +322,7 @@ extern LZMA_API(lzma_ret) lzma_stream_buffer_encode( * \return - LZMA_OK: Initialization was successful. * - LZMA_MEM_ERROR: Cannot allocate memory. * - LZMA_OPTIONS_ERROR: Unsupported flags + * - LZMA_PROG_ERROR */ extern LZMA_API(lzma_ret) lzma_stream_decoder( lzma_stream *strm, uint64_t memlimit, uint32_t flags) @@ -332,12 +337,14 @@ extern LZMA_API(lzma_ret) lzma_stream_decoder( * of the input file has been detected. * * \param strm Pointer to properly prepared lzma_stream - * \param memlimit Rough memory usage limit as bytes + * \param memlimit Memory usage limit as bytes. Use UINT64_MAX + * to effectively disable the limiter. * \param flags Bitwise-or of flags, or zero for no flags. * * \return - LZMA_OK: Initialization was successful. * - LZMA_MEM_ERROR: Cannot allocate memory. * - LZMA_OPTIONS_ERROR: Unsupported flags + * - LZMA_PROG_ERROR */ extern LZMA_API(lzma_ret) lzma_auto_decoder( lzma_stream *strm, uint64_t memlimit, uint32_t flags) @@ -353,6 +360,7 @@ extern LZMA_API(lzma_ret) lzma_auto_decoder( * * \return - LZMA_OK * - LZMA_MEM_ERROR + * - LZMA_PROG_ERROR */ extern LZMA_API(lzma_ret) lzma_alone_decoder( lzma_stream *strm, uint64_t memlimit) @@ -379,7 +387,7 @@ extern LZMA_API(lzma_ret) lzma_alone_decoder( * won't be read is in[in_size]. * \param out Beginning of the output buffer * \param out_pos The next byte will be written to out[*out_pos]. - * *out_pos is updated only if encoding succeeds. + * *out_pos is updated only if decoding succeeds. * \param out_size Size of the out buffer; the first byte into * which no data is written to is out[out_size]. * diff --git a/src/liblzma/api/lzma/filter.h b/src/liblzma/api/lzma/filter.h index 038a93398c68..efd036f7f041 100644 --- a/src/liblzma/api/lzma/filter.h +++ b/src/liblzma/api/lzma/filter.h @@ -1,6 +1,6 @@ /** * \file lzma/filter.h - * \brief Common filter related types + * \brief Common filter related types and functions */ /* @@ -59,11 +59,6 @@ typedef struct { * If the filter doesn't need options, set this to NULL. If id is * set to LZMA_VLI_UNKNOWN, options is ignored, and thus * doesn't need be initialized. - * - * Some filters support changing the options in the middle of - * the encoding process. These filters store the pointer of the - * options structure and communicate with the application via - * modifications of the options structure. */ void *options; @@ -126,15 +121,16 @@ extern LZMA_API(lzma_ret) lzma_filters_copy(const lzma_filter *src, /** - * \brief Calculate rough memory requirements for raw encoder + * \brief Calculate approximate memory requirements for raw encoder * - * Because the calculation is rough, this function can be used to calculate - * the memory requirements for Block and Stream encoders too. + * This function can be used to calculate the memory requirements for + * Block and Stream encoders too because Block and Stream encoders don't + * need significantly more memory than raw encoder. * * \param filters Array of filters terminated with * .id == LZMA_VLI_UNKNOWN. * - * \return Rough number of bytes of memory required for the given + * \return Number of bytes of memory required for the given * filter chain when encoding. */ extern LZMA_API(uint64_t) lzma_raw_encoder_memusage(const lzma_filter *filters) @@ -142,15 +138,16 @@ extern LZMA_API(uint64_t) lzma_raw_encoder_memusage(const lzma_filter *filters) /** - * \brief Calculate rough memory requirements for raw decoder + * \brief Calculate approximate memory requirements for raw decoder * - * Because the calculation is rough, this function can be used to calculate - * the memory requirements for Block and Stream decoders too. + * This function can be used to calculate the memory requirements for + * Block and Stream decoders too because Block and Stream decoders don't + * need significantly more memory than raw decoder. * * \param filters Array of filters terminated with * .id == LZMA_VLI_UNKNOWN. * - * \return Rough number of bytes of memory required for the given + * \return Number of bytes of memory required for the given * filter chain when decoding. */ extern LZMA_API(uint64_t) lzma_raw_decoder_memusage(const lzma_filter *filters) @@ -251,7 +248,8 @@ extern LZMA_API(lzma_ret) lzma_filters_update( * * \note There is no function to calculate how big output buffer * would surely be big enough. (lzma_stream_buffer_bound() - * works only for lzma_stream_buffer_encode().) + * works only for lzma_stream_buffer_encode(); raw encoder + * won't necessarily meet that bound.) */ extern LZMA_API(lzma_ret) lzma_raw_buffer_encode( const lzma_filter *filters, lzma_allocator *allocator, @@ -323,9 +321,10 @@ extern LZMA_API(lzma_ret) lzma_properties_size( * succeeds but using the same options to initialize the encoder * will fail. * - * \note It is OK to skip calling this function if - * lzma_properties_size() indicated that the size - * of the Filter Properties field is zero. + * \note If lzma_properties_size() indicated that the size + * of the Filter Properties field is zero, calling + * lzma_properties_encode() is not required, but it + * won't do any harm either. */ extern LZMA_API(lzma_ret) lzma_properties_encode( const lzma_filter *filter, uint8_t *props) lzma_nothrow; @@ -364,11 +363,11 @@ extern LZMA_API(lzma_ret) lzma_properties_decode( * memory to hold the encoded Filter Flags. * * \param size Pointer to integer to hold the calculated size - * \param filters Filter ID and associated options whose encoded + * \param filter Filter ID and associated options whose encoded * size is to be calculated * * \return - LZMA_OK: *size set successfully. Note that this doesn't - * guarantee that filters->options is valid, thus + * guarantee that filter->options is valid, thus * lzma_filter_flags_encode() may still fail. * - LZMA_OPTIONS_ERROR: Unknown Filter ID or unsupported options. * - LZMA_PROG_ERROR: Invalid options @@ -377,7 +376,7 @@ extern LZMA_API(lzma_ret) lzma_properties_decode( * you need to loop over every lzma_filter entry. */ extern LZMA_API(lzma_ret) lzma_filter_flags_size( - uint32_t *size, const lzma_filter *filters) + uint32_t *size, const lzma_filter *filter) lzma_nothrow lzma_attr_warn_unused_result; @@ -387,7 +386,7 @@ extern LZMA_API(lzma_ret) lzma_filter_flags_size( * In contrast to some functions, this doesn't allocate the needed buffer. * This is due to how this function is used internally by liblzma. * - * \param filters Filter ID and options to be encoded + * \param filter Filter ID and options to be encoded * \param out Beginning of the output buffer * \param out_pos out[*out_pos] is the next write position. This * is updated by the encoder. @@ -399,7 +398,7 @@ extern LZMA_API(lzma_ret) lzma_filter_flags_size( * buffer space (you should have checked it with * lzma_filter_flags_size()). */ -extern LZMA_API(lzma_ret) lzma_filter_flags_encode(const lzma_filter *filters, +extern LZMA_API(lzma_ret) lzma_filter_flags_encode(const lzma_filter *filter, uint8_t *out, size_t *out_pos, size_t out_size) lzma_nothrow lzma_attr_warn_unused_result; @@ -407,8 +406,8 @@ extern LZMA_API(lzma_ret) lzma_filter_flags_encode(const lzma_filter *filters, /** * \brief Decode Filter Flags from given buffer * - * The decoded result is stored into *filters. filters->options is - * initialized but the old value is NOT free()d. + * The decoded result is stored into *filter. The old value of + * filter->options is not free()d. * * \return - LZMA_OK * - LZMA_OPTIONS_ERROR @@ -416,6 +415,6 @@ extern LZMA_API(lzma_ret) lzma_filter_flags_encode(const lzma_filter *filters, * - LZMA_PROG_ERROR */ extern LZMA_API(lzma_ret) lzma_filter_flags_decode( - lzma_filter *filters, lzma_allocator *allocator, + lzma_filter *filter, lzma_allocator *allocator, const uint8_t *in, size_t *in_pos, size_t in_size) lzma_nothrow lzma_attr_warn_unused_result; diff --git a/src/liblzma/api/lzma/hardware.h b/src/liblzma/api/lzma/hardware.h index f44cb602ff90..e7dd03c3e8dd 100644 --- a/src/liblzma/api/lzma/hardware.h +++ b/src/liblzma/api/lzma/hardware.h @@ -39,8 +39,7 @@ * * This function may be useful when determining a reasonable memory * usage limit for decompressing or how much memory it is OK to use - * for compressing. For example, the default limit used by the xz - * command line tool is 40 % of RAM. + * for compressing. * * \return On success, the total amount of physical memory in bytes * is returned. If the amount of RAM cannot be determined, diff --git a/src/liblzma/api/lzma/index.h b/src/liblzma/api/lzma/index.h index 5ea12e359e5d..16bacc287dfc 100644 --- a/src/liblzma/api/lzma/index.h +++ b/src/liblzma/api/lzma/index.h @@ -136,6 +136,13 @@ typedef struct { * * This offset is relative to the beginning of the lzma_index * (i.e. usually the beginning of the .xz file). + * + * When doing random-access reading, it is possible that + * the target offset is not exactly at Block boundary. One + * will need to compare the target offset against + * uncompressed_file_offset or uncompressed_stream_offset, + * and possibly decode and throw away some amount of data + * before reaching the target offset. */ lzma_vli uncompressed_file_offset; @@ -166,14 +173,8 @@ typedef struct { * \brief Uncompressed size of this Block * * You should pass this to the Block decoder if you will - * decode this Block. - * - * When doing random-access reading, it is possible that - * the target offset is not exactly at Block boundary. One - * will need to compare the target offset against - * uncompressed_file_offset or uncompressed_stream_offset, - * and possibly decode and throw away some amount of data - * before reaching the target offset. + * decode this Block. It will allow the Block decoder to + * validate the uncompressed size. */ lzma_vli uncompressed_size; @@ -181,7 +182,8 @@ typedef struct { * \brief Unpadded size of this Block * * You should pass this to the Block decoder if you will - * decode this Block. + * decode this Block. It will allow the Block decoder to + * validate the unpadded size. */ lzma_vli unpadded_size; @@ -583,7 +585,9 @@ extern LZMA_API(lzma_index *) lzma_index_dup( * \param strm Pointer to properly prepared lzma_stream * \param i Pointer to lzma_index which should be encoded. * - * The only valid action value for lzma_code() is LZMA_RUN. + * The valid `action' values for lzma_code() are LZMA_RUN and LZMA_FINISH. + * It is enough to use only one of them (you can choose freely; use LZMA_RUN + * to support liblzma versions older than 5.0.0). * * \return - LZMA_OK: Initialization succeeded, continue with lzma_code(). * - LZMA_MEM_ERROR @@ -608,7 +612,9 @@ extern LZMA_API(lzma_ret) lzma_index_encoder( * \param memlimit How much memory the resulting lzma_index is * allowed to require. * - * The only valid action value for lzma_code() is LZMA_RUN. + * The valid `action' values for lzma_code() are LZMA_RUN and LZMA_FINISH. + * It is enough to use only one of them (you can choose freely; use LZMA_RUN + * to support liblzma versions older than 5.0.0). * * \return - LZMA_OK: Initialization succeeded, continue with lzma_code(). * - LZMA_MEM_ERROR diff --git a/src/liblzma/api/lzma/index_hash.h b/src/liblzma/api/lzma/index_hash.h index 94726e7beeae..fa2e048d552d 100644 --- a/src/liblzma/api/lzma/index_hash.h +++ b/src/liblzma/api/lzma/index_hash.h @@ -1,6 +1,6 @@ /** * \file lzma/index_hash.h - * \brief Validates Index by using a hash function + * \brief Validate Index by using a hash function * * Hashing makes it possible to use constant amount of memory to validate * Index of arbitrary size. diff --git a/src/liblzma/api/lzma/lzma.h b/src/liblzma/api/lzma/lzma.h index 9d31a5ce51bc..8d5fdb6e5cad 100644 --- a/src/liblzma/api/lzma/lzma.h +++ b/src/liblzma/api/lzma/lzma.h @@ -46,6 +46,10 @@ * Match finder has major effect on both speed and compression ratio. * Usually hash chains are faster than binary trees. * + * If you will use LZMA_SYNC_FLUSH often, the hash chains may be a better + * choice, because binary trees get much higher compression ratio penalty + * with LZMA_SYNC_FLUSH. + * * The memory usage formulas are only rough estimates, which are closest to * reality when dict_size is a power of two. The formulas are more complex * in reality, and can also change a little between liblzma versions. Use @@ -173,6 +177,7 @@ extern LZMA_API(lzma_bool) lzma_mode_is_supported(lzma_mode mode) * Since LZMA1 and LZMA2 share most of the code, it's simplest to share * the options structure too. For encoding, all but the reserved variables * need to be initialized unless specifically mentioned otherwise. + * lzma_lzma_preset() can be used to get a good starting point. * * For raw decoding, both LZMA1 and LZMA2 need dict_size, preset_dict, and * preset_dict_size (if preset_dict != NULL). LZMA1 needs also lc, lp, and pb. @@ -255,7 +260,13 @@ typedef struct { * eight-bit byte (also known as `literal') are taken into * account when predicting the bits of the next literal. * - * \todo Example + * E.g. in typical English text, an upper-case letter is + * often followed by a lower-case letter, and a lower-case + * letter is usually followed by another lower-case letter. + * In the US-ASCII character set, the highest three bits are 010 + * for upper-case letters and 011 for lower-case letters. + * When lc is at least 3, the literal coding can take advantage of + * this property in the uncompressed data. * * There is a limit that applies to literal context bits and literal * position bits together: lc + lp <= 4. Without this limit the @@ -275,12 +286,9 @@ typedef struct { /** * \brief Number of literal position bits * - * How many of the lowest bits of the current position (number - * of bytes from the beginning of the uncompressed data) in the - * uncompressed data is taken into account when predicting the - * bits of the next literal (a single eight-bit byte). - * - * \todo Example + * lp affects what kind of alignment in the uncompressed data is + * assumed when encoding literals. A literal is a single 8-bit byte. + * See pb below for more information about alignment. */ uint32_t lp; # define LZMA_LP_DEFAULT 0 @@ -288,14 +296,22 @@ typedef struct { /** * \brief Number of position bits * - * How many of the lowest bits of the current position in the - * uncompressed data is taken into account when estimating - * probabilities of matches. A match is a sequence of bytes for - * which a matching sequence is found from the dictionary and - * thus can be stored as distance-length pair. + * pb affects what kind of alignment in the uncompressed data is + * assumed in general. The default means four-byte alignment + * (2^ pb =2^2=4), which is often a good choice when there's + * no better guess. * - * Example: If most of the matches occur at byte positions of - * 8 * n + 3, that is, 3, 11, 19, ... set pb to 3, because 2**3 == 8. + * When the aligment is known, setting pb accordingly may reduce + * the file size a little. E.g. with text files having one-byte + * alignment (US-ASCII, ISO-8859-*, UTF-8), setting pb=0 can + * improve compression slightly. For UTF-16 text, pb=1 is a good + * choice. If the alignment is an odd number like 3 bytes, pb=0 + * might be the best choice. + * + * Even though the assumed alignment can be adjusted with pb and + * lp, LZMA1 and LZMA2 still slightly favor 16-byte alignment. + * It might be worth taking into account when designing file formats + * that are likely to be often compressed with LZMA1 or LZMA2. */ uint32_t pb; # define LZMA_PB_MIN 0 @@ -346,7 +362,7 @@ typedef struct { * * Setting depth to zero tells liblzma to use an automatic default * value, that depends on the selected match finder and nice_len. - * The default is in the range [10, 200] or so (it may vary between + * The default is in the range [4, 200] or so (it may vary between * liblzma versions). * * Using a bigger depth value than the default can increase @@ -365,8 +381,6 @@ typedef struct { * with the currently supported options, so it is safe to leave these * uninitialized. */ - void *reserved_ptr1; - void *reserved_ptr2; uint32_t reserved_int1; uint32_t reserved_int2; uint32_t reserved_int3; @@ -379,6 +393,8 @@ typedef struct { lzma_reserved_enum reserved_enum2; lzma_reserved_enum reserved_enum3; lzma_reserved_enum reserved_enum4; + void *reserved_ptr1; + void *reserved_ptr2; } lzma_options_lzma; diff --git a/src/liblzma/api/lzma/stream_flags.h b/src/liblzma/api/lzma/stream_flags.h index d255bdda15f6..bbdd408263ea 100644 --- a/src/liblzma/api/lzma/stream_flags.h +++ b/src/liblzma/api/lzma/stream_flags.h @@ -91,8 +91,6 @@ typedef struct { lzma_reserved_enum reserved_enum2; lzma_reserved_enum reserved_enum3; lzma_reserved_enum reserved_enum4; - lzma_reserved_enum reserved_enum5; - lzma_reserved_enum reserved_enum6; lzma_bool reserved_bool1; lzma_bool reserved_bool2; lzma_bool reserved_bool3; @@ -103,8 +101,6 @@ typedef struct { lzma_bool reserved_bool8; uint32_t reserved_int1; uint32_t reserved_int2; - uint32_t reserved_int3; - uint32_t reserved_int4; } lzma_stream_flags; @@ -148,7 +144,7 @@ extern LZMA_API(lzma_ret) lzma_stream_footer_encode( /** * \brief Decode Stream Header * - * \param options Stream Header options to be encoded. + * \param options Target for the decoded Stream Header options. * \param in Beginning of the input buffer of * LZMA_STREAM_HEADER_SIZE bytes. * @@ -183,7 +179,7 @@ extern LZMA_API(lzma_ret) lzma_stream_header_decode( /** * \brief Decode Stream Footer * - * \param options Stream Header options to be encoded. + * \param options Target for the decoded Stream Header options. * \param in Beginning of the input buffer of * LZMA_STREAM_HEADER_SIZE bytes. * diff --git a/src/liblzma/api/lzma/version.h b/src/liblzma/api/lzma/version.h index 0f7c2d3737db..25e8a8201faf 100644 --- a/src/liblzma/api/lzma/version.h +++ b/src/liblzma/api/lzma/version.h @@ -20,10 +20,10 @@ /* * Version number split into components */ -#define LZMA_VERSION_MAJOR 4 -#define LZMA_VERSION_MINOR 999 -#define LZMA_VERSION_PATCH 9 -#define LZMA_VERSION_STABILITY LZMA_VERSION_STABILITY_BETA +#define LZMA_VERSION_MAJOR 5 +#define LZMA_VERSION_MINOR 0 +#define LZMA_VERSION_PATCH 0 +#define LZMA_VERSION_STABILITY LZMA_VERSION_STABILITY_STABLE #ifndef LZMA_VERSION_COMMIT # define LZMA_VERSION_COMMIT "" diff --git a/src/liblzma/api/lzma/vli.h b/src/liblzma/api/lzma/vli.h index 57e3d3882b5e..9ad13f2e2fc4 100644 --- a/src/liblzma/api/lzma/vli.h +++ b/src/liblzma/api/lzma/vli.h @@ -29,7 +29,7 @@ /** - * \brief Maximum supported value of variable-length integer + * \brief Maximum supported value of a variable-length integer */ #define LZMA_VLI_MAX (UINT64_MAX / 2) @@ -39,11 +39,10 @@ #define LZMA_VLI_UNKNOWN UINT64_MAX /** - * \brief Maximum supported length of variable length integers + * \brief Maximum supported encoded length of variable length integers */ #define LZMA_VLI_BYTES_MAX 9 - /** * \brief VLI constant suffix */ @@ -53,19 +52,19 @@ /** * \brief Variable-length integer type * - * This will always be unsigned integer. Valid VLI values are in the range - * [0, LZMA_VLI_MAX]. Unknown value is indicated with LZMA_VLI_UNKNOWN, - * which is the maximum value of the underlaying integer type. + * Valid VLI values are in the range [0, LZMA_VLI_MAX]. Unknown value is + * indicated with LZMA_VLI_UNKNOWN, which is the maximum value of the + * underlaying integer type. * - * In future, even if lzma_vli is defined to be something other than uint64_t, - * it is guaranteed that 2 * LZMA_VLI_MAX will not overflow lzma_vli. - * This simplifies integer overflow detection. + * lzma_vli will be uint64_t for the foreseeable future. If a bigger size + * is needed in the future, it is guaranteed that 2 * LZMA_VLI_MAX will + * not overflow lzma_vli. This simplifies integer overflow detection. */ typedef uint64_t lzma_vli; /** - * \brief Simple macro to validate variable-length integer + * \brief Validate a variable-length integer * * This is useful to test that application has given acceptable values * for example in the uncompressed_size and compressed_size variables. @@ -88,9 +87,9 @@ typedef uint64_t lzma_vli; * * \param vli Integer to be encoded * \param vli_pos How many VLI-encoded bytes have already been written - * out. When starting to encode a new integer, *vli_pos - * must be set to zero. To use single-call encoding, - * set vli_pos to NULL. + * out. When starting to encode a new integer in + * multi-call mode, *vli_pos must be set to zero. + * To use single-call encoding, set vli_pos to NULL. * \param out Beginning of the output buffer * \param out_pos The next byte will be written to out[*out_pos]. * \param out_size Size of the out buffer; the first byte into @@ -126,9 +125,9 @@ extern LZMA_API(lzma_ret) lzma_vli_encode(lzma_vli vli, size_t *vli_pos, * initialize it to zero when *vli_pos == 0, so * application isn't required to initialize *vli. * \param vli_pos How many bytes have already been decoded. When - * starting to decode a new integer, *vli_pos must - * be initialized to zero. To use single-call decoding, - * set this to NULL. + * starting to decode a new integer in multi-call + * mode, *vli_pos must be initialized to zero. To + * use single-call decoding, set vli_pos to NULL. * \param in Beginning of the input buffer * \param in_pos The next byte will be read from in[*in_pos]. * \param in_size Size of the input buffer; the first byte that diff --git a/src/liblzma/common/common.c b/src/liblzma/common/common.c index 07b1d4763f69..0408e15328b3 100644 --- a/src/liblzma/common/common.c +++ b/src/liblzma/common/common.c @@ -182,6 +182,20 @@ lzma_code(lzma_stream *strm, lzma_action action) || !strm->internal->supported_actions[action]) return LZMA_PROG_ERROR; + // Check if unsupported members have been set to non-zero or non-NULL, + // which would indicate that some new feature is wanted. + if (strm->reserved_ptr1 != NULL + || strm->reserved_ptr2 != NULL + || strm->reserved_ptr3 != NULL + || strm->reserved_ptr4 != NULL + || strm->reserved_int1 != 0 + || strm->reserved_int2 != 0 + || strm->reserved_int3 != 0 + || strm->reserved_int4 != 0 + || strm->reserved_enum1 != LZMA_RESERVED_ENUM + || strm->reserved_enum2 != LZMA_RESERVED_ENUM) + return LZMA_OPTIONS_ERROR; + switch (strm->internal->sequence) { case ISEQ_RUN: switch (action) { diff --git a/src/liblzma/common/filter_encoder.c b/src/liblzma/common/filter_encoder.c index 436d2cc6e424..635d81223472 100644 --- a/src/liblzma/common/filter_encoder.c +++ b/src/liblzma/common/filter_encoder.c @@ -226,6 +226,7 @@ lzma_raw_encoder_memusage(const lzma_filter *filters) } +/* extern LZMA_API(lzma_vli) lzma_chunk_size(const lzma_filter *filters) { @@ -247,6 +248,7 @@ lzma_chunk_size(const lzma_filter *filters) return max; } +*/ extern LZMA_API(lzma_ret) diff --git a/src/liblzma/common/filter_encoder.h b/src/liblzma/common/filter_encoder.h index a978932def75..5bc137f64584 100644 --- a/src/liblzma/common/filter_encoder.h +++ b/src/liblzma/common/filter_encoder.h @@ -16,8 +16,8 @@ #include "common.h" -// FIXME !!! Public API -extern lzma_vli lzma_chunk_size(const lzma_filter *filters); +// FIXME: Might become a part of the public API once finished. +// extern lzma_vli lzma_chunk_size(const lzma_filter *filters); extern lzma_ret lzma_raw_encoder_init( diff --git a/src/liblzma/common/index.c b/src/liblzma/common/index.c index 3941e28ba724..ddb9d3643623 100644 --- a/src/liblzma/common/index.c +++ b/src/liblzma/common/index.c @@ -18,7 +18,7 @@ /// /// This should be big enough to avoid making lots of tiny allocations /// but small enough to avoid too much unused memory at once. -#define INDEX_GROUP_SIZE 500 +#define INDEX_GROUP_SIZE 512 /// \brief How many Records can be allocated at once at maximum diff --git a/src/liblzma/common/index_decoder.c b/src/liblzma/common/index_decoder.c index 86a22971b064..a6bc650e046c 100644 --- a/src/liblzma/common/index_decoder.c +++ b/src/liblzma/common/index_decoder.c @@ -291,6 +291,7 @@ lzma_index_decoder(lzma_stream *strm, lzma_index **i, uint64_t memlimit) lzma_next_strm_init(index_decoder_init, strm, i, memlimit); strm->internal->supported_actions[LZMA_RUN] = true; + strm->internal->supported_actions[LZMA_FINISH] = true; return LZMA_OK; } diff --git a/src/liblzma/common/index_encoder.c b/src/liblzma/common/index_encoder.c index 706f1fd79905..c10d7afa06b4 100644 --- a/src/liblzma/common/index_encoder.c +++ b/src/liblzma/common/index_encoder.c @@ -209,6 +209,7 @@ lzma_index_encoder(lzma_stream *strm, const lzma_index *i) lzma_next_strm_init(lzma_index_encoder_init, strm, i); strm->internal->supported_actions[LZMA_RUN] = true; + strm->internal->supported_actions[LZMA_FINISH] = true; return LZMA_OK; } diff --git a/src/liblzma/lzma/lzma2_decoder.c b/src/liblzma/lzma/lzma2_decoder.c index b4c2f2d5ba70..f38879ce17cd 100644 --- a/src/liblzma/lzma/lzma2_decoder.c +++ b/src/liblzma/lzma/lzma2_decoder.c @@ -191,7 +191,6 @@ lzma2_decode(lzma_coder *restrict coder, lzma_dict *restrict dict, case SEQ_COPY: { // Copy from input to the dictionary as is. - // FIXME Can copy too much? dict_write(dict, in, in_pos, in_size, &coder->compressed_size); if (coder->compressed_size != 0) return LZMA_OK; diff --git a/src/liblzma/lzma/lzma_decoder.c b/src/liblzma/lzma/lzma_decoder.c index 4329e0199273..9979bb4261b8 100644 --- a/src/liblzma/lzma/lzma_decoder.c +++ b/src/liblzma/lzma/lzma_decoder.c @@ -656,7 +656,8 @@ lzma_decode(lzma_coder *restrict coder, lzma_dict *restrict dictptr, } case SEQ_EOPM: - // TODO Comment + // LZMA1 stream with + // end-of-payload marker. rc_normalize(SEQ_EOPM); ret = LZMA_STREAM_END; goto out; @@ -856,7 +857,6 @@ lzma_decoder_reset(lzma_coder *coder, const void *opt) // NOTE: We assume that lc/lp/pb are valid since they were // successfully decoded with lzma_lzma_decode_properties(). - // FIXME? // Calculate pos_mask. We don't need pos_bits as is for anything. coder->pos_mask = (1U << options->pb) - 1; diff --git a/src/liblzma/lzma/lzma_encoder.c b/src/liblzma/lzma/lzma_encoder.c index 0fe992d510a1..0b9ee9e15079 100644 --- a/src/liblzma/lzma/lzma_encoder.c +++ b/src/liblzma/lzma/lzma_encoder.c @@ -334,7 +334,7 @@ lzma_lzma_encode(lzma_coder *restrict coder, lzma_mf *restrict mf, // With LZMA2 we need to take care that compressed size of // a chunk doesn't get too big. - // TODO + // FIXME? Check if this could be improved. if (limit != UINT32_MAX && (mf->read_pos - mf->read_ahead >= limit || *out_pos + rc_pending(&coder->rc) diff --git a/src/xz/message.c b/src/xz/message.c index 3f2b813d7c7a..38cce4a1b0fd 100644 --- a/src/xz/message.c +++ b/src/xz/message.c @@ -77,6 +77,17 @@ static uint64_t start_time; // gettimeofday(). #ifdef SIGALRM +const int message_progress_sigs[] = { + SIGALRM, +#ifdef SIGINFO + SIGINFO, +#endif +#ifdef SIGUSR1 + SIGUSR1, +#endif + 0 +}; + /// The signal handler for SIGALRM sets this to true. It is set back to false /// once the progress message has been updated. static volatile sig_atomic_t progress_needs_updating = false; @@ -142,34 +153,15 @@ message_init(void) */ #ifdef SIGALRM - // DJGPP lacks SA_RESTART, but it shouldn't give EINTR - // in most places either. -# if defined(__DJGPP__) && !defined(SA_RESTART) -# define SA_RESTART 0 -# endif - // Establish the signal handlers which set a flag to tell us that - // progress info should be updated. Since these signals don't - // require any quick action, we set SA_RESTART. That way we don't - // need to block them either in signals_block() to keep stdio - // functions from getting EINTR. - static const int sigs[] = { - SIGALRM, -#ifdef SIGINFO - SIGINFO, -#endif -#ifdef SIGUSR1 - SIGUSR1, -#endif - }; - + // progress info should be updated. struct sigaction sa; sigemptyset(&sa.sa_mask); - sa.sa_flags = SA_RESTART; + sa.sa_flags = 0; sa.sa_handler = &progress_signal_handler; - for (size_t i = 0; i < ARRAY_SIZE(sigs); ++i) - if (sigaction(sigs[i], &sa, NULL)) + for (size_t i = 0; message_progress_sigs[i] != 0; ++i) + if (sigaction(message_progress_sigs[i], &sa, NULL)) message_signal_handler(); #endif @@ -841,10 +833,13 @@ message_strm(lzma_ret code) case LZMA_STREAM_END: case LZMA_GET_CHECK: case LZMA_PROG_ERROR: - return _("Internal error (bug)"); + // Without "default", compiler will warn if new constants + // are added to lzma_ret, it is not too easy to forget to + // add the new constants to this function. + break; } - return NULL; + return _("Internal error (bug)"); } diff --git a/src/xz/message.h b/src/xz/message.h index 37e608216886..e3fca3cc42ca 100644 --- a/src/xz/message.h +++ b/src/xz/message.h @@ -16,10 +16,14 @@ enum message_verbosity { V_ERROR, ///< Only error messages V_WARNING, ///< Errors and warnings V_VERBOSE, ///< Errors, warnings, and verbose statistics - V_DEBUG, ///< Debugging, FIXME remove? + V_DEBUG, ///< Very verbose }; +/// \brief Signals used for progress message handling +extern const int message_progress_sigs[]; + + /// \brief Initializes the message functions /// /// If an error occurs, this function doesn't return. diff --git a/src/xz/signals.c b/src/xz/signals.c index 7e65b2a38bf3..4d6a9da31624 100644 --- a/src/xz/signals.c +++ b/src/xz/signals.c @@ -71,6 +71,12 @@ signals_init(void) for (size_t i = 0; i < ARRAY_SIZE(sigs); ++i) sigaddset(&hooked_signals, sigs[i]); +#ifdef SIGALRM + // Add also the signals from message.c to hooked_signals. + for (size_t i = 0; message_progress_sigs[i] != 0; ++i) + sigaddset(&hooked_signals, message_progress_sigs[i]); +#endif + struct sigaction sa; // All the signals that we handle we also blocked while the signal @@ -142,7 +148,7 @@ signals_exit(void) const int sig = exit_signal; if (sig != 0) { -#ifdef TUKLIB_DOSLIKE +#if defined(TUKLIB_DOSLIKE) || defined(__VMS) // Don't raise(), set only exit status. This avoids // printing unwanted message about SIGINT when the user // presses C-c.