From d8731e074da630ccdba6086373480220b710b844 Mon Sep 17 00:00:00 2001 From: Radek Zikmund Date: Fri, 23 Jan 2026 13:31:45 +0100 Subject: [PATCH 01/24] Include xz library in the repo --- src/native/external/cgmanifest.json | 10 + src/native/external/xz.cmake | 54 + src/native/external/xz.version | 2 + src/native/external/xz/AUTHORS | 58 + src/native/external/xz/CMakeLists.txt | 2520 +++++++++++ src/native/external/xz/COPYING | 70 + src/native/external/xz/COPYING.0BSD | 11 + src/native/external/xz/COPYING.GPLv2 | 338 ++ src/native/external/xz/COPYING.GPLv3 | 674 +++ src/native/external/xz/COPYING.LGPLv2.1 | 501 +++ src/native/external/xz/ChangeLog | 7 + src/native/external/xz/INSTALL | 976 ++++ src/native/external/xz/INSTALL.generic | 368 ++ src/native/external/xz/Makefile.am | 123 + src/native/external/xz/NEWS | 2992 ++++++++++++ src/native/external/xz/PACKAGERS | 245 + src/native/external/xz/README | 281 ++ src/native/external/xz/THANKS | 257 ++ src/native/external/xz/TODO | 88 + src/native/external/xz/autogen.sh | 42 + .../external/xz/build-aux/license-check.sh | 177 + src/native/external/xz/build-aux/manconv.sh | 56 + src/native/external/xz/build-aux/version.sh | 21 + .../external/xz/cmake/remove-ordinals.cmake | 25 + .../external/xz/cmake/tuklib_common.cmake | 56 + .../external/xz/cmake/tuklib_cpucores.cmake | 184 + .../external/xz/cmake/tuklib_integer.cmake | 288 ++ .../xz/cmake/tuklib_large_file_support.cmake | 54 + .../external/xz/cmake/tuklib_mbstr.cmake | 25 + .../external/xz/cmake/tuklib_physmem.cmake | 153 + .../external/xz/cmake/tuklib_progname.cmake | 19 + src/native/external/xz/configure.ac | 1453 ++++++ .../external/xz/doc/examples/00_README.txt | 31 + .../xz/doc/examples/01_compress_easy.c | 296 ++ .../external/xz/doc/examples/02_decompress.c | 286 ++ .../xz/doc/examples/03_compress_custom.c | 192 + .../xz/doc/examples/04_compress_easy_mt.c | 205 + .../external/xz/doc/examples/11_file_info.c | 205 + src/native/external/xz/doc/examples/Makefile | 21 + src/native/external/xz/doc/faq.txt | 244 + src/native/external/xz/doc/history.txt | 150 + .../external/xz/doc/lzma-file-format.txt | 173 + src/native/external/xz/doc/xz-file-format.txt | 1174 +++++ src/native/external/xz/dos/INSTALL.txt | 78 + src/native/external/xz/dos/Makefile | 150 + src/native/external/xz/dos/README.txt | 123 + src/native/external/xz/dos/config.h | 146 + src/native/external/xz/doxygen/Doxyfile | 45 + src/native/external/xz/doxygen/update-doxygen | 114 + .../external/xz/extra/7z2lzma/7z2lzma.bash | 113 + .../external/xz/extra/scanlzma/scanlzma.c | 90 + src/native/external/xz/lib/Makefile.am | 44 + src/native/external/xz/lib/getopt-cdefs.h | 72 + src/native/external/xz/lib/getopt-core.h | 98 + src/native/external/xz/lib/getopt-ext.h | 79 + src/native/external/xz/lib/getopt-pfx-core.h | 68 + src/native/external/xz/lib/getopt-pfx-ext.h | 72 + src/native/external/xz/lib/getopt.c | 823 ++++ src/native/external/xz/lib/getopt.in.h | 60 + src/native/external/xz/lib/getopt1.c | 163 + src/native/external/xz/lib/getopt_int.h | 120 + src/native/external/xz/m4/ax_pthread.m4 | 524 +++ src/native/external/xz/m4/getopt.m4 | 70 + src/native/external/xz/m4/posix-shell.m4 | 66 + src/native/external/xz/m4/tuklib_common.m4 | 23 + src/native/external/xz/m4/tuklib_cpucores.m4 | 181 + src/native/external/xz/m4/tuklib_integer.m4 | 260 ++ src/native/external/xz/m4/tuklib_mbstr.m4 | 31 + src/native/external/xz/m4/tuklib_physmem.m4 | 217 + src/native/external/xz/m4/tuklib_progname.m4 | 29 + src/native/external/xz/m4/visibility.m4 | 85 + src/native/external/xz/po/LINGUAS | 25 + src/native/external/xz/po/Makevars | 91 + src/native/external/xz/po/POTFILES.in | 19 + src/native/external/xz/po/ca.po | 1633 +++++++ src/native/external/xz/po/cs.po | 1679 +++++++ src/native/external/xz/po/da.po | 1436 ++++++ src/native/external/xz/po/de.po | 1267 ++++++ src/native/external/xz/po/eo.po | 1627 +++++++ src/native/external/xz/po/es.po | 1266 ++++++ src/native/external/xz/po/fi.po | 1266 ++++++ src/native/external/xz/po/fr.po | 1668 +++++++ src/native/external/xz/po/hr.po | 1271 ++++++ src/native/external/xz/po/hu.po | 1673 +++++++ src/native/external/xz/po/it.po | 1270 ++++++ src/native/external/xz/po/ka.po | 1264 ++++++ src/native/external/xz/po/ko.po | 1266 ++++++ src/native/external/xz/po/nl.po | 1269 ++++++ src/native/external/xz/po/pl.po | 1266 ++++++ src/native/external/xz/po/pt.po | 1278 ++++++ src/native/external/xz/po/pt_BR.po | 1683 +++++++ src/native/external/xz/po/ro.po | 1311 ++++++ src/native/external/xz/po/sr.po | 1264 ++++++ src/native/external/xz/po/sv.po | 1271 ++++++ src/native/external/xz/po/tr.po | 1264 ++++++ src/native/external/xz/po/uk.po | 1268 ++++++ src/native/external/xz/po/vi.po | 1671 +++++++ src/native/external/xz/po/xz.pot-header | 7 + src/native/external/xz/po/zh_CN.po | 1650 +++++++ src/native/external/xz/po/zh_TW.po | 1267 ++++++ src/native/external/xz/po4a/de.po | 3919 ++++++++++++++++ src/native/external/xz/po4a/fr.po | 3983 ++++++++++++++++ src/native/external/xz/po4a/it.po | 3896 ++++++++++++++++ src/native/external/xz/po4a/ko.po | 3904 ++++++++++++++++ src/native/external/xz/po4a/po4a.conf | 16 + src/native/external/xz/po4a/pt_BR.po | 4003 +++++++++++++++++ src/native/external/xz/po4a/ro.po | 3936 ++++++++++++++++ src/native/external/xz/po4a/sr.po | 3908 ++++++++++++++++ src/native/external/xz/po4a/sv.po | 3904 ++++++++++++++++ src/native/external/xz/po4a/uk.po | 3908 ++++++++++++++++ src/native/external/xz/po4a/update-po | 93 + src/native/external/xz/src/Makefile.am | 45 + .../external/xz/src/common/common_w32res.rc | 57 + .../external/xz/src/common/my_landlock.h | 184 + src/native/external/xz/src/common/mythread.h | 549 +++ src/native/external/xz/src/common/sysdefs.h | 229 + .../external/xz/src/common/tuklib_common.h | 95 + .../external/xz/src/common/tuklib_config.h | 12 + .../external/xz/src/common/tuklib_cpucores.c | 108 + .../external/xz/src/common/tuklib_cpucores.h | 22 + .../external/xz/src/common/tuklib_exit.c | 57 + .../external/xz/src/common/tuklib_exit.h | 24 + .../external/xz/src/common/tuklib_gettext.h | 54 + .../external/xz/src/common/tuklib_integer.h | 954 ++++ .../external/xz/src/common/tuklib_mbstr.h | 78 + .../external/xz/src/common/tuklib_mbstr_fw.c | 30 + .../xz/src/common/tuklib_mbstr_nonprint.c | 162 + .../xz/src/common/tuklib_mbstr_nonprint.h | 71 + .../xz/src/common/tuklib_mbstr_width.c | 86 + .../xz/src/common/tuklib_mbstr_wrap.c | 294 ++ .../xz/src/common/tuklib_mbstr_wrap.h | 204 + .../xz/src/common/tuklib_open_stdxxx.c | 56 + .../xz/src/common/tuklib_open_stdxxx.h | 22 + .../external/xz/src/common/tuklib_physmem.c | 224 + .../external/xz/src/common/tuklib_physmem.h | 27 + .../external/xz/src/common/tuklib_progname.c | 49 + .../external/xz/src/common/tuklib_progname.h | 31 + .../xz/src/common/w32_application.manifest | 28 + .../w32_application.manifest.comments.txt | 192 + .../external/xz/src/liblzma/Makefile.am | 128 + .../external/xz/src/liblzma/api/Makefile.am | 38 + src/native/external/xz/src/liblzma/api/lzma.h | 327 ++ .../external/xz/src/liblzma/api/lzma/base.h | 749 +++ .../external/xz/src/liblzma/api/lzma/bcj.h | 195 + .../external/xz/src/liblzma/api/lzma/block.h | 694 +++ .../external/xz/src/liblzma/api/lzma/check.h | 163 + .../xz/src/liblzma/api/lzma/container.h | 993 ++++ .../external/xz/src/liblzma/api/lzma/delta.h | 95 + .../external/xz/src/liblzma/api/lzma/filter.h | 769 ++++ .../xz/src/liblzma/api/lzma/hardware.h | 62 + .../external/xz/src/liblzma/api/lzma/index.h | 882 ++++ .../xz/src/liblzma/api/lzma/index_hash.h | 123 + .../external/xz/src/liblzma/api/lzma/lzma12.h | 568 +++ .../xz/src/liblzma/api/lzma/stream_flags.h | 265 ++ .../xz/src/liblzma/api/lzma/version.h | 134 + .../external/xz/src/liblzma/api/lzma/vli.h | 166 + .../xz/src/liblzma/check/Makefile.inc | 50 + .../external/xz/src/liblzma/check/check.c | 173 + .../external/xz/src/liblzma/check/check.h | 156 + .../xz/src/liblzma/check/crc32_arm64.h | 148 + .../xz/src/liblzma/check/crc32_fast.c | 196 + .../xz/src/liblzma/check/crc32_loongarch.h | 65 + .../xz/src/liblzma/check/crc32_small.c | 70 + .../xz/src/liblzma/check/crc32_table_be.h | 527 +++ .../xz/src/liblzma/check/crc32_table_le.h | 527 +++ .../xz/src/liblzma/check/crc32_tablegen.c | 120 + .../external/xz/src/liblzma/check/crc32_x86.S | 308 ++ .../xz/src/liblzma/check/crc64_fast.c | 161 + .../xz/src/liblzma/check/crc64_small.c | 57 + .../xz/src/liblzma/check/crc64_table_be.h | 523 +++ .../xz/src/liblzma/check/crc64_table_le.h | 523 +++ .../xz/src/liblzma/check/crc64_tablegen.c | 89 + .../external/xz/src/liblzma/check/crc64_x86.S | 291 ++ .../src/liblzma/check/crc_clmul_consts_gen.c | 160 + .../xz/src/liblzma/check/crc_common.h | 181 + .../xz/src/liblzma/check/crc_x86_clmul.h | 377 ++ .../external/xz/src/liblzma/check/sha256.c | 189 + .../xz/src/liblzma/common/Makefile.inc | 100 + .../xz/src/liblzma/common/alone_decoder.c | 249 + .../xz/src/liblzma/common/alone_decoder.h | 22 + .../xz/src/liblzma/common/alone_encoder.c | 151 + .../xz/src/liblzma/common/auto_decoder.c | 204 + .../src/liblzma/common/block_buffer_decoder.c | 79 + .../src/liblzma/common/block_buffer_encoder.c | 354 ++ .../src/liblzma/common/block_buffer_encoder.h | 23 + .../xz/src/liblzma/common/block_decoder.c | 286 ++ .../xz/src/liblzma/common/block_decoder.h | 21 + .../xz/src/liblzma/common/block_encoder.c | 224 + .../xz/src/liblzma/common/block_encoder.h | 46 + .../src/liblzma/common/block_header_decoder.c | 114 + .../src/liblzma/common/block_header_encoder.c | 131 + .../xz/src/liblzma/common/block_util.c | 89 + .../external/xz/src/liblzma/common/common.c | 486 ++ .../external/xz/src/liblzma/common/common.h | 412 ++ .../src/liblzma/common/easy_buffer_encoder.c | 26 + .../liblzma/common/easy_decoder_memusage.c | 23 + .../xz/src/liblzma/common/easy_encoder.c | 23 + .../liblzma/common/easy_encoder_memusage.c | 23 + .../xz/src/liblzma/common/easy_preset.c | 26 + .../xz/src/liblzma/common/easy_preset.h | 36 + .../xz/src/liblzma/common/file_info.c | 850 ++++ .../liblzma/common/filter_buffer_decoder.c | 87 + .../liblzma/common/filter_buffer_encoder.c | 54 + .../xz/src/liblzma/common/filter_common.c | 393 ++ .../xz/src/liblzma/common/filter_common.h | 50 + .../xz/src/liblzma/common/filter_decoder.c | 214 + .../xz/src/liblzma/common/filter_decoder.h | 22 + .../xz/src/liblzma/common/filter_encoder.c | 330 ++ .../xz/src/liblzma/common/filter_encoder.h | 22 + .../src/liblzma/common/filter_flags_decoder.c | 45 + .../src/liblzma/common/filter_flags_encoder.c | 55 + .../src/liblzma/common/hardware_cputhreads.c | 33 + .../xz/src/liblzma/common/hardware_physmem.c | 24 + .../external/xz/src/liblzma/common/index.c | 1268 ++++++ .../external/xz/src/liblzma/common/index.h | 80 + .../xz/src/liblzma/common/index_decoder.c | 369 ++ .../xz/src/liblzma/common/index_decoder.h | 24 + .../xz/src/liblzma/common/index_encoder.c | 260 ++ .../xz/src/liblzma/common/index_encoder.h | 22 + .../xz/src/liblzma/common/index_hash.c | 341 ++ .../xz/src/liblzma/common/lzip_decoder.c | 414 ++ .../xz/src/liblzma/common/lzip_decoder.h | 21 + .../xz/src/liblzma/common/memcmplen.h | 192 + .../xz/src/liblzma/common/microlzma_decoder.c | 220 + .../xz/src/liblzma/common/microlzma_encoder.c | 140 + .../external/xz/src/liblzma/common/outqueue.c | 286 ++ .../external/xz/src/liblzma/common/outqueue.h | 259 ++ .../liblzma/common/stream_buffer_decoder.c | 90 + .../liblzma/common/stream_buffer_encoder.c | 141 + .../xz/src/liblzma/common/stream_decoder.c | 469 ++ .../xz/src/liblzma/common/stream_decoder.h | 21 + .../xz/src/liblzma/common/stream_decoder_mt.c | 2004 +++++++++ .../xz/src/liblzma/common/stream_encoder.c | 354 ++ .../xz/src/liblzma/common/stream_encoder_mt.c | 1278 ++++++ .../src/liblzma/common/stream_flags_common.c | 46 + .../src/liblzma/common/stream_flags_common.h | 35 + .../src/liblzma/common/stream_flags_decoder.c | 87 + .../src/liblzma/common/stream_flags_encoder.c | 85 + .../xz/src/liblzma/common/string_conversion.c | 1363 ++++++ .../xz/src/liblzma/common/vli_decoder.c | 85 + .../xz/src/liblzma/common/vli_encoder.c | 68 + .../external/xz/src/liblzma/common/vli_size.c | 29 + .../xz/src/liblzma/delta/Makefile.inc | 19 + .../xz/src/liblzma/delta/delta_common.c | 72 + .../xz/src/liblzma/delta/delta_common.h | 19 + .../xz/src/liblzma/delta/delta_decoder.c | 87 + .../xz/src/liblzma/delta/delta_decoder.h | 25 + .../xz/src/liblzma/delta/delta_encoder.c | 132 + .../xz/src/liblzma/delta/delta_encoder.h | 23 + .../xz/src/liblzma/delta/delta_private.h | 36 + .../external/xz/src/liblzma/liblzma.pc.in | 16 + .../xz/src/liblzma/liblzma_generic.map | 138 + .../external/xz/src/liblzma/liblzma_linux.map | 153 + .../external/xz/src/liblzma/liblzma_w32res.rc | 19 + .../external/xz/src/liblzma/lz/Makefile.inc | 18 + .../external/xz/src/liblzma/lz/lz_decoder.c | 333 ++ .../external/xz/src/liblzma/lz/lz_decoder.h | 325 ++ .../external/xz/src/liblzma/lz/lz_encoder.c | 632 +++ .../external/xz/src/liblzma/lz/lz_encoder.h | 352 ++ .../xz/src/liblzma/lz/lz_encoder_hash.h | 122 + .../xz/src/liblzma/lz/lz_encoder_hash_table.h | 70 + .../xz/src/liblzma/lz/lz_encoder_mf.c | 744 +++ .../external/xz/src/liblzma/lzma/Makefile.inc | 40 + .../external/xz/src/liblzma/lzma/fastpos.h | 141 + .../xz/src/liblzma/lzma/fastpos_table.c | 521 +++ .../xz/src/liblzma/lzma/fastpos_tablegen.c | 58 + .../xz/src/liblzma/lzma/lzma2_decoder.c | 310 ++ .../xz/src/liblzma/lzma/lzma2_decoder.h | 28 + .../xz/src/liblzma/lzma/lzma2_encoder.c | 413 ++ .../xz/src/liblzma/lzma/lzma2_encoder.h | 42 + .../xz/src/liblzma/lzma/lzma_common.h | 240 + .../xz/src/liblzma/lzma/lzma_decoder.c | 1263 ++++++ .../xz/src/liblzma/lzma/lzma_decoder.h | 53 + .../xz/src/liblzma/lzma/lzma_encoder.c | 786 ++++ .../xz/src/liblzma/lzma/lzma_encoder.h | 58 + .../liblzma/lzma/lzma_encoder_optimum_fast.c | 169 + .../lzma/lzma_encoder_optimum_normal.c | 858 ++++ .../src/liblzma/lzma/lzma_encoder_presets.c | 63 + .../src/liblzma/lzma/lzma_encoder_private.h | 161 + .../xz/src/liblzma/rangecoder/Makefile.inc | 17 + .../xz/src/liblzma/rangecoder/price.h | 92 + .../xz/src/liblzma/rangecoder/price_table.c | 24 + .../src/liblzma/rangecoder/price_tablegen.c | 93 + .../xz/src/liblzma/rangecoder/range_common.h | 77 + .../xz/src/liblzma/rangecoder/range_decoder.h | 966 ++++ .../xz/src/liblzma/rangecoder/range_encoder.h | 349 ++ .../xz/src/liblzma/simple/Makefile.inc | 51 + .../external/xz/src/liblzma/simple/arm.c | 76 + .../external/xz/src/liblzma/simple/arm64.c | 156 + .../external/xz/src/liblzma/simple/armthumb.c | 84 + .../external/xz/src/liblzma/simple/ia64.c | 117 + .../external/xz/src/liblzma/simple/powerpc.c | 81 + .../external/xz/src/liblzma/simple/riscv.c | 773 ++++ .../xz/src/liblzma/simple/simple_coder.c | 291 ++ .../xz/src/liblzma/simple/simple_coder.h | 89 + .../xz/src/liblzma/simple/simple_decoder.c | 39 + .../xz/src/liblzma/simple/simple_decoder.h | 21 + .../xz/src/liblzma/simple/simple_encoder.c | 37 + .../xz/src/liblzma/simple/simple_encoder.h | 22 + .../xz/src/liblzma/simple/simple_private.h | 73 + .../external/xz/src/liblzma/simple/sparc.c | 87 + .../external/xz/src/liblzma/simple/x86.c | 181 + .../external/xz/src/liblzma/validate_map.sh | 163 + .../external/xz/src/lzmainfo/Makefile.am | 66 + .../external/xz/src/lzmainfo/lzmainfo.1 | 58 + .../external/xz/src/lzmainfo/lzmainfo.c | 243 + .../xz/src/lzmainfo/lzmainfo_w32res.rc | 11 + .../external/xz/src/scripts/Makefile.am | 85 + src/native/external/xz/src/scripts/xzdiff.1 | 99 + src/native/external/xz/src/scripts/xzdiff.in | 224 + src/native/external/xz/src/scripts/xzgrep.1 | 148 + src/native/external/xz/src/scripts/xzgrep.in | 302 ++ src/native/external/xz/src/scripts/xzless.1 | 69 + src/native/external/xz/src/scripts/xzless.in | 76 + src/native/external/xz/src/scripts/xzmore.1 | 69 + src/native/external/xz/src/scripts/xzmore.in | 82 + src/native/external/xz/src/xz/Makefile.am | 135 + src/native/external/xz/src/xz/args.c | 914 ++++ src/native/external/xz/src/xz/args.h | 44 + src/native/external/xz/src/xz/coder.c | 1476 ++++++ src/native/external/xz/src/xz/coder.h | 107 + src/native/external/xz/src/xz/file_io.c | 1484 ++++++ src/native/external/xz/src/xz/file_io.h | 188 + src/native/external/xz/src/xz/hardware.c | 413 ++ src/native/external/xz/src/xz/hardware.h | 74 + src/native/external/xz/src/xz/list.c | 1357 ++++++ src/native/external/xz/src/xz/list.h | 17 + src/native/external/xz/src/xz/main.c | 371 ++ src/native/external/xz/src/xz/main.h | 29 + src/native/external/xz/src/xz/message.c | 1326 ++++++ src/native/external/xz/src/xz/message.h | 168 + src/native/external/xz/src/xz/mytime.c | 177 + src/native/external/xz/src/xz/mytime.h | 48 + src/native/external/xz/src/xz/options.c | 361 ++ src/native/external/xz/src/xz/options.h | 30 + src/native/external/xz/src/xz/private.h | 81 + src/native/external/xz/src/xz/sandbox.c | 317 ++ src/native/external/xz/src/xz/sandbox.h | 43 + src/native/external/xz/src/xz/signals.c | 237 + src/native/external/xz/src/xz/signals.h | 42 + src/native/external/xz/src/xz/suffix.c | 408 ++ src/native/external/xz/src/xz/suffix.h | 35 + src/native/external/xz/src/xz/util.c | 315 ++ src/native/external/xz/src/xz/util.h | 132 + src/native/external/xz/src/xz/xz.1 | 3264 ++++++++++++++ src/native/external/xz/src/xz/xz_w32res.rc | 11 + src/native/external/xz/src/xzdec/Makefile.am | 111 + .../external/xz/src/xzdec/lzmadec_w32res.rc | 11 + src/native/external/xz/src/xzdec/xzdec.1 | 144 + src/native/external/xz/src/xzdec/xzdec.c | 489 ++ .../external/xz/src/xzdec/xzdec_w32res.rc | 11 + src/native/external/xz/tests/Makefile.am | 83 + src/native/external/xz/tests/code_coverage.sh | 77 + .../external/xz/tests/create_compress_files.c | 162 + src/native/external/xz/tests/files/README | 415 ++ .../xz/tests/files/bad-0-backward_size.xz | Bin 0 -> 32 bytes .../xz/tests/files/bad-0-empty-truncated.xz | Bin 0 -> 31 bytes .../xz/tests/files/bad-0-footer_magic.xz | Bin 0 -> 32 bytes .../xz/tests/files/bad-0-header_magic.xz | Bin 0 -> 32 bytes .../xz/tests/files/bad-0-nonempty_index.xz | Bin 0 -> 32 bytes .../external/xz/tests/files/bad-0cat-alone.xz | Bin 0 -> 55 bytes .../xz/tests/files/bad-0cat-header_magic.xz | Bin 0 -> 64 bytes .../xz/tests/files/bad-0catpad-empty.xz | Bin 0 -> 69 bytes .../external/xz/tests/files/bad-0pad-empty.xz | Bin 0 -> 37 bytes .../xz/tests/files/bad-1-block_header-1.xz | Bin 0 -> 64 bytes .../xz/tests/files/bad-1-block_header-2.xz | Bin 0 -> 64 bytes .../xz/tests/files/bad-1-block_header-3.xz | Bin 0 -> 68 bytes .../xz/tests/files/bad-1-block_header-4.xz | Bin 0 -> 76 bytes .../xz/tests/files/bad-1-block_header-5.xz | Bin 0 -> 72 bytes .../xz/tests/files/bad-1-block_header-6.xz | Bin 0 -> 72 bytes .../xz/tests/files/bad-1-check-crc32-2.xz | Bin 0 -> 72 bytes .../xz/tests/files/bad-1-check-crc32.xz | Bin 0 -> 68 bytes .../xz/tests/files/bad-1-check-crc64.xz | Bin 0 -> 72 bytes .../xz/tests/files/bad-1-check-sha256.xz | Bin 0 -> 96 bytes .../external/xz/tests/files/bad-1-lzma2-1.xz | Bin 0 -> 64 bytes .../external/xz/tests/files/bad-1-lzma2-10.xz | Bin 0 -> 60 bytes .../external/xz/tests/files/bad-1-lzma2-11.xz | Bin 0 -> 64 bytes .../external/xz/tests/files/bad-1-lzma2-2.xz | Bin 0 -> 424 bytes .../external/xz/tests/files/bad-1-lzma2-3.xz | Bin 0 -> 424 bytes .../external/xz/tests/files/bad-1-lzma2-4.xz | Bin 0 -> 408 bytes .../external/xz/tests/files/bad-1-lzma2-5.xz | Bin 0 -> 408 bytes .../external/xz/tests/files/bad-1-lzma2-6.xz | Bin 0 -> 68 bytes .../external/xz/tests/files/bad-1-lzma2-7.xz | Bin 0 -> 408 bytes .../external/xz/tests/files/bad-1-lzma2-8.xz | Bin 0 -> 464 bytes .../external/xz/tests/files/bad-1-lzma2-9.xz | Bin 0 -> 72 bytes .../xz/tests/files/bad-1-stream_flags-1.xz | Bin 0 -> 68 bytes .../xz/tests/files/bad-1-stream_flags-2.xz | Bin 0 -> 68 bytes .../xz/tests/files/bad-1-stream_flags-3.xz | Bin 0 -> 68 bytes .../xz/tests/files/bad-1-v0-uncomp-size.lz | Bin 0 -> 42 bytes .../external/xz/tests/files/bad-1-v1-crc32.lz | Bin 0 -> 50 bytes .../xz/tests/files/bad-1-v1-dict-1.lz | Bin 0 -> 50 bytes .../xz/tests/files/bad-1-v1-dict-2.lz | Bin 0 -> 50 bytes .../xz/tests/files/bad-1-v1-magic-1.lz | Bin 0 -> 50 bytes .../xz/tests/files/bad-1-v1-magic-2.lz | Bin 0 -> 50 bytes .../xz/tests/files/bad-1-v1-member-size.lz | Bin 0 -> 50 bytes .../xz/tests/files/bad-1-v1-trailing-magic.lz | Bin 0 -> 54 bytes .../xz/tests/files/bad-1-v1-uncomp-size.lz | Bin 0 -> 50 bytes .../external/xz/tests/files/bad-1-vli-1.xz | Bin 0 -> 72 bytes .../external/xz/tests/files/bad-1-vli-2.xz | Bin 0 -> 76 bytes .../files/bad-2-compressed_data_padding.xz | Bin 0 -> 92 bytes .../external/xz/tests/files/bad-2-index-1.xz | Bin 0 -> 92 bytes .../external/xz/tests/files/bad-2-index-2.xz | Bin 0 -> 92 bytes .../external/xz/tests/files/bad-2-index-3.xz | Bin 0 -> 92 bytes .../external/xz/tests/files/bad-2-index-4.xz | Bin 0 -> 92 bytes .../external/xz/tests/files/bad-2-index-5.xz | Bin 0 -> 92 bytes .../files/bad-3-index-uncomp-overflow.xz | Bin 0 -> 132 bytes .../files/bad-too_big_size-with_eopm.lzma | Bin 0 -> 37 bytes .../bad-too_small_size-without_eopm-1.lzma | Bin 0 -> 31 bytes .../bad-too_small_size-without_eopm-2.lzma | Bin 0 -> 31 bytes .../bad-too_small_size-without_eopm-3.lzma | Bin 0 -> 36 bytes .../files/bad-unknown_size-without_eopm.lzma | Bin 0 -> 31 bytes .../external/xz/tests/files/good-0-empty.xz | Bin 0 -> 32 bytes .../xz/tests/files/good-0cat-empty.xz | Bin 0 -> 64 bytes .../xz/tests/files/good-0catpad-empty.xz | Bin 0 -> 68 bytes .../xz/tests/files/good-0pad-empty.xz | Bin 0 -> 36 bytes .../xz/tests/files/good-1-3delta-lzma2.xz | Bin 0 -> 528 bytes .../xz/tests/files/good-1-arm64-lzma2-1.xz | Bin 0 -> 512 bytes .../xz/tests/files/good-1-arm64-lzma2-2.xz | Bin 0 -> 488 bytes .../xz/tests/files/good-1-block_header-1.xz | Bin 0 -> 72 bytes .../xz/tests/files/good-1-block_header-2.xz | Bin 0 -> 68 bytes .../xz/tests/files/good-1-block_header-3.xz | Bin 0 -> 68 bytes .../xz/tests/files/good-1-check-crc32.xz | Bin 0 -> 68 bytes .../xz/tests/files/good-1-check-crc64.xz | Bin 0 -> 72 bytes .../xz/tests/files/good-1-check-none.xz | Bin 0 -> 64 bytes .../xz/tests/files/good-1-check-sha256.xz | Bin 0 -> 96 bytes .../xz/tests/files/good-1-delta-lzma2.tiff.xz | Bin 0 -> 51316 bytes .../xz/tests/files/good-1-empty-bcj-lzma2.xz | Bin 0 -> 52 bytes .../external/xz/tests/files/good-1-lzma2-1.xz | Bin 0 -> 424 bytes .../external/xz/tests/files/good-1-lzma2-2.xz | Bin 0 -> 424 bytes .../external/xz/tests/files/good-1-lzma2-3.xz | Bin 0 -> 408 bytes .../external/xz/tests/files/good-1-lzma2-4.xz | Bin 0 -> 464 bytes .../external/xz/tests/files/good-1-lzma2-5.xz | Bin 0 -> 52 bytes .../xz/tests/files/good-1-v0-trailing-1.lz | Bin 0 -> 59 bytes .../external/xz/tests/files/good-1-v0.lz | Bin 0 -> 42 bytes .../xz/tests/files/good-1-v1-trailing-1.lz | Bin 0 -> 67 bytes .../xz/tests/files/good-1-v1-trailing-2.lz | Bin 0 -> 70 bytes .../external/xz/tests/files/good-1-v1.lz | Bin 0 -> 50 bytes .../external/xz/tests/files/good-2-lzma2.xz | Bin 0 -> 92 bytes .../external/xz/tests/files/good-2-v0-v1.lz | Bin 0 -> 78 bytes .../external/xz/tests/files/good-2-v1-v0.lz | Bin 0 -> 78 bytes .../external/xz/tests/files/good-2-v1-v1.lz | Bin 0 -> 86 bytes .../files/good-known_size-with_eopm.lzma | Bin 0 -> 37 bytes .../files/good-known_size-without_eopm.lzma | Bin 0 -> 31 bytes .../files/good-unknown_size-with_eopm.lzma | Bin 0 -> 37 bytes .../xz/tests/files/unsupported-1-v234.lz | Bin 0 -> 50 bytes .../tests/files/unsupported-block_header.xz | Bin 0 -> 68 bytes .../xz/tests/files/unsupported-check.xz | Bin 0 -> 68 bytes .../tests/files/unsupported-filter_flags-1.xz | Bin 0 -> 68 bytes .../tests/files/unsupported-filter_flags-2.xz | Bin 0 -> 68 bytes .../tests/files/unsupported-filter_flags-3.xz | Bin 0 -> 68 bytes src/native/external/xz/tests/ossfuzz/Makefile | 17 + .../ossfuzz/config/fuzz_decode_alone.options | 5 + .../ossfuzz/config/fuzz_decode_stream.options | 4 + .../config/fuzz_decode_stream_mt.options | 4 + .../ossfuzz/config/fuzz_encode_stream.options | 4 + .../xz/tests/ossfuzz/config/fuzz_lzma.dict | 22 + .../xz/tests/ossfuzz/config/fuzz_xz.dict | 4 + .../external/xz/tests/ossfuzz/fuzz_common.h | 72 + .../xz/tests/ossfuzz/fuzz_decode_alone.c | 41 + .../xz/tests/ossfuzz/fuzz_decode_stream.c | 53 + .../xz/tests/ossfuzz/fuzz_decode_stream_mt.c | 47 + .../xz/tests/ossfuzz/fuzz_encode_stream.c | 86 + .../external/xz/tests/test_bcj_exact_size.c | 123 + .../external/xz/tests/test_block_header.c | 519 +++ src/native/external/xz/tests/test_check.c | 398 ++ src/native/external/xz/tests/test_compress.sh | 166 + .../xz/tests/test_compress_generated_abc | 4 + .../xz/tests/test_compress_generated_random | 4 + .../xz/tests/test_compress_generated_text | 4 + src/native/external/xz/tests/test_files.sh | 208 + .../external/xz/tests/test_filter_flags.c | 535 +++ .../external/xz/tests/test_filter_str.c | 685 +++ src/native/external/xz/tests/test_hardware.c | 49 + src/native/external/xz/tests/test_index.c | 1791 ++++++++ .../external/xz/tests/test_index_hash.c | 385 ++ .../external/xz/tests/test_lzip_decoder.c | 475 ++ src/native/external/xz/tests/test_memlimit.c | 172 + src/native/external/xz/tests/test_microlzma.c | 568 +++ src/native/external/xz/tests/test_scripts.sh | 82 + .../external/xz/tests/test_stream_flags.c | 478 ++ src/native/external/xz/tests/test_suffix.sh | 192 + src/native/external/xz/tests/test_vli.c | 323 ++ src/native/external/xz/tests/tests.cmake | 228 + src/native/external/xz/tests/tests.h | 74 + src/native/external/xz/tests/tests_w32res.rc | 18 + src/native/external/xz/tests/tuktest.h | 1053 +++++ .../external/xz/tests/xzgrep_expected_output | 39 + .../external/xz/windows/INSTALL-MSVC.txt | 44 + .../INSTALL-MinGW-w64_with_Autotools.txt | 49 + .../windows/INSTALL-MinGW-w64_with_CMake.txt | 211 + .../external/xz/windows/README-Windows.txt | 100 + .../external/xz/windows/build-with-cmake.bat | 35 + src/native/external/xz/windows/build.bash | 245 + .../xz/windows/liblzma-crt-mixing.txt | 70 + 494 files changed, 159096 insertions(+) create mode 100644 src/native/external/xz.cmake create mode 100644 src/native/external/xz.version create mode 100644 src/native/external/xz/AUTHORS create mode 100644 src/native/external/xz/CMakeLists.txt create mode 100644 src/native/external/xz/COPYING create mode 100644 src/native/external/xz/COPYING.0BSD create mode 100644 src/native/external/xz/COPYING.GPLv2 create mode 100644 src/native/external/xz/COPYING.GPLv3 create mode 100644 src/native/external/xz/COPYING.LGPLv2.1 create mode 100644 src/native/external/xz/ChangeLog create mode 100644 src/native/external/xz/INSTALL create mode 100644 src/native/external/xz/INSTALL.generic create mode 100644 src/native/external/xz/Makefile.am create mode 100644 src/native/external/xz/NEWS create mode 100644 src/native/external/xz/PACKAGERS create mode 100644 src/native/external/xz/README create mode 100644 src/native/external/xz/THANKS create mode 100644 src/native/external/xz/TODO create mode 100644 src/native/external/xz/autogen.sh create mode 100644 src/native/external/xz/build-aux/license-check.sh create mode 100644 src/native/external/xz/build-aux/manconv.sh create mode 100644 src/native/external/xz/build-aux/version.sh create mode 100644 src/native/external/xz/cmake/remove-ordinals.cmake create mode 100644 src/native/external/xz/cmake/tuklib_common.cmake create mode 100644 src/native/external/xz/cmake/tuklib_cpucores.cmake create mode 100644 src/native/external/xz/cmake/tuklib_integer.cmake create mode 100644 src/native/external/xz/cmake/tuklib_large_file_support.cmake create mode 100644 src/native/external/xz/cmake/tuklib_mbstr.cmake create mode 100644 src/native/external/xz/cmake/tuklib_physmem.cmake create mode 100644 src/native/external/xz/cmake/tuklib_progname.cmake create mode 100644 src/native/external/xz/configure.ac create mode 100644 src/native/external/xz/doc/examples/00_README.txt create mode 100644 src/native/external/xz/doc/examples/01_compress_easy.c create mode 100644 src/native/external/xz/doc/examples/02_decompress.c create mode 100644 src/native/external/xz/doc/examples/03_compress_custom.c create mode 100644 src/native/external/xz/doc/examples/04_compress_easy_mt.c create mode 100644 src/native/external/xz/doc/examples/11_file_info.c create mode 100644 src/native/external/xz/doc/examples/Makefile create mode 100644 src/native/external/xz/doc/faq.txt create mode 100644 src/native/external/xz/doc/history.txt create mode 100644 src/native/external/xz/doc/lzma-file-format.txt create mode 100644 src/native/external/xz/doc/xz-file-format.txt create mode 100644 src/native/external/xz/dos/INSTALL.txt create mode 100644 src/native/external/xz/dos/Makefile create mode 100644 src/native/external/xz/dos/README.txt create mode 100644 src/native/external/xz/dos/config.h create mode 100644 src/native/external/xz/doxygen/Doxyfile create mode 100644 src/native/external/xz/doxygen/update-doxygen create mode 100644 src/native/external/xz/extra/7z2lzma/7z2lzma.bash create mode 100644 src/native/external/xz/extra/scanlzma/scanlzma.c create mode 100644 src/native/external/xz/lib/Makefile.am create mode 100644 src/native/external/xz/lib/getopt-cdefs.h create mode 100644 src/native/external/xz/lib/getopt-core.h create mode 100644 src/native/external/xz/lib/getopt-ext.h create mode 100644 src/native/external/xz/lib/getopt-pfx-core.h create mode 100644 src/native/external/xz/lib/getopt-pfx-ext.h create mode 100644 src/native/external/xz/lib/getopt.c create mode 100644 src/native/external/xz/lib/getopt.in.h create mode 100644 src/native/external/xz/lib/getopt1.c create mode 100644 src/native/external/xz/lib/getopt_int.h create mode 100644 src/native/external/xz/m4/ax_pthread.m4 create mode 100644 src/native/external/xz/m4/getopt.m4 create mode 100644 src/native/external/xz/m4/posix-shell.m4 create mode 100644 src/native/external/xz/m4/tuklib_common.m4 create mode 100644 src/native/external/xz/m4/tuklib_cpucores.m4 create mode 100644 src/native/external/xz/m4/tuklib_integer.m4 create mode 100644 src/native/external/xz/m4/tuklib_mbstr.m4 create mode 100644 src/native/external/xz/m4/tuklib_physmem.m4 create mode 100644 src/native/external/xz/m4/tuklib_progname.m4 create mode 100644 src/native/external/xz/m4/visibility.m4 create mode 100644 src/native/external/xz/po/LINGUAS create mode 100644 src/native/external/xz/po/Makevars create mode 100644 src/native/external/xz/po/POTFILES.in create mode 100644 src/native/external/xz/po/ca.po create mode 100644 src/native/external/xz/po/cs.po create mode 100644 src/native/external/xz/po/da.po create mode 100644 src/native/external/xz/po/de.po create mode 100644 src/native/external/xz/po/eo.po create mode 100644 src/native/external/xz/po/es.po create mode 100644 src/native/external/xz/po/fi.po create mode 100644 src/native/external/xz/po/fr.po create mode 100644 src/native/external/xz/po/hr.po create mode 100644 src/native/external/xz/po/hu.po create mode 100644 src/native/external/xz/po/it.po create mode 100644 src/native/external/xz/po/ka.po create mode 100644 src/native/external/xz/po/ko.po create mode 100644 src/native/external/xz/po/nl.po create mode 100644 src/native/external/xz/po/pl.po create mode 100644 src/native/external/xz/po/pt.po create mode 100644 src/native/external/xz/po/pt_BR.po create mode 100644 src/native/external/xz/po/ro.po create mode 100644 src/native/external/xz/po/sr.po create mode 100644 src/native/external/xz/po/sv.po create mode 100644 src/native/external/xz/po/tr.po create mode 100644 src/native/external/xz/po/uk.po create mode 100644 src/native/external/xz/po/vi.po create mode 100644 src/native/external/xz/po/xz.pot-header create mode 100644 src/native/external/xz/po/zh_CN.po create mode 100644 src/native/external/xz/po/zh_TW.po create mode 100644 src/native/external/xz/po4a/de.po create mode 100644 src/native/external/xz/po4a/fr.po create mode 100644 src/native/external/xz/po4a/it.po create mode 100644 src/native/external/xz/po4a/ko.po create mode 100644 src/native/external/xz/po4a/po4a.conf create mode 100644 src/native/external/xz/po4a/pt_BR.po create mode 100644 src/native/external/xz/po4a/ro.po create mode 100644 src/native/external/xz/po4a/sr.po create mode 100644 src/native/external/xz/po4a/sv.po create mode 100644 src/native/external/xz/po4a/uk.po create mode 100644 src/native/external/xz/po4a/update-po create mode 100644 src/native/external/xz/src/Makefile.am create mode 100644 src/native/external/xz/src/common/common_w32res.rc create mode 100644 src/native/external/xz/src/common/my_landlock.h create mode 100644 src/native/external/xz/src/common/mythread.h create mode 100644 src/native/external/xz/src/common/sysdefs.h create mode 100644 src/native/external/xz/src/common/tuklib_common.h create mode 100644 src/native/external/xz/src/common/tuklib_config.h create mode 100644 src/native/external/xz/src/common/tuklib_cpucores.c create mode 100644 src/native/external/xz/src/common/tuklib_cpucores.h create mode 100644 src/native/external/xz/src/common/tuklib_exit.c create mode 100644 src/native/external/xz/src/common/tuklib_exit.h create mode 100644 src/native/external/xz/src/common/tuklib_gettext.h create mode 100644 src/native/external/xz/src/common/tuklib_integer.h create mode 100644 src/native/external/xz/src/common/tuklib_mbstr.h create mode 100644 src/native/external/xz/src/common/tuklib_mbstr_fw.c create mode 100644 src/native/external/xz/src/common/tuklib_mbstr_nonprint.c create mode 100644 src/native/external/xz/src/common/tuklib_mbstr_nonprint.h create mode 100644 src/native/external/xz/src/common/tuklib_mbstr_width.c create mode 100644 src/native/external/xz/src/common/tuklib_mbstr_wrap.c create mode 100644 src/native/external/xz/src/common/tuklib_mbstr_wrap.h create mode 100644 src/native/external/xz/src/common/tuklib_open_stdxxx.c create mode 100644 src/native/external/xz/src/common/tuklib_open_stdxxx.h create mode 100644 src/native/external/xz/src/common/tuklib_physmem.c create mode 100644 src/native/external/xz/src/common/tuklib_physmem.h create mode 100644 src/native/external/xz/src/common/tuklib_progname.c create mode 100644 src/native/external/xz/src/common/tuklib_progname.h create mode 100644 src/native/external/xz/src/common/w32_application.manifest create mode 100644 src/native/external/xz/src/common/w32_application.manifest.comments.txt create mode 100644 src/native/external/xz/src/liblzma/Makefile.am create mode 100644 src/native/external/xz/src/liblzma/api/Makefile.am create mode 100644 src/native/external/xz/src/liblzma/api/lzma.h create mode 100644 src/native/external/xz/src/liblzma/api/lzma/base.h create mode 100644 src/native/external/xz/src/liblzma/api/lzma/bcj.h create mode 100644 src/native/external/xz/src/liblzma/api/lzma/block.h create mode 100644 src/native/external/xz/src/liblzma/api/lzma/check.h create mode 100644 src/native/external/xz/src/liblzma/api/lzma/container.h create mode 100644 src/native/external/xz/src/liblzma/api/lzma/delta.h create mode 100644 src/native/external/xz/src/liblzma/api/lzma/filter.h create mode 100644 src/native/external/xz/src/liblzma/api/lzma/hardware.h create mode 100644 src/native/external/xz/src/liblzma/api/lzma/index.h create mode 100644 src/native/external/xz/src/liblzma/api/lzma/index_hash.h create mode 100644 src/native/external/xz/src/liblzma/api/lzma/lzma12.h create mode 100644 src/native/external/xz/src/liblzma/api/lzma/stream_flags.h create mode 100644 src/native/external/xz/src/liblzma/api/lzma/version.h create mode 100644 src/native/external/xz/src/liblzma/api/lzma/vli.h create mode 100644 src/native/external/xz/src/liblzma/check/Makefile.inc create mode 100644 src/native/external/xz/src/liblzma/check/check.c create mode 100644 src/native/external/xz/src/liblzma/check/check.h create mode 100644 src/native/external/xz/src/liblzma/check/crc32_arm64.h create mode 100644 src/native/external/xz/src/liblzma/check/crc32_fast.c create mode 100644 src/native/external/xz/src/liblzma/check/crc32_loongarch.h create mode 100644 src/native/external/xz/src/liblzma/check/crc32_small.c create mode 100644 src/native/external/xz/src/liblzma/check/crc32_table_be.h create mode 100644 src/native/external/xz/src/liblzma/check/crc32_table_le.h create mode 100644 src/native/external/xz/src/liblzma/check/crc32_tablegen.c create mode 100644 src/native/external/xz/src/liblzma/check/crc32_x86.S create mode 100644 src/native/external/xz/src/liblzma/check/crc64_fast.c create mode 100644 src/native/external/xz/src/liblzma/check/crc64_small.c create mode 100644 src/native/external/xz/src/liblzma/check/crc64_table_be.h create mode 100644 src/native/external/xz/src/liblzma/check/crc64_table_le.h create mode 100644 src/native/external/xz/src/liblzma/check/crc64_tablegen.c create mode 100644 src/native/external/xz/src/liblzma/check/crc64_x86.S create mode 100644 src/native/external/xz/src/liblzma/check/crc_clmul_consts_gen.c create mode 100644 src/native/external/xz/src/liblzma/check/crc_common.h create mode 100644 src/native/external/xz/src/liblzma/check/crc_x86_clmul.h create mode 100644 src/native/external/xz/src/liblzma/check/sha256.c create mode 100644 src/native/external/xz/src/liblzma/common/Makefile.inc create mode 100644 src/native/external/xz/src/liblzma/common/alone_decoder.c create mode 100644 src/native/external/xz/src/liblzma/common/alone_decoder.h create mode 100644 src/native/external/xz/src/liblzma/common/alone_encoder.c create mode 100644 src/native/external/xz/src/liblzma/common/auto_decoder.c create mode 100644 src/native/external/xz/src/liblzma/common/block_buffer_decoder.c create mode 100644 src/native/external/xz/src/liblzma/common/block_buffer_encoder.c create mode 100644 src/native/external/xz/src/liblzma/common/block_buffer_encoder.h create mode 100644 src/native/external/xz/src/liblzma/common/block_decoder.c create mode 100644 src/native/external/xz/src/liblzma/common/block_decoder.h create mode 100644 src/native/external/xz/src/liblzma/common/block_encoder.c create mode 100644 src/native/external/xz/src/liblzma/common/block_encoder.h create mode 100644 src/native/external/xz/src/liblzma/common/block_header_decoder.c create mode 100644 src/native/external/xz/src/liblzma/common/block_header_encoder.c create mode 100644 src/native/external/xz/src/liblzma/common/block_util.c create mode 100644 src/native/external/xz/src/liblzma/common/common.c create mode 100644 src/native/external/xz/src/liblzma/common/common.h create mode 100644 src/native/external/xz/src/liblzma/common/easy_buffer_encoder.c create mode 100644 src/native/external/xz/src/liblzma/common/easy_decoder_memusage.c create mode 100644 src/native/external/xz/src/liblzma/common/easy_encoder.c create mode 100644 src/native/external/xz/src/liblzma/common/easy_encoder_memusage.c create mode 100644 src/native/external/xz/src/liblzma/common/easy_preset.c create mode 100644 src/native/external/xz/src/liblzma/common/easy_preset.h create mode 100644 src/native/external/xz/src/liblzma/common/file_info.c create mode 100644 src/native/external/xz/src/liblzma/common/filter_buffer_decoder.c create mode 100644 src/native/external/xz/src/liblzma/common/filter_buffer_encoder.c create mode 100644 src/native/external/xz/src/liblzma/common/filter_common.c create mode 100644 src/native/external/xz/src/liblzma/common/filter_common.h create mode 100644 src/native/external/xz/src/liblzma/common/filter_decoder.c create mode 100644 src/native/external/xz/src/liblzma/common/filter_decoder.h create mode 100644 src/native/external/xz/src/liblzma/common/filter_encoder.c create mode 100644 src/native/external/xz/src/liblzma/common/filter_encoder.h create mode 100644 src/native/external/xz/src/liblzma/common/filter_flags_decoder.c create mode 100644 src/native/external/xz/src/liblzma/common/filter_flags_encoder.c create mode 100644 src/native/external/xz/src/liblzma/common/hardware_cputhreads.c create mode 100644 src/native/external/xz/src/liblzma/common/hardware_physmem.c create mode 100644 src/native/external/xz/src/liblzma/common/index.c create mode 100644 src/native/external/xz/src/liblzma/common/index.h create mode 100644 src/native/external/xz/src/liblzma/common/index_decoder.c create mode 100644 src/native/external/xz/src/liblzma/common/index_decoder.h create mode 100644 src/native/external/xz/src/liblzma/common/index_encoder.c create mode 100644 src/native/external/xz/src/liblzma/common/index_encoder.h create mode 100644 src/native/external/xz/src/liblzma/common/index_hash.c create mode 100644 src/native/external/xz/src/liblzma/common/lzip_decoder.c create mode 100644 src/native/external/xz/src/liblzma/common/lzip_decoder.h create mode 100644 src/native/external/xz/src/liblzma/common/memcmplen.h create mode 100644 src/native/external/xz/src/liblzma/common/microlzma_decoder.c create mode 100644 src/native/external/xz/src/liblzma/common/microlzma_encoder.c create mode 100644 src/native/external/xz/src/liblzma/common/outqueue.c create mode 100644 src/native/external/xz/src/liblzma/common/outqueue.h create mode 100644 src/native/external/xz/src/liblzma/common/stream_buffer_decoder.c create mode 100644 src/native/external/xz/src/liblzma/common/stream_buffer_encoder.c create mode 100644 src/native/external/xz/src/liblzma/common/stream_decoder.c create mode 100644 src/native/external/xz/src/liblzma/common/stream_decoder.h create mode 100644 src/native/external/xz/src/liblzma/common/stream_decoder_mt.c create mode 100644 src/native/external/xz/src/liblzma/common/stream_encoder.c create mode 100644 src/native/external/xz/src/liblzma/common/stream_encoder_mt.c create mode 100644 src/native/external/xz/src/liblzma/common/stream_flags_common.c create mode 100644 src/native/external/xz/src/liblzma/common/stream_flags_common.h create mode 100644 src/native/external/xz/src/liblzma/common/stream_flags_decoder.c create mode 100644 src/native/external/xz/src/liblzma/common/stream_flags_encoder.c create mode 100644 src/native/external/xz/src/liblzma/common/string_conversion.c create mode 100644 src/native/external/xz/src/liblzma/common/vli_decoder.c create mode 100644 src/native/external/xz/src/liblzma/common/vli_encoder.c create mode 100644 src/native/external/xz/src/liblzma/common/vli_size.c create mode 100644 src/native/external/xz/src/liblzma/delta/Makefile.inc create mode 100644 src/native/external/xz/src/liblzma/delta/delta_common.c create mode 100644 src/native/external/xz/src/liblzma/delta/delta_common.h create mode 100644 src/native/external/xz/src/liblzma/delta/delta_decoder.c create mode 100644 src/native/external/xz/src/liblzma/delta/delta_decoder.h create mode 100644 src/native/external/xz/src/liblzma/delta/delta_encoder.c create mode 100644 src/native/external/xz/src/liblzma/delta/delta_encoder.h create mode 100644 src/native/external/xz/src/liblzma/delta/delta_private.h create mode 100644 src/native/external/xz/src/liblzma/liblzma.pc.in create mode 100644 src/native/external/xz/src/liblzma/liblzma_generic.map create mode 100644 src/native/external/xz/src/liblzma/liblzma_linux.map create mode 100644 src/native/external/xz/src/liblzma/liblzma_w32res.rc create mode 100644 src/native/external/xz/src/liblzma/lz/Makefile.inc create mode 100644 src/native/external/xz/src/liblzma/lz/lz_decoder.c create mode 100644 src/native/external/xz/src/liblzma/lz/lz_decoder.h create mode 100644 src/native/external/xz/src/liblzma/lz/lz_encoder.c create mode 100644 src/native/external/xz/src/liblzma/lz/lz_encoder.h create mode 100644 src/native/external/xz/src/liblzma/lz/lz_encoder_hash.h create mode 100644 src/native/external/xz/src/liblzma/lz/lz_encoder_hash_table.h create mode 100644 src/native/external/xz/src/liblzma/lz/lz_encoder_mf.c create mode 100644 src/native/external/xz/src/liblzma/lzma/Makefile.inc create mode 100644 src/native/external/xz/src/liblzma/lzma/fastpos.h create mode 100644 src/native/external/xz/src/liblzma/lzma/fastpos_table.c create mode 100644 src/native/external/xz/src/liblzma/lzma/fastpos_tablegen.c create mode 100644 src/native/external/xz/src/liblzma/lzma/lzma2_decoder.c create mode 100644 src/native/external/xz/src/liblzma/lzma/lzma2_decoder.h create mode 100644 src/native/external/xz/src/liblzma/lzma/lzma2_encoder.c create mode 100644 src/native/external/xz/src/liblzma/lzma/lzma2_encoder.h create mode 100644 src/native/external/xz/src/liblzma/lzma/lzma_common.h create mode 100644 src/native/external/xz/src/liblzma/lzma/lzma_decoder.c create mode 100644 src/native/external/xz/src/liblzma/lzma/lzma_decoder.h create mode 100644 src/native/external/xz/src/liblzma/lzma/lzma_encoder.c create mode 100644 src/native/external/xz/src/liblzma/lzma/lzma_encoder.h create mode 100644 src/native/external/xz/src/liblzma/lzma/lzma_encoder_optimum_fast.c create mode 100644 src/native/external/xz/src/liblzma/lzma/lzma_encoder_optimum_normal.c create mode 100644 src/native/external/xz/src/liblzma/lzma/lzma_encoder_presets.c create mode 100644 src/native/external/xz/src/liblzma/lzma/lzma_encoder_private.h create mode 100644 src/native/external/xz/src/liblzma/rangecoder/Makefile.inc create mode 100644 src/native/external/xz/src/liblzma/rangecoder/price.h create mode 100644 src/native/external/xz/src/liblzma/rangecoder/price_table.c create mode 100644 src/native/external/xz/src/liblzma/rangecoder/price_tablegen.c create mode 100644 src/native/external/xz/src/liblzma/rangecoder/range_common.h create mode 100644 src/native/external/xz/src/liblzma/rangecoder/range_decoder.h create mode 100644 src/native/external/xz/src/liblzma/rangecoder/range_encoder.h create mode 100644 src/native/external/xz/src/liblzma/simple/Makefile.inc create mode 100644 src/native/external/xz/src/liblzma/simple/arm.c create mode 100644 src/native/external/xz/src/liblzma/simple/arm64.c create mode 100644 src/native/external/xz/src/liblzma/simple/armthumb.c create mode 100644 src/native/external/xz/src/liblzma/simple/ia64.c create mode 100644 src/native/external/xz/src/liblzma/simple/powerpc.c create mode 100644 src/native/external/xz/src/liblzma/simple/riscv.c create mode 100644 src/native/external/xz/src/liblzma/simple/simple_coder.c create mode 100644 src/native/external/xz/src/liblzma/simple/simple_coder.h create mode 100644 src/native/external/xz/src/liblzma/simple/simple_decoder.c create mode 100644 src/native/external/xz/src/liblzma/simple/simple_decoder.h create mode 100644 src/native/external/xz/src/liblzma/simple/simple_encoder.c create mode 100644 src/native/external/xz/src/liblzma/simple/simple_encoder.h create mode 100644 src/native/external/xz/src/liblzma/simple/simple_private.h create mode 100644 src/native/external/xz/src/liblzma/simple/sparc.c create mode 100644 src/native/external/xz/src/liblzma/simple/x86.c create mode 100644 src/native/external/xz/src/liblzma/validate_map.sh create mode 100644 src/native/external/xz/src/lzmainfo/Makefile.am create mode 100644 src/native/external/xz/src/lzmainfo/lzmainfo.1 create mode 100644 src/native/external/xz/src/lzmainfo/lzmainfo.c create mode 100644 src/native/external/xz/src/lzmainfo/lzmainfo_w32res.rc create mode 100644 src/native/external/xz/src/scripts/Makefile.am create mode 100644 src/native/external/xz/src/scripts/xzdiff.1 create mode 100644 src/native/external/xz/src/scripts/xzdiff.in create mode 100644 src/native/external/xz/src/scripts/xzgrep.1 create mode 100644 src/native/external/xz/src/scripts/xzgrep.in create mode 100644 src/native/external/xz/src/scripts/xzless.1 create mode 100644 src/native/external/xz/src/scripts/xzless.in create mode 100644 src/native/external/xz/src/scripts/xzmore.1 create mode 100644 src/native/external/xz/src/scripts/xzmore.in create mode 100644 src/native/external/xz/src/xz/Makefile.am create mode 100644 src/native/external/xz/src/xz/args.c create mode 100644 src/native/external/xz/src/xz/args.h create mode 100644 src/native/external/xz/src/xz/coder.c create mode 100644 src/native/external/xz/src/xz/coder.h create mode 100644 src/native/external/xz/src/xz/file_io.c create mode 100644 src/native/external/xz/src/xz/file_io.h create mode 100644 src/native/external/xz/src/xz/hardware.c create mode 100644 src/native/external/xz/src/xz/hardware.h create mode 100644 src/native/external/xz/src/xz/list.c create mode 100644 src/native/external/xz/src/xz/list.h create mode 100644 src/native/external/xz/src/xz/main.c create mode 100644 src/native/external/xz/src/xz/main.h create mode 100644 src/native/external/xz/src/xz/message.c create mode 100644 src/native/external/xz/src/xz/message.h create mode 100644 src/native/external/xz/src/xz/mytime.c create mode 100644 src/native/external/xz/src/xz/mytime.h create mode 100644 src/native/external/xz/src/xz/options.c create mode 100644 src/native/external/xz/src/xz/options.h create mode 100644 src/native/external/xz/src/xz/private.h create mode 100644 src/native/external/xz/src/xz/sandbox.c create mode 100644 src/native/external/xz/src/xz/sandbox.h create mode 100644 src/native/external/xz/src/xz/signals.c create mode 100644 src/native/external/xz/src/xz/signals.h create mode 100644 src/native/external/xz/src/xz/suffix.c create mode 100644 src/native/external/xz/src/xz/suffix.h create mode 100644 src/native/external/xz/src/xz/util.c create mode 100644 src/native/external/xz/src/xz/util.h create mode 100644 src/native/external/xz/src/xz/xz.1 create mode 100644 src/native/external/xz/src/xz/xz_w32res.rc create mode 100644 src/native/external/xz/src/xzdec/Makefile.am create mode 100644 src/native/external/xz/src/xzdec/lzmadec_w32res.rc create mode 100644 src/native/external/xz/src/xzdec/xzdec.1 create mode 100644 src/native/external/xz/src/xzdec/xzdec.c create mode 100644 src/native/external/xz/src/xzdec/xzdec_w32res.rc create mode 100644 src/native/external/xz/tests/Makefile.am create mode 100644 src/native/external/xz/tests/code_coverage.sh create mode 100644 src/native/external/xz/tests/create_compress_files.c create mode 100644 src/native/external/xz/tests/files/README create mode 100644 src/native/external/xz/tests/files/bad-0-backward_size.xz create mode 100644 src/native/external/xz/tests/files/bad-0-empty-truncated.xz create mode 100644 src/native/external/xz/tests/files/bad-0-footer_magic.xz create mode 100644 src/native/external/xz/tests/files/bad-0-header_magic.xz create mode 100644 src/native/external/xz/tests/files/bad-0-nonempty_index.xz create mode 100644 src/native/external/xz/tests/files/bad-0cat-alone.xz create mode 100644 src/native/external/xz/tests/files/bad-0cat-header_magic.xz create mode 100644 src/native/external/xz/tests/files/bad-0catpad-empty.xz create mode 100644 src/native/external/xz/tests/files/bad-0pad-empty.xz create mode 100644 src/native/external/xz/tests/files/bad-1-block_header-1.xz create mode 100644 src/native/external/xz/tests/files/bad-1-block_header-2.xz create mode 100644 src/native/external/xz/tests/files/bad-1-block_header-3.xz create mode 100644 src/native/external/xz/tests/files/bad-1-block_header-4.xz create mode 100644 src/native/external/xz/tests/files/bad-1-block_header-5.xz create mode 100644 src/native/external/xz/tests/files/bad-1-block_header-6.xz create mode 100644 src/native/external/xz/tests/files/bad-1-check-crc32-2.xz create mode 100644 src/native/external/xz/tests/files/bad-1-check-crc32.xz create mode 100644 src/native/external/xz/tests/files/bad-1-check-crc64.xz create mode 100644 src/native/external/xz/tests/files/bad-1-check-sha256.xz create mode 100644 src/native/external/xz/tests/files/bad-1-lzma2-1.xz create mode 100644 src/native/external/xz/tests/files/bad-1-lzma2-10.xz create mode 100644 src/native/external/xz/tests/files/bad-1-lzma2-11.xz create mode 100644 src/native/external/xz/tests/files/bad-1-lzma2-2.xz create mode 100644 src/native/external/xz/tests/files/bad-1-lzma2-3.xz create mode 100644 src/native/external/xz/tests/files/bad-1-lzma2-4.xz create mode 100644 src/native/external/xz/tests/files/bad-1-lzma2-5.xz create mode 100644 src/native/external/xz/tests/files/bad-1-lzma2-6.xz create mode 100644 src/native/external/xz/tests/files/bad-1-lzma2-7.xz create mode 100644 src/native/external/xz/tests/files/bad-1-lzma2-8.xz create mode 100644 src/native/external/xz/tests/files/bad-1-lzma2-9.xz create mode 100644 src/native/external/xz/tests/files/bad-1-stream_flags-1.xz create mode 100644 src/native/external/xz/tests/files/bad-1-stream_flags-2.xz create mode 100644 src/native/external/xz/tests/files/bad-1-stream_flags-3.xz create mode 100644 src/native/external/xz/tests/files/bad-1-v0-uncomp-size.lz create mode 100644 src/native/external/xz/tests/files/bad-1-v1-crc32.lz create mode 100644 src/native/external/xz/tests/files/bad-1-v1-dict-1.lz create mode 100644 src/native/external/xz/tests/files/bad-1-v1-dict-2.lz create mode 100644 src/native/external/xz/tests/files/bad-1-v1-magic-1.lz create mode 100644 src/native/external/xz/tests/files/bad-1-v1-magic-2.lz create mode 100644 src/native/external/xz/tests/files/bad-1-v1-member-size.lz create mode 100644 src/native/external/xz/tests/files/bad-1-v1-trailing-magic.lz create mode 100644 src/native/external/xz/tests/files/bad-1-v1-uncomp-size.lz create mode 100644 src/native/external/xz/tests/files/bad-1-vli-1.xz create mode 100644 src/native/external/xz/tests/files/bad-1-vli-2.xz create mode 100644 src/native/external/xz/tests/files/bad-2-compressed_data_padding.xz create mode 100644 src/native/external/xz/tests/files/bad-2-index-1.xz create mode 100644 src/native/external/xz/tests/files/bad-2-index-2.xz create mode 100644 src/native/external/xz/tests/files/bad-2-index-3.xz create mode 100644 src/native/external/xz/tests/files/bad-2-index-4.xz create mode 100644 src/native/external/xz/tests/files/bad-2-index-5.xz create mode 100644 src/native/external/xz/tests/files/bad-3-index-uncomp-overflow.xz create mode 100644 src/native/external/xz/tests/files/bad-too_big_size-with_eopm.lzma create mode 100644 src/native/external/xz/tests/files/bad-too_small_size-without_eopm-1.lzma create mode 100644 src/native/external/xz/tests/files/bad-too_small_size-without_eopm-2.lzma create mode 100644 src/native/external/xz/tests/files/bad-too_small_size-without_eopm-3.lzma create mode 100644 src/native/external/xz/tests/files/bad-unknown_size-without_eopm.lzma create mode 100644 src/native/external/xz/tests/files/good-0-empty.xz create mode 100644 src/native/external/xz/tests/files/good-0cat-empty.xz create mode 100644 src/native/external/xz/tests/files/good-0catpad-empty.xz create mode 100644 src/native/external/xz/tests/files/good-0pad-empty.xz create mode 100644 src/native/external/xz/tests/files/good-1-3delta-lzma2.xz create mode 100644 src/native/external/xz/tests/files/good-1-arm64-lzma2-1.xz create mode 100644 src/native/external/xz/tests/files/good-1-arm64-lzma2-2.xz create mode 100644 src/native/external/xz/tests/files/good-1-block_header-1.xz create mode 100644 src/native/external/xz/tests/files/good-1-block_header-2.xz create mode 100644 src/native/external/xz/tests/files/good-1-block_header-3.xz create mode 100644 src/native/external/xz/tests/files/good-1-check-crc32.xz create mode 100644 src/native/external/xz/tests/files/good-1-check-crc64.xz create mode 100644 src/native/external/xz/tests/files/good-1-check-none.xz create mode 100644 src/native/external/xz/tests/files/good-1-check-sha256.xz create mode 100644 src/native/external/xz/tests/files/good-1-delta-lzma2.tiff.xz create mode 100644 src/native/external/xz/tests/files/good-1-empty-bcj-lzma2.xz create mode 100644 src/native/external/xz/tests/files/good-1-lzma2-1.xz create mode 100644 src/native/external/xz/tests/files/good-1-lzma2-2.xz create mode 100644 src/native/external/xz/tests/files/good-1-lzma2-3.xz create mode 100644 src/native/external/xz/tests/files/good-1-lzma2-4.xz create mode 100644 src/native/external/xz/tests/files/good-1-lzma2-5.xz create mode 100644 src/native/external/xz/tests/files/good-1-v0-trailing-1.lz create mode 100644 src/native/external/xz/tests/files/good-1-v0.lz create mode 100644 src/native/external/xz/tests/files/good-1-v1-trailing-1.lz create mode 100644 src/native/external/xz/tests/files/good-1-v1-trailing-2.lz create mode 100644 src/native/external/xz/tests/files/good-1-v1.lz create mode 100644 src/native/external/xz/tests/files/good-2-lzma2.xz create mode 100644 src/native/external/xz/tests/files/good-2-v0-v1.lz create mode 100644 src/native/external/xz/tests/files/good-2-v1-v0.lz create mode 100644 src/native/external/xz/tests/files/good-2-v1-v1.lz create mode 100644 src/native/external/xz/tests/files/good-known_size-with_eopm.lzma create mode 100644 src/native/external/xz/tests/files/good-known_size-without_eopm.lzma create mode 100644 src/native/external/xz/tests/files/good-unknown_size-with_eopm.lzma create mode 100644 src/native/external/xz/tests/files/unsupported-1-v234.lz create mode 100644 src/native/external/xz/tests/files/unsupported-block_header.xz create mode 100644 src/native/external/xz/tests/files/unsupported-check.xz create mode 100644 src/native/external/xz/tests/files/unsupported-filter_flags-1.xz create mode 100644 src/native/external/xz/tests/files/unsupported-filter_flags-2.xz create mode 100644 src/native/external/xz/tests/files/unsupported-filter_flags-3.xz create mode 100644 src/native/external/xz/tests/ossfuzz/Makefile create mode 100644 src/native/external/xz/tests/ossfuzz/config/fuzz_decode_alone.options create mode 100644 src/native/external/xz/tests/ossfuzz/config/fuzz_decode_stream.options create mode 100644 src/native/external/xz/tests/ossfuzz/config/fuzz_decode_stream_mt.options create mode 100644 src/native/external/xz/tests/ossfuzz/config/fuzz_encode_stream.options create mode 100644 src/native/external/xz/tests/ossfuzz/config/fuzz_lzma.dict create mode 100644 src/native/external/xz/tests/ossfuzz/config/fuzz_xz.dict create mode 100644 src/native/external/xz/tests/ossfuzz/fuzz_common.h create mode 100644 src/native/external/xz/tests/ossfuzz/fuzz_decode_alone.c create mode 100644 src/native/external/xz/tests/ossfuzz/fuzz_decode_stream.c create mode 100644 src/native/external/xz/tests/ossfuzz/fuzz_decode_stream_mt.c create mode 100644 src/native/external/xz/tests/ossfuzz/fuzz_encode_stream.c create mode 100644 src/native/external/xz/tests/test_bcj_exact_size.c create mode 100644 src/native/external/xz/tests/test_block_header.c create mode 100644 src/native/external/xz/tests/test_check.c create mode 100644 src/native/external/xz/tests/test_compress.sh create mode 100644 src/native/external/xz/tests/test_compress_generated_abc create mode 100644 src/native/external/xz/tests/test_compress_generated_random create mode 100644 src/native/external/xz/tests/test_compress_generated_text create mode 100644 src/native/external/xz/tests/test_files.sh create mode 100644 src/native/external/xz/tests/test_filter_flags.c create mode 100644 src/native/external/xz/tests/test_filter_str.c create mode 100644 src/native/external/xz/tests/test_hardware.c create mode 100644 src/native/external/xz/tests/test_index.c create mode 100644 src/native/external/xz/tests/test_index_hash.c create mode 100644 src/native/external/xz/tests/test_lzip_decoder.c create mode 100644 src/native/external/xz/tests/test_memlimit.c create mode 100644 src/native/external/xz/tests/test_microlzma.c create mode 100644 src/native/external/xz/tests/test_scripts.sh create mode 100644 src/native/external/xz/tests/test_stream_flags.c create mode 100644 src/native/external/xz/tests/test_suffix.sh create mode 100644 src/native/external/xz/tests/test_vli.c create mode 100644 src/native/external/xz/tests/tests.cmake create mode 100644 src/native/external/xz/tests/tests.h create mode 100644 src/native/external/xz/tests/tests_w32res.rc create mode 100644 src/native/external/xz/tests/tuktest.h create mode 100644 src/native/external/xz/tests/xzgrep_expected_output create mode 100644 src/native/external/xz/windows/INSTALL-MSVC.txt create mode 100644 src/native/external/xz/windows/INSTALL-MinGW-w64_with_Autotools.txt create mode 100644 src/native/external/xz/windows/INSTALL-MinGW-w64_with_CMake.txt create mode 100644 src/native/external/xz/windows/README-Windows.txt create mode 100644 src/native/external/xz/windows/build-with-cmake.bat create mode 100644 src/native/external/xz/windows/build.bash create mode 100644 src/native/external/xz/windows/liblzma-crt-mixing.txt diff --git a/src/native/external/cgmanifest.json b/src/native/external/cgmanifest.json index 17c52798d922ed..6767e693a6a341 100644 --- a/src/native/external/cgmanifest.json +++ b/src/native/external/cgmanifest.json @@ -2,6 +2,16 @@ "$schema": "https://json.schemastore.org/component-detection-manifest.json", "version": 1, "registrations": [ + { + "component": { + "type": "git", + "git": { + "repositoryUrl": "https://github.com/tukaani-project/xz", + "commitHash": "3d078b52adbff566ccfc51067dfbf742ecf3ef86" + } + }, + "developmentDependency": false + }, { "component": { "type": "git", diff --git a/src/native/external/xz.cmake b/src/native/external/xz.cmake new file mode 100644 index 00000000000000..2534374e329d25 --- /dev/null +++ b/src/native/external/xz.cmake @@ -0,0 +1,54 @@ +# IMPORTANT: do not use add_compile_options(), add_definitions() or similar functions here since it will leak to the including projects + +include(FetchContent) + +FetchContent_Declare( + xz + SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/xz) + +# turn off multithreading support to lower the binary size +set(XZ_THREADS no) + +set(XZ_LZIP_DECODER OFF) +set(XZ_LZIP_ENCODER OFF) + +# turn off parts we don't need +set(BUILD_TESTING OFF) +set(XZ_DOXYGEN OFF) +set(XZ_DOC OFF) +set(XZ_NLS OFF) +set(XZ_MICROLZMA_ENCODER OFF) +set(XZ_MICROLZMA_DECODER OFF) +set(XZ_TOOL_XZ OFF) +set(XZ_TOOL_SCRIPTS OFF) +set(XZ_TOOL_XZDEC OFF) +set(XZ_TOOL_LZMADEC OFF) +set(XZ_TOOL_LZMAINFO OFF) +set(XZ_TOOL_SYMLINKS OFF) +set(XZ_TOOL_SYMLINKS_LZMA OFF) + +set(__CURRENT_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS}) +set(BUILD_SHARED_LIBS OFF) +FetchContent_MakeAvailable(xz) +set(BUILD_SHARED_LIBS ${__CURRENT_BUILD_SHARED_LIBS}) + +set(LZMA_INCLUDE_DIRS ${CMAKE_CURRENT_LIST_DIR}/xz/src/liblzma/api) + + +# +# silence the warnings for now, we will need to fix these in code and upstream the fixes +# +if(MSVC) + target_compile_definitions(liblzma PRIVATE _CRT_SECURE_NO_WARNINGS) +endif() + +target_compile_options(liblzma PRIVATE $<$:/wd4267>) +target_compile_options(liblzma PRIVATE $<$:/wd4242>) +target_compile_options(liblzma PRIVATE $<$:/wd4244>) +target_compile_options(liblzma PRIVATE $<$:/wd4057>) +target_compile_options(liblzma PRIVATE $<$:/wd4996>) + +# I am not sure why but libgnu target is also created even if we don't build the +# tools, we should investigate before merging +target_compile_options(libgnu PRIVATE $<$:/wd4701>) +target_compile_options(libgnu PRIVATE $<$:/wd4996>) \ No newline at end of file diff --git a/src/native/external/xz.version b/src/native/external/xz.version new file mode 100644 index 00000000000000..ef2df87ce7fb98 --- /dev/null +++ b/src/native/external/xz.version @@ -0,0 +1,2 @@ +v5.8.2 +https://github.com/tukaani-project/xz/releases/tag/v5.8.2 \ No newline at end of file diff --git a/src/native/external/xz/AUTHORS b/src/native/external/xz/AUTHORS new file mode 100644 index 00000000000000..f805a204ecb75c --- /dev/null +++ b/src/native/external/xz/AUTHORS @@ -0,0 +1,58 @@ + +Authors of XZ Utils +=================== + + XZ Utils is developed and maintained by + Lasse Collin . + + Major parts of liblzma are based on code written by Igor Pavlov, + specifically the LZMA SDK . Without + this code, XZ Utils wouldn't exist. + + The SHA-256 implementation in liblzma is based on code written by + Wei Dai in Crypto++ Library . + + A few scripts have been adapted from GNU gzip. The original + versions were written by Jean-loup Gailly, Charles Levert, and + Paul Eggert. Andrew Dudman helped adapting the scripts and their + man pages for XZ Utils. + + The initial version of the threaded .xz decompressor was written + by Sebastian Andrzej Siewior. + + The initial version of the .lz (lzip) decoder was written + by Michał Górny. + + Architecture-specific CRC optimizations were contributed by + Ilya Kurdyukov, Chenxi Mao, and Xi Ruoyao. + + Other authors: + - Jonathan Nieder + - Joachim Henke + + Special author: Jia Tan was a co-maintainer in 2022-2024. He and + the team behind him inserted a backdoor (CVE-2024-3094) into + XZ Utils 5.6.0 and 5.6.1 releases. He suddenly disappeared when + this was discovered. + + Many people have contributed improvements or reported bugs. + Most of these people are mentioned in the file THANKS. + + The translations of the command line tools and man pages have been + contributed by many people via the Translation Project: + + - https://translationproject.org/domain/xz.html + - https://translationproject.org/domain/xz-man.html + + The authors of the translated man pages are in the header comments + of the man page files. In the source package, the authors of the + translations are in po/*.po and po4a/*.po files. + + Third-party code whose authors aren't listed here: + + - GNU getopt_long() in the 'lib' directory is included for + platforms that don't have a usable getopt_long(). + + - The build system files from GNU Autoconf, GNU Automake, + GNU Libtool, GNU Gettext, Autoconf Archive, and related files. + diff --git a/src/native/external/xz/CMakeLists.txt b/src/native/external/xz/CMakeLists.txt new file mode 100644 index 00000000000000..8d8d9a5306fb16 --- /dev/null +++ b/src/native/external/xz/CMakeLists.txt @@ -0,0 +1,2520 @@ +# SPDX-License-Identifier: 0BSD + +############################################################################# +# +# CMake support for building XZ Utils +# +# Requirements: +# +# - CMake 3.20 or later +# +# - To get translated messages, install GNU gettext tools (the command +# msgfmt is needed). Alternatively disable translations by setting +# XZ_NLS=OFF. +# +# - If building from xz.git instead of a release tarball: To generate +# translated man pages, run po4a/update-po which requires the po4a +# tool. The build works without this step too. +# +# About CMAKE_BUILD_TYPE: +# +# - CMake's standard choices are fine to use for production builds, +# including "Release" and "RelWithDebInfo". +# +# NOTE: While "Release" uses -O3 by default with some compilers, +# this file overrides -O3 to -O2 for "Release" builds if +# CMAKE_C_FLAGS_RELEASE is not defined by the user. At least +# with GCC and Clang/LLVM, -O3 doesn't seem useful for this +# package as it can result in bigger binaries without any +# improvement in speed compared to -O2. +# +# - Empty value (the default) is handled slightly specially: It +# adds -DNDEBUG to disable debugging code (assert() and a few +# other things). No optimization flags are added so an empty +# CMAKE_BUILD_TYPE is an easy way to build with whatever +# optimization flags one wants, and so this method is also +# suitable for production builds. +# +# If debugging is wanted when using empty CMAKE_BUILD_TYPE, +# include -UNDEBUG in the CFLAGS environment variable or +# in the CMAKE_C_FLAGS CMake variable to override -DNDEBUG. +# With empty CMAKE_BUILD_TYPE, the -UNDEBUG option will go +# after the -DNDEBUG option on the compiler command line and +# thus NDEBUG will be undefined. +# +# - Non-standard build types like "None" aren't treated specially +# and thus won't have -DNEBUG. Such non-standard build types +# SHOULD BE AVOIDED FOR PRODUCTION BUILDS. Or at least one +# should remember to add -DNDEBUG. +# +# This file provides the following installation components (if you only +# need liblzma, install only its components!): +# - liblzma_Runtime (shared library only) +# - liblzma_Development +# - liblzma_Documentation (examples and Doxygen-generated API docs as HTML) +# - xz_Runtime (xz, the symlinks, and possibly translation files) +# - xz_Documentation (xz man pages and the symlinks) +# - xzdec_Runtime +# - xzdec_Documentation (xzdec *and* lzmadec man pages) +# - lzmadec_Runtime +# - lzmainfo_Runtime +# - lzmainfo_Documentation (lzmainfo man pages) +# - scripts_Runtime (xzdiff, xzgrep, xzless, xzmore) +# - scripts_Documentation (their man pages) +# - Documentation (generic docs like README and licenses) +# +# To find the target liblzma::liblzma from other packages, use the CONFIG +# option with find_package() to avoid a conflict with the FindLibLZMA module +# with case-insensitive file systems. For example, to require liblzma 5.2.5 +# or a newer compatible version: +# +# find_package(liblzma 5.2.5 REQUIRED CONFIG) +# target_link_libraries(my_application liblzma::liblzma) +# +############################################################################# +# +# Author: Lasse Collin +# +############################################################################# + +cmake_minimum_required(VERSION 3.20...4.2 FATAL_ERROR) + +include(CMakePushCheckState) +include(CheckIncludeFile) +include(CheckSymbolExists) +include(CheckStructHasMember) +include(CheckCSourceCompiles) +include(CheckCCompilerFlag) +include(CheckLinkerFlag) +include(cmake/tuklib_large_file_support.cmake) +include(cmake/tuklib_integer.cmake) +include(cmake/tuklib_cpucores.cmake) +include(cmake/tuklib_physmem.cmake) +include(cmake/tuklib_progname.cmake) +include(cmake/tuklib_mbstr.cmake) + +set(PACKAGE_NAME "XZ Utils") +set(PACKAGE_BUGREPORT "xz@tukaani.org") +set(PACKAGE_URL "https://tukaani.org/xz/") + +# Get the package version from version.h into PACKAGE_VERSION_SHORT and +# PACKAGE_VERSION. The former variable won't include the possible "alpha" +# or "beta" suffix. +file(READ src/liblzma/api/lzma/version.h PACKAGE_VERSION) +string(REGEX REPLACE +"^.*\n\ +#define LZMA_VERSION_MAJOR ([0-9]+)\n\ +.*\ +#define LZMA_VERSION_MINOR ([0-9]+)\n\ +.*\ +#define LZMA_VERSION_PATCH ([0-9]+)\n\ +.*$" + "\\1.\\2.\\3" PACKAGE_VERSION_SHORT "${PACKAGE_VERSION}") + +if(PACKAGE_VERSION MATCHES "\n#define [A-Z_ ]*_ALPHA\n") + set(PACKAGE_VERSION "${PACKAGE_VERSION_SHORT}alpha") +elseif(PACKAGE_VERSION MATCHES "\n#define [A-Z_ ]*_BETA\n") + set(PACKAGE_VERSION "${PACKAGE_VERSION_SHORT}beta") +else() + set(PACKAGE_VERSION "${PACKAGE_VERSION_SHORT}") +endif() + +# With several compilers, CMAKE_BUILD_TYPE=Release uses -O3 optimization +# which results in bigger code without a clear difference in speed. If +# no user-defined CMAKE_C_FLAGS_RELEASE is present, override -O3 to -O2 +# to make it possible to recommend CMAKE_BUILD_TYPE=Release. +if(NOT DEFINED CMAKE_C_FLAGS_RELEASE) + set(OVERRIDE_O3_IN_C_FLAGS_RELEASE ON) +endif() + +# Among other things, this gives us variables xz_VERSION and xz_VERSION_MAJOR. +project(xz VERSION "${PACKAGE_VERSION_SHORT}" LANGUAGES C) + +if(OVERRIDE_O3_IN_C_FLAGS_RELEASE) + # Looking at CMake's source, there aren't any _FLAGS_RELEASE_INIT + # entries where "-O3" would appear as part of some other option, + # thus a simple search and replace should be fine. + string(REPLACE -O3 -O2 CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") + + # Update the cache value while keeping its docstring unchanged. + set_property(CACHE CMAKE_C_FLAGS_RELEASE + PROPERTY VALUE "${CMAKE_C_FLAGS_RELEASE}") +endif() + +# Reject unsupported MSVC versions. +if(MSVC AND MSVC_VERSION LESS 1900) + message(FATAL_ERROR "Visual Studio older than 2015 is not supported") +endif() + +# We need a compiler that supports enough C99 or newer (variable-length arrays +# aren't needed, those are optional in C11/C17). C11 is preferred since C11 +# features may be optionally used if they are available. +# +# Setting CMAKE_C_STANDARD here makes it the default for all targets. +# It doesn't affect the INTERFACE so liblzma::liblzma won't end up with +# INTERFACE_COMPILE_FEATURES "c_std_99" or such (the API headers are C89 +# and C++ compatible). +# +# Avoid set(CMAKE_C_STANDARD_REQUIRED ON) because it's fine to decay +# to C99 if C11 isn't supported. +set(CMAKE_C_STANDARD 11) + +# On Apple OSes, don't build executables as bundles: +set(CMAKE_MACOSX_BUNDLE OFF) + +# The targets defined here don't support compiling as a unity build. Encoder +# and decoder source files define different types with the same name, and some +# internal header files don't have header guards leading to redeclaration +# errors. +set(CMAKE_UNITY_BUILD OFF) + +# Set CMAKE_INSTALL_LIBDIR and friends. This needs to be done before +# the LOCALEDIR_DEFINITION workaround below. +include(GNUInstallDirs) + +# windres from GNU binutils can be tricky with command line arguments +# that contain spaces or other funny characters. Unfortunately we need +# a space in PACKAGE_NAME. Using \x20 to encode the US-ASCII space seems +# to work in both cmd.exe and /bin/sh. +# +# However, even \x20 isn't enough in all situations, resulting in +# "syntax error" from windres. Using --use-temp-file prevents windres +# from using popen() and this seems to fix the problem. +# +# llvm-windres from Clang/LLVM 16.0.6 and older: The \x20 results +# in "XZx20Utils" in the compiled binary. The option --use-temp-file +# makes no difference. +# +# llvm-windres 17.0.0 and later: It emulates GNU windres more accurately, so +# the workarounds used with GNU windres must be used with llvm-windres too. +# +# CMake 3.27 doesn't have CMAKE_RC_COMPILER_ID so we rely on +# CMAKE_C_COMPILER_ID. +if((MINGW OR CYGWIN) AND ( + NOT CMAKE_C_COMPILER_ID STREQUAL "Clang" OR + CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "17")) + # Use workarounds with GNU windres and llvm-windres >= 17.0.0. The \x20 + # in PACKAGE_NAME_DEFINITION works with gcc and clang too so we don't need + # to worry how to pass different flags to windres and the C compiler. + # Keep the original PACKAGE_NAME intact for generation of liblzma.pc. + string(APPEND CMAKE_RC_FLAGS " --use-temp-file") + string(REPLACE " " "\\040" PACKAGE_NAME_DEFINITION "${PACKAGE_NAME}") + + # Use octal because "Program Files" would become \x20F. + string(REPLACE " " "\\040" LOCALEDIR_DEFINITION + "${CMAKE_INSTALL_FULL_LOCALEDIR}") +else() + # Elsewhere a space is safe. This also keeps things compatible with + # EBCDIC in case CMake-based build is ever done on such a system. + set(PACKAGE_NAME_DEFINITION "${PACKAGE_NAME}") + set(LOCALEDIR_DEFINITION "${CMAKE_INSTALL_FULL_LOCALEDIR}") +endif() + +# When used with MSVC, CMake can merge .manifest files with +# linker-generated manifests and embed the result in an executable. +# However, when paired with MinGW-w64, CMake (3.30) ignores .manifest +# files. Embedding a manifest with a resource file works with both +# toochains. It's also the way to do it with Autotools. +# +# With MSVC, we need to disable the default manifest; attempting to add +# two manifest entries would break the build. The flag /MANIFEST:NO +# goes to the linker and it also affects behavior of CMake itself: it +# looks what flags are being passed to the linker and when CMake sees +# the /MANIFEST:NO option, other manifest-related linker flags are +# no longer added (see the file Source/cmcmd.cxx in CMake). +# +# See: https://gitlab.kitware.com/cmake/cmake/-/issues/23066 +if(MSVC) + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /MANIFEST:NO") +endif() + +# Dependencies for all Windows resource files: +set(W32RES_DEPENDENCIES + "${CMAKE_CURRENT_SOURCE_DIR}/src/common/common_w32res.rc" + "${CMAKE_CURRENT_SOURCE_DIR}/src/common/w32_application.manifest" +) + +# Definitions common to all targets: +add_compile_definitions( + # Package info: + PACKAGE_NAME="${PACKAGE_NAME_DEFINITION}" + PACKAGE_BUGREPORT="${PACKAGE_BUGREPORT}" + PACKAGE_URL="${PACKAGE_URL}" + + # Standard headers and types are available: + HAVE_STDBOOL_H + HAVE__BOOL + HAVE_STDINT_H + HAVE_INTTYPES_H + + # Always enable CRC32 since liblzma should never build without it. + HAVE_CHECK_CRC32 + + # Disable assert() checks when no build type has been specified. Non-empty + # build types like "Release" and "Debug" handle this by default. + $<$:NDEBUG> +) + +# Support 32-bit x86 assembly files. +if(NOT MSVC) + # It's simplest to ask the compiler for the architecture because we + # know that on supported platforms __i386__ is defined. + # + # Checking CMAKE_SYSTEM_PROCESSOR wouldn't be so simple or as reliable + # because it could indicate x86-64 even if building for 32-bit x86 + # because one doesn't necessarily use a CMake toolchain file when + # building 32-bit executables on a 64-bit system. Also, the strings + # that identify 32-bit or 64-bit x86 aren't standardized in CMake. + if(MINGW OR CYGWIN OR CMAKE_SYSTEM_NAME MATCHES + "^FreeBSD$|^GNU$|^Linux$|^MirBSD$|^NetBSD$|^OpenBSD$") + check_symbol_exists("__i386__" "" ASM_I386_DEFAULT) + else() + set(ASM_I386_DEFAULT OFF) + endif() + + option(XZ_ASM_I386 "Enable 32-bit x86 assembly code" + "${ASM_I386_DEFAULT}") + + if(XZ_ASM_I386) + enable_language(ASM) + endif() +endif() + + +###################### +# System definitions # +###################### + +# _GNU_SOURCE and such definitions. This specific macro is special since +# it also adds the definitions to CMAKE_REQUIRED_DEFINITIONS. +tuklib_use_system_extensions() + +# Check for large file support. It's required on some 32-bit platforms and +# even on 64-bit MinGW-w64 to get 64-bit off_t. This can be forced off on +# the CMake command line if needed: -DLARGE_FILE_SUPPORT=OFF +tuklib_large_file_support(ALL) + +# This is needed by liblzma and xz. +tuklib_integer(ALL) + +# This is used for liblzma.pc generation to add -lrt and -lmd if needed. +# +# The variable name LIBS comes from Autoconf where AC_SEARCH_LIBS adds the +# libraries it finds into the shell variable LIBS. These libraries need to +# be put into liblzma.pc too, thus liblzma.pc.in has @LIBS@ because that +# matches the Autoconf's variable. When CMake support was added, using +# the same variable with configure_file() was the simplest method. +set(LIBS) + +# Check for clock_gettime(). Do this before checking for threading so +# that we know there if CLOCK_MONOTONIC is available. +check_symbol_exists(clock_gettime time.h HAVE_CLOCK_GETTIME) + +if(NOT HAVE_CLOCK_GETTIME) + # With glibc <= 2.17 or Solaris 10 this needs librt. + # Add librt for the next check for HAVE_CLOCK_GETTIME. If it is + # found after including the library, we know that librt is required. + list(PREPEND CMAKE_REQUIRED_LIBRARIES rt) + check_symbol_exists(clock_gettime time.h HAVE_CLOCK_GETTIME_LIBRT) + + # If it was found now, add librt to all targets and keep it in + # CMAKE_REQUIRED_LIBRARIES for further tests too. + if(HAVE_CLOCK_GETTIME_LIBRT) + link_libraries(rt) + set(LIBS "-lrt ${LIBS}") # For liblzma.pc + else() + list(POP_FRONT CMAKE_REQUIRED_LIBRARIES) + endif() +endif() + +if(HAVE_CLOCK_GETTIME OR HAVE_CLOCK_GETTIME_LIBRT) + add_compile_definitions(HAVE_CLOCK_GETTIME) + + # Check if CLOCK_MONOTONIC is available for clock_gettime(). + check_symbol_exists(CLOCK_MONOTONIC time.h HAVE_CLOCK_MONOTONIC) + tuklib_add_definition_if(ALL HAVE_CLOCK_MONOTONIC) +endif() + + +# The definition ENABLE_NLS is added only to those targets that use it, thus +# it's not done here. (xz has translations, xzdec doesn't.) +set(XZ_NLS_DEFAULT OFF) +find_package(Intl) +find_package(Gettext) +if(Intl_FOUND AND GETTEXT_FOUND) + set(XZ_NLS_DEFAULT ON) +endif() + +option(XZ_NLS "Native Language Support (translated messages and man pages)" + "${XZ_NLS_DEFAULT}") + +if(XZ_NLS) + if(NOT Intl_FOUND) + message(FATAL_ERROR "Native language support (NLS) was enabled but " + "find_package(Intl) failed. " + "Install libintl or set XZ_NLS=OFF.") + endif() + + if(NOT GETTEXT_FOUND) + message(FATAL_ERROR "Native language support (NLS) was enabled but " + "find_package(Gettext) failed. " + "Install gettext tools or set XZ_NLS=OFF.") + endif() + + if(WIN32) + # The command line tools use UTF-8 on native Windows. + # Non-ASCII characters display correctly only when + # using UCRT and gettext-runtime >= 0.23.1. + check_c_source_compiles( + "#define WIN32_LEAN_AND_MEAN + #include + #include + + #ifndef _UCRT + #error \"Not UCRT\" + #endif + + #if LIBINTL_VERSION < 0x001701 + #error \"gettext-runtime < 0.23.1\" + #endif + + int main(void) { return 0; } + " + USING_UCRT_AND_RECENT_GETTEXT) + if(NOT USING_UCRT_AND_RECENT_GETTEXT) + message(FATAL_ERROR "Native language support (NLS) was enabled " + "but it requires UCRT and " + "gettext-runtime >= 0.23.1. To build with " + "MSVCRT or old gettext-runtime, " + "set XZ_NLS=OFF.") + endif() + endif() + + # Warn if translated man pages are missing. + if(UNIX AND NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/po4a/man") + message(WARNING "Native language support (NLS) was enabled " + "but pre-generated translated man pages " + "were not found and thus they won't be installed. " + "Run 'po4a/update-po' to generate them.") + endif() + + # The *installed* name of the translation files is "xz.mo". + set(TRANSLATION_DOMAIN "xz") +endif() + + +# Add warning options for GCC or Clang. Keep this in sync with configure.ac. +# +# NOTE: add_compile_options() doesn't affect the feature checks; +# only the new targets being created use these flags. Thus +# the -Werror usage in checks won't be break because of these. +if(CMAKE_C_COMPILER_ID MATCHES GNU|Clang) + foreach(OPT -Wall + -Wextra + -Wvla + -Wformat=2 + -Winit-self + -Wmissing-include-dirs + -Wshift-overflow=2 + -Wstrict-overflow=3 + -Walloc-zero + -Wduplicated-cond + -Wfloat-equal + -Wundef + -Wshadow + -Wpointer-arith + -Wbad-function-cast + -Wwrite-strings + -Wdate-time + -Wsign-conversion + -Wfloat-conversion + -Wlogical-op + -Waggregate-return + -Wstrict-prototypes + -Wold-style-definition + -Wmissing-prototypes + -Wmissing-declarations + -Wredundant-decls + -Wimplicit-fallthrough + -Wimplicit-fallthrough=5 + + -Wc99-compat + -Wc11-extensions + -Wc2x-compat + -Wc2x-extensions + -Wpre-c2x-compat + -Warray-bounds-pointer-arithmetic + -Wassign-enum + -Wconditional-uninitialized + -Wdocumentation + -Wduplicate-enum + -Wempty-translation-unit + -Wextra-semi-stmt + -Wflexible-array-extensions + -Wmissing-variable-declarations + -Wnewline-eof + -Wshift-sign-overflow + -Wstring-conversion + ) + # A variable name cannot have = in it so replace = with _. + string(REPLACE = _ CACHE_VAR "HAVE_COMPILER_OPTION_${OPT}") + + check_c_compiler_flag("${OPT}" "${CACHE_VAR}") + + if("${${CACHE_VAR}}") + add_compile_options("${OPT}") + endif() + endforeach() +endif() + + +############################################################################# +# liblzma +############################################################################# + +option(BUILD_SHARED_LIBS "Build liblzma as a shared library instead of static") + +# Symbol versioning is supported with ELF shared libraries on certain OSes. +# First assume that symbol versioning isn't supported. +set(SYMBOL_VERSIONING "no") + +if(NOT WIN32) + # The XZ_SYMBOL_VERSIONING option is ignored for static libraries but + # we keep the option visible still in case the project is reconfigured + # to build a shared library. + # + # auto Autodetect between no, generic, and linux + # yes Force on by autodetecting between linux and generic + # no Disable symbol versioning + # generic FreeBSD, some Linux/glibc systems, and GNU/Hurd + # linux Linux/glibc with extra symbol versions for compatibility + # with binaries that have been linked against a liblzma version + # that has been patched with "xz-5.2.2-compat-libs.patch" from + # RHEL/CentOS 7. + set(SUPPORTED_SYMBOL_VERSIONING_VARIANTS auto yes no generic linux) + set(XZ_SYMBOL_VERSIONING "auto" CACHE STRING "Enable ELF shared library \ +symbol versioning (${SUPPORTED_SYMBOL_VERSIONING_VARIANTS})") + + # Show a dropdown menu in CMake GUI: + set_property(CACHE XZ_SYMBOL_VERSIONING + PROPERTY STRINGS "${SUPPORTED_SYMBOL_VERSIONING_VARIANTS}") + + if(NOT XZ_SYMBOL_VERSIONING IN_LIST SUPPORTED_SYMBOL_VERSIONING_VARIANTS) + message(FATAL_ERROR "'${XZ_SYMBOL_VERSIONING}' is not a supported " + "symbol versioning variant") + endif() + + if(NOT XZ_SYMBOL_VERSIONING MATCHES "^auto$|^yes$") + # Autodetection was disabled. Use the user-specified value as is. + set(SYMBOL_VERSIONING "${XZ_SYMBOL_VERSIONING}") + else() + # Autodetect the symbol versioning variant. + # + # Avoid symvers on Linux with non-glibc like musl and uClibc. + # In Autoconf it's enough to check that $host_os equals linux-gnu + # instead of, for example, linux-musl. CMake doesn't provide such + # a method. + # + # This check is here for now since it's not strictly required + # by anything else. + if(CMAKE_SYSTEM_NAME STREQUAL "Linux") + check_c_source_compiles( + "#include + #if defined(__GLIBC__) && !defined(__UCLIBC__) + int main(void) { return 0; } + #else + compile error + #endif + " + IS_LINUX_WITH_GLIBC) + else() + set(IS_LINUX_WITH_GLIBC OFF) + endif() + + if(IS_LINUX_WITH_GLIBC AND + (CMAKE_SYSTEM_PROCESSOR MATCHES "[Mm]icro[Bb]laze" OR + CMAKE_C_COMPILER_ID STREQUAL "NVHPC")) + # As a special case, GNU/Linux on MicroBlaze gets the generic + # symbol versioning because GCC 12 doesn't support the __symver__ + # attribute on MicroBlaze. On Linux, CMAKE_SYSTEM_PROCESSOR comes + # from "uname -m" for native builds (should be "microblaze") or + # from the CMake toolchain file (not perfectly standardized but + # it very likely has "microblaze" in lower case or mixed case + # somewhere in the string). + # + # NVIDIA HPC Compiler doesn't support symbol versioning but + # it uses the linker from the system so the linker script + # can still be used to get the generic symbol versioning. + set(SYMBOL_VERSIONING "generic") + + elseif(IS_LINUX_WITH_GLIBC) + # GNU/Linux-specific symbol versioning for shared liblzma. This + # includes a few extra compatibility symbols for RHEL/CentOS 7 + # which are pointless on non-glibc non-Linux systems. + set(SYMBOL_VERSIONING "linux") + + elseif(CMAKE_SYSTEM_NAME MATCHES "^FreeBSD$|^GNU$" OR + XZ_SYMBOL_VERSIONING STREQUAL "yes") + set(SYMBOL_VERSIONING "generic") + endif() + endif() + + if(NOT SYMBOL_VERSIONING STREQUAL "no") + # If features are disabled in liblzma, some symbols may be missing. + # LLVM's lld defaults to --no-undefined-version and the build breaks + # if not all symbols in the version script exist. That is good for + # catching errors like typos, but in our case the downside is too big. + # Avoid the problem by using --undefined-version if the linker + # supports it. + # + # GNU ld has had --no-undefined-version for a long time but it's not + # the default. The opposite option --undefined-version was only added + # in 2022, thus we must use --undefined-version conditionally. + check_linker_flag(C "-Wl,--undefined-version" + HAVE_LINKER_FLAG_UNDEFINED_VERSION) + endif() +endif() + +set(LIBLZMA_API_HEADERS + src/liblzma/api/lzma.h + src/liblzma/api/lzma/base.h + src/liblzma/api/lzma/bcj.h + src/liblzma/api/lzma/block.h + src/liblzma/api/lzma/check.h + src/liblzma/api/lzma/container.h + src/liblzma/api/lzma/delta.h + src/liblzma/api/lzma/filter.h + src/liblzma/api/lzma/hardware.h + src/liblzma/api/lzma/index.h + src/liblzma/api/lzma/index_hash.h + src/liblzma/api/lzma/lzma12.h + src/liblzma/api/lzma/stream_flags.h + src/liblzma/api/lzma/version.h + src/liblzma/api/lzma/vli.h +) + +add_library(liblzma + src/common/mythread.h + src/common/sysdefs.h + src/common/tuklib_common.h + src/common/tuklib_config.h + src/common/tuklib_integer.h + src/common/tuklib_physmem.c + src/common/tuklib_physmem.h + ${LIBLZMA_API_HEADERS} + src/liblzma/check/check.c + src/liblzma/check/check.h + src/liblzma/check/crc_common.h + src/liblzma/check/crc_x86_clmul.h + src/liblzma/check/crc32_arm64.h + src/liblzma/check/crc32_loongarch.h + src/liblzma/common/block_util.c + src/liblzma/common/common.c + src/liblzma/common/common.h + src/liblzma/common/easy_preset.c + src/liblzma/common/easy_preset.h + src/liblzma/common/filter_common.c + src/liblzma/common/filter_common.h + src/liblzma/common/hardware_physmem.c + src/liblzma/common/index.c + src/liblzma/common/index.h + src/liblzma/common/memcmplen.h + src/liblzma/common/stream_flags_common.c + src/liblzma/common/stream_flags_common.h + src/liblzma/common/string_conversion.c + src/liblzma/common/vli_size.c +) + +target_include_directories(liblzma PRIVATE + src/liblzma/api + src/liblzma/common + src/liblzma/check + src/liblzma/lz + src/liblzma/rangecoder + src/liblzma/lzma + src/liblzma/delta + src/liblzma/simple + src/common +) + + +############# +# Threading # +############# + +# Supported threading methods: +# yes - Autodetect the best threading method. The autodetection will +# prefer Windows threading (win95 or vista) over posix if both are +# available. vista threads will be used over win95 unless it is a +# 32-bit build. Configuration fails if no threading support is found; +# threading won't be silently disabled. +# no - Disable threading. +# posix - Use posix threading (pthreads), or throw an error if not available. +# win95 - Use Windows win95 threading, or throw an error if not available. +# vista - Use Windows vista threading, or throw an error if not available. +set(SUPPORTED_THREADING_METHODS yes no posix win95 vista) + +set(XZ_THREADS yes CACHE STRING "Threading method: \ +'yes' to autodetect, 'no' to disable, 'posix' (pthreads), \ +'win95' (WinXP compatible), 'vista' (needs Windows Vista or later)") + +# Create dropdown in CMake GUI since only 1 threading method is possible +# to select in a build. +set_property(CACHE XZ_THREADS + PROPERTY STRINGS "${SUPPORTED_THREADING_METHODS}") + +# This is a flag variable set when win95 threads are used. We must ensure +# that the combination of XZ_SMALL and win95 threads is only used with a +# compiler that supports the __constructor__ attribute. +set(USE_WIN95_THREADS OFF) + +# This is a flag variable set when posix threading (pthreads) is used. +# It's needed when creating liblzma-config.cmake where dependency on +# Threads::Threads is only needed with pthreads. +set(USE_POSIX_THREADS OFF) + +if(NOT XZ_THREADS IN_LIST SUPPORTED_THREADING_METHODS) + message(FATAL_ERROR "'${XZ_THREADS}' is not a supported threading method") +endif() + +if(XZ_THREADS) + # Also set THREADS_PREFER_PTHREAD_FLAG since the flag has no effect + # for Windows threading. + set(THREADS_PREFER_PTHREAD_FLAG TRUE) + find_package(Threads REQUIRED) + + # If both Windows and posix threading are available, prefer Windows. + # Note that on Cygwin, CMAKE_USE_WIN32_THREADS_INIT is false. + if(CMAKE_USE_WIN32_THREADS_INIT AND NOT XZ_THREADS STREQUAL "posix") + if(XZ_THREADS STREQUAL "win95" + OR (XZ_THREADS STREQUAL "yes" AND CMAKE_SIZEOF_VOID_P EQUAL 4)) + # Use Windows 95 (and thus XP) compatible threads. + # This avoids use of features that were added in + # Windows Vista. This is used for 32-bit x86 builds for + # compatibility reasons since it makes no measurable difference + # in performance compared to Vista threads. + set(USE_WIN95_THREADS ON) + add_compile_definitions(MYTHREAD_WIN95) + else() + add_compile_definitions(MYTHREAD_VISTA) + endif() + elseif(CMAKE_USE_PTHREADS_INIT) + if(XZ_THREADS MATCHES "^posix$|^yes$") + # The threading library only needs to be explicitly linked + # for posix threads, so this is needed for creating + # liblzma-config.cmake later. + set(USE_POSIX_THREADS ON) + + target_link_libraries(liblzma PRIVATE Threads::Threads) + add_compile_definitions(MYTHREAD_POSIX) + + # Make the thread libs available in later checks. In practice + # only pthread_condattr_setclock check should need this. + list(PREPEND CMAKE_REQUIRED_LIBRARIES "${CMAKE_THREAD_LIBS_INIT}") + + # Check if pthread_condattr_setclock() exists to + # use CLOCK_MONOTONIC. + if(HAVE_CLOCK_MONOTONIC) + check_symbol_exists(pthread_condattr_setclock pthread.h + HAVE_PTHREAD_CONDATTR_SETCLOCK) + tuklib_add_definition_if(ALL HAVE_PTHREAD_CONDATTR_SETCLOCK) + endif() + else() + message(SEND_ERROR + "Windows threading method was requested but a compatible " + "library could not be found") + endif() + else() + message(SEND_ERROR "No supported threading library found") + endif() + + target_sources(liblzma PRIVATE + src/common/tuklib_cpucores.c + src/common/tuklib_cpucores.h + src/liblzma/common/hardware_cputhreads.c + src/liblzma/common/outqueue.c + src/liblzma/common/outqueue.h + ) +endif() + + +###################### +# Size optimizations # +###################### + +option(XZ_SMALL "Reduce code size at expense of speed. \ +This may be useful together with CMAKE_BUILD_TYPE=MinSizeRel.") + +if(XZ_SMALL) + add_compile_definitions(HAVE_SMALL) +endif() + + +########## +# Checks # +########## + +set(SUPPORTED_CHECKS crc32 crc64 sha256) + +set(XZ_CHECKS "${SUPPORTED_CHECKS}" CACHE STRING + "Check types to support (crc32 is always built)") + +foreach(CHECK IN LISTS XZ_CHECKS) + if(NOT CHECK IN_LIST SUPPORTED_CHECKS) + message(FATAL_ERROR "'${CHECK}' is not a supported check type") + endif() +endforeach() + +if(XZ_SMALL) + target_sources(liblzma PRIVATE src/liblzma/check/crc32_small.c) +else() + target_sources(liblzma PRIVATE + src/liblzma/check/crc32_fast.c + src/liblzma/check/crc32_table_be.h + src/liblzma/check/crc32_table_le.h + ) + + if(XZ_ASM_I386) + target_sources(liblzma PRIVATE src/liblzma/check/crc32_x86.S) + target_compile_definitions(liblzma PRIVATE HAVE_CRC_X86_ASM) + endif() +endif() + +if("crc64" IN_LIST XZ_CHECKS) + add_compile_definitions("HAVE_CHECK_CRC64") + + if(XZ_SMALL) + target_sources(liblzma PRIVATE src/liblzma/check/crc64_small.c) + else() + target_sources(liblzma PRIVATE + src/liblzma/check/crc64_fast.c + src/liblzma/check/crc64_table_be.h + src/liblzma/check/crc64_table_le.h + ) + + if(XZ_ASM_I386) + target_sources(liblzma PRIVATE src/liblzma/check/crc64_x86.S) + # Adding #define HAVE_CRC_X86_ASM was already handled in + # the CRC32 case a few lines above. CRC32 is always built. + endif() + endif() +endif() + +# External SHA-256 +# +# At least the following implementations are supported: +# +# OS Headers Library Type Function +# FreeBSD sys/types.h + sha256.h libmd SHA256_CTX SHA256_Init +# NetBSD sys/types.h + sha2.h SHA256_CTX SHA256_Init +# OpenBSD sys/types.h + sha2.h SHA2_CTX SHA256Init +# Solaris sys/types.h + sha2.h libmd SHA256_CTX SHA256Init +# MINIX 3 sys/types.h + sha2.h SHA256_CTX SHA256_Init +# Darwin CommonCrypto/CommonDigest.h CC_SHA256_CTX CC_SHA256_Init +# +# Note that Darwin's CC_SHA256_Update takes buffer size as uint32_t instead +# of size_t. +# +# This is disabled by default because it used to conflict with OpenSSL +# on some platforms and in some cases the builtin code in liblzma was faster. +# See INSTALL and the commit message ac398c3bafa6e4c80e20571373a96947db863b3d. +option(XZ_EXTERNAL_SHA256 "Use SHA-256 code from the operating system \ +if possible. See INSTALL for possible subtle problems." OFF) + +if("sha256" IN_LIST XZ_CHECKS) + add_compile_definitions("HAVE_CHECK_SHA256") + + # Assume that external code won't be used. We need this to know + # if the internal sha256.c should be built. + set(USE_INTERNAL_SHA256 ON) + + if(XZ_EXTERNAL_SHA256) + # Find the header. + set(SHA256_HEADER OFF) + + foreach(X CommonCrypto/CommonDigest.h sha256.h sha2.h) + string(TOUPPER "HAVE_${X}" HAVE_X) + string(REGEX REPLACE "[/.]" "_" HAVE_X "${HAVE_X}") + check_include_file("${X}" "${HAVE_X}") + if(${HAVE_X}) + target_compile_definitions(liblzma PRIVATE "${HAVE_X}") + set(SHA256_HEADER "${X}") + break() + endif() + endforeach() + + if(SHA256_HEADER) + # Find the type to hold the SHA-256 state. + set(SHA256_TYPE OFF) + + foreach(X CC_SHA256_CTX SHA256_CTX SHA2_CTX) + string(TOUPPER "HAVE_${X}" HAVE_X) + + # configure.ac uses conditionally but it's + # required on all cases except Darwin where it exists too. + # So just use it unconditionally here. + set(SOURCE + "#include + #include <${SHA256_HEADER}> + int main(void) + { + ${X} ctx; + return 0; + }") + check_c_source_compiles("${SOURCE}" "${HAVE_X}") + if(${HAVE_X}) + target_compile_definitions(liblzma PRIVATE "${HAVE_X}") + set(SHA256_TYPE "${X}") + break() + endif() + endforeach() + + if(SHA256_TYPE) + # Find the initialization function. It might required libmd. + foreach(X CC_SHA256_Init SHA256Init SHA256_Init) + string(TOUPPER "HAVE_${X}" HAVE_X) + + # On FreeBSD, defines the SHA-256 functions as + # macros to rename them for namespace reasons. Avoid + # check_symbol_exists as that would accept macros without + # checking if the program links. + set(SOURCE + "#include + #include <${SHA256_HEADER}> + int main(void) + { + ${SHA256_TYPE} ctx; + ${X}(&ctx); + return 0; + }") + + check_c_source_compiles("${SOURCE}" "${HAVE_X}") + if(${HAVE_X}) + target_compile_definitions(liblzma PRIVATE "${HAVE_X}") + set(USE_INTERNAL_SHA256 OFF) + break() + else() + # Try with libmd. Other checks don't need it so we + # don't need to leave it into CMAKE_REQUIRED_LIBRARIES. + list(PREPEND CMAKE_REQUIRED_LIBRARIES md) + check_c_source_compiles("${SOURCE}" "${HAVE_X}_LIBMD") + list(POP_FRONT CMAKE_REQUIRED_LIBRARIES) + if(${HAVE_X}_LIBMD) + # NOTE: Just "${HAVE_X}", not "${HAVE_X}_LIBMD": + target_compile_definitions(liblzma PRIVATE + "${HAVE_X}") + target_link_libraries(liblzma PRIVATE md) + set(LIBS "-lmd ${LIBS}") # For liblzma.pc + set(USE_INTERNAL_SHA256 OFF) + break() + endif() + endif() + endforeach() + endif() + endif() + endif() + + if(USE_INTERNAL_SHA256) + target_sources(liblzma PRIVATE src/liblzma/check/sha256.c) + endif() +endif() + + +################# +# Match finders # +################# + +set(SUPPORTED_MATCH_FINDERS hc3 hc4 bt2 bt3 bt4) + +set(XZ_MATCH_FINDERS "${SUPPORTED_MATCH_FINDERS}" CACHE STRING + "Match finders to support (at least one is required for LZMA1 or LZMA2)") + +foreach(MF IN LISTS XZ_MATCH_FINDERS) + if(MF IN_LIST SUPPORTED_MATCH_FINDERS) + string(TOUPPER "${MF}" MF_UPPER) + add_compile_definitions("HAVE_MF_${MF_UPPER}") + else() + message(FATAL_ERROR "'${MF}' is not a supported match finder") + endif() +endforeach() + + +############ +# Encoders # +############ + +set(SIMPLE_FILTERS + x86 + arm + armthumb + arm64 + powerpc + ia64 + sparc + riscv +) + +# The SUPPORTED_FILTERS are shared between Encoders and Decoders +# since only lzip does not appear in both lists. lzip is a special +# case anyway, so it is handled separately in the Decoders section. +set(SUPPORTED_FILTERS + lzma1 + lzma2 + delta + "${SIMPLE_FILTERS}" +) + +set(XZ_ENCODERS "${SUPPORTED_FILTERS}" CACHE STRING "Encoders to support") + +# If LZMA2 is enabled, then LZMA1 must also be enabled. +if(NOT "lzma1" IN_LIST XZ_ENCODERS AND "lzma2" IN_LIST XZ_ENCODERS) + message(FATAL_ERROR "LZMA2 encoder requires that LZMA1 is also enabled") +endif() + +# If LZMA1 is enabled, then at least one match finder must be enabled. +if(XZ_MATCH_FINDERS STREQUAL "" AND "lzma1" IN_LIST XZ_ENCODERS) + message(FATAL_ERROR "At least 1 match finder is required for an " + "LZ-based encoder") +endif() + +set(HAVE_DELTA_CODER OFF) +set(SIMPLE_ENCODERS OFF) +set(HAVE_ENCODERS OFF) + +foreach(ENCODER IN LISTS XZ_ENCODERS) + if(ENCODER IN_LIST SUPPORTED_FILTERS) + set(HAVE_ENCODERS ON) + + if(NOT SIMPLE_ENCODERS AND ENCODER IN_LIST SIMPLE_FILTERS) + set(SIMPLE_ENCODERS ON) + endif() + + string(TOUPPER "${ENCODER}" ENCODER_UPPER) + add_compile_definitions("HAVE_ENCODER_${ENCODER_UPPER}") + else() + message(FATAL_ERROR "'${ENCODER}' is not a supported encoder") + endif() +endforeach() + +if(HAVE_ENCODERS) + add_compile_definitions(HAVE_ENCODERS) + + target_sources(liblzma PRIVATE + src/liblzma/common/alone_encoder.c + src/liblzma/common/block_buffer_encoder.c + src/liblzma/common/block_buffer_encoder.h + src/liblzma/common/block_encoder.c + src/liblzma/common/block_encoder.h + src/liblzma/common/block_header_encoder.c + src/liblzma/common/easy_buffer_encoder.c + src/liblzma/common/easy_encoder.c + src/liblzma/common/easy_encoder_memusage.c + src/liblzma/common/filter_buffer_encoder.c + src/liblzma/common/filter_encoder.c + src/liblzma/common/filter_encoder.h + src/liblzma/common/filter_flags_encoder.c + src/liblzma/common/index_encoder.c + src/liblzma/common/index_encoder.h + src/liblzma/common/stream_buffer_encoder.c + src/liblzma/common/stream_encoder.c + src/liblzma/common/stream_flags_encoder.c + src/liblzma/common/vli_encoder.c + ) + + if(XZ_THREADS) + target_sources(liblzma PRIVATE + src/liblzma/common/stream_encoder_mt.c + ) + endif() + + if(SIMPLE_ENCODERS) + target_sources(liblzma PRIVATE + src/liblzma/simple/simple_encoder.c + src/liblzma/simple/simple_encoder.h + ) + endif() + + if("lzma1" IN_LIST XZ_ENCODERS) + target_sources(liblzma PRIVATE + src/liblzma/lzma/lzma_encoder.c + src/liblzma/lzma/lzma_encoder.h + src/liblzma/lzma/lzma_encoder_optimum_fast.c + src/liblzma/lzma/lzma_encoder_optimum_normal.c + src/liblzma/lzma/lzma_encoder_private.h + src/liblzma/lzma/fastpos.h + src/liblzma/lz/lz_encoder.c + src/liblzma/lz/lz_encoder.h + src/liblzma/lz/lz_encoder_hash.h + src/liblzma/lz/lz_encoder_hash_table.h + src/liblzma/lz/lz_encoder_mf.c + src/liblzma/rangecoder/price.h + src/liblzma/rangecoder/price_table.c + src/liblzma/rangecoder/range_encoder.h + ) + + if(NOT XZ_SMALL) + target_sources(liblzma PRIVATE src/liblzma/lzma/fastpos_table.c) + endif() + endif() + + if("lzma2" IN_LIST XZ_ENCODERS) + target_sources(liblzma PRIVATE + src/liblzma/lzma/lzma2_encoder.c + src/liblzma/lzma/lzma2_encoder.h + ) + endif() + + if("delta" IN_LIST XZ_ENCODERS) + set(HAVE_DELTA_CODER ON) + target_sources(liblzma PRIVATE + src/liblzma/delta/delta_encoder.c + src/liblzma/delta/delta_encoder.h + ) + endif() +endif() + + +############ +# Decoders # +############ + +set(XZ_DECODERS "${SUPPORTED_FILTERS}" CACHE STRING "Decoders to support") + +set(SIMPLE_DECODERS OFF) +set(HAVE_DECODERS OFF) + +foreach(DECODER IN LISTS XZ_DECODERS) + if(DECODER IN_LIST SUPPORTED_FILTERS) + set(HAVE_DECODERS ON) + + if(NOT SIMPLE_DECODERS AND DECODER IN_LIST SIMPLE_FILTERS) + set(SIMPLE_DECODERS ON) + endif() + + string(TOUPPER "${DECODER}" DECODER_UPPER) + add_compile_definitions("HAVE_DECODER_${DECODER_UPPER}") + else() + message(FATAL_ERROR "'${DECODER}' is not a supported decoder") + endif() +endforeach() + +if(HAVE_DECODERS) + add_compile_definitions(HAVE_DECODERS) + + target_sources(liblzma PRIVATE + src/liblzma/common/alone_decoder.c + src/liblzma/common/alone_decoder.h + src/liblzma/common/auto_decoder.c + src/liblzma/common/block_buffer_decoder.c + src/liblzma/common/block_decoder.c + src/liblzma/common/block_decoder.h + src/liblzma/common/block_header_decoder.c + src/liblzma/common/easy_decoder_memusage.c + src/liblzma/common/file_info.c + src/liblzma/common/filter_buffer_decoder.c + src/liblzma/common/filter_decoder.c + src/liblzma/common/filter_decoder.h + src/liblzma/common/filter_flags_decoder.c + src/liblzma/common/index_decoder.c + src/liblzma/common/index_decoder.h + src/liblzma/common/index_hash.c + src/liblzma/common/stream_buffer_decoder.c + src/liblzma/common/stream_decoder.c + src/liblzma/common/stream_flags_decoder.c + src/liblzma/common/stream_decoder.h + src/liblzma/common/vli_decoder.c + ) + + if(XZ_THREADS) + target_sources(liblzma PRIVATE + src/liblzma/common/stream_decoder_mt.c + ) + endif() + + if(SIMPLE_DECODERS) + target_sources(liblzma PRIVATE + src/liblzma/simple/simple_decoder.c + src/liblzma/simple/simple_decoder.h + ) + endif() + + if("lzma1" IN_LIST XZ_DECODERS) + target_sources(liblzma PRIVATE + src/liblzma/lzma/lzma_decoder.c + src/liblzma/lzma/lzma_decoder.h + src/liblzma/rangecoder/range_decoder.h + src/liblzma/lz/lz_decoder.c + src/liblzma/lz/lz_decoder.h + ) + endif() + + if("lzma2" IN_LIST XZ_DECODERS) + target_sources(liblzma PRIVATE + src/liblzma/lzma/lzma2_decoder.c + src/liblzma/lzma/lzma2_decoder.h + ) + endif() + + if("delta" IN_LIST XZ_DECODERS) + set(HAVE_DELTA_CODER ON) + target_sources(liblzma PRIVATE + src/liblzma/delta/delta_decoder.c + src/liblzma/delta/delta_decoder.h + ) + endif() +endif() + +# Some sources must appear if the filter is configured as either +# an encoder or decoder. +if("lzma1" IN_LIST XZ_ENCODERS OR "lzma1" IN_LIST XZ_DECODERS) + target_sources(liblzma PRIVATE + src/liblzma/rangecoder/range_common.h + src/liblzma/lzma/lzma_encoder_presets.c + src/liblzma/lzma/lzma_common.h + ) +endif() + +if(HAVE_DELTA_CODER) + target_sources(liblzma PRIVATE + src/liblzma/delta/delta_common.c + src/liblzma/delta/delta_common.h + src/liblzma/delta/delta_private.h + ) +endif() + +if(SIMPLE_ENCODERS OR SIMPLE_DECODERS) + target_sources(liblzma PRIVATE + src/liblzma/simple/simple_coder.c + src/liblzma/simple/simple_coder.h + src/liblzma/simple/simple_private.h + ) +endif() + +foreach(SIMPLE_CODER IN LISTS SIMPLE_FILTERS) + if(SIMPLE_CODER IN_LIST XZ_ENCODERS OR SIMPLE_CODER IN_LIST XZ_DECODERS) + target_sources(liblzma PRIVATE "src/liblzma/simple/${SIMPLE_CODER}.c") + endif() +endforeach() + + +############# +# MicroLZMA # +############# + +option(XZ_MICROLZMA_ENCODER + "MicroLZMA encoder (needed by specific applications only)" ON) + +option(XZ_MICROLZMA_DECODER + "MicroLZMA decoder (needed by specific applications only)" ON) + +if(XZ_MICROLZMA_ENCODER) + if(NOT "lzma1" IN_LIST XZ_ENCODERS) + message(FATAL_ERROR "The LZMA1 encoder is required to support the " + "MicroLZMA encoder") + endif() + + target_sources(liblzma PRIVATE src/liblzma/common/microlzma_encoder.c) +endif() + +if(XZ_MICROLZMA_DECODER) + if(NOT "lzma1" IN_LIST XZ_DECODERS) + message(FATAL_ERROR "The LZMA1 decoder is required to support the " + "MicroLZMA decoder") + endif() + + target_sources(liblzma PRIVATE src/liblzma/common/microlzma_decoder.c) +endif() + + +############################# +# lzip (.lz) format support # +############################# + +option(XZ_LZIP_DECODER "Support lzip decoder" ON) + +if(XZ_LZIP_DECODER) + # If lzip decoder support is requested, make sure LZMA1 decoder is enabled. + if(NOT "lzma1" IN_LIST XZ_DECODERS) + message(FATAL_ERROR "The LZMA1 decoder is required to support the " + "lzip decoder") + endif() + + add_compile_definitions(HAVE_LZIP_DECODER) + + target_sources(liblzma PRIVATE + src/liblzma/common/lzip_decoder.c + src/liblzma/common/lzip_decoder.h + ) +endif() + +### + +# Put the tuklib functions under the lzma_ namespace. +target_compile_definitions(liblzma PRIVATE TUKLIB_SYMBOL_PREFIX=lzma_) +tuklib_cpucores(liblzma) +tuklib_physmem(liblzma) + +# While liblzma can be built without tuklib_cpucores or tuklib_physmem +# modules, the liblzma API functions lzma_cputhreads() and lzma_physmem() +# will then be useless (which isn't too bad but still unfortunate). Since +# I expect the CMake-based builds to be only used on systems that are +# supported by these tuklib modules, problems with these tuklib modules +# are considered a hard error for now. This hopefully helps to catch bugs +# in the CMake versions of the tuklib checks. +if(NOT TUKLIB_CPUCORES_FOUND OR NOT TUKLIB_PHYSMEM_FOUND) + # Use SEND_ERROR instead of FATAL_ERROR. If someone reports a bug, + # seeing the results of the remaining checks can be useful too. + message(SEND_ERROR + "tuklib_cpucores() or tuklib_physmem() failed. " + "Unless you really are building for a system where these " + "modules are not supported (unlikely), this is a bug in the " + "included cmake/tuklib_*.cmake files that should be fixed. " + "To build anyway, edit this CMakeLists.txt to ignore this error.") +endif() + +# Check for __attribute__((__constructor__)) support. +# This needs -Werror because some compilers just warn +# about this being unsupported. +cmake_push_check_state() +set(CMAKE_REQUIRED_FLAGS "-Werror") +check_c_source_compiles(" + __attribute__((__constructor__)) + static void my_constructor_func(void) { return; } + int main(void) { return 0; } + " + HAVE_FUNC_ATTRIBUTE_CONSTRUCTOR) +cmake_pop_check_state() +tuklib_add_definition_if(liblzma HAVE_FUNC_ATTRIBUTE_CONSTRUCTOR) + +# The Win95 threading lacks a thread-safe one-time initialization function. +# The one-time initialization is needed for crc32_small.c and crc64_small.c +# create the CRC tables. So if small mode is enabled, the threading mode is +# win95, and the compiler does not support attribute constructor, then we +# would end up with a multithreaded build that is thread-unsafe. As a +# result this configuration is not allowed. +if(USE_WIN95_THREADS AND XZ_SMALL AND NOT HAVE_FUNC_ATTRIBUTE_CONSTRUCTOR) + message(SEND_ERROR "Threading method win95 and XZ_SMALL " + "cannot be used at the same time because the compiler " + "doesn't support __attribute__((__constructor__))") +endif() + + +# cpuid.h +check_include_file(cpuid.h HAVE_CPUID_H) +tuklib_add_definition_if(liblzma HAVE_CPUID_H) + +# immintrin.h: +check_include_file(immintrin.h HAVE_IMMINTRIN_H) +if(HAVE_IMMINTRIN_H) + target_compile_definitions(liblzma PRIVATE HAVE_IMMINTRIN_H) + + # SSE2 intrinsics: + check_c_source_compiles(" + #include + int main(void) + { + __m128i x = { 0 }; + _mm_movemask_epi8(x); + return 0; + } + " + HAVE__MM_MOVEMASK_EPI8) + tuklib_add_definition_if(liblzma HAVE__MM_MOVEMASK_EPI8) + + # CLMUL intrinsic: + option(XZ_CLMUL_CRC "Use carryless multiplication for CRC \ +calculation (with runtime detection) if supported by the compiler" ON) + + if(XZ_CLMUL_CRC) + check_c_source_compiles(" + #include + #if defined(__e2k__) && __iset__ < 6 + # error + #endif + #if (defined(__GNUC__) || defined(__clang__)) \ + && !defined(__EDG__) + __attribute__((__target__(\"ssse3,sse4.1,pclmul\"))) + #endif + int main(void) + { + __m128i a = _mm_set_epi64x(1, 2); + a = _mm_clmulepi64_si128(a, a, 0); + return 0; + } + " + HAVE_USABLE_CLMUL) + tuklib_add_definition_if(liblzma HAVE_USABLE_CLMUL) + endif() +endif() + +# ARM64 C Language Extensions define CRC32 functions in arm_acle.h. +# These are supported by at least GCC and Clang which both need +# __attribute__((__target__("+crc"))), unless the needed compiler flags +# are used to support the CRC instruction. +option(XZ_ARM64_CRC32 "Use ARM64 CRC32 instructions (with runtime detection) \ +if supported by the compiler" ON) + +if(XZ_ARM64_CRC32) + check_c_source_compiles(" + #include + + #ifndef _MSC_VER + #include + #endif + + #if (defined(__GNUC__) || defined(__clang__)) && !defined(__EDG__) + __attribute__((__target__(\"+crc\"))) + #endif + int main(void) + { + return __crc32d(1, 2) != 0; + } + " + HAVE_ARM64_CRC32) + + if(HAVE_ARM64_CRC32) + target_compile_definitions(liblzma PRIVATE HAVE_ARM64_CRC32) + + # Check for ARM64 CRC32 instruction runtime detection. + # getauxval() is supported on Linux. + check_symbol_exists(getauxval sys/auxv.h HAVE_GETAUXVAL) + tuklib_add_definition_if(liblzma HAVE_GETAUXVAL) + + # With getauxval() we also need HWCAP_CRC32 which was + # added in glibc 2.24. + if(HAVE_GETAUXVAL) + check_symbol_exists(HWCAP_CRC32 sys/auxv.h HAVE_HWCAP_CRC32) + tuklib_add_definition_if(liblzma HAVE_HWCAP_CRC32) + endif() + + # elf_aux_info() is supported on FreeBSD and OpenBSD >= 7.6. + check_symbol_exists(elf_aux_info sys/auxv.h HAVE_ELF_AUX_INFO) + tuklib_add_definition_if(liblzma HAVE_ELF_AUX_INFO) + + # sysctlbyname("hw.optional.armv8_crc32", ...) is supported on Darwin + # (macOS, iOS, etc.). Note that sysctlbyname() is supported on FreeBSD, + # NetBSD, and possibly others too but the string is specific to + # Apple OSes. The C code is responsible for checking + # defined(__APPLE__) before using + # sysctlbyname("hw.optional.armv8_crc32", ...). + check_symbol_exists(sysctlbyname sys/sysctl.h HAVE_SYSCTLBYNAME) + tuklib_add_definition_if(liblzma HAVE_SYSCTLBYNAME) + endif() +endif() + +option(XZ_LOONGARCH_CRC32 + "Use LoongArch CRC32 instructions if supported by the compiler" ON) + +if(XZ_LOONGARCH_CRC32) + # LoongArch CRC32 intrinsics are in larchintrin.h. + # These are supported by at least GCC and Clang. + # + # Only 64-bit LoongArch is currently supported. + # It doesn't need runtime detection. + check_c_source_compiles(" + #if !(defined(__loongarch__) && __loongarch_grlen >= 64) + # error + #endif + + #include + int main(void) + { + return __crc_w_w_w(1, 2); + } + " + HAVE_LOONGARCH_CRC32) + tuklib_add_definition_if(liblzma HAVE_LOONGARCH_CRC32) +endif() + + +# Symbol visibility support: +# +# The C_VISIBILITY_PRESET property takes care of adding the compiler +# option -fvisibility=hidden (or equivalent) if and only if it is supported. +# +# HAVE_VISIBILITY should always be defined to 0 or 1. It tells liblzma +# if __attribute__((__visibility__("default"))) +# and __attribute__((__visibility__("hidden"))) are supported. +# Those are useful only when the compiler supports -fvisibility=hidden +# or such option so HAVE_VISIBILITY should be 1 only when both option and +# the attribute support are present. HAVE_VISIBILITY is ignored on Windows +# and Cygwin by the liblzma C code; __declspec(dllexport) is used instead. +# +# CMake's GenerateExportHeader module is too fancy since liblzma already +# has the necessary macros. Instead, check CMake's internal variable +# CMAKE_C_COMPILE_OPTIONS_VISIBILITY (it's the C-specific variant of +# CMAKE__COMPILE_OPTIONS_VISIBILITY) which contains the compiler +# command line option for visibility support. It's empty or unset when +# visibility isn't supported. (It was added to CMake 2.8.12 in the commit +# 0e9f4bc00c6b26f254e74063e4026ac33b786513 in 2013.) This way we don't +# set HAVE_VISIBILITY to 1 when visibility isn't actually supported. +if(BUILD_SHARED_LIBS AND CMAKE_C_COMPILE_OPTIONS_VISIBILITY) + set_target_properties(liblzma PROPERTIES C_VISIBILITY_PRESET hidden) + target_compile_definitions(liblzma PRIVATE HAVE_VISIBILITY=1) +else() + target_compile_definitions(liblzma PRIVATE HAVE_VISIBILITY=0) +endif() + +if(WIN32 OR CYGWIN) + if(BUILD_SHARED_LIBS) + # Add the Windows resource file for liblzma.dll. + target_sources(liblzma PRIVATE src/liblzma/liblzma_w32res.rc) + + set_source_files_properties(src/liblzma/liblzma_w32res.rc PROPERTIES + OBJECT_DEPENDS "${W32RES_DEPENDENCIES}" + ) + + # Export the public API symbols with __declspec(dllexport). + target_compile_definitions(liblzma PRIVATE DLL_EXPORT) + + if(NOT MSVC AND NOT CYGWIN) + # Create a DEF file. The Autotools-based build creates a DEF file + # under Cygwin & MSYS2 too but it almost certainly is a useless + # file in that context, so the CMake build omits it. + # + # The linker puts the ordinal numbers in the DEF file + # too so the output from the linker isn't our final file. + target_link_options(liblzma PRIVATE + "-Wl,--output-def,liblzma.def.in") + + # Remove the ordinal numbers from the DEF file so that + # no one will create an import library that links by ordinal + # instead of by name. We don't maintain a DEF file so the + # ordinal numbers aren't stable. + add_custom_command(TARGET liblzma POST_BUILD + COMMAND "${CMAKE_COMMAND}" + -DINPUT_FILE=liblzma.def.in + -DOUTPUT_FILE=liblzma.def + -P + "${CMAKE_CURRENT_SOURCE_DIR}/cmake/remove-ordinals.cmake" + BYPRODUCTS "liblzma.def" + VERBATIM) + endif() + else() + # Disable __declspec(dllimport) when linking against static liblzma. + target_compile_definitions(liblzma INTERFACE LZMA_API_STATIC) + endif() +elseif(BUILD_SHARED_LIBS AND SYMBOL_VERSIONING STREQUAL "linux") + # Note that adding link options doesn't affect static builds + # but HAVE_SYMBOL_VERSIONS_LINUX must not be used with static builds + # because it would put symbol versions into the static library which + # can cause problems. It's clearer if all symver related things are + # omitted when not building a shared library. + # + # NOTE: Set it explicitly to 1 to make it clear that versioning is + # done unconditionally in the C files. + target_compile_definitions(liblzma PRIVATE HAVE_SYMBOL_VERSIONS_LINUX=1) + if(HAVE_LINKER_FLAG_UNDEFINED_VERSION) + target_link_options(liblzma PRIVATE "-Wl,--undefined-version") + endif() + target_link_options(liblzma PRIVATE + "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/src/liblzma/liblzma_linux.map" + ) + set_target_properties(liblzma PROPERTIES + LINK_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/src/liblzma/liblzma_linux.map" + ) +elseif(BUILD_SHARED_LIBS AND SYMBOL_VERSIONING STREQUAL "generic") + if(HAVE_LINKER_FLAG_UNDEFINED_VERSION) + target_link_options(liblzma PRIVATE "-Wl,--undefined-version") + endif() + target_link_options(liblzma PRIVATE + "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/src/liblzma/liblzma_generic.map" + ) + set_target_properties(liblzma PROPERTIES + LINK_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/src/liblzma/liblzma_generic.map" + ) +endif() + +# Calculate Libtool-compatible Mach-O versions for Apple OSes. +# Switching from CMake's or Meson's default Mach-O versioning style to +# GNU Libtool style is always a backward compatible change because the +# Libtool style always results in higher Mach-O version values. +# +# The other way would be a breaking change, and switching from Autotools +# to CMake used to result in "Incompatible library version" error from the +# dynamic linker ("dyld") when trying to run existing executables. This +# happened because the Mach-O current_version in the CMake-built library +# was less than the compatibility_version stored in the executable. +# +# Example: If on GNU/Linux one had libfoo.so.5.6.7, on macOS one would +# have libfoo.5.dylib containing the following Mach-O versions: +# +# compatibility_version current_version +# Libtool 12.0.0 12.7.0 +# CMake 5.0.0 5.6.7 +# Meson 5.0.0 5.0.0 +# +# Apple's docs say that the major version is encoded in the library filename, +# and the Mach-O version fields are for tracking backward compatible changes +# (minor versions). The default Mach-O versioning styles in CMake and +# Meson don't store the minor version in the compatibility_version though +# but Libtool does (using its own idiosyncratic encoding). In practice the +# lack of minor ABI version tracking doesn't matter much; it's the +# compatibility between the build systems that counts. +# +# It's unclear how much this matters in 2024. It might be that the +# dynamic linker in macOS >= 12 doesn't enforce the version checks. +# But this is a simple and safe change so it's fine to do it anyway. +# +# Apple docs: +# https://developer.apple.com/library/archive/documentation/DeveloperTools/Conceptual/DynamicLibraries/100-Articles/DynamicLibraryDesignGuidelines.html +# +# This change was made in XZ Utils 5.7.1alpha. +# +# * * * * * +# +# At least for now the xz package versioning matches the rules used for +# shared library versioning (excluding development releases) so it is +# fine to use the package version when setting the liblzma ABI version. +math(EXPR LIBLZMA_MACHO_COMPATIBILITY_VERSION + "${xz_VERSION_MAJOR} + ${xz_VERSION_MINOR} + 1") +set(LIBLZMA_MACHO_CURRENT_VERSION + "${LIBLZMA_MACHO_COMPATIBILITY_VERSION}.${xz_VERSION_PATCH}") + +set_target_properties(liblzma PROPERTIES + SOVERSION "${xz_VERSION_MAJOR}" + VERSION "${xz_VERSION}" + MACHO_COMPATIBILITY_VERSION "${LIBLZMA_MACHO_COMPATIBILITY_VERSION}" + MACHO_CURRENT_VERSION "${LIBLZMA_MACHO_CURRENT_VERSION}" + + # The name liblzma a mess because in many places "lib" is just a prefix + # and not part of the actual name. (Don't name a new library this way!) + # Cygwin uses "cyg", MSYS2 uses "msys-", and some platforms use no prefix. + # However, we want to avoid lzma.dll on Windows as that would conflict + # with LZMA SDK. liblzma has been liblzma.dll on Windows since the + # beginning so try to stick with it. + # + # Up to XZ Utils 5.6.2 we set PREFIX and IMPORT_PREFIX properties to "" + # while keeping the default "liblzma" OUTPUT_NAME that was derived from + # the target name. But this broke naming on Cygwin and MSYS2. + # + # Setting OUTPUT_NAME without the "lib" prefix means that CMake will add + # the platform-specific prefix as needed. So on most systems CMake will + # add "lib" but on Cygwin and MSYS2 the naming will be correct too. + # + # On Windows, CMake uses the "lib" prefix with MinGW-w64 but not with + # other toolchains. Those need to be handled specially to get the DLL + # file named liblzma.dll instead of lzma.dll. + OUTPUT_NAME "lzma" +) + +if(WIN32 AND NOT MINGW) + # Up to XZ Utils 5.6.2 and building with MSVC, we produced liblzma.dll + # and liblzma.lib. The downside of liblzma.lib is that it's not + # compatible with pkgconf usage. liblzma.pc contains "-llzma" which + # "pkgconf --msvc-syntax --libs liblzma" converts to "lzma.lib". + # So as a compromise, we can keep the liblzma.dll name but the import + # library and static liblzma need to be named lzma.lib so that pkgconf + # can be used with MSVC. (MinGW-w64 finds both names with "-llzma".) + set_target_properties(liblzma PROPERTIES RUNTIME_OUTPUT_NAME "liblzma") +endif() + +# Create liblzma-config-version.cmake. +# +# NOTE: SameMajorVersion is correct for stable releases but it is wrong +# for development releases where each release may have incompatible changes. +include(CMakePackageConfigHelpers) +write_basic_package_version_file( + "${CMAKE_CURRENT_BINARY_DIR}/liblzma-config-version.cmake" + VERSION "${xz_VERSION}" + COMPATIBILITY SameMajorVersion) + +# Create liblzma-config.cmake. We use this spelling instead of +# liblzmaConfig.cmake to make find_package work in case insensitive +# manner even with case sensitive file systems. This gives more consistent +# behavior between operating systems. This optionally includes a dependency +# on a threading library, so the contents are created in two separate parts. +# The "second half" is always needed, so create it first. +set(LZMA_CONFIG_CONTENTS +"include(\"\${CMAKE_CURRENT_LIST_DIR}/liblzma-targets.cmake\") + +if(NOT TARGET LibLZMA::LibLZMA) + # Be compatible with the spelling used by the FindLibLZMA module. This + # doesn't use ALIAS because it would make CMake resolve LibLZMA::LibLZMA + # to liblzma::liblzma instead of keeping the original spelling. Keeping + # the original spelling is important for good FindLibLZMA compatibility. + add_library(LibLZMA::LibLZMA INTERFACE IMPORTED) + set_target_properties(LibLZMA::LibLZMA PROPERTIES + INTERFACE_LINK_LIBRARIES liblzma::liblzma) +endif() +") + +if(USE_POSIX_THREADS) + set(LZMA_CONFIG_CONTENTS +"include(CMakeFindDependencyMacro) +set(THREADS_PREFER_PTHREAD_FLAG TRUE) +find_dependency(Threads) + +${LZMA_CONFIG_CONTENTS} +") +endif() + +file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/liblzma-config.cmake" + "${LZMA_CONFIG_CONTENTS}") + + +# Create liblzma.pc. If CMAKE_INSTALL_ paths are relative to +# CMAKE_INSTALL_PREFIX, the .pc file will be relocatable (that is, +# all paths will be relative to ${prefix}). Otherwise absolute +# paths will be used. +set(prefix "${CMAKE_INSTALL_PREFIX}") +set(exec_prefix "\${prefix}") +cmake_path(APPEND libdir "\${exec_prefix}" "${CMAKE_INSTALL_LIBDIR}") +cmake_path(APPEND includedir "\${prefix}" "${CMAKE_INSTALL_INCLUDEDIR}") + +# Threads::Threads is linked in only when using POSIX threads. +# Use an empty value if using Windows threads or if threading is disabled. +set(PTHREAD_CFLAGS) +if(USE_POSIX_THREADS) + set(PTHREAD_CFLAGS "${CMAKE_THREAD_LIBS_INIT}") +endif() + +configure_file(src/liblzma/liblzma.pc.in liblzma.pc @ONLY) + + +# Install the library binary. The INCLUDES specifies the include path that +# is exported for other projects to use but it doesn't install any files. +install(TARGETS liblzma EXPORT liblzmaTargets + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + COMPONENT liblzma_Runtime + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + COMPONENT liblzma_Runtime + NAMELINK_COMPONENT liblzma_Development + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + COMPONENT liblzma_Development + INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") + +# Install the liblzma API headers. These use a subdirectory so +# this has to be done as a separate step. +install(DIRECTORY src/liblzma/api/ + COMPONENT liblzma_Development + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" + FILES_MATCHING PATTERN "*.h") + +# Install the CMake files that other packages can use to find liblzma. +set(XZ_INSTALL_CMAKEDIR + "${CMAKE_INSTALL_LIBDIR}/cmake/liblzma" + CACHE STRING "Path to liblzma's .cmake files") + +install(EXPORT liblzmaTargets + NAMESPACE liblzma:: + FILE liblzma-targets.cmake + DESTINATION "${XZ_INSTALL_CMAKEDIR}" + COMPONENT liblzma_Development) + +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/liblzma-config.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/liblzma-config-version.cmake" + DESTINATION "${XZ_INSTALL_CMAKEDIR}" + COMPONENT liblzma_Development) + +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/liblzma.pc" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" + COMPONENT liblzma_Development) + + +############################################################################# +# Helper functions for installing files +############################################################################# + +# For each non-empty element in the list LINK_NAMES, creates symbolic links +# ${LINK_NAME}${LINK_SUFFIX} -> ${TARGET_NAME} in the directory ${DIR}. +# The target file should exist because on Cygwin and MSYS2 symlink creation +# can fail under certain conditions if the target doesn't exist. +function(my_install_symlinks COMPONENT DIR TARGET_NAME LINK_SUFFIX LINK_NAMES) + install(CODE "set(D \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${DIR}\") + foreach(L ${LINK_NAMES}) + file(CREATE_LINK \"${TARGET_NAME}\" + \"\${D}/\${L}${LINK_SUFFIX}\" + SYMBOLIC) + endforeach()" + COMPONENT "${COMPONENT}") +endfunction() + +# Installs a man page file of a given language ("" for the untranslated file) +# and optionally its alternative names as symlinks. This is a helper function +# for my_install_man() below. +function(my_install_man_lang COMPONENT SRC_FILE MAN_LANG LINK_NAMES) + # Get the man page section from the filename suffix. + string(REGEX REPLACE "^.*\.([^/.]+)$" "\\1" MAN_SECTION "${SRC_FILE}") + + # A few man pages might be missing from translations. + # Don't attempt to install them or create the related symlinks. + if(NOT MAN_LANG STREQUAL "" AND NOT EXISTS "${SRC_FILE}") + return() + endif() + + # Installing the file must be done before creating the symlinks + # due to Cygwin and MSYS2. + install(FILES "${SRC_FILE}" + DESTINATION "${CMAKE_INSTALL_MANDIR}/${MAN_LANG}/man${MAN_SECTION}" + COMPONENT "${COMPONENT}") + + # Get the basename of the file to be used as the symlink target. + get_filename_component(BASENAME "${SRC_FILE}" NAME) + + # LINK_NAMES don't contain the man page filename suffix (like ".1") + # so it needs to be told to my_install_symlinks. + my_install_symlinks("${COMPONENT}" + "${CMAKE_INSTALL_MANDIR}/${MAN_LANG}/man${MAN_SECTION}" + "${BASENAME}" ".${MAN_SECTION}" "${LINK_NAMES}") +endfunction() + +# Installs a man page file and optionally its alternative names as symlinks. +# Does the same for translations if XZ_NLS. +function(my_install_man COMPONENT SRC_FILE LINK_NAMES) + my_install_man_lang("${COMPONENT}" "${SRC_FILE}" "" "${LINK_NAMES}") + + if(XZ_NLS) + # Find the translated versions of this man page. + get_filename_component(BASENAME "${SRC_FILE}" NAME) + file(GLOB MAN_FILES "po4a/man/*/${BASENAME}") + + foreach(F ${MAN_FILES}) + get_filename_component(MAN_LANG "${F}" DIRECTORY) + get_filename_component(MAN_LANG "${MAN_LANG}" NAME) + my_install_man_lang("${COMPONENT}" "${F}" "${MAN_LANG}" + "${LINK_NAMES}") + endforeach() + endif() +endfunction() + + +############################################################################# +# libgnu (getopt_long) +############################################################################# + +# This mirrors how the Autotools build system handles the getopt_long +# replacement, calling the object library libgnu since the replacement +# version comes from Gnulib. +add_library(libgnu OBJECT) + +# CMake requires that even an object library must have at least once source +# file. So we give it a header file that results in no output files. +# +# NOTE: Using a file outside the lib directory makes it possible to +# delete lib/*.h and lib/*.c and still keep the build working if +# getopt_long replacement isn't needed. It's convenient if one wishes +# to be certain that no GNU LGPL code gets included in the binaries. +target_sources(libgnu PRIVATE src/common/sysdefs.h) + +# The Ninja Generator requires setting the linker language since it cannot +# guess the programming language of just a header file. Setting this +# property avoids needing an empty .c file or an non-empty unnecessary .c +# file. +set_target_properties(libgnu PROPERTIES LINKER_LANGUAGE C) + +# Create /lib directory in the build directory and add it to the include path. +file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/lib") +target_include_directories(libgnu PUBLIC "${CMAKE_CURRENT_BINARY_DIR}/lib") + +# Include /lib from the source directory. It does no harm even if none of +# the Gnulib replacements are used. +target_include_directories(libgnu PUBLIC lib) + +# The command line tools need getopt_long in order to parse arguments. If +# the system does not have a getopt_long implementation we can use the one +# from Gnulib instead. +check_symbol_exists(getopt_long getopt.h HAVE_GETOPT_LONG) + +if(NOT HAVE_GETOPT_LONG) + # Set the __GETOPT_PREFIX definition to "rpl_" (replacement) to avoid + # name conflicts with libc symbols. The same prefix is set if using + # the Autotools build (m4/getopt.m4). + target_compile_definitions(libgnu PUBLIC "__GETOPT_PREFIX=rpl_") + + # Copy the getopt header to the build directory and re-copy it + # if it is updated. (Gnulib does it this way because it allows + # choosing which .in.h files to actually use in the build. We + # need just getopt.h so this is a bit overcomplicated for + # a single header file only.) + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/lib/getopt.in.h" + "${CMAKE_CURRENT_BINARY_DIR}/lib/getopt.h" + COPYONLY) + + target_sources(libgnu PRIVATE + lib/getopt1.c + lib/getopt.c + lib/getopt_int.h + lib/getopt-cdefs.h + lib/getopt-core.h + lib/getopt-ext.h + lib/getopt-pfx-core.h + lib/getopt-pfx-ext.h + "${CMAKE_CURRENT_BINARY_DIR}/lib/getopt.h" + ) +endif() + + +############################################################################# +# Sandboxing for the command line tools +############################################################################# + +# auto Use sandboxing if a supported method is available in the OS. +# no Disable sandboxing. +# capsicum Require Capsicum (FreeBSD >= 10.2) and fail if not found. +# pledge Require pledge(2) (OpenBSD >= 5.9) and fail if not found. +# landlock Require Landlock (Linux >= 5.13) and fail if not found. +set(SUPPORTED_SANDBOX_METHODS auto no capsicum pledge landlock) + +set(XZ_SANDBOX auto CACHE STRING + "Sandboxing method to use in 'xz', 'xzdec', and 'lzmadec'") + +set_property(CACHE XZ_SANDBOX PROPERTY STRINGS "${SUPPORTED_SANDBOX_METHODS}") + +if(NOT XZ_SANDBOX IN_LIST SUPPORTED_SANDBOX_METHODS) + message(FATAL_ERROR "'${XZ_SANDBOX}' is not a supported " + "sandboxing method") +endif() + +# When autodetecting, the search order is fixed and we must not find +# more than one method. +if(XZ_SANDBOX STREQUAL "no") + set(SANDBOX_FOUND ON) +else() + set(SANDBOX_FOUND OFF) +endif() + +# Since xz and xzdec can both use sandboxing, the compile definition needed +# to use the sandbox must be added to both targets. +set(SANDBOX_COMPILE_DEFINITION OFF) + +# Sandboxing: Capsicum +if(NOT SANDBOX_FOUND AND XZ_SANDBOX MATCHES "^auto$|^capsicum$") + check_symbol_exists(cap_rights_limit sys/capsicum.h + HAVE_CAP_RIGHTS_LIMIT) + if(HAVE_CAP_RIGHTS_LIMIT) + set(SANDBOX_COMPILE_DEFINITION "HAVE_CAP_RIGHTS_LIMIT") + set(SANDBOX_FOUND ON) + endif() +endif() + +# Sandboxing: pledge(2) +if(NOT SANDBOX_FOUND AND XZ_SANDBOX MATCHES "^auto$|^pledge$") + check_symbol_exists(pledge unistd.h HAVE_PLEDGE) + if(HAVE_PLEDGE) + set(SANDBOX_COMPILE_DEFINITION "HAVE_PLEDGE") + set(SANDBOX_FOUND ON) + endif() +endif() + +# Sandboxing: Landlock +if(NOT SANDBOX_FOUND AND XZ_SANDBOX MATCHES "^auto$|^landlock$") + # A compile check is done here because some systems have + # linux/landlock.h, but do not have the syscalls defined + # in order to actually use Linux Landlock. + check_c_source_compiles(" + #include + #include + #include + + int main(void) + { + (void)prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0); + (void)SYS_landlock_create_ruleset; + (void)SYS_landlock_restrict_self; + (void)LANDLOCK_CREATE_RULESET_VERSION; + return 0; + } + " + HAVE_LINUX_LANDLOCK) + + if(HAVE_LINUX_LANDLOCK) + set(SANDBOX_COMPILE_DEFINITION "HAVE_LINUX_LANDLOCK") + set(SANDBOX_FOUND ON) + + # Of our three sandbox methods, only Landlock is incompatible + # with -fsanitize. FreeBSD 13.2 with Capsicum was tested with + # -fsanitize=address,undefined and had no issues. OpenBSD (as + # of version 7.4) has minimal support for process instrumentation. + # OpenBSD does not distribute the additional libraries needed + # (libasan, libubsan, etc.) with GCC or Clang needed for runtime + # sanitization support and instead only support + # -fsanitize-minimal-runtime for minimal undefined behavior + # sanitization. This minimal support is compatible with our use + # of the Pledge sandbox. So only Landlock will result in a + # build that cannot compress or decompress a single file to + # standard out. + if(CMAKE_C_FLAGS MATCHES "-fsanitize=") + message(SEND_ERROR + "CMAKE_C_FLAGS or the environment variable CFLAGS " + "contains '-fsanitize=' which is incompatible " + "with Landlock sandboxing. Use -DXZ_SANDBOX=no " + "as an argument to 'cmake' when using '-fsanitize'.") + endif() + endif() +endif() + +if(NOT SANDBOX_FOUND AND NOT XZ_SANDBOX MATCHES "^auto$|^no$") + message(SEND_ERROR "XZ_SANDBOX=${XZ_SANDBOX} was used but " + "support for the sandboxing method wasn't found.") +endif() + + +############################################################################# +# xzdec and lzmadec +############################################################################# + +option(XZ_TOOL_XZDEC "Build and install the xzdec command line tool" ON) +option(XZ_TOOL_LZMADEC "Build and install the lzmadec command line tool" ON) + +if(HAVE_DECODERS) + set(XZDEC_TOOLS) + + if(XZ_TOOL_XZDEC) + list(APPEND XZDEC_TOOLS xzdec) + endif() + + if(XZ_TOOL_LZMADEC) + list(APPEND XZDEC_TOOLS lzmadec) + endif() + + foreach(XZDEC ${XZDEC_TOOLS}) + add_executable("${XZDEC}" + src/common/my_landlock.h + src/common/sysdefs.h + src/common/tuklib_common.h + src/common/tuklib_config.h + src/common/tuklib_mbstr_nonprint.c + src/common/tuklib_mbstr_nonprint.h + src/common/tuklib_exit.c + src/common/tuklib_exit.h + src/common/tuklib_gettext.h + src/common/tuklib_progname.c + src/common/tuklib_progname.h + src/xzdec/xzdec.c + ) + + target_include_directories("${XZDEC}" PRIVATE + src/common + src/liblzma/api + ) + + target_link_libraries("${XZDEC}" PRIVATE liblzma libgnu) + + if(WIN32 OR CYGWIN) + # Add the Windows resource file for xzdec.exe or lzmadec.exe. + target_sources("${XZDEC}" PRIVATE "src/xzdec/${XZDEC}_w32res.rc") + set_source_files_properties( + "src/xzdec/${XZDEC}_w32res.rc" PROPERTIES + OBJECT_DEPENDS "${W32RES_DEPENDENCIES}" + ) + endif() + + if(SANDBOX_COMPILE_DEFINITION) + target_compile_definitions("${XZDEC}" PRIVATE + "${SANDBOX_COMPILE_DEFINITION}") + endif() + + tuklib_progname("${XZDEC}") + tuklib_mbstr("${XZDEC}") + + install(TARGETS "${XZDEC}" + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + COMPONENT "${XZDEC}_Runtime") + endforeach() + + if(XZ_TOOL_LZMADEC) + # This is the only build-time difference with lzmadec. + target_compile_definitions(lzmadec PRIVATE "LZMADEC") + endif() + + if(UNIX AND XZ_TOOL_XZDEC) + # NOTE: This puts the lzmadec.1 symlinks into xzdec_Documentation. + # This isn't great but doing them separately with translated + # man pages would require extra code. So this has to suffice for now. + # + # Also, if xzdec is disabled but lzmadec isn't, then the man page + # isn't installed at all. It could be done but it's not a typical + # situation so let's keep this simpler. + if(XZ_TOOL_LZMADEC) + my_install_man(xzdec_Documentation src/xzdec/xzdec.1 lzmadec) + else() + my_install_man(xzdec_Documentation src/xzdec/xzdec.1 "") + endif() + endif() +endif() + + +############################################################################# +# lzmainfo +############################################################################# + +option(XZ_TOOL_LZMAINFO "Build and install the lzmainfo command line tool" ON) + +if(XZ_TOOL_LZMAINFO AND HAVE_DECODERS) + add_executable(lzmainfo + src/common/sysdefs.h + src/common/tuklib_common.h + src/common/tuklib_config.h + src/common/tuklib_mbstr.h + src/common/tuklib_mbstr_nonprint.c + src/common/tuklib_mbstr_nonprint.h + src/common/tuklib_mbstr_width.c + src/common/tuklib_mbstr_wrap.c + src/common/tuklib_mbstr_wrap.h + src/common/tuklib_exit.c + src/common/tuklib_exit.h + src/common/tuklib_gettext.h + src/common/tuklib_progname.c + src/common/tuklib_progname.h + src/lzmainfo/lzmainfo.c + ) + + target_include_directories(lzmainfo PRIVATE + src/common + src/liblzma/api + ) + + target_link_libraries(lzmainfo PRIVATE liblzma libgnu) + + if(WIN32 OR CYGWIN) + # Add the Windows resource file for lzmainfo.exe. + target_sources(lzmainfo PRIVATE src/lzmainfo/lzmainfo_w32res.rc) + set_source_files_properties(src/lzmainfo/lzmainfo_w32res.rc PROPERTIES + OBJECT_DEPENDS "${W32RES_DEPENDENCIES}" + ) + endif() + + tuklib_progname(lzmainfo) + tuklib_mbstr(lzmainfo) + + # NOTE: The translations are in the "xz" domain and the .mo files are + # installed as part of the "xz" target. + if(XZ_NLS) + target_link_libraries(lzmainfo PRIVATE Intl::Intl) + + target_compile_definitions(lzmainfo PRIVATE + ENABLE_NLS + PACKAGE="${TRANSLATION_DOMAIN}" + LOCALEDIR="${LOCALEDIR_DEFINITION}" + ) + endif() + + install(TARGETS lzmainfo + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + COMPONENT lzmainfo_Runtime) + + if(UNIX) + my_install_man(lzmainfo_Documentation src/lzmainfo/lzmainfo.1 "") + endif() +endif() + + +############################################################################# +# xz +############################################################################# + +option(XZ_TOOL_XZ "Build and install the xz command line tool" ON) + +if(XZ_TOOL_XZ) + add_executable(xz + src/common/my_landlock.h + src/common/mythread.h + src/common/sysdefs.h + src/common/tuklib_common.h + src/common/tuklib_config.h + src/common/tuklib_mbstr_nonprint.c + src/common/tuklib_mbstr_nonprint.h + src/common/tuklib_exit.c + src/common/tuklib_exit.h + src/common/tuklib_gettext.h + src/common/tuklib_integer.h + src/common/tuklib_mbstr.h + src/common/tuklib_mbstr_fw.c + src/common/tuklib_mbstr_width.c + src/common/tuklib_mbstr_wrap.c + src/common/tuklib_mbstr_wrap.h + src/common/tuklib_open_stdxxx.c + src/common/tuklib_open_stdxxx.h + src/common/tuklib_progname.c + src/common/tuklib_progname.h + src/xz/args.c + src/xz/args.h + src/xz/coder.c + src/xz/coder.h + src/xz/file_io.c + src/xz/file_io.h + src/xz/hardware.c + src/xz/hardware.h + src/xz/main.c + src/xz/main.h + src/xz/message.c + src/xz/message.h + src/xz/mytime.c + src/xz/mytime.h + src/xz/options.c + src/xz/options.h + src/xz/private.h + src/xz/sandbox.c + src/xz/sandbox.h + src/xz/signals.c + src/xz/signals.h + src/xz/suffix.c + src/xz/suffix.h + src/xz/util.c + src/xz/util.h + ) + + target_include_directories(xz PRIVATE + src/common + src/liblzma/api + ) + + if(HAVE_DECODERS) + target_sources(xz PRIVATE + src/xz/list.c + src/xz/list.h + ) + endif() + + target_link_libraries(xz PRIVATE liblzma libgnu) + + if(USE_POSIX_THREADS) + # src/xz/signals.c uses mythread_sigmask() which with POSIX + # threads calls pthread_sigmask(). Thus, we need the threading + # library as a dependency for xz. The liblzma target links against + # Threads::Threads PRIVATEly, thus that won't provide the pthreads + # symbols for xz. + # + # NOTE: The build may work without this if the symbol is in libc + # but it is mandatory to have this here to keep it working with + # all pthread implementations. + target_link_libraries(xz PRIVATE Threads::Threads) + endif() + + set(XZ_ASSUME_RAM "128" CACHE STRING "Assume that the system has \ +this many MiB of RAM if xz cannot determine the amount at runtime") + target_compile_definitions(xz PRIVATE "ASSUME_RAM=${XZ_ASSUME_RAM}") + + if(WIN32 OR CYGWIN) + # Add the Windows resource file for xz.exe. + target_sources(xz PRIVATE src/xz/xz_w32res.rc) + set_source_files_properties(src/xz/xz_w32res.rc PROPERTIES + OBJECT_DEPENDS "${W32RES_DEPENDENCIES}" + ) + endif() + + if(SANDBOX_COMPILE_DEFINITION) + target_compile_definitions(xz PRIVATE "${SANDBOX_COMPILE_DEFINITION}") + endif() + + tuklib_progname(xz) + tuklib_mbstr(xz) + + if(HAVE_GETOPT_LONG) + check_symbol_exists(optreset getopt.h HAVE_OPTRESET) + tuklib_add_definition_if(xz HAVE_OPTRESET) + endif() + + check_symbol_exists(getrlimit sys/resource.h HAVE_GETRLIMIT) + tuklib_add_definition_if(xz HAVE_GETRLIMIT) + + check_symbol_exists(posix_fadvise fcntl.h HAVE_POSIX_FADVISE) + tuklib_add_definition_if(xz HAVE_POSIX_FADVISE) + + # How to get file time: + check_struct_has_member("struct stat" st_atim.tv_nsec + "sys/types.h;sys/stat.h" + HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC) + if(HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC) + tuklib_add_definitions(xz HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC) + else() + check_struct_has_member("struct stat" st_atimespec.tv_nsec + "sys/types.h;sys/stat.h" + HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC) + if(HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC) + tuklib_add_definitions(xz HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC) + else() + check_struct_has_member("struct stat" st_atimensec + "sys/types.h;sys/stat.h" + HAVE_STRUCT_STAT_ST_ATIMENSEC) + tuklib_add_definition_if(xz HAVE_STRUCT_STAT_ST_ATIMENSEC) + endif() + endif() + + # How to set file time: + check_symbol_exists(futimens "sys/types.h;sys/stat.h" HAVE_FUTIMENS) + if(HAVE_FUTIMENS) + tuklib_add_definitions(xz HAVE_FUTIMENS) + else() + check_symbol_exists(futimes "sys/time.h" HAVE_FUTIMES) + if(HAVE_FUTIMES) + tuklib_add_definitions(xz HAVE_FUTIMES) + else() + check_symbol_exists(futimesat "sys/time.h" HAVE_FUTIMESAT) + if(HAVE_FUTIMESAT) + tuklib_add_definitions(xz HAVE_FUTIMESAT) + else() + check_symbol_exists(utimes "sys/time.h" HAVE_UTIMES) + if(HAVE_UTIMES) + tuklib_add_definitions(xz HAVE_UTIMES) + else() + check_symbol_exists(_futime "sys/utime.h" HAVE__FUTIME) + if(HAVE__FUTIME) + tuklib_add_definitions(xz HAVE__FUTIME) + else() + check_symbol_exists(utime "utime.h" HAVE_UTIME) + tuklib_add_definition_if(xz HAVE_UTIME) + endif() + endif() + endif() + endif() + endif() + + if(XZ_NLS) + target_link_libraries(xz PRIVATE Intl::Intl) + + target_compile_definitions(xz PRIVATE + ENABLE_NLS + PACKAGE="${TRANSLATION_DOMAIN}" + LOCALEDIR="${LOCALEDIR_DEFINITION}" + ) + + file(STRINGS po/LINGUAS LINGUAS) + + # NOTE: gettext_process_po_files' INSTALL_DESTINATION is + # incompatible with how Autotools requires the .po files to + # be named. CMake would require each .po file to be named with + # the translation domain and thus each .po file would need its + # own language-specific directory (like "po/fi/xz.po"). On top + # of this, INSTALL_DESTINATION doesn't allow specifying COMPONENT + # and thus the .mo files go into "Unspecified" component. So we + # can use gettext_process_po_files to convert the .po files but + # installation needs to be done with our own code. + # + # Also, the .gmo files will go to root of the build directory + # instead of neatly into a subdirectory. This is hardcoded in + # CMake's FindGettext.cmake. + foreach(LANG IN LISTS LINGUAS) + gettext_process_po_files("${LANG}" ALL + PO_FILES "${CMAKE_CURRENT_SOURCE_DIR}/po/${LANG}.po") + endforeach() + + foreach(LANG IN LISTS LINGUAS) + install( + FILES "${CMAKE_CURRENT_BINARY_DIR}/${LANG}.gmo" + DESTINATION "${CMAKE_INSTALL_LOCALEDIR}/${LANG}/LC_MESSAGES" + RENAME "${TRANSLATION_DOMAIN}.mo" + COMPONENT xz_Runtime) + endforeach() + endif() + + # This command must be before the symlink creation to keep things working + # on Cygwin and MSYS2 in all cases. + # + # - Cygwin can encode symlinks in multiple ways. This can be + # controlled via the environment variable "CYGWIN". If it contains + # "winsymlinks:nativestrict" then symlink creation will fail if + # the link target doesn't exist. This mode isn't the default though. + # See: https://cygwin.com/faq.html#faq.api.symlinks + # + # - MSYS2 supports the same winsymlinks option in the environment + # variable "MSYS" (not "MSYS2). The default in MSYS2 is to make + # a copy of the file instead of any kind of symlink. Thus the link + # target must exist or the creation of the "symlink" (copy) will fail. + # + # Our installation order must be such that when a symbolic link is created + # its target must already exists. There is no race condition for parallel + # builds because the generated cmake_install.cmake executes serially. + install(TARGETS xz + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + COMPONENT xz_Runtime) + + if(UNIX) + option(XZ_TOOL_SYMLINKS "Create unxz and xzcat symlinks" ON) + option(XZ_TOOL_SYMLINKS_LZMA + "Create 'lzma' and other symlinks for LZMA Utils compatibility" + ON) + set(XZ_LINKS) + + if(XZ_TOOL_SYMLINKS) + list(APPEND XZ_LINKS "unxz" "xzcat") + endif() + + if(XZ_TOOL_SYMLINKS_LZMA) + list(APPEND XZ_LINKS "lzma" "unlzma" "lzcat") + endif() + + # On Cygwin, don't add the .exe suffix to the symlinks. + # + # FIXME? Does this make sense on MSYS & MSYS2 where "ln -s" + # by default makes copies? Inside MSYS & MSYS2 it is possible + # to execute files without the .exe suffix but not outside + # (like in Command Prompt). Omitting the suffix matches + # what configure.ac has done for many years though. + my_install_symlinks(xz_Runtime "${CMAKE_INSTALL_BINDIR}" + "xz${CMAKE_EXECUTABLE_SUFFIX}" "" "${XZ_LINKS}") + + # Install the man pages and (optionally) their symlinks + # and translations. + my_install_man(xz_Documentation src/xz/xz.1 "${XZ_LINKS}") + endif() +endif() + + +############################################################################# +# Scripts +############################################################################# + +set(ENABLE_SCRIPTS OFF) + +if(UNIX) + # NOTE: These depend on the xz tool and decoder support. + option(XZ_TOOL_SCRIPTS "Install the scripts \ +xzdiff, xzgrep, xzmore, xzless, and their symlinks" ON) + + if(XZ_TOOL_SCRIPTS AND XZ_TOOL_XZ AND HAVE_DECODERS) + set(ENABLE_SCRIPTS ON) + endif() + + # NOTE: This isn't as sophisticated as in the Autotools build which + # uses posix-shell.m4 but hopefully this doesn't need to be either. + # CMake likely won't be used on as many (old) obscure systems as the + # Autotools-based builds are. + if(CMAKE_SYSTEM_NAME STREQUAL "SunOS" AND EXISTS "/usr/xpg4/bin/sh") + set(POSIX_SHELL_DEFAULT "/usr/xpg4/bin/sh") + else() + set(POSIX_SHELL_DEFAULT "/bin/sh") + endif() + + set(XZ_POSIX_SHELL "${POSIX_SHELL_DEFAULT}" CACHE STRING + "Shell to use for scripts (xzgrep and others)") + + # Guess the extra path to add from XZ_POSIX_SHELL. Autotools-based build + # has a separate option --enable-path-for-scripts=PREFIX but this is + # enough for Solaris. + set(enable_path_for_scripts) + get_filename_component(POSIX_SHELL_DIR "${XZ_POSIX_SHELL}" DIRECTORY) + + if(NOT POSIX_SHELL_DIR MATCHES "^/bin$|^/usr/bin$") + set(enable_path_for_scripts "PATH=${POSIX_SHELL_DIR}:\$PATH") + endif() + + set(XZDIFF_LINKS xzcmp) + set(XZGREP_LINKS xzegrep xzfgrep) + set(XZMORE_LINKS) + set(XZLESS_LINKS) + + if(XZ_TOOL_SYMLINKS_LZMA) + list(APPEND XZDIFF_LINKS lzdiff lzcmp) + list(APPEND XZGREP_LINKS lzgrep lzegrep lzfgrep) + list(APPEND XZMORE_LINKS lzmore) + list(APPEND XZLESS_LINKS lzless) + endif() + + set(xz "xz") + set(POSIX_SHELL "${XZ_POSIX_SHELL}") + + foreach(S xzdiff xzgrep xzmore xzless) + configure_file("src/scripts/${S}.in" "${S}" + @ONLY + NEWLINE_STYLE LF + FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE + GROUP_READ GROUP_EXECUTE + WORLD_READ WORLD_EXECUTE) + + if(ENABLE_SCRIPTS) + install(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/${S}" + DESTINATION "${CMAKE_INSTALL_BINDIR}" + COMPONENT scripts_Runtime) + endif() + endforeach() + + unset(xz) + unset(POSIX_SHELL) + unset(enable_path_for_scripts) + + if(ENABLE_SCRIPTS) + my_install_symlinks(scripts_Runtime "${CMAKE_INSTALL_BINDIR}" + xzdiff "" "${XZDIFF_LINKS}") + + my_install_symlinks(scripts_Runtime "${CMAKE_INSTALL_BINDIR}" + xzgrep "" "${XZGREP_LINKS}") + + my_install_symlinks(scripts_Runtime "${CMAKE_INSTALL_BINDIR}" + xzmore "" "${XZMORE_LINKS}") + + my_install_symlinks(scripts_Runtime "${CMAKE_INSTALL_BINDIR}" + xzless "" "${XZLESS_LINKS}") + + my_install_man(scripts_Documentation + src/scripts/xzdiff.1 "${XZDIFF_LINKS}") + + my_install_man(scripts_Documentation + src/scripts/xzgrep.1 "${XZGREP_LINKS}") + + my_install_man(scripts_Documentation + src/scripts/xzmore.1 "${XZMORE_LINKS}") + + my_install_man(scripts_Documentation + src/scripts/xzless.1 "${XZLESS_LINKS}") + endif() +endif() + + +############################################################################# +# Documentation +############################################################################# + +if(UNIX) + option(XZ_DOXYGEN "Use Doxygen to generate liblzma API docs" OFF) + + if (XZ_DOXYGEN) + file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/doc") + + add_custom_command( + VERBATIM + COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/doxygen/update-doxygen" + ARGS "api" + "${CMAKE_CURRENT_SOURCE_DIR}" + "${CMAKE_CURRENT_BINARY_DIR}/doc" + OUTPUT doc/api/index.html + DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/doxygen/update-doxygen" + "${CMAKE_CURRENT_SOURCE_DIR}/doxygen/Doxyfile" + ${LIBLZMA_API_HEADERS} + ) + + add_custom_target( + liblzma-doc-api ALL + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/doc/api/index.html" + ) + + install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/doc/api" + DESTINATION "${CMAKE_INSTALL_DOCDIR}" + COMPONENT liblzma_Documentation) + endif() +endif() + +option(XZ_DOC "Install basic documentation, examples, and license files" ON) +if(XZ_DOC) + install(DIRECTORY doc/examples + DESTINATION "${CMAKE_INSTALL_DOCDIR}" + COMPONENT liblzma_Documentation) + + # GPLv2 applies to the scripts. If GNU getopt_long is used then + # LGPLv2.1 applies to the command line tools but, using the + # section 3 of LGPLv2.1, GNU getopt_long can be handled as GPLv2 too. + # Thus GPLv2 should be enough here. + install(FILES AUTHORS + COPYING + COPYING.0BSD + COPYING.GPLv2 + NEWS + README + THANKS + doc/faq.txt + doc/history.txt + doc/lzma-file-format.txt + doc/xz-file-format.txt + DESTINATION "${CMAKE_INSTALL_DOCDIR}" + COMPONENT Documentation) +endif() + + +############################################################################# +# Tests +############################################################################# + +# Tests are in a separate file so that it's possible to delete the whole +# "tests" directory and still have a working build, just without the tests. +include(tests/tests.cmake OPTIONAL) diff --git a/src/native/external/xz/COPYING b/src/native/external/xz/COPYING new file mode 100644 index 00000000000000..ef3371389d7d45 --- /dev/null +++ b/src/native/external/xz/COPYING @@ -0,0 +1,70 @@ + +XZ Utils Licensing +================== + + Different licenses apply to different files in this package. Here + is a summary of which licenses apply to which parts of this package: + + - liblzma is under the BSD Zero Clause License (0BSD). + + - The command line tools xz, xzdec, lzmadec, and lzmainfo are + under 0BSD except that, on systems that don't have a usable + getopt_long, GNU getopt_long is compiled and linked in from the + 'lib' directory. The getopt_long code is under GNU LGPLv2.1+. + + - The scripts to grep, diff, and view compressed files have been + adapted from GNU gzip. These scripts (xzgrep, xzdiff, xzless, + and xzmore) are under GNU GPLv2+. The man pages of the scripts + are under 0BSD; they aren't based on the man pages of GNU gzip. + + - Most of the XZ Utils specific documentation that is in + plain text files (like README, INSTALL, PACKAGERS, NEWS, + and ChangeLog) are under 0BSD unless stated otherwise in + the file itself. The files xz-file-format.txt and + lzma-file-format.xt are in the public domain but may + be distributed under the terms of 0BSD too. + + - Translated messages and man pages are under 0BSD except that + some old translations are in the public domain. + + - Test files and test code in the 'tests' directory, and + debugging utilities in the 'debug' directory are under + the BSD Zero Clause License (0BSD). + + - The GNU Autotools based build system contains files that are + under GNU GPLv2+, GNU GPLv3+, and a few permissive licenses. + These files don't affect the licensing of the binaries being + built. + + - The 'extra' directory contains files that are under various + free software licenses. These aren't built or installed as + part of XZ Utils. + + The following command may be helpful in finding per-file license + information. It works on xz.git and on a clean file tree extracted + from a release tarball. + + sh build-aux/license-check.sh -v + + For the files under the BSD Zero Clause License (0BSD), if + a copyright notice is needed, the following is sufficient: + + Copyright (C) The XZ Utils authors and contributors + + If you copy significant amounts of 0BSD-licensed code from XZ Utils + into your project, acknowledging this somewhere in your software is + polite (especially if it is proprietary, non-free software), but + it is not legally required by the license terms. Here is an example + of a good notice to put into "about box" or into documentation: + + This software includes code from XZ Utils . + + The following license texts are included in the following files: + - COPYING.0BSD: BSD Zero Clause License + - COPYING.LGPLv2.1: GNU Lesser General Public License version 2.1 + - COPYING.GPLv2: GNU General Public License version 2 + - COPYING.GPLv3: GNU General Public License version 3 + + If you have questions, don't hesitate to ask for more information. + The contact information is in the README file. + diff --git a/src/native/external/xz/COPYING.0BSD b/src/native/external/xz/COPYING.0BSD new file mode 100644 index 00000000000000..4322122aecf1ae --- /dev/null +++ b/src/native/external/xz/COPYING.0BSD @@ -0,0 +1,11 @@ +Permission to use, copy, modify, and/or distribute this +software for any purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL +WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL +THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, +NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/src/native/external/xz/COPYING.GPLv2 b/src/native/external/xz/COPYING.GPLv2 new file mode 100644 index 00000000000000..9efa6fbc962836 --- /dev/null +++ b/src/native/external/xz/COPYING.GPLv2 @@ -0,0 +1,338 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, see . + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Moe Ghoul, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/src/native/external/xz/COPYING.GPLv3 b/src/native/external/xz/COPYING.GPLv3 new file mode 100644 index 00000000000000..f288702d2fa16d --- /dev/null +++ b/src/native/external/xz/COPYING.GPLv3 @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/src/native/external/xz/COPYING.LGPLv2.1 b/src/native/external/xz/COPYING.LGPLv2.1 new file mode 100644 index 00000000000000..f6683e74e0f013 --- /dev/null +++ b/src/native/external/xz/COPYING.LGPLv2.1 @@ -0,0 +1,501 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, see . + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Moe Ghoul, President of Vice + +That's all there is to it! diff --git a/src/native/external/xz/ChangeLog b/src/native/external/xz/ChangeLog new file mode 100644 index 00000000000000..a24858d941dd3d --- /dev/null +++ b/src/native/external/xz/ChangeLog @@ -0,0 +1,7 @@ +See the commit log in the git repository: + + git clone https://github.com/tukaani-project/xz + +Note that "make dist" doesn't put this tiny file into the package. +Instead, the git commit log is used as ChangeLog. See dist-hook in +Makefile.am for details. diff --git a/src/native/external/xz/INSTALL b/src/native/external/xz/INSTALL new file mode 100644 index 00000000000000..ec89047274659c --- /dev/null +++ b/src/native/external/xz/INSTALL @@ -0,0 +1,976 @@ + +XZ Utils Installation +===================== + + 0. Preface + 1. Supported platforms + 1.1. Compilers + 1.2. Platform-specific notes + 1.2.1. AIX + 1.2.2. IRIX + 1.2.3. MINIX 3 + 1.2.4. OpenVMS + 1.2.5. Solaris, OpenSolaris, and derivatives + 1.2.6. Tru64 + 1.2.7. Windows + 1.2.8. DOS + 1.2.9. z/OS + 1.3. Adding support for new platforms + 2. configure and CMake options + 2.1. Static vs. dynamic linking of liblzma + 2.2. Optimizing xzdec and lzmadec + 3. xzgrep and other scripts + 3.1. Dependencies + 3.2. PATH + 4. Tests + 4.1 Testing in parallel + 4.2 Cross compiling + 5. Troubleshooting + 5.1. "No C99 compiler was found." + 5.2. "No POSIX conforming shell (sh) was found." + 5.3. configure works but build fails at crc32_x86.S + 5.4. Lots of warnings about symbol visibility + 5.5. "make check" fails + 5.6. liblzma.so (or similar) not found when running xz + + +0. Preface +---------- + + If you aren't familiar with building packages that use GNU Autotools, + see the file INSTALL.generic for generic instructions before reading + further. + + If you are going to build a package for distribution, see also the + file PACKAGERS. It contains information that should help making the + binary packages as good as possible, but the information isn't very + interesting to those making local builds for private use or for use + in special situations like embedded systems. + + +1. Supported platforms +---------------------- + + XZ Utils are developed on GNU/Linux, but they should work on many + POSIX-like operating systems like *BSDs and Solaris, and even on + a few non-POSIX operating systems. + + +1.1. Compilers + + A C99 compiler is required to compile XZ Utils. If you use GCC, you + need at least version 3.x.x. GCC version 2.xx.x doesn't support some + C99 features used in XZ Utils source code, thus GCC 2 won't compile + XZ Utils. + + XZ Utils takes advantage of some GNU C extensions when building + with GCC. Because these extensions are used only when building + with GCC, it should be possible to use any C99 compiler. + + +1.2. Platform-specific notes + +1.2.1. AIX + + If you use IBM XL C compiler, pass CC=xlc_r to configure. If + you use CC=xlc instead, you must disable threading support + with --disable-threads (usually not recommended). + + If building a 32-bit executable, the address space available to xz + might be limited to 256 MiB by default. To increase the address + space to 2 GiB, pass LDFLAGS=-Wl,-bmaxdata:0x80000000 as an argument + to configure. + + +1.2.2. IRIX + + MIPSpro 7.4.4m has been reported to produce broken code if using + the -O2 optimization flag ("make check" fails). Using -O1 should + work. + + A problem has been reported when using shared liblzma. Passing + --disable-shared to configure works around this. Alternatively, + putting "-64" to CFLAGS to build a 64-bit version might help too. + + +1.2.3. MINIX 3 + + Version 3.3.0 and later are supported. + + Multithreading isn't supported because MINIX 3 doesn't have + pthreads. The option --disable-threads must be passed to configure + as this isn't autodetected. + + Note that disabling threads causes "make check" to show a few tests + as skipped ("SKIP"). It's only due to a few threading-dependent + subtests are skipped. See the matching tests/test_*.log files. + + +1.2.4. OpenVMS + + XZ Utils can be built for OpenVMS, but the build system files + are not included in the XZ Utils source package. The required + OpenVMS-specific files are maintained by Jouk Jansen and can be + downloaded here: + + http://nchrem.tnw.tudelft.nl/openvms/software2.html#xzutils + + +1.2.5. Solaris, OpenSolaris, and derivatives + + The following linker error has been reported on some x86 systems: + + ld: fatal: relocation error: R_386_GOTOFF: ... + + This can be worked around by passing gl_cv_cc_visibility=no + as an argument to the configure script. + + test_scripts.sh in "make check" may fail if good enough tools are + missing from PATH (/usr/xpg4/bin or /usr/xpg6/bin). Nowadays + /usr/xpg4/bin is added to the script PATH by default on Solaris + (see --enable-path-for-scripts=PREFIX in section 2), but old xz + releases needed extra steps. See sections 5.5 and 3.2 for more + information. + + +1.2.6. Tru64 + + If you try to use the native C compiler on Tru64 (passing CC=cc to + configure), you may need the workaround mention in section 5.1 in + this file (pass also ac_cv_prog_cc_c99= to configure). + + +1.2.7. Windows + + The "windows" directory contains instructions for a few types + of builds: + + - INSTALL-MinGW-w64_with_CMake.txt + Simple instructions how to build XZ Utils natively on + Windows using only CMake and a prebuilt toolchain + (GCC + MinGW-w64 or Clang/LLVM + MinGW-w64). + + - INSTALL-MinGW-w64_with_Autotools.txt + Native build under MSYS2 or cross-compilation from + GNU/Linux using a bash script that creates a .zip + and .7z archives of the binaries and documentation. + The related file README-Windows.txt is for the + resulting binary package. + + - INSTALL-MSVC.txt + Building with MSVC / Visual Studio and CMake. + + - liblzma-crt-mixing.txt + Documentation what to take into account as a programmer + if liblzma.dll and the application don't use the same + CRT (MSVCRT or UCRT). + + Other choices: + + - Cygwin: https://cygwin.com/ + Building on Cygwin can be done like on many POSIX operating + systems. XZ Utils >= 5.2.0 isn't compatible with Cygwin older + than 1.7.35 (data loss!). 1.7.35 was released on 2015-03-04. + + - MSYS2: https://www.msys2.org/ + + +1.2.8. DOS + + There is a Makefile in the "dos" directory to build XZ Utils on + DOS using DJGPP. Support for long file names (LFN) is needed at + build time but the resulting xz.exe works without LFN support too. + See dos/INSTALL.txt and dos/README.txt for more information. + + +1.2.9. z/OS + + To build XZ Utils on z/OS UNIX System Services using xlc, pass + these options to the configure script: CC='xlc -qhaltonmsg=CCN3296' + CPPFLAS='-D_UNIX03_THREADS -D_XOPEN_SOURCE=600'. The first makes + xlc throw an error if a header file is missing, which is required + to make the tests in configure work. The CPPFLAGS are needed to + get pthread support (some other CPPFLAGS may work too; if there + are problems, try -D_UNIX95_THREADS instead of -D_UNIX03_THREADS). + + test_scripts.sh in "make check" will fail even if the scripts + actually work because the test data includes compressed files + with US-ASCII text. + + No other tests should fail. If test_files.sh fails, check that + the included .xz test files weren't affected by EBCDIC conversion. + + XZ Utils doesn't have code to detect the amount of physical RAM and + number of CPU cores on z/OS. + + +1.3. Adding support for new platforms + + If you have written patches to make XZ Utils to work on previously + unsupported platform, please send the patches to me! I will consider + including them to the official version. It's nice to minimize the + need of third-party patching. + + One exception: Don't request or send patches to change the whole + source package to C89. I find C99 substantially nicer to write and + maintain. However, the public library headers must be in C89 to + avoid frustrating those who maintain programs, which are strictly + in C89 or C++. + + +2. configure and CMake options +------------------------------ + + In most cases, the defaults are what you want. Many of the options + below are useful only when building a size-optimized version of + liblzma or command line tools. + + configure options are those that begin with two dashes "--" + or "gl_". + + CMake options begin with "XZ_", "TUKLIB_", or "CMAKE_". To use + them on the command line, prefix them with "-D", for example, + "cmake -DCMAKE_COMPILE_WARNING_AS_ERROR=ON". + + CMAKE_BUILD_TYPE=TYPE + CMake only: + + For release builds, CMAKE_BUILD_TYPE=Release is fine. + On targets where CMake defaults to -O3, the default + value is overridden to -O2. + + Empty value (CMAKE_BUILD_TYPE=) is fine if using custom + optimization options. *In this package* the empty build + type also disables debugging code just like "Release" + does. To enable debugging code with empty build type, + use -UNDEBUG in the CFLAGS environment variable or in + the CMAKE_C_FLAGS CMake variable to override -DNDEBUG. + + Non-standard build types like "None" do NOT disable + debugging code! Such non-standard build types should + be avoided for production builds! + + --enable-encoders=LIST + --disable-encoders + XZ_ENCODERS=LIST + Specify a LIST of filter encoders to build. In the + configure option the list is comma separated. + CMake lists are semicolon separated. + + To see the exact list of available filter encoders: + + - Autotools: ./configure --help + + - CMake: Configure the tree normally first, then use + "cmake -LH ." to list the cache variables. + + The default is to build all supported encoders. + + If LIST is empty or --disable-encoders is used, no filter + encoders will be built and also the code shared between + encoders will be omitted. + + Disabling encoders will remove some symbols from the + liblzma ABI, so this option should be used only when it + is known to not cause problems. + + --enable-decoders=LIST + --disable-decoders + XZ_DECODERS=LIST + This is like --enable-encoders but for decoders. The + default is to build all supported decoders. + + --enable-match-finders=LIST + XZ_MATCH_FINDERS=LIST + liblzma includes two categories of match finders: + hash chains and binary trees. Hash chains (hc3 and hc4) + are quite fast but they don't provide the best compression + ratio. Binary trees (bt2, bt3 and bt4) give excellent + compression ratio, but they are slower and need more + memory than hash chains. + + You need to enable at least one match finder to build the + LZMA1 or LZMA2 filter encoders. Usually hash chains are + used only in the fast mode, while binary trees are used to + when the best compression ratio is wanted. + + The default is to build all the match finders if LZMA1 + or LZMA2 filter encoders are being built. + + --enable-checks=LIST + XZ_CHECKS=LIST + liblzma support multiple integrity checks. CRC32 is + mandatory, and cannot be omitted. Supported check + types are "crc32", "crc64", and "sha256". By default + all supported check types are enabled. + + liblzma and the command line tools can decompress files + which use unsupported integrity check type, but naturally + the file integrity cannot be verified in that case. + + Disabling integrity checks may remove some symbols from + the liblzma ABI, so this option should be used only when + it is known to not cause problems. + + --enable-external-sha256 + XZ_EXTERNAL_SHA256=ON + Try to use SHA-256 code from the operating system libc + or similar base system libraries. This doesn't try to + use OpenSSL or libgcrypt or such libraries. + + The reasons to use this option: + + - It makes liblzma slightly smaller. + + - It might improve SHA-256 speed if the implementation + in the operating is very good (but see below). + + External SHA-256 is disabled by default for two reasons: + + - On some operating systems the symbol names of the + SHA-256 functions conflict with OpenSSL's libcrypto. + This causes weird problems such as decompression + errors if an application is linked against both + liblzma and libcrypto. This problem affects at least + FreeBSD 10 and older and MINIX 3.3.0 and older, but + other OSes that provide a function "SHA256_Init" might + also be affected. FreeBSD 11 has the problem fixed. + NetBSD had the problem but it was fixed it in 2009 + already. OpenBSD uses "SHA256Init" and thus never had + a conflict with libcrypto. + + - The SHA-256 code in liblzma is faster than the SHA-256 + code provided by some operating systems. If you are + curious, build two copies of xz (internal and external + SHA-256) and compare the decompression (xz --test) + times: + + dd if=/dev/zero bs=1024k count=1024 \ + | xz -v -0 -Csha256 > foo.xz + time xz --test foo.xz + + --disable-microlzma + XZ_MICROLZMA_ENCODER=OFF + XZ_MICROLZMA_DECODER=OFF + Don't build MicroLZMA encoder and decoder. This omits + lzma_microlzma_encoder() and lzma_microlzma_decoder() + API functions from liblzma. These functions are needed + by specific applications only. They were written for + erofs-utils but they may be used by others too. + + --disable-lzip-decoder + XZ_LZIP_DECODER=OFF + Disable decompression support for .lz (lzip) files. + This omits the API function lzma_lzip_decoder() from + liblzma and .lz support from the xz tool. + + --disable-xz + --disable-xzdec + --disable-lzmadec + --disable-lzmainfo + XZ_TOOL_XZ=OFF + XZ_TOOL_XZDEC=OFF + XZ_TOOL_LZMADEC=OFF + XZ_TOOL_LZMAINFO=OFF + Don't build and install the command line tool mentioned + in the option name. + + NOTE: Disabling xz will skip some tests in "make check". + + NOTE: If xzdec is disabled and lzmadec is left enabled, + a dangling man page symlink lzmadec.1 -> xzdec.1 is + created. + + XZ_TOOL_SYMLINKS=OFF + Don't create the unxz and xzcat symlinks. (There is + no "configure" option to disable these symlinks.) + + --disable-lzma-links + XZ_TOOL_SYMLINKS_LZMA=OFF + Don't create symlinks for LZMA Utils compatibility. + This includes lzma, unlzma, and lzcat. If scripts are + installed, also lzdiff, lzcmp, lzgrep, lzegrep, lzfgrep, + lzmore, and lzless will be omitted if this option is used. + + --disable-scripts + XZ_TOOL_SCRIPTS=OFF + Don't install the scripts xzdiff, xzgrep, xzmore, xzless, + and their symlinks. + + --disable-doc + XZ_DOC=OFF + Don't install the documentation files to $docdir + (often /usr/doc/xz or /usr/local/doc/xz). Man pages + will still be installed. The $docdir can be changed + with --docdir=DIR. + + --enable-doxygen + XZ_DOXYGEN=ON + Enable generation of the HTML version of the liblzma API + documentation using Doxygen. The resulting files are + installed to $docdir/api. This option assumes that + the 'doxygen' tool is available. + + NOTE: --disable-doc or XZ_DOC=OFF don't affect this. + + --disable-assembler + XZ_ASM_I386=OFF + This disables CRC32 and CRC64 assembly code on + 32-bit x86. This option currently does nothing + on other architectures (not even on x86-64). + + The 32-bit x86 assembly is position-independent code + which is suitable for use in shared libraries and + position-independent executables. It uses only i386 + instructions but the code is optimized for i686 class + CPUs. If you are compiling liblzma exclusively for + pre-i686 systems, you may want to disable the assembler + code. + + The assembly code is compatible with only certain OSes + and toolchains (it's not compatible with MSVC). + + Since XZ Utils 5.7.1alpha, the 32-bit x86 assembly code + co-exists with the modern CLMUL code: CLMUL is used if + support for it is detected at runtime. On old processors + the assembly code is used. + + --disable-clmul-crc + XZ_CLMUL_CRC=OFF + Disable the use of carryless multiplication for CRC + calculation even if compiler support for it is detected. + The code uses runtime detection of SSSE3, SSE4.1, and + CLMUL instructions on x86. On 32-bit x86 this currently + is used only if --disable-assembler is used (this might + be fixed in the future). The code works on E2K too. + + If using compiler options that unconditionally allow the + required extensions (-msse4.1 -mpclmul) then runtime + detection isn't used and the generic code is omitted. + + --disable-arm64-crc32 + XZ_ARM64_CRC32=OFF + Disable the use of the ARM64 CRC32 instruction extension + even if compiler support for it is detected. The code will + detect support for the instruction at runtime. + + If using compiler options that unconditionally allow the + required extensions (-march=armv8-a+crc or -march=armv8.1-a + and later) then runtime detection isn't used and the + generic code is omitted. + + --disable-loongarch-crc32 + XZ_LOONGARCH_CRC32=OFF + Disable the use of the 64-bit LoongArch CRC32 + instruction extension even if compiler support for + it is detected. There is no runtime detection because + all 64-bit LoongArch processors should support + the CRC32 instructions. + + --enable-unaligned-access + TUKLIB_FAST_UNALIGNED_ACCESS=ON + Allow liblzma to use unaligned memory access for 16-bit, + 32-bit, and 64-bit loads and stores. This should be + enabled only when the hardware supports this, that is, + when unaligned access is fast. Some operating system + kernels emulate unaligned access, which is extremely + slow. This option shouldn't be used on systems that + rely on such emulation. + + Unaligned access is enabled by default on these: + - 32-bit x86 + - 64-bit x86-64 + - 32-bit big endian PowerPC + - 64-bit big endian PowerPC + - 64-bit little endian PowerPC + - some RISC-V [1] + - some 32-bit ARM [2] + - some 64-bit ARM64 [2] (NOTE: Autodetection bug + if using GCC -mstrict-align, see below.) + + [1] Unaligned access is enabled by default if + configure sees that the C compiler + #defines __riscv_misaligned_fast. + + [2] Unaligned access is enabled by default if + configure sees that the C compiler + #defines __ARM_FEATURE_UNALIGNED: + + - ARMv7 + GCC or Clang: It works. The options + -munaligned-access and -mno-unaligned-access + affect this macro correctly. + + - ARM64 + Clang: It works. The options + -munaligned-access, -mno-unaligned-access, + and -mstrict-align affect this macro correctly. + Clang >= 17 supports -mno-strict-align too. + + - ARM64 + GCC: It partially works. The macro + is always #defined by GCC versions at least + up to 13.2, even when using -mstrict-align. + If building for strict-align ARM64, the + configure option --disable-unaligned-access + should be used if using a GCC version that has + this issue because otherwise the performance + may be degraded. It likely won't crash due to + how unaligned access is done in the C code. + + --enable-unsafe-type-punning + TUKLIB_USE_UNSAFE_TYPE_PUNNING=ON + This enables use of code like + + uint8_t *buf8 = ...; + *(uint32_t *)buf8 = ...; + + which violates strict aliasing rules and may result + in broken code. There should be no need to use this + option with recent GCC or Clang versions on any + arch as just as fast code can be generated in a safe + way too (using __builtin_assume_aligned + memcpy). + + However, this option might improve performance in some + other cases, especially with old compilers (for example, + GCC 3 and early 4.x on x86, GCC < 6 on ARMv6 and ARMv7). + + --enable-small + XZ_SMALL=ON + Reduce the size of liblzma by selecting smaller but + semantically equivalent version of some functions, and + omit precomputed lookup tables. This option tends to + make liblzma slightly slower. + + Note that while omitting the precomputed tables makes + liblzma smaller on disk, the tables are still needed at + run time, and need to be computed at startup. This also + means that the RAM holding the tables won't be shared + between applications linked against shared liblzma. + + This option doesn't modify CFLAGS to tell the compiler + to optimize for size. You need to add -Os or equivalent + flag(s) to CFLAGS manually. + + --enable-assume-ram=SIZE + XZ_ASSUME_RAM=SIZE + On the most common operating systems, XZ Utils is able to + detect the amount of physical memory on the system. This + information is used by the options --memlimit-compress, + --memlimit-decompress, and --memlimit when setting the + limit to a percentage of total RAM. + + On some systems, there is no code to detect the amount of + RAM though. Using --enable-assume-ram one can set how much + memory to assume on these systems. SIZE is given as MiB. + The default is 128 MiB. + + Feel free to send patches to add support for detecting + the amount of RAM on the operating system you use. See + src/common/tuklib_physmem.c for details. + + --enable-threads=METHOD + XZ_THREADS=METHOD + Threading support is enabled by default so normally there + is no need to specify this option. + + Supported values for METHOD: + + yes Autodetect the threading method. If none + is found, configure will give an error. + + posix Use POSIX pthreads. This is the default + except on Windows outside Cygwin. + + win95 Use Windows 95 compatible threads. This + is compatible with Windows XP and later + too. This is the default for 32-bit x86 + Windows builds. Unless the compiler + supports __attribute__((__constructor__)), + the 'win95' threading is incompatible with + --enable-small. + + vista Use Windows Vista compatible threads. The + resulting binaries won't run on Windows XP + or older. This is the default for Windows + excluding 32-bit x86 builds (that is, on + x86-64 the default is 'vista'). + + no Disable threading support. This is the + same as using --disable-threads. + NOTE: If combined with --enable-small + and the compiler doesn't support + __attribute__((__constructor__)), the + resulting liblzma won't be thread safe, + that is, if a multi-threaded application + calls any liblzma functions from more than + one thread, something bad may happen. + + --enable-sandbox=METHOD + XZ_SANDBOX=METHOD + There is limited sandboxing support in the xz and xzdec + tools. If built with sandbox support, xz uses it + automatically when (de)compressing exactly one file to + standard output when the options --files or --files0 aren't + used. This is a common use case, for example, + (de)compressing .tar.xz files via GNU tar. The sandbox is + also used for single-file 'xz --test' or 'xz --list'. + xzdec always uses the sandbox, except when more than one + file are decompressed. In this case it will enable the + sandbox for the last file that is decompressed. + + Supported METHODs: + + auto Look for a supported sandboxing method + and use it if found. If no method is + found, then sandboxing isn't used. + This is the default. + + no Disable sandboxing support. + + capsicum + Use Capsicum (FreeBSD >= 10.2) for + sandboxing. If no Capsicum support + is found, configure will give an error. + + pledge Use pledge(2) (OpenBSD >= 5.9) for + sandboxing. If pledge(2) isn't found, + configure will give an error. + + landlock + Use Landlock (Linux >= 5.13) for + sandboxing. If no Landlock support + is found, configure will give an error. + + --enable-symbol-versions[=VARIANT] + XZ_SYMBOL_VERSIONING=VARIANT + Use symbol versioning for liblzma shared library. + This is enabled by default on GNU/Linux (glibc only), + other GNU-based systems, and FreeBSD. + + Symbol versioning is never used for static liblzma. This + option is ignored when not building a shared library. + + Supported VARIANTs: + + no Disable symbol versioning. This is the + same as using --disable-symbol-versions. + + auto Autodetect between "no", "linux", + and "generic". + + yes Autodetect between "linux" and + "generic". This forces symbol + versioning to be used when + building a shared library. + + generic Generic version is the default for + FreeBSD and GNU/Linux on MicroBlaze. + + This is also used on GNU/Linux when + building with NVIDIA HPC Compiler + because the compiler doesn't support + the features required for the "linux" + variant below. + + linux Special version for GNU/Linux (glibc + only). This adds a few extra symbol + versions for compatibility with binaries + that have been linked against a liblzma + version that has been patched with + "xz-5.2.2-compat-libs.patch" from + RHEL/CentOS 7. That patch was used + by some build tools outside of + RHEL/CentOS 7 too. + + --enable-debug + This enables the assert() macro and possibly some other + run-time consistency checks. It makes the code slower, so + you normally don't want to have this enabled. + + In CMake, the build type (CMAKE_BUILD_TYPE) controls if + -DNDEBUG is passed to the compiler. *In this package*, + an empty build type disables debugging code too. + Non-standard build types like "None" do NOT disable + debugging code! + + To enable debugging code with empty build type in CMake, + use -UNDEBUG in the CFLAGS environment variable or in + the CMAKE_C_FLAGS CMake variable to override -DNDEBUG. + + --enable-werror + CMAKE_COMPILE_WARNING_AS_ERROR=ON (CMake >= 3.24) + If building with GCC, make all compiler warnings an error, + that abort the compilation. This may help catching bugs, + and should work on most systems. This has no effect on the + resulting binaries. + + --enable-path-for-scripts=PREFIX + (CMake determines this from the path of XZ_POSIX_SHELL) + If PREFIX isn't empty, PATH=PREFIX:$PATH will be set in + the beginning of the scripts (xzgrep and others). + The default is empty except on Solaris the default is + /usr/xpg4/bin. + + This can be useful if the default PATH doesn't contain + modern POSIX tools (as can be the case on Solaris) or if + one wants to ensure that the correct xz binary is in the + PATH for the scripts. Note that the latter use can break + "make check" if the prefixed PATH causes a wrong xz binary + (other than the one that was just built) to be used. + + Older xz releases support a different method for setting + the PATH for the scripts. It is described in section 3.2 + and is supported in this xz version too. + + gl_cv_posix_shell=/path/to/bin/sh + XZ_POSIX_SHELL=/path/to/bin/sh + POSIX shell to use for xzgrep and other scripts. + + - configure should autodetect this well enough. + Typically it's /bin/sh but in some cases, like + Solaris, something else is used. + + - CMake build uses /bin/sh except on Solaris the + default is /usr/xpg4/bin/sh. + + CMAKE_DLL_NAME_WITH_SOVERSION=ON + CMake on native Windows (not Cygwin) only: + + This changes the filename liblzma.dll to liblzma-5.dll. + + The unversioned filename liblzma.dll has been used + since XZ Utils 5.0.0 when creating binary packages + using the included windows/build.bash. The same + unversioned filename is the default with CMake. + However, there are popular builds that, very + understandably and reasonably, use the versioned + filename produced by GNU Libtool. + + This option should usually be left to its default value + (OFF). It can be set to ON if the liblzma DLL filename + must be compatible with the versioned filename + produced by GNU Libtool. For example, binaries + distributed in MSYS2 use a versioned DLL filename. + + +2.1. Static vs. dynamic linking of liblzma + + On 32-bit x86, linking against static liblzma can give a minor + speed improvement. Static libraries on x86 are usually compiled as + position-dependent code (non-PIC) and shared libraries are built as + position-independent code (PIC). PIC wastes one register, which can + make the code slightly slower compared to a non-PIC version. (Note + that this doesn't apply to x86-64.) + + If you want to link xz against static liblzma, the simplest way + is to pass --disable-shared to configure. If you want also shared + liblzma, run configure again and run "make install" only for + src/liblzma. + + +2.2. Optimizing xzdec and lzmadec + + xzdec and lzmadec are intended to be relatively small instead of + optimizing for the best speed. Thus, it is a good idea to build + xzdec and lzmadec separately: + + - To link the tools against static liblzma, pass --disable-shared + to configure. + + - To select somewhat size-optimized variant of some things in + liblzma, pass --enable-small to configure. + + - Tell the compiler to optimize for size instead of speed. + For example, with GCC, put -Os into CFLAGS. + + - xzdec and lzmadec will never use multithreading capabilities of + liblzma. You can avoid dependency on libpthread by passing + --disable-threads to configure. + + - There are and will be no translated messages for xzdec and + lzmadec, so it is fine to pass also --disable-nls to configure. + + - Only decoder code is needed, so you can speed up the build + slightly by passing --disable-encoders to configure. This + shouldn't affect the final size of the executables though, + because the linker is able to omit the encoder code anyway. + + If you have no use for xzdec or lzmadec, you can disable them with + --disable-xzdec and --disable-lzmadec. + + +3. xzgrep and other scripts +--------------------------- + +3.1. Dependencies + + POSIX shell (sh) and bunch of other standard POSIX tools are required + to run the scripts. The configure script tries to find a POSIX + compliant sh, but if it fails, you can force the shell by passing + gl_cv_posix_shell=/path/to/posix-sh as an argument to the configure + script. + + xzdiff (xzcmp/lzdiff/lzcmp) may use mktemp if it is available. As + a fallback xzdiff will use mkdir to securely create a temporary + directory. Having mktemp available is still recommended since the + mkdir fallback method isn't as robust as mktemp is. The original + mktemp can be found from . On GNU, most will + use the mktemp program from GNU coreutils instead of the original + implementation. Both mktemp versions are fine. + + In addition to using xz to decompress .xz files, xzgrep and xzdiff + use gzip, bzip2, and lzop to support .gz, bz2, and .lzo files. + + +3.2. PATH + + The method described below is supported by older xz releases. + It is supported by the current version too, but the newer + --enable-path-for-scripts=PREFIX described in section 2 may be + more convenient. + + The scripts assume that the required tools (standard POSIX utilities, + mktemp, and xz) are in PATH; the scripts don't set the PATH themselves + (except as described for --enable-path-for-scripts=PREFIX). Some + people like this while some think this is a bug. Those in the latter + group can easily patch the scripts before running the configure script + by taking advantage of a placeholder line in the scripts. + + For example, to make the scripts prefix /usr/bin:/bin to PATH: + + perl -pi -e 's|^#SET_PATH.*$|PATH=/usr/bin:/bin:\$PATH|' \ + src/scripts/xz*.in + + +4. Tests +-------- + + The test framework can be built and run by executing "make check" in + the build directory. The tests are a mix of executables and POSIX + shell scripts (sh). All tests should pass if the default configuration + is used. Disabling features through the configure options may cause + some tests to be skipped. If any tests do not pass, see section 5.5. + + +4.1. Testing in parallel + + The tests can be run in parallel using the "-j" make option on systems + that support it. For instance, "make -j4 check" will run up to four + tests simultaneously. + + +4.2. Cross compiling + + The tests can be built without running them: + + make check TESTS= + + The TESTS variable is the list of tests you wish to run. Leaving it + empty will compile the tests without running any. + + If the tests are copied to a target machine to execute, the test data + files in the directory tests/files must also be copied. The tests + search for the data files using the environment variable $srcdir, + expecting to find the data files under $srcdir/files/. If $srcdir + isn't set then it defaults to the current directory. + + The shell script tests can be copied from the source directory to the + target machine to execute. In addition to the test files, these tests + will expect the following relative file paths to execute properly: + + ./create_compress_files + ../config.h + ../src/xz/xz + ../src/xzdec/xzdec + ../src/scripts/xzdiff + ../src/scripts/xzgrep + + +5. Troubleshooting +------------------ + +5.1. "No C99 compiler was found." + + You need a C99 compiler to build XZ Utils. If the configure script + cannot find a C99 compiler and you think you have such a compiler + installed, set the compiler command by passing CC=/path/to/c99 as + an argument to the configure script. + + If you get this error even when you think your compiler supports C99, + you can override the test by passing ac_cv_prog_cc_c99= as an argument + to the configure script. The test for C99 compiler is not perfect (and + it is not as easy to make it perfect as it sounds), so sometimes this + may be needed. You will get a compile error if your compiler doesn't + support enough C99. + + +5.2. "No POSIX conforming shell (sh) was found." + + xzgrep and other scripts need a shell that (roughly) conforms + to POSIX. The configure script tries to find such a shell. If + it fails, you can force the shell to be used by passing + gl_cv_posix_shell=/path/to/posix-sh as an argument to the configure + script. Alternatively you can omit the installation of scripts and + this error by passing --disable-scripts to configure. + + +5.3. configure works but build fails at crc32_x86.S + + The easy fix is to pass --disable-assembler to the configure script. + + The configure script determines if assembler code can be used by + looking at the configure triplet; there is currently no check if + the assembler code can actually be built. The x86 assembler + code should work on x86 GNU/Linux, *BSDs, Solaris, Darwin, MinGW, + Cygwin, and DJGPP. On other x86 systems, there may be problems and + the assembler code may need to be disabled with the configure option. + + If you get this error when building for x86-64, you have specified or + the configure script has misguessed your architecture. Pass the + correct configure triplet using the --build=CPU-COMPANY-SYSTEM option + (see INSTALL.generic). + + +5.4. Lots of warnings about symbol visibility + + On some systems where symbol visibility isn't supported, GCC may + still accept the visibility options and attributes, which will make + configure think that visibility is supported. This will result in + many compiler warnings. You can avoid the warnings by forcing the + visibility support off by passing gl_cv_cc_visibility=no as an + argument to the configure script. This has no effect on the + resulting binaries, but fewer warnings looks nicer and may allow + using --enable-werror. + + +5.5. "make check" fails + + If the other tests pass but test_scripts.sh fails, then the problem + is in the scripts in src/scripts. Comparing the contents of + tests/xzgrep_test_output to tests/xzgrep_expected_output might + give a good idea about problems in xzgrep. One possibility is that + some tools are missing from the current PATH or the tools lack + support for some POSIX features. This can happen at least on + Solaris where the tools in /bin may be ancient but good enough + tools are available in /usr/xpg4/bin or /usr/xpg6/bin. For possible + fixes, see --enable-path-for-scripts=PREFIX in section 2 and the + older alternative method described in section 3.2 of this file. + + If tests other than test_scripts.sh fail, a likely reason is that + libtool links the test programs against an installed version of + liblzma instead of the version that was just built. This is + obviously a bug which seems to happen on some platforms. + A workaround is to uninstall the old liblzma versions first. + + If the problem isn't any of those described above, then it's likely + a bug in XZ Utils or in the compiler. See the platform-specific + notes in this file for possible known problems. Please report + a bug if you cannot solve the problem. See README for contact + information. + + +5.6. liblzma.so (or similar) not found when running xz + + If you installed the package with "make install" and get an error + about liblzma.so (or a similarly named file) being missing, try + running "ldconfig" to update the run-time linker cache (if your + operating system has such a command). + diff --git a/src/native/external/xz/INSTALL.generic b/src/native/external/xz/INSTALL.generic new file mode 100644 index 00000000000000..8865734f81b136 --- /dev/null +++ b/src/native/external/xz/INSTALL.generic @@ -0,0 +1,368 @@ +Installation Instructions +************************* + + Copyright (C) 1994-1996, 1999-2002, 2004-2016 Free Software +Foundation, Inc. + + Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. This file is offered as-is, +without warranty of any kind. + +Basic Installation +================== + + Briefly, the shell command './configure && make && make install' +should configure, build, and install this package. The following +more-detailed instructions are generic; see the 'README' file for +instructions specific to this package. Some packages provide this +'INSTALL' file but do not implement all of the features documented +below. The lack of an optional feature in a given package is not +necessarily a bug. More recommendations for GNU packages can be found +in *note Makefile Conventions: (standards)Makefile Conventions. + + The 'configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a 'Makefile' in each directory of the package. +It may also create one or more '.h' files containing system-dependent +definitions. Finally, it creates a shell script 'config.status' that +you can run in the future to recreate the current configuration, and a +file 'config.log' containing compiler output (useful mainly for +debugging 'configure'). + + It can also use an optional file (typically called 'config.cache' and +enabled with '--cache-file=config.cache' or simply '-C') that saves the +results of its tests to speed up reconfiguring. Caching is disabled by +default to prevent problems with accidental use of stale cache files. + + If you need to do unusual things to compile the package, please try +to figure out how 'configure' could check whether to do them, and mail +diffs or instructions to the address given in the 'README' so they can +be considered for the next release. If you are using the cache, and at +some point 'config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file 'configure.ac' (or 'configure.in') is used to create +'configure' by a program called 'autoconf'. You need 'configure.ac' if +you want to change it or regenerate 'configure' using a newer version of +'autoconf'. + + The simplest way to compile this package is: + + 1. 'cd' to the directory containing the package's source code and type + './configure' to configure the package for your system. + + Running 'configure' might take a while. While running, it prints + some messages telling which features it is checking for. + + 2. Type 'make' to compile the package. + + 3. Optionally, type 'make check' to run any self-tests that come with + the package, generally using the just-built uninstalled binaries. + + 4. Type 'make install' to install the programs and any data files and + documentation. When installing into a prefix owned by root, it is + recommended that the package be configured and built as a regular + user, and only the 'make install' phase executed with root + privileges. + + 5. Optionally, type 'make installcheck' to repeat any self-tests, but + this time using the binaries in their final installed location. + This target does not install anything. Running this target as a + regular user, particularly if the prior 'make install' required + root privileges, verifies that the installation completed + correctly. + + 6. You can remove the program binaries and object files from the + source code directory by typing 'make clean'. To also remove the + files that 'configure' created (so you can compile the package for + a different kind of computer), type 'make distclean'. There is + also a 'make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + + 7. Often, you can also type 'make uninstall' to remove the installed + files again. In practice, not all packages have tested that + uninstallation works correctly, even though it is required by the + GNU Coding Standards. + + 8. Some packages, particularly those that use Automake, provide 'make + distcheck', which can by used by developers to test that all other + targets like 'make install' and 'make uninstall' work correctly. + This target is generally not run by end users. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the 'configure' script does not know about. Run './configure --help' +for details on some of the pertinent environment variables. + + You can give 'configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here is +an example: + + ./configure CC=c99 CFLAGS=-g LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you can use GNU 'make'. 'cd' to the +directory where you want the object files and executables to go and run +the 'configure' script. 'configure' automatically checks for the source +code in the directory that 'configure' is in and in '..'. This is known +as a "VPATH" build. + + With a non-GNU 'make', it is safer to compile the package for one +architecture at a time in the source code directory. After you have +installed the package for one architecture, use 'make distclean' before +reconfiguring for another architecture. + + On MacOS X 10.5 and later systems, you can create libraries and +executables that work on multiple system types--known as "fat" or +"universal" binaries--by specifying multiple '-arch' options to the +compiler but only a single '-arch' option to the preprocessor. Like +this: + + ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CPP="gcc -E" CXXCPP="g++ -E" + + This is not guaranteed to produce working output in all cases, you +may have to build one architecture at a time and combine the results +using the 'lipo' tool if you have problems. + +Installation Names +================== + + By default, 'make install' installs the package's commands under +'/usr/local/bin', include files under '/usr/local/include', etc. You +can specify an installation prefix other than '/usr/local' by giving +'configure' the option '--prefix=PREFIX', where PREFIX must be an +absolute file name. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +pass the option '--exec-prefix=PREFIX' to 'configure', the package uses +PREFIX as the prefix for installing programs and libraries. +Documentation and other data files still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like '--bindir=DIR' to specify different values for particular +kinds of files. Run 'configure --help' for a list of the directories +you can set and what kinds of files go in them. In general, the default +for these options is expressed in terms of '${prefix}', so that +specifying just '--prefix' will affect all of the other directory +specifications that were not explicitly provided. + + The most portable way to affect installation locations is to pass the +correct locations to 'configure'; however, many packages provide one or +both of the following shortcuts of passing variable assignments to the +'make install' command line to change installation locations without +having to reconfigure or recompile. + + The first method involves providing an override variable for each +affected directory. For example, 'make install +prefix=/alternate/directory' will choose an alternate location for all +directory configuration variables that were expressed in terms of +'${prefix}'. Any directories that were specified during 'configure', +but not in terms of '${prefix}', must each be overridden at install time +for the entire installation to be relocated. The approach of makefile +variable overrides for each directory variable is required by the GNU +Coding Standards, and ideally causes no recompilation. However, some +platforms have known limitations with the semantics of shared libraries +that end up requiring recompilation when using this method, particularly +noticeable in packages that use GNU Libtool. + + The second method involves providing the 'DESTDIR' variable. For +example, 'make install DESTDIR=/alternate/directory' will prepend +'/alternate/directory' before all installation names. The approach of +'DESTDIR' overrides is not required by the GNU Coding Standards, and +does not work on platforms that have drive letters. On the other hand, +it does better at avoiding recompilation issues, and works well even +when some directory options were not specified in terms of '${prefix}' +at 'configure' time. + +Optional Features +================= + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving 'configure' the +option '--program-prefix=PREFIX' or '--program-suffix=SUFFIX'. + + Some packages pay attention to '--enable-FEATURE' options to +'configure', where FEATURE indicates an optional part of the package. +They may also pay attention to '--with-PACKAGE' options, where PACKAGE +is something like 'gnu-as' or 'x' (for the X Window System). The +'README' should mention any '--enable-' and '--with-' options that the +package recognizes. + + For packages that use the X Window System, 'configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the 'configure' options '--x-includes=DIR' and +'--x-libraries=DIR' to specify their locations. + + Some packages offer the ability to configure how verbose the +execution of 'make' will be. For these packages, running './configure +--enable-silent-rules' sets the default to minimal output, which can be +overridden with 'make V=1'; while running './configure +--disable-silent-rules' sets the default to verbose, which can be +overridden with 'make V=0'. + +Particular systems +================== + + On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC +is not installed, it is recommended to use the following options in +order to use an ANSI C compiler: + + ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" + +and if that doesn't work, install pre-built binaries of GCC for HP-UX. + + HP-UX 'make' updates targets which have the same time stamps as their +prerequisites, which makes it generally unusable when shipped generated +files such as 'configure' are involved. Use GNU 'make' instead. + + On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot +parse its '' header file. The option '-nodtk' can be used as a +workaround. If GNU CC is not installed, it is therefore recommended to +try + + ./configure CC="cc" + +and if that doesn't work, try + + ./configure CC="cc -nodtk" + + On Solaris, don't put '/usr/ucb' early in your 'PATH'. This +directory contains several dysfunctional programs; working variants of +these programs are available in '/usr/bin'. So, if you need '/usr/ucb' +in your 'PATH', put it _after_ '/usr/bin'. + + On Haiku, software installed for all users goes in '/boot/common', +not '/usr/local'. It is recommended to use the following options: + + ./configure --prefix=/boot/common + +Specifying the System Type +========================== + + There may be some features 'configure' cannot figure out +automatically, but needs to determine by the type of machine the package +will run on. Usually, assuming the package is built to be run on the +_same_ architectures, 'configure' can figure that out, but if it prints +a message saying it cannot guess the machine type, give it the +'--build=TYPE' option. TYPE can either be a short name for the system +type, such as 'sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS + KERNEL-OS + + See the file 'config.sub' for the possible values of each field. If +'config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the option '--target=TYPE' to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with '--host=TYPE'. + +Sharing Defaults +================ + + If you want to set default values for 'configure' scripts to share, +you can create a site shell script called 'config.site' that gives +default values for variables like 'CC', 'cache_file', and 'prefix'. +'configure' looks for 'PREFIX/share/config.site' if it exists, then +'PREFIX/etc/config.site' if it exists. Or, you can set the +'CONFIG_SITE' environment variable to the location of the site script. +A warning: not all 'configure' scripts look for a site script. + +Defining Variables +================== + + Variables not defined in a site shell script can be set in the +environment passed to 'configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the 'configure' command line, using 'VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +causes the specified 'gcc' to be used as the C compiler (unless it is +overridden in the site shell script). + +Unfortunately, this technique does not work for 'CONFIG_SHELL' due to an +Autoconf limitation. Until the limitation is lifted, you can use this +workaround: + + CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash + +'configure' Invocation +====================== + + 'configure' recognizes the following options to control how it +operates. + +'--help' +'-h' + Print a summary of all of the options to 'configure', and exit. + +'--help=short' +'--help=recursive' + Print a summary of the options unique to this package's + 'configure', and exit. The 'short' variant lists options used only + in the top level, while the 'recursive' variant lists options also + present in any nested packages. + +'--version' +'-V' + Print the version of Autoconf used to generate the 'configure' + script, and exit. + +'--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally 'config.cache'. FILE defaults to '/dev/null' to + disable caching. + +'--config-cache' +'-C' + Alias for '--cache-file=config.cache'. + +'--quiet' +'--silent' +'-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to '/dev/null' (any error + messages will still be shown). + +'--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + 'configure' can determine that directory automatically. + +'--prefix=DIR' + Use DIR as the installation prefix. *note Installation Names:: for + more details, including other options available for fine-tuning the + installation locations. + +'--no-create' +'-n' + Run the configure checks, but stop before creating any output + files. + +'configure' also accepts some other, not widely useful, options. Run +'configure --help' for more details. diff --git a/src/native/external/xz/Makefile.am b/src/native/external/xz/Makefile.am new file mode 100644 index 00000000000000..fc54f477e1f83c --- /dev/null +++ b/src/native/external/xz/Makefile.am @@ -0,0 +1,123 @@ +## SPDX-License-Identifier: 0BSD +## Author: Lasse Collin + +# Use -n to prevent gzip from adding a timestamp to the .gz headers. +GZIP_ENV = -9n + +DIST_SUBDIRS = lib src po tests debug +SUBDIRS = + +if COND_GNULIB +SUBDIRS += lib +endif + +SUBDIRS += src po tests + +if COND_DOC +dist_doc_DATA = \ + AUTHORS \ + COPYING \ + COPYING.0BSD \ + COPYING.GPLv2 \ + NEWS \ + README \ + THANKS \ + doc/faq.txt \ + doc/history.txt \ + doc/xz-file-format.txt \ + doc/lzma-file-format.txt + +examplesdir = $(docdir)/examples +dist_examples_DATA = \ + doc/examples/00_README.txt \ + doc/examples/01_compress_easy.c \ + doc/examples/02_decompress.c \ + doc/examples/03_compress_custom.c \ + doc/examples/04_compress_easy_mt.c \ + doc/examples/11_file_info.c \ + doc/examples/Makefile +endif + +EXTRA_DIST = \ + cmake \ + dos \ + doxygen \ + extra \ + po4a \ + windows \ + CMakeLists.txt \ + COPYING.GPLv2 \ + COPYING.GPLv3 \ + COPYING.LGPLv2.1 \ + INSTALL.generic \ + PACKAGERS \ + TODO \ + autogen.sh \ + build-aux/license-check.sh \ + build-aux/manconv.sh \ + build-aux/version.sh \ + po/xz.pot-header + +ACLOCAL_AMFLAGS = -I m4 + +# List of man pages to convert to plain text in the dist-hook target +# or to PDF in the pdf-local target. +manfiles = \ + src/xz/xz.1 \ + src/xzdec/xzdec.1 \ + src/lzmainfo/lzmainfo.1 \ + src/scripts/xzdiff.1 \ + src/scripts/xzgrep.1 \ + src/scripts/xzless.1 \ + src/scripts/xzmore.1 + +# Create ChangeLog using "git log". +# Convert the man pages to plain text (ASCII only) format. +dist-hook: + if test -d "$(srcdir)/.git" && type git > /dev/null 2>&1; then \ + ( cd "$(srcdir)" && git log --pretty=medium --date=iso --stat \ + b69da6d4bb6bb11fc0cf066920791990d2b22a06^..HEAD ) \ + > "$(distdir)/ChangeLog"; \ + fi + if type groff > /dev/null 2>&1; then \ + dest="$(distdir)/doc/man" && \ + $(MKDIR_P) "$$dest/txt" && \ + for FILE in $(manfiles); do \ + BASE=`basename $$FILE .1` && \ + $(SHELL) "$(srcdir)/build-aux/manconv.sh" ascii \ + < "$(srcdir)/$$FILE" \ + > "$$dest/txt/$$BASE.txt"; \ + done; \ + fi + cd "$(distdir)" && $(SHELL) "build-aux/license-check.sh" + +# This works with GNU tar and gives cleaner package than normal 'make dist'. +# This also ensures that the translations are up to date (dist-hook +# would be too late for that). +mydist: + $(SHELL) "$(srcdir)/src/liblzma/validate_map.sh" + cd po && $(MAKE) xz.pot-update + cd "$(srcdir)/po4a" && $(SHELL) update-po + VERSION=$(VERSION); \ + if test -d "$(srcdir)/.git" && type git > /dev/null 2>&1; then \ + $(SHELL) "$(srcdir)/build-aux/license-check.sh" || exit 1; \ + SNAPSHOT=`cd "$(srcdir)" && git describe --abbrev=8 | cut -b2-`; \ + test -n "$$SNAPSHOT" && VERSION=$$SNAPSHOT; \ + fi; \ + TAR_OPTIONS='--owner=0 --group=0 --numeric-owner --mode=u+rw,go+r-w --sort=name' \ + LC_COLLATE=C \ + $(MAKE) VERSION="$$VERSION" dist-gzip + +# NOTE: This only creates the PDFs. The install rules are missing. +pdf-local: + dest="doc/man" && \ + $(MKDIR_P) "$$dest/pdf-a4" "$$dest/pdf-letter" && \ + for FILE in $(manfiles); do \ + BASE=`basename $$FILE .1` && \ + $(SHELL) "$(srcdir)/build-aux/manconv.sh" pdf a4 \ + < "$(srcdir)/$$FILE" \ + > "$$dest/pdf-a4/$$BASE-a4.pdf" && \ + $(SHELL) "$(srcdir)/build-aux/manconv.sh" pdf letter \ + < "$(srcdir)/$$FILE" \ + > "$$dest/pdf-letter/$$BASE-letter.pdf"; \ + done diff --git a/src/native/external/xz/NEWS b/src/native/external/xz/NEWS new file mode 100644 index 00000000000000..73ff8558da08fc --- /dev/null +++ b/src/native/external/xz/NEWS @@ -0,0 +1,2992 @@ + +XZ Utils Release Notes +====================== + +5.8.2 (2025-12-17) + + * liblzma: + + - Fix the build on ARM64 on glibc versions older than + 2.24 (2016). They don't have HWCAP_CRC32 in . + + - Disable CLMUL CRC code when building for 32-bit x86 with + old MSVC versions. This avoids a compiler bug. The exact + compiler version in which the issue was fixed is unknown, + but VS 2022 17.13 (MSVC 19.43.34808) is known to work, so + CLMUL CRC on 32-bit x86 is disabled with MSVC versions + older than that. + + * xz: + + - Add a workaround for Red Hat Enterprise Linux 9 kernel bug + which made xz fail with "xz: Failed to enable the sandbox". + It only occurs with xz 5.8.0 and 5.8.1 binaries built for + other distros. For example, running Debian 13 in a container + on RHEL/CentOS 9 would trigger the issue. + + The bug was introduced in RHEL 9 kernel 5.14.0-603.el9 + (2025-07-30) and fixed in 5.14.0-648.el9 (2025-12-05). + However, as of writing, the fixed kernel isn't available + to RHEL 9 users yet, so including the workaround in this + xz release seems reasonable. The workaround will be removed + when it's no longer needed. + + xzdec was also affected by this issue. + + - On AIX, don't use fsync() on directories because it fails. + + - Fix the build on Emscripten. + + - Fix the build on clang-cl on Windows. + + - Take resource limits (RLIMIT_DATA, RLIMIT_AS, and RLIMIT_VMEM) + into account when determining the default memory usage limit + for multithreaded mode. This should prevent xz from failing + when a resource limit has been set to a value that is less + than 1/4 of total RAM. Other memory limits can still trigger + the same issue, for example, Linux cgroup v2 memory.max. + + * Build systems: + + - When symbol versioning is enabled, pass --undefined-version + to the linker if the option is supported. This fixes the + build when using LLVM's lld and some liblzma features have + been disabled at build time. + + - ARM64: Fix autodetection of fast unaligned memory access when + using GCC and -mstrict-align is in effect. Previously the + build systems would incorrectly guess that unaligned access + is fast, which would result in much slower binaries than + needed. The fix is a workaround for GCC bug 111555; + autodetection already worked with Clang. + + - LoongArch: Autodetect if fast unaligned memory access is + supported. This can improve compression speed by 15 % (but + not decompression speed). + + * Translations: + + - Update the Spanish translation. + + - Add Swedish man page translations. + + - Update Italian, Korean, Romanian, Serbian, and Ukrainian + man page translations. + + +5.8.1 (2025-04-03) + + IMPORTANT: This includes a security fix for CVE-2025-31115 which + affects XZ Utils from 5.3.3alpha to 5.8.0. No new 5.4.x or 5.6.x + releases will be made, but the fix is in the v5.4 and v5.6 branches + in the xz Git repository. A standalone patch for all affected + versions is available as well. + + * Multithreaded .xz decoder (lzma_stream_decoder_mt()): + + - Fix a bug that could at least result in a crash with + invalid input. (CVE-2025-31115) + + - Fix a performance bug: Only one thread was used if the whole + input file was provided at once to lzma_code(), the output + buffer was big enough, timeout was disabled, and LZMA_FINISH + was used. There are no bug reports about this, thus it's + possible that no real-world application was affected. + + * Avoid even with C11/C17 compilers. This fixes the + build with Oracle Developer Studio 12.6 on Solaris 10 when the + compiler is in C11 mode (the header doesn't exist). + + * Autotools: Restore compatibility with GNU make versions older + than 4.0 by creating the package using GNU gettext 0.23.1 + infrastructure instead of 0.24. + + * Update Croatian translation. + + +5.8.0 (2025-03-25) + + This bumps the minor version of liblzma because new features were + added. The API and ABI are still backward compatible with liblzma + 5.6.x, 5.4.x, 5.2.x, and 5.0.x. + + * liblzma on 32/64-bit x86: When possible, use SSE2 intrinsics + instead of memcpy() in the LZMA/LZMA2 decoder. In typical cases, + this may reduce decompression time by 0-5 %. However, when built + against musl libc, over 15 % time reduction was observed with + highly compressed files. + + * CMake: Make the feature test macros match the Autotools-based + build on NetBSD, Darwin, and mingw-w64. + + * Update the Croatian, Italian, Portuguese, and Romanian + translations. + + * Update the German, Italian, Korean, Romanian, Serbian, and + Ukrainian man page translations. + + Summary of changes in the 5.7.x development releases: + + * Mark the following LZMA Utils script aliases as deprecated: + lzcmp, lzdiff, lzless, lzmore, lzgrep, lzegrep, and lzfgrep. + + * liblzma: + + - Improve LZMA/LZMA2 encoder speed on 64-bit PowerPC (both + endiannesses) and those 64-bit RISC-V processors that + support fast unaligned access. + + - Add low-level APIs for RISC-V, ARM64, and x86 BCJ filters + to lzma/bcj.h. These are primarily for erofs-utils. + + - x86/x86-64/E2K CLMUL CRC code was rewritten. + + - Use the CRC32 instructions on LoongArch. + + * xz: + + - Synchronize the output file and its directory using fsync() + before deleting the input file. No syncing is done when xz + isn't going to delete the input file. + + - Add --no-sync to disable the sync-before-delete behavior. + + - Make --single-stream imply --keep. + + * xz, xzdec, lzmainfo: When printing messages, replace + non-printable characters with question marks. + + * xz and xzdec on Linux: Support Landlock ABI versions 5 and 6. + + * CMake: Revise the configuration variables and some of their + options, and document them in the file INSTALL. CMake support + is no longer experimental. (It was already not experimental + when building for native Windows.) + + * Add build-aux/license-check.sh. + + +5.7.2beta (2025-03-08) + + * On the man pages, mark the following LZMA Utils script aliases as + deprecated: lzcmp, lzdiff, lzless, lzmore, lzgrep, lzegrep, and + lzfgrep. The commands that start with xz* instead of lz* have + identical behavior. + + The LZMA Utils aliases lzma, unlzma, and lzcat aren't deprecated + because some of these aliases are still in common use. lzmadec + and lzmainfo aren't deprecated either. + + * xz: In the ENVIRONMENT section of the man page, warn about + problems that some uses of XZ_DEFAULTS and XZ_OPT may create. + + * Windows (native builds, not Cygwin): In xz, xzdec, and lzmadec, + avoid an error message on broken pipe. + + * Autotools: Fix out-of-tree builds when using the bundled + getopt_long. + + * Translations: + + - Updated: Chinese (traditional), Croatian, Finnish, Georgian, + German, Korean, Polish, Romanian, Serbian, Spanish, Swedish, + Turkish, and Ukrainian + + - Added: Dutch + + * Man page translations: + + - Updated: German, Korean, Romanian, and Ukrainian + + - Added: Italian and Serbian + + +5.7.1alpha (2025-01-23) + + * All fixes from 5.6.4. + + * liblzma: + + - Improve LZMA/LZMA2 encoder speed on 64-bit PowerPC (both + endiannesses) and those 64-bit RISC-V processors that + support fast unaligned access. + + - x86/x86-64/E2K CLMUL CRC code was rewritten. It's faster and + doesn't cause false positives from sanitizers. Attributes + like __attribute__((__no_sanitize_address__)) are no longer + present. + + - On 32-bit x86, CLMUL CRC and the old (but still good) + assembly versions now co-exist with runtime detection. + Both Autotools and CMake build systems handle this + automatically now. + + - Use the CRC32 instructions on LoongArch to make CRC32 + calculation faster. + + - Add low-level APIs for RISC-V, ARM64, and x86 BCJ filters + to lzma/bcj.h. These are primarily for erofs-utils. + + - Minor tweaks to ARM64 CRC32 code and BCJ filters were made. + + * xz: + + - Synchronize the output file and its directory before deleting + the input file using fsync(). This reduces the probability of + data loss after a system crash. However, it can be a major + performance hit if processing many small files. + + NOTE: No syncing is done when xz isn't going to delete + the input file. + + - Add a new option --no-sync to disable the sync-before-delete + behavior. It's useful when compressing many small files and + one doesn't worry about data loss in case of a system crash. + + - Make --single-stream imply --keep. + + - Use automatic word wrapping for the text in --help and + similar situations to hopefully make the strings easier for + majority of translators (no need to count spaces anymore). + + * xz, xzdec, lzmainfo: When printing messages, replace + non-printable characters with question marks. This way + malicious filenames cannot be used to send escape sequences + to a terminal. This change is also applied to filenames shown + in "xz --robot --list". + + * xz and xzdec on Linux: Add support for Landlock ABI versions 5 + and 6. + + * CMake updates: + + - Increase the minimum required CMake version to 3.20. + + - Revise the configuration variables and some of their options. + Document them in the file INSTALL. + + - Attempt to produce liblzma.pc so that the paths are based on + ${prefix}, which makes it simpler to override the paths + if the liblzma files have been moved. + + - To enable translations, gettext-tools is now required. The + CMake build no longer supports installing pre-compiled + message catalog binary files (po/*.gmo). + + - Apple: Use Mach-O shared library versioning that is + compatible with GNU Libtool. This should make it easier to + switch between the build systems on Apple OSes that enforce + the correct compatibility_version (macOS >= 12 doesn't?). + This change is backward compatible: binaries linked against + old CMake-built liblzma will run with liblzma that uses + Libtool style versioning. + + - Windows (not Cygwin): Document CMAKE_DLL_NAME_WITH_SOVERSION + (CMake >= 3.27) in the file INSTALL. This option should + usually be left to its default value (OFF). It can be set + to ON if the liblzma DLL filename must be compatible with + the versioned filename produced by GNU Libtool. For example, + binaries distributed in MSYS2 use a versioned DLL filename. + + - CMake support is no longer experimental. (It was already + not experimental when building for native Windows.) + + * Windows: Building liblzma with Visual Studio 2013 is no longer + supported. Visual Studio 2015 or later (with CMake) can be used + to build liblzma and the command line tools. + + * Add preliminary Georgian translation. This already contains + translations of most of the strings that are now automatically + word wrapped. + + * Add build-aux/license-check.sh. Without arguments, it checks that + no license information has been forgotten. With the -v argument, + it shows the license info (or the lack of it) for each file. + + If the .git directory is available, only the files in the + repository are checked. Without the .git directory, a clean tree + from an extracted release tarball is expected. + + +5.6.4 (2025-01-23) + + * liblzma: Fix LZMA/LZMA2 encoder on big endian ARM64. + + * xz: + + - Fix --filters= and --filters1= ... --filters9= options + parsing. They require an argument, thus "xz --filters lzma2" + should work in addition to "xz --filters=lzma2". + + - On the man page, note in the --compress and --decompress + options that the default behavior is to delete the input + file unless writing to standard output. It was already + documented in the DESCRIPTION section but new users in + a hurry might miss it. + + * Windows (native builds, not Cygwin): Fix regressions introduced + in XZ Utils 5.6.3 which caused non-ASCII characters to display + incorrectly. Only builds with translation support were affected + (--enable-nls or ENABLE_NLS=ON). The following changes affect + builds that have translations enabled: + + - Require UCRT because MSVCRT doesn't support UTF-8 + locales and thus translations won't be readable on + Windows 10 version 1903 and later. (MSVCRT builds + are still possible with --disable-nls or ENABLE_NLS=OFF.) + + - Require gettext-runtime >= 0.23.1 because older versions + don't autodetect the use of the UTF-8 code page. This + resulted in garbled non-ASCII characters even with UCRT. + + - Partially fix alignment issues in xz --verbose --list + with translated messages. Chinese (simplified), + Chinese (traditional), and Korean column headings + are misaligned still because Windows and MinGW-w64 + don't provide wcwidth() and XZ Utils doesn't include + a replacement function either. + + * CMake: Explicitly disable unity builds. This prevents build + failures when another project uses XZ Utils via CMake's + FetchContent module, and that project enables unity builds. + + * Update Chinese (traditional) and Serbian translations. + + +5.6.3 (2024-10-01) + + IMPORTANT: This includes a Windows-specific security fix to + the command line tools (CVE-2024-47611). liblzma isn't affected + by this issue. + + * liblzma: + + - Fix x86-64 inline assembly compatibility with GNU Binutils + older than 2.27. + + - Fix the build with GCC 4.2 on OpenBSD/sparc64. + + * xzdec: Display an error instead of failing silently if the + unsupported option -M is specified. + + * lzmainfo: Fix integer overflows when rounding the dictionary and + uncompressed sizes to the nearest mebibyte. + + * Windows (except Cygwin and MSYS2): Add an application manifest to + xz, xzdec, lzmadec, and lzmainfo executables: + + - Declare them compatible with Vista/7/8/8.1/10/11. This way + the programs won't needlessly use Operating System Context + of Vista when running on later Windows versions. This setting + doesn't mean that the executables cannot run on even older + versions if otherwise built that way. + + - Declare them as UAC-compliant. MSVC added this by default + already but it wasn't done with MinGW-w64, at least not + with all toolchain variants. + + - Declare them long path aware. This makes long path names + work on Windows 10 and 11 if the feature has been enabled + in the Windows registry. + + - Use the UTF-8 code page on Windows 10 version 1903 and later. + + * Now command line tools can access files whose names + contain characters that don't exist in the current + legacy code page. + + * The options --files and --files0 now expect file lists + to be in UTF-8 instead of the legacy code page. + + * This fixes a security issue: If a command line contains + Unicode characters (for example, filenames) that don't + exist in the current legacy code page, the characters are + converted to similar-looking characters with best-fit + mapping. Some best-fit mappings result in ASCII + characters that change the meaning of the command line, + which can be exploited with malicious filenames to do + argument injection or directory traversal attacks. + UTF-8 avoids best-fit mappings and thus fixes the issue. + (CVE-2024-47611) + + Forcing the process code page to UTF-8 is possible only + on Windows 10 version 1903 and later. The command line + tools remain vulnerable if used on an old older + version of Windows. + + This issue was discovered by Orange Tsai and splitline + from DEVCORE Research Team. + + A related smaller issue remains: Windows filenames may + contain unpaired surrogates (invalid UTF-16). These are + converted to the replacement character U+FFFD in the + UTF-8 code page. Thus, filenames with different unpaired + surrogates appear identical and aren't distinguishable + from filenames that contain the actual replacement + character U+FFFD. + + * When building with MinGW-w64, it is recommended to use + UCRT version instead of the old MSVCRT. For example, + non-ASCII characters from filenames won't print + correctly in messages to console with MSVCRT with + the UTF-8 code page (a cosmetic issue). liblzma-only + builds are still fine with MSVCRT. + + - Cygwin and MSYS2 process command line options differently and + the above issues don't exist. There is no need to replace the + default application manifest on Cygwin and MSYS2. + + * Autotools-based build: + + - Fix feature checks with link-time optimization (-flto). + + - Solaris: Fix a compatibility issue in version.sh. It matters + if one wants to regenerate configure by running autoconf. + + * CMake: + + - Use paths relative to ${prefix} in liblzma.pc when possible. + This is done only with CMake >= 3.20. + + - MSVC: Install liblzma.pc as it can be useful with MSVC too. + + - Windows: Fix liblzma filename prefix, for example: + + * Cygwin: The DLL was incorrectly named liblzma-5.dll. + Now it is cyglzma-5.dll. + + * MSVC: Rename import library from liblzma.lib to lzma.lib + while keeping liblzma.dll name as is. This helps with + "pkgconf --msvc-syntax --libs liblzma" because it mungles + "-llzma" in liblzma.pc to "lzma.lib". + + * MinGW-w64: No changes. + + - Windows: Use the correct resource file for lzmadec.exe. + Previously the resource file for xzdec.exe was used for both. + Autotools-based build isn't affected. + + - Prefer a C11 compiler over a C99 compiler but accept both. + + - Link Threads::Threads against liblzma using PRIVATE so that + -pthread and such flags won't unnecessarily get included in + the usage requirements of shared liblzma. That is, + target_link_libraries(foo PRIVATE liblzma::liblzma) no + longer adds -pthread if using POSIX threads and linking + against shared liblzma. The threading flags are still added + if linking against static liblzma. + + * Updated translations: Catalan, Chinese (simplified), and + Brazilian Portuguese. + + +5.6.2 (2024-05-29) + + * Remove the backdoor (CVE-2024-3094). + + * Not changed: Memory sanitizer (MSAN) has a false positive + in the CRC CLMUL code which also makes OSS Fuzz unhappy. + Valgrind is smarter and doesn't complain. + + A revision to the CLMUL code is coming anyway and this issue + will be cleaned up as part of it. It won't be backported to + 5.6.x or 5.4.x because the old code isn't wrong. There is + no reason to risk introducing regressions in old branches + just to silence a false positive. + + * liblzma: + + - lzma_index_decoder() and lzma_index_buffer_decode(): Fix + a missing output pointer initialization (*i = NULL) if the + functions are called with invalid arguments. The API docs + say that such an initialization is always done. In practice + this matters very little because the problem can only occur + if the calling application has a bug and these functions + return LZMA_PROG_ERROR. + + - lzma_str_to_filters(): Fix a missing output pointer + initialization (*error_pos = 0). This is very similar + to the fix above. + + - Fix C standard conformance with function pointer types. + + - Remove GNU indirect function (IFUNC) support. This is *NOT* + done for security reasons even though the backdoor relied on + this code. The performance benefits of IFUNC are too tiny in + this project to make the extra complexity worth it. + + - FreeBSD on ARM64: Add error checking to CRC32 instruction + support detection. + + - Fix building with NVIDIA HPC SDK. + + * xz: + + - Fix a C standard conformance issue in --block-list parsing + (arithmetic on a null pointer). + + - Fix a warning from GNU groff when processing the man page: + "warning: cannot select font 'CW'" + + * xzdec: Add support for Linux Landlock ABI version 4. xz already + had the v3-to-v4 change but it had been forgotten from xzdec. + + * Autotools-based build system (configure): + + - Symbol versioning variant can now be overridden with + --enable-symbol-versions. Documentation in INSTALL was + updated to match. + + - Add new configure option --enable-doxygen to enable + generation and installation of the liblzma API documentation + using Doxygen. Documentation in INSTALL and PACKAGERS was + updated to match. + + CMake: + + - Fix detection of Linux Landlock support. The detection code + in CMakeLists.txt had been sabotaged. + + - Disable symbol versioning on non-glibc Linux to match what + the Autotools build does. For example, symbol versioning + isn't enabled with musl. + + - Symbol versioning variant can now be overridden by setting + SYMBOL_VERSIONING to "OFF", "generic", or "linux". + + - Add support for all tests in typical build configurations. + Now the only difference to the tests coverage to Autotools + is that CMake-based build will skip more tests if features + are disabled. Such builds are only for special cases like + embedded systems. + + - Separate the CMake code for the tests into tests/tests.cmake. + It is used conditionally, thus it is possible to + + rm -rf tests + + and the CMake-based build will still work normally except + that no tests are then available. + + - Add a option ENABLE_DOXYGEN to enable generation and + installation of the liblzma API documentation using Doxygen. + + * Documentation: + + - Omit the Doxygen-generated liblzma API documentation from the + package. Instead, the generation and installation of the API + docs can be enabled with a configure or CMake option if + Doxygen is available. + + - Remove the XZ logo which was used in the API documentation. + The logo has been retired and isn't used by the project + anymore. However, it's OK to use it in contexts that refer + to the backdoor incident. + + - Remove the PDF versions of the man pages from the source + package. These existed primarily for users of operating + systems which don't come with tools to render man page + source files. The plain text versions are still included + in doc/man/txt. PDF files can still be generated to doc/man, + if the required tools are available, using "make pdf" after + running "configure". + + - Update home page URLs back to their old locations on + tukaani.org. + + - Update maintainer info. + + * Tests: + + - In tests/files/README, explain how to recreate the ARM64 + test files. + + - Remove two tests that used tiny x86 and SPARC object files + as the input files. The matching .c file was included but + the object files aren't easy to reproduce. The test cases + weren't great anyway; they were from the early days (2009) + of the project when the test suite had very few tests. + + - Improve a few tests. + + +5.6.1 (2024-03-09) + + IMPORTANT: This fixed bugs in the backdoor (CVE-2024-3094) (someone + had forgot to run Valgrind). + + * liblzma: Fixed two bugs relating to GNU indirect function (IFUNC) + with GCC. The more serious bug caused a program linked with + liblzma to crash on start up if the flag -fprofile-generate was + used to build liblzma. The second bug caused liblzma to falsely + report an invalid write to Valgrind when loading liblzma. + + * xz: Changed the messages for thread reduction due to memory + constraints to only appear under the highest verbosity level. + + * Build: + + - Fixed a build issue when the header file + was present on the system but the Landlock system calls were + not defined in . + + - The CMake build now warns and disables NLS if both gettext + tools and pre-created .gmo files are missing. Previously, + this caused the CMake build to fail. + + * Minor improvements to man pages. + + * Minor improvements to tests. + + +5.6.0 (2024-02-24) + + IMPORTANT: This added a backdoor (CVE-2024-3094). It's enabled only + in the release tarballs. + + This bumps the minor version of liblzma because new features were + added. The API and ABI are still backward compatible with liblzma + 5.4.x and 5.2.x and 5.0.x. + + NOTE: As described in the NEWS for 5.5.2beta, the core components + are now under the BSD Zero Clause License (0BSD). + + Since 5.5.2beta: + + * liblzma: + + - Disabled the branchless C variant in the LZMA decoder based + on the benchmark results from the community. + + - Disabled x86-64 inline assembly on x32 to fix the build. + + * Sandboxing support in xz: + + - Landlock is now used even when xz needs to create files. + In this case the sandbox has to be more permissive than + when no files need to be created. A similar thing was + already in use with pledge(2) since 5.3.4alpha. + + - Landlock and pledge(2) are now stricter when reading from + more than one input file and only writing to standard output. + + - Added support for Landlock ABI version 4. + + * CMake: + + - Default to -O2 instead of -O3 with CMAKE_BUILD_TYPE=Release. + -O3 is not useful for speed and makes the code larger. + + - Now builds lzmainfo and lzmadec. + + - xzdiff, xzgrep, xzless, xzmore, and their symlinks are now + installed. The scripts are also tested during "make test". + + - Added translation support for xz, lzmainfo, and the + man pages. + + - Applied the symbol versioning workaround for MicroBlaze that + is used in the Autotools build. + + - The general XZ Utils and liblzma API documentation is now + installed. + + - The CMake component names were changed a little and several + were added. liblzma_Runtime and liblzma_Development are + unchanged. + + - Minimum required CMake version is now 3.14. However, + translation support is disabled with CMake versions + older than 3.20. + + - The CMake-based build is now close to feature parity with the + Autotools-based build. Most importantly a few tests aren't + run yet. Testing the CMake-based build on different operating + systems would be welcome now. See the comment at the top of + CMakeLists.txt. + + * Fixed a bug in the Autotools feature test for ARM64 CRC32 + instruction support for old versions of Clang. This did not + affect the CMake build. + + * Windows: + + - The build instructions in INSTALL and windows/INSTALL*.txt + were revised completely. + + - windows/build-with-cmake.bat along with the instructions + in windows/INSTALL-MinGW-w64_with_CMake.txt should make + it very easy to build liblzma.dll and xz.exe on Windows + using CMake and MinGW-w64 with either GCC or Clang/LLVM. + + - windows/build.bash was updated. It now works on MSYS2 and + on GNU/Linux (cross-compiling) to create a .zip and .7z + package for 32-bit and 64-bit x86 using GCC + MinGW-w64. + + * The TODO file is no longer installed as part of the + documentation. The file is out of date and does not reflect + the actual tasks that will be completed in the future. + + * Translations: + + - Translated lzmainfo man pages are now installed. These + had been forgotten in earlier versions. + + - Updated Croatian, Esperanto, German, Hungarian, Korean, + Polish, Romanian, Spanish, Swedish, Vietnamese, and Ukrainian + translations. + + - Updated German, Korean, Romanian, and Ukrainian man page + translations. + + * Added a few tests. + + Summary of new features added in the 5.5.x development releases: + + * liblzma: + + - LZMA decoder: Speed optimizations to the C code and + added GCC & Clang compatible inline assembly for x86-64. + + - Added lzma_mt_block_size() to recommend a Block size for + multithreaded encoding. + + - Added CLMUL-based CRC32 on x86-64 and E2K with runtime + processor detection. Similar to CRC64, on 32-bit x86 it + isn't available unless --disable-assembler is used. + + - Optimized the CRC32 calculation on ARM64 platforms using the + CRC32 instructions. Runtime detection for the instruction is + used on GNU/Linux, FreeBSD, Windows, and macOS. If the + compiler flags indicate unconditional CRC32 instruction + support (+crc) then the generic version is not built. + + - Added definitions of mask values like + LZMA_INDEX_CHECK_MASK_CRC32 to . + + * xz: + + - Multithreaded mode is now the default. This improves + compression speed and creates .xz files that can be + decompressed in multithreaded mode. The downsides are + increased memory usage and slightly worse compression ratio. + + - Added a new command line option --filters to set the filter + chain using the liblzma filter string syntax. + + - Added new command line options --filters1 ... --filters9 to + set additional filter chains using the liblzma filter string + syntax. The --block-list option now allows specifying filter + chains that were set using these new options. + + - Ported the command line tools to Windows MSVC. + Visual Studio 2015 or later is required. + + * Added lz4 support to xzdiff/xzcmp and xzgrep. + + +5.5.2beta (2024-02-14) + + * Licensing change: The core components are now under the + BSD Zero Clause License (0BSD). In XZ Utils 5.4.6 and older + and 5.5.1alpha these components are in the public domain and + obviously remain so; the change affects the new releases only. + + 0BSD is an extremely permissive license which doesn't require + retaining or reproducing copyright or license notices when + distributing the code, thus in practice there is extremely + little difference to public domain. + + * liblzma + + - Significant speed optimizations to the LZMA decoder were + made. There are now three variants that can be chosen at + build time: + + * Basic C version: This is a few percent faster than + 5.4.x due to some new optimizations. + + * Branchless C: This is currently the default on platforms + for which there is no assembly code. This should be a few + percent faster than the basic C version. + + * x86-64 inline assembly. This works with GCC and Clang. + + The default choice can currently be overridden by setting + LZMA_RANGE_DECODER_CONFIG in CPPFLAGS: 0 means the basic + version and 3 means that branchless C version. + + - Optimized the CRC32 calculation on ARM64 platforms using the + CRC32 instructions. The instructions are optional in ARMv8.0 + and are required in ARMv8.1 and later. Runtime detection for + the instruction is used on GNU/Linux, FreeBSD, Windows, and + macOS. If the compiler flags indicate unconditional CRC32 + instruction support (+crc) then the generic version is not + built. + + * Added lz4 support to xzdiff/xzcmp and xzgrep. + + * Man pages of xzdiff/xzcmp, xzgrep, and xzmore were rewritten + to simplify licensing of the man page translations. + + * Translations: + + - Updated Chinese (simplified), German, Korean, Polish, + Romanian, Spanish, Swedish, and Ukrainian translations. + + - Updated German, Korean, Romanian, and Ukrainian man page + translations. + + * Small improvements to the tests. + + * Added doc/examples/11_file_info.c. It was added to the Git + repository in 2017 but forgotten to be added into distribution + tarballs. + + * Removed doc/examples_old. These were from 2012. + + * Removed the macos/build.sh script. It had not been updated + since 2013. + + +5.5.1alpha (2024-01-26) + + * Added a new filter for RISC-V binaries. The filter can be used + for 32-bit and 64-bit binaries with either little or big + endianness. In liblzma, the Filter ID is LZMA_FILTER_RISCV (0x0B) + and the xz option is --riscv. liblzma filter string syntax + recognizes this filter as "riscv". + + * liblzma: + + - Added lzma_mt_block_size() to recommend a Block size for + multithreaded encoding + + - Added CLMUL-based CRC32 on x86-64 and E2K with runtime + processor detection. Similar to CRC64, on 32-bit x86 it + isn't available unless --disable-assembler is used. + + - Implemented GNU indirect function (IFUNC) as a runtime + function dispatching method for CRC32 and CRC64 fast + implementations on x86. Only GNU/Linux (glibc) and FreeBSD + builds will use IFUNC, unless --enable-ifunc is specified to + configure. + + - Added definitions of mask values like + LZMA_INDEX_CHECK_MASK_CRC32 to . + + - The XZ logo is now included in the Doxygen generated + documentation. It is licensed under Creative Commons + Attribution-ShareAlike 4.0. + + * xz: + + - Multithreaded mode is now the default. This improves + compression speed and creates .xz files that can be + decompressed multithreaded at the cost of increased memory + usage and slightly worse compression ratio. + + - Added new command line option --filters to set the filter + chain using liblzma filter string syntax. + + - Added new command line options --filters1 ... --filters9 to + set additional filter chains using liblzma filter string + syntax. The --block-list option now allows specifying filter + chains that were set using these new options. + + - Added support for Linux Landlock as a sandboxing method. + + - xzdec now supports pledge(2), Capsicum, and Linux Landlock as + sandboxing methods. + + - Progress indicator time stats remain accurate after pausing + xz with SIGTSTP. + + - Ported xz and xzdec to Windows MSVC. Visual Studio 2015 or + later is required. + + * CMake Build: + + - Supports pledge(2), Capsicum, and Linux Landlock sandboxing + methods. + + - Replacement functions for getopt_long() are used on platforms + that do not have it. + + * Enabled unaligned access by default on PowerPC64LE and on RISC-V + targets that define __riscv_misaligned_fast. + + * Tests: + + - Added two new fuzz targets to OSS-Fuzz. + + - Implemented Continuous Integration (CI) testing using + GitHub Actions. + + * Changed quoting style from `...' to '...' in all messages, + scripts, and documentation. + + * Added basic Codespell support to help catch typo errors. + + +5.4.7 (2024-05-29) + + * Not changed: Memory sanitizer (MSAN) has a false positive + in the CRC CLMUL code which also makes OSS Fuzz unhappy. + Valgrind is smarter and doesn't complain. + + A revision to the CLMUL code is coming anyway and this issue + will be cleaned up as part of it. It won't be backported to + 5.6.x or 5.4.x because the old code isn't wrong. There is + no reason to risk introducing regressions in old branches + just to silence a false positive. + + * liblzma: + + - lzma_index_decoder() and lzma_index_buffer_decode(): Fix + a missing output pointer initialization (*i = NULL) if the + functions are called with invalid arguments. The API docs + say that such an initialization is always done. In practice + this matters very little because the problem can only occur + if the calling application has a bug and these functions + return LZMA_PROG_ERROR. + + - lzma_str_to_filters(): Fix a missing output pointer + initialization (*error_pos = 0). This is very similar + to the fix above. + + - Fix C standard conformance with function pointer types. + This newly showed up with Clang 17 with -fsanitize=undefined. + There are no bug reports about this. + + - Fix building with NVIDIA HPC SDK. + + * xz: + + - Fix a C standard conformance issue in --block-list parsing + (arithmetic on a null pointer). + + - Fix a warning from GNU groff when processing the man page: + "warning: cannot select font 'CW'" + + - Fix outdated threading related information on the man page. + + * xzless: + + - With "less" version 451 and later, use "||-" instead of "|-" + in the environment variable LESSOPEN. This way compressed + files that contain no uncompressed data are shown correctly + as empty. + + - With "less" version 632 and later, use --show-preproc-errors + to make "less" show a warning on decompression errors. + + * Autotools-based build system (configure): + + - Symbol versioning variant can now be overridden with + --enable-symbol-versions. Documentation in INSTALL was + updated to match. + + CMake: + + - Linux on MicroBlaze is handled specially now. This matches + the changes made to the Autotools-based build in XZ Utils + 5.4.2 and 5.2.11. + + - Disable symbol versioning on non-glibc Linux to match what + the Autotools build does. For example, symbol versioning + isn't enabled with musl. + + - Symbol versioning variant can now be overridden by setting + SYMBOL_VERSIONING to "OFF", "generic", or "linux". + + * Documentation: + + - Clarify the description of --disable-assembler in INSTALL. + The option only affects 32-bit x86 assembly usage. + + - Add doc/examples/11_file_info.c. It was added to the + Git repository in 2017 but forgotten to be added into + distribution tarballs. + + - Don't install the TODO file as part of the documentation. + The file is out of date. + + - Update home page URLs back to their old locations on + tukaani.org. + + - Update maintainer info. + + +5.4.6 (2024-01-26) + + * Fixed a bug involving internal function pointers in liblzma not + being initialized to NULL. The bug can only be triggered if + lzma_filters_update() is called on a LZMA1 encoder, so it does + not affect xz or any application known to us that uses liblzma. + + * xz: + + - Fixed a regression introduced in 5.4.2 that caused encoding + in the raw format to unnecessarily fail if --suffix was not + used. For instance, the following command no longer reports + that --suffix must be used: + + echo foo | xz --format=raw --lzma2 | wc -c + + - Fixed an issue on MinGW-w64 builds that prevented reading + from or writing to non-terminal character devices like NUL. + + * Added a new test. + + +5.4.5 (2023-11-01) + + * liblzma: + + - Use __attribute__((__no_sanitize_address__)) to avoid address + sanitization with CRC64 CLMUL. It uses 16-byte-aligned reads + which can extend past the bounds of the input buffer and + inherently trigger address sanitization errors. This isn't + a bug. + + - Fixed an assertion failure that could be triggered by a large + unpadded_size argument. It was verified that there was no + other bug than the assertion failure. + + - Fixed a bug that prevented building with Windows Vista + threading when __attribute__((__constructor__)) is not + supported. + + * xz now properly handles special files such as "con" or "nul" on + Windows. Before this fix, the following wrote "foo" to the + console and deleted the input file "con_xz": + + echo foo | xz > con_xz + xz --suffix=_xz --decompress con_xz + + * Build systems: + + - Allow builds with Windows win95 threading and small mode when + __attribute__((__constructor__)) is supported. + + - Added a new line to liblzma.pc for MSYS2 (Windows): + + Cflags.private: -DLZMA_API_STATIC + + When compiling code that will link against static liblzma, + the LZMA_API_STATIC macro needs to be defined on Windows. + + - CMake specific changes: + + * Fixed a bug that allowed CLOCK_MONOTONIC to be used even + if the check for it failed. + + * Fixed a bug where configuring CMake multiple times + resulted in HAVE_CLOCK_GETTIME and HAVE_CLOCK_MONOTONIC + not being set. + + * Fixed the build with MinGW-w64-based Clang/LLVM 17. + llvm-windres now has more accurate GNU windres emulation + so the GNU windres workaround from 5.4.1 is needed with + llvm-windres version 17 too. + + * The import library on Windows is now properly named + "liblzma.dll.a" instead of "libliblzma.dll.a" + + * Fixed a bug causing the Ninja Generator to fail on + UNIX-like systems. This bug was introduced in 5.4.0. + + * Added a new option to disable CLMUL CRC64. + + * A module-definition (.def) file is now created when + building liblzma.dll with MinGW-w64. + + * The pkg-config liblzma.pc file is now installed on all + builds except when using MSVC on Windows. + + * Added large file support by default for platforms that + need it to handle files larger than 2 GiB. This includes + MinGW-w64, even 64-bit builds. + + * Small fixes and improvements to the tests. + + * Updated translations: Chinese (simplified) and Esperanto. + + +5.4.4 (2023-08-02) + + * liblzma and xzdec can now build against WASI SDK when threading + support is disabled. xz and tests don't build yet. + + * CMake: + + - Fixed a bug preventing other projects from including liblzma + multiple times using find_package(). + + - Don't create broken symlinks in Cygwin and MSYS2 unless + supported by the environment. This prevented building for the + default MSYS2 environment. The problem was introduced in + xz 5.4.0. + + * Documentation: + + - Small improvements to man pages. + + - Small improvements and typo fixes for liblzma API + documentation. + + * Tests: + + - Added a new section to INSTALL to describe basic test usage + and address recent questions about building the tests when + cross compiling. + + - Small fixes and improvements to the tests. + + * Translations: + + - Fixed a mistake that caused one of the error messages to not + be translated. This only affected versions 5.4.2 and 5.4.3. + + - Updated the Chinese (simplified), Croatian, Esperanto, German, + Korean, Polish, Romanian, Spanish, Swedish, Ukrainian, and + Vietnamese translations. + + - Updated the German, Korean, Romanian, and Ukrainian man page + translations. + + +5.4.3 (2023-05-04) + + * All fixes from 5.2.12 + + * Features in the CMake build can now be disabled as CMake cache + variables, similar to the Autotools build. + + * Minor update to the Croatian translation. + + +5.4.2 (2023-03-18) + + * All fixes from 5.2.11 that were not included in 5.4.1. + + * If xz is built with support for the Capsicum sandbox but running + in an environment that doesn't support Capsicum, xz now runs + normally without sandboxing instead of exiting with an error. + + * liblzma: + + - Documentation was updated to improve the style, consistency, + and completeness of the liblzma API headers. + + - The Doxygen-generated HTML documentation for the liblzma API + header files is now included in the source release and is + installed as part of "make install". All JavaScript is + removed to simplify license compliance and to reduce the + install size. + + - Fixed a minor bug in lzma_str_from_filters() that produced + too many filters in the output string instead of reporting + an error if the input array had more than four filters. This + bug did not affect xz. + + * Build systems: + + - autogen.sh now invokes the doxygen tool via the new wrapper + script doxygen/update-doxygen, unless the command line option + --no-doxygen is used. + + - Added microlzma_encoder.c and microlzma_decoder.c to the + VS project files for Windows and to the CMake build. These + should have been included in 5.3.2alpha. + + * Tests: + + - Added a test to the CMake build that was forgotten in the + previous release. + + - Added and refactored a few tests. + + * Translations: + + - Updated the Brazilian Portuguese translation. + + - Added Brazilian Portuguese man page translation. + + +5.4.1 (2023-01-11) + + * liblzma: + + - Fixed the return value of lzma_microlzma_encoder() if the + LZMA options lc/lp/pb are invalid. Invalid lc/lp/pb options + made the function return LZMA_STREAM_END without encoding + anything instead of returning LZMA_OPTIONS_ERROR. + + - Windows / Visual Studio: Workaround a possible compiler bug + when targeting 32-bit x86 and compiling the CLMUL version of + the CRC64 code. The CLMUL code isn't enabled by the Windows + project files but it is in the CMake-based builds. + + * Build systems: + + - Windows-specific CMake changes: + + * Don't try to enable CLMUL CRC64 code if _mm_set_epi64x() + isn't available. This fixes CMake-based build with Visual + Studio 2013. + + * Created a workaround for a build failure with windres + from GNU binutils. It is used only when the C compiler + is GCC (not Clang). The workaround is incompatible + with llvm-windres, resulting in "XZx20Utils" instead + of "XZ Utils" in the resource file, but without the + workaround llvm-windres works correctly. See the + comment in CMakeLists.txt for details. + + * Included the resource files in the xz and xzdec build + rules. Building the command line tools is still + experimental but possible with MinGW-w64. + + - Visual Studio: Added stream_decoder_mt.c to the project + files. Now the threaded decompressor lzma_stream_decoder_mt() + gets built. CMake-based build wasn't affected. + + - Updated windows/INSTALL-MSVC.txt to mention that CMake-based + build is now the preferred method with Visual Studio. The + project files will probably be removed after 5.4.x releases. + + - Changes to #defines in config.h: + + * HAVE_DECL_CLOCK_MONOTONIC was replaced by + HAVE_CLOCK_MONOTONIC. The old macro was always defined + in configure-generated config.h to either 0 or 1. The + new macro is defined (to 1) only if the declaration of + CLOCK_MONOTONIC is available. This matches the way most + other config.h macros work and makes things simpler with + other build systems. + + * HAVE_DECL_PROGRAM_INVOCATION_NAME was replaced by + HAVE_PROGRAM_INVOCATION_NAME for the same reason. + + * Tests: + + - Fixed test script compatibility with ancient /bin/sh + versions. Now the five test_compress_* tests should + no longer fail on Solaris 10. + + - Added and refactored a few tests. + + * Translations: + + - Updated the Catalan and Esperanto translations. + + - Added Korean and Ukrainian man page translations. + + +5.4.0 (2022-12-13) + + This bumps the minor version of liblzma because new features were + added. The API and ABI are still backward compatible with liblzma + 5.2.x and 5.0.x. + + Since 5.3.5beta: + + * All fixes from 5.2.10. + + * The ARM64 filter is now stable. The xz option is now --arm64. + Decompression requires XZ Utils 5.4.0. In the future the ARM64 + filter will be supported by XZ for Java, XZ Embedded (including + the version in Linux), LZMA SDK, and 7-Zip. + + * Translations: + + - Updated Catalan, Croatian, German, Romanian, and Turkish + translations. + + - Updated German man page translations. + + - Added Romanian man page translations. + + Summary of new features added in the 5.3.x development releases: + + * liblzma: + + - Added threaded .xz decompressor lzma_stream_decoder_mt(). + It can use multiple threads with .xz files that have multiple + Blocks with size information in Block Headers. The threaded + encoder in xz has always created such files. + + Single-threaded encoder cannot store the size information in + Block Headers even if one used LZMA_FULL_FLUSH to create + multiple Blocks, so this threaded decoder cannot use multiple + threads with such files. + + If there are multiple Streams (concatenated .xz files), one + Stream will be decompressed completely before starting the + next Stream. + + - A new decoder flag LZMA_FAIL_FAST was added. It makes the + threaded decompressor report errors soon instead of first + flushing all pending data before the error location. + + - New Filter IDs: + * LZMA_FILTER_ARM64 is for ARM64 binaries. + * LZMA_FILTER_LZMA1EXT is for raw LZMA1 streams that don't + necessarily use the end marker. + + - Added lzma_str_to_filters(), lzma_str_from_filters(), and + lzma_str_list_filters() to convert a preset or a filter chain + string to a lzma_filter[] and vice versa. These should make + it easier to write applications that allow users to specify + custom compression options. + + - Added lzma_filters_free() which can be convenient for freeing + the filter options in a filter chain (an array of lzma_filter + structures). + + - lzma_file_info_decoder() to makes it a little easier to get + the Index field from .xz files. This helps in getting the + uncompressed file size but an easy-to-use random access + API is still missing which has existed in XZ for Java for + a long time. + + - Added lzma_microlzma_encoder() and lzma_microlzma_decoder(). + It is used by erofs-utils and may be used by others too. + + The MicroLZMA format is a raw LZMA stream (without end marker) + whose first byte (always 0x00) has been replaced with + bitwise-negation of the LZMA properties (lc/lp/pb). It was + created for use in EROFS but may be used in other contexts + as well where it is important to avoid wasting bytes for + stream headers or footers. The format is also supported by + XZ Embedded (the XZ Embedded version in Linux got MicroLZMA + support in Linux 5.16). + + The MicroLZMA encoder API in liblzma can compress into a + fixed-sized output buffer so that as much data is compressed + as can be fit into the buffer while still creating a valid + MicroLZMA stream. This is needed for EROFS. + + - Added lzma_lzip_decoder() to decompress the .lz (lzip) file + format version 0 and the original unextended version 1 files. + Also lzma_auto_decoder() supports .lz files. + + - lzma_filters_update() can now be used with the multi-threaded + encoder (lzma_stream_encoder_mt()) to change the filter chain + after LZMA_FULL_BARRIER or LZMA_FULL_FLUSH. + + - In lzma_options_lzma, allow nice_len = 2 and 3 with the match + finders that require at least 3 or 4. Now it is internally + rounded up if needed. + + - CLMUL-based CRC64 on x86-64 and E2K with runtime processor + detection. On 32-bit x86 it currently isn't available unless + --disable-assembler is used which can make the non-CLMUL + CRC64 slower; this might be fixed in the future. + + - Building with --disable-threads --enable-small + is now thread-safe if the compiler supports + __attribute__((__constructor__)). + + * xz: + + - Using -T0 (--threads=0) will now use multi-threaded encoder + even on a single-core system. This is to ensure that output + from the same xz binary is identical on both single-core and + multi-core systems. + + - --threads=+1 or -T+1 is now a way to put xz into + multi-threaded mode while using only one worker thread. + The + is ignored if the number is not 1. + + - A default soft memory usage limit is now used for compression + when -T0 is used and no explicit limit has been specified. + This soft limit is used to restrict the number of threads + but if the limit is exceeded with even one thread then xz + will continue with one thread using the multi-threaded + encoder and this limit is ignored. If the number of threads + is specified manually then no default limit will be used; + this affects only -T0. + + This change helps on systems that have very many cores and + using all of them for xz makes no sense. Previously xz -T0 + could run out of memory on such systems because it attempted + to reserve memory for too many threads. + + This also helps with 32-bit builds which don't have a large + amount of address space that would be required for many + threads. The default soft limit for -T0 is at most 1400 MiB + on all 32-bit platforms. + + - Previously a low value in --memlimit-compress wouldn't cause + xz to switch from multi-threaded mode to single-threaded mode + if the limit cannot otherwise be met; xz failed instead. Now + xz can switch to single-threaded mode and then, if needed, + scale down the LZMA2 dictionary size too just like it already + did when it was started in single-threaded mode. + + - The option --no-adjust no longer prevents xz from scaling down + the number of threads as that doesn't affect the compressed + output (only performance). Now --no-adjust only prevents + adjustments that affect compressed output, that is, with + --no-adjust xz won't switch from multi-threaded mode to + single-threaded mode and won't scale down the LZMA2 + dictionary size. + + - Added a new option --memlimit-mt-decompress=LIMIT. This is + used to limit the number of decompressor threads (possibly + falling back to single-threaded mode) but it will never make + xz refuse to decompress a file. This has a system-specific + default value because without any limit xz could end up + allocating memory for the whole compressed input file, the + whole uncompressed output file, multiple thread-specific + decompressor instances and so on. Basically xz could + attempt to use an insane amount of memory even with fairly + common files. The system-specific default value is currently + the same as the one used for compression with -T0. + + The new option works together with the existing option + --memlimit-decompress=LIMIT. The old option sets a hard limit + that must not be exceeded (xz will refuse to decompress) + while the new option only restricts the number of threads. + If the limit set with --memlimit-mt-decompress is greater + than the limit set with --memlimit-compress, then the latter + value is used also for --memlimit-mt-decompress. + + - Added new information to the output of xz --info-memory and + new fields to the output of xz --robot --info-memory. + + - In --lzma2=nice=NUMBER allow 2 and 3 with all match finders + now that liblzma handles it. + + - Don't mention endianness for ARM and ARM-Thumb filters in + --long-help. The filters only work for little endian + instruction encoding but modern ARM processors using + big endian data access still use little endian + instruction encoding. So the help text was misleading. + In contrast, the PowerPC filter is only for big endian + 32/64-bit PowerPC code. Little endian PowerPC would need + a separate filter. + + - Added decompression support for the .lz (lzip) file format + version 0 and the original unextended version 1. It is + autodetected by default. See also the option --format on + the xz man page. + + - Sandboxing enabled by default: + * Capsicum (FreeBSD) + * pledge(2) (OpenBSD) + + * Scripts now support the .lz format using xz. + + * A few new tests were added. + + * The liblzma-specific tests are now supported in CMake-based + builds too ("make test"). + + +5.3.5beta (2022-12-01) + + * All fixes from 5.2.9. + + * liblzma: + + - Added new LZMA_FILTER_LZMA1EXT for raw encoder and decoder to + handle raw LZMA1 streams that don't have end of payload marker + (EOPM) alias end of stream (EOS) marker. It can be used in + filter chains, for example, with the x86 BCJ filter. + + - Added lzma_str_to_filters(), lzma_str_from_filters(), and + lzma_str_list_filters() to make it easier for applications + to get custom compression options from a user and convert + it to an array of lzma_filter structures. + + - Added lzma_filters_free(). + + - lzma_filters_update() can now be used with the multi-threaded + encoder (lzma_stream_encoder_mt()) to change the filter chain + after LZMA_FULL_BARRIER or LZMA_FULL_FLUSH. + + - In lzma_options_lzma, allow nice_len = 2 and 3 with the match + finders that require at least 3 or 4. Now it is internally + rounded up if needed. + + - ARM64 filter was modified. It is still experimental. + + - Fixed LTO build with Clang if -fgnuc-version=10 or similar + was used to make Clang look like GCC >= 10. Now it uses + __has_attribute(__symver__) which should be reliable. + + * xz: + + - --threads=+1 or -T+1 is now a way to put xz into multi-threaded + mode while using only one worker thread. + + - In --lzma2=nice=NUMBER allow 2 and 3 with all match finders + now that liblzma handles it. + + * Updated translations: Chinese (simplified), Korean, and Turkish. + + +5.3.4alpha (2022-11-15) + + * All fixes from 5.2.7 and 5.2.8. + + * liblzma: + + - Minor improvements to the threaded decoder. + + - Added CRC64 implementation that uses SSSE3, SSE4.1, and CLMUL + instructions on 32/64-bit x86 and E2K. On 32-bit x86 it's + not enabled unless --disable-assembler is used but then + the non-CLMUL code might be slower. Processor support is + detected at runtime so this is built by default on x86-64 + and E2K. On these platforms, if compiler flags indicate + unconditional CLMUL support (-msse4.1 -mpclmul) then the + generic version is not built, making liblzma 8-9 KiB smaller + compared to having both versions included. + + With extremely compressible files this can make decompression + up to twice as fast but with typical files 5 % improvement + is a more realistic expectation. + + The CLMUL version is slower than the generic version with + tiny inputs (especially at 1-8 bytes per call, but up to + 16 bytes). In normal use in xz this doesn't matter at all. + + - Added an experimental ARM64 filter. This is *not* the final + version! Files created with this experimental version won't + be supported in the future versions! The filter design is + a compromise where improving one use case makes some other + cases worse. + + - Added decompression support for the .lz (lzip) file format + version 0 and the original unextended version 1. See the + API docs of lzma_lzip_decoder() for details. Also + lzma_auto_decoder() supports .lz files. + + - Building with --disable-threads --enable-small + is now thread-safe if the compiler supports + __attribute__((__constructor__)) + + * xz: + + - Added support for OpenBSD's pledge(2) as a sandboxing method. + + - Don't mention endianness for ARM and ARM-Thumb filters in + --long-help. The filters only work for little endian + instruction encoding but modern ARM processors using + big endian data access still use little endian + instruction encoding. So the help text was misleading. + In contrast, the PowerPC filter is only for big endian + 32/64-bit PowerPC code. Little endian PowerPC would need + a separate filter. + + - Added --experimental-arm64. This will be renamed once the + filter is finished. Files created with this experimental + filter will not be supported in the future! + + - Added new fields to the output of xz --robot --info-memory. + + - Added decompression support for the .lz (lzip) file format + version 0 and the original unextended version 1. It is + autodetected by default. See also the option --format on + the xz man page. + + * Scripts now support the .lz format using xz. + + * Build systems: + + - New #defines in config.h: HAVE_ENCODER_ARM64, + HAVE_DECODER_ARM64, HAVE_LZIP_DECODER, HAVE_CPUID_H, + HAVE_FUNC_ATTRIBUTE_CONSTRUCTOR, HAVE_USABLE_CLMUL + + - New configure options: --disable-clmul-crc, + --disable-microlzma, --disable-lzip-decoder, and + 'pledge' is now an option in --enable-sandbox (but + it's autodetected by default anyway). + + - INSTALL was updated to document the new configure options. + + - PACKAGERS now lists also --disable-microlzma and + --disable-lzip-decoder as configure options that must + not be used in builds for non-embedded use. + + * Tests: + + - Fix some of the tests so that they skip instead of fail if + certain features have been disabled with configure options. + It's still not perfect. + + - Other improvements to tests. + + * Updated translations: Croatian, Finnish, Hungarian, Polish, + Romanian, Spanish, Swedish, and Ukrainian. + + +5.3.3alpha (2022-08-22) + + * All fixes from 5.2.6. + + * liblzma: + + - Fixed 32-bit build. + + - Added threaded .xz decompressor lzma_stream_decoder_mt(). + It can use multiple threads with .xz files that have multiple + Blocks with size information in Block Headers. The threaded + encoder in xz has always created such files. + + Single-threaded encoder cannot store the size information in + Block Headers even if one used LZMA_FULL_FLUSH to create + multiple Blocks, so this threaded decoder cannot use multiple + threads with such files. + + If there are multiple Streams (concatenated .xz files), one + Stream will be decompressed completely before starting the + next Stream. + + - A new decoder flag LZMA_FAIL_FAST was added. It makes the + threaded decompressor report errors soon instead of first + flushing all pending data before the error location. + + * xz: + + - Using -T0 (--threads=0) will now use multi-threaded encoder + even on a single-core system. This is to ensure that output + from the same xz binary is identical on both single-core and + multi-core systems. + + - A default soft memory usage limit is now used for compression + when -T0 is used and no explicit limit has been specified. + This soft limit is used to restrict the number of threads + but if the limit is exceeded with even one thread then xz + will continue with one thread using the multi-threaded + encoder and this limit is ignored. If the number of threads + is specified manually then no default limit will be used; + this affects only -T0. + + This change helps on systems that have very many cores and + using all of them for xz makes no sense. Previously xz -T0 + could run out of memory on such systems because it attempted + to reserve memory for too many threads. + + This also helps with 32-bit builds which don't have a large + amount of address space that would be required for many + threads. The default limit is 1400 MiB on all 32-bit + platforms with -T0. + + Now xz -T0 should just work. It might use too few threads + in some cases but at least it shouldn't easily run out of + memory. It's possible that this will be tweaked before 5.4.0. + + - Changes to --memlimit-compress and --no-adjust: + + In single-threaded mode, --memlimit-compress can make xz + scale down the LZMA2 dictionary size to meet the memory usage + limit. This obviously affects the compressed output. However, + if xz was in threaded mode, --memlimit-compress could make xz + reduce the number of threads but it wouldn't make xz switch + from multi-threaded mode to single-threaded mode or scale + down the LZMA2 dictionary size. This seemed illogical. + + Now --memlimit-compress can make xz switch to single-threaded + mode if one thread in multi-threaded mode uses too much + memory. If memory usage is still too high, then the LZMA2 + dictionary size can be scaled down too. + + The option --no-adjust was also changed so that it no longer + prevents xz from scaling down the number of threads as that + doesn't affect compressed output (only performance). After + this commit --no-adjust only prevents adjustments that affect + compressed output, that is, with --no-adjust xz won't switch + from multithreaded mode to single-threaded mode and won't + scale down the LZMA2 dictionary size. + + - Added a new option --memlimit-mt-decompress=LIMIT. This is + used to limit the number of decompressor threads (possibly + falling back to single-threaded mode) but it will never make + xz refuse to decompress a file. This has a system-specific + default value because without any limit xz could end up + allocating memory for the whole compressed input file, the + whole uncompressed output file, multiple thread-specific + decompressor instances and so on. Basically xz could + attempt to use an insane amount of memory even with fairly + common files. + + The new option works together with the existing option + --memlimit-decompress=LIMIT. The old option sets a hard limit + that must not be exceeded (xz will refuse to decompress) + while the new option only restricts the number of threads. + If the limit set with --memlimit-mt-decompress is greater + than the limit set with --memlimit-compress, then the latter + value is used also for --memlimit-mt-decompress. + + * Tests: + + - Added a few more tests. + + - Added tests/code_coverage.sh to create a code coverage report + of the tests. + + * Build systems: + + - Automake's parallel test harness is now used to make tests + finish faster. + + - Added the CMake files to the distribution tarball. These were + supposed to be in 5.2.5 already. + + - Added liblzma tests to the CMake build. + + - Windows: Fix building of liblzma.dll with the included + Visual Studio project files. + + +5.3.2alpha (2021-10-28) + + This release was made on short notice so that recent erofs-utils can + be built with LZMA support without needing a snapshot from xz.git. + Thus many pending things were not included, not even updated + translations (which would need to be updated for the new --list + strings anyway). + + * All fixes from 5.2.5. + + * xz: + + - When copying metadata from the source file to the destination + file, don't try to set the group (GID) if it is already set + correctly. This avoids a failure on OpenBSD (and possibly on + a few other OSes) where files may get created so that their + group doesn't belong to the user, and fchown(2) can fail even + if it needs to do nothing. + + - The --keep option now accepts symlinks, hardlinks, and + setuid, setgid, and sticky files. Previously this required + using --force. + + - Split the long strings used in --list and --info-memory modes + to make them much easier for translators. + + - If built with sandbox support and enabling the sandbox fails, + xz will now immediately exit with exit status of 1. Previously + it would only display a warning if -vv was used. + + - Cap --memlimit-compress to 2000 MiB on MIPS32 because on + MIPS32 userspace processes are limited to 2 GiB of address + space. + + * liblzma: + + - Added lzma_microlzma_encoder() and lzma_microlzma_decoder(). + The API is in lzma/container.h. + + The MicroLZMA format is a raw LZMA stream (without end marker) + whose first byte (always 0x00) has been replaced with + bitwise-negation of the LZMA properties (lc/lp/pb). It was + created for use in EROFS but may be used in other contexts + as well where it is important to avoid wasting bytes for + stream headers or footers. The format is also supported by + XZ Embedded. + + The MicroLZMA encoder API in liblzma can compress into a + fixed-sized output buffer so that as much data is compressed + as can be fit into the buffer while still creating a valid + MicroLZMA stream. This is needed for EROFS. + + - Added fuzzing support. + + - Support Intel Control-flow Enforcement Technology (CET) in + 32-bit x86 assembly files. + + - Visual Studio: Use non-standard _MSVC_LANG to detect C++ + standard version in the lzma.h API header. It's used to + detect when "noexcept" can be used. + + * Scripts: + + - Fix exit status of xzdiff/xzcmp. Exit status could be 2 when + the correct value is 1. + + - Fix exit status of xzgrep. + + - Detect corrupt .bz2 files in xzgrep. + + - Add zstd support to xzgrep and xzdiff/xzcmp. + + - Fix less(1) version detection in xzless. It failed if the + version number from "less -V" contained a dot. + + * Fix typos and technical issues in man pages. + + * Build systems: + + - Windows: Fix building of resource files when config.h isn't + used. CMake + Visual Studio can now build liblzma.dll. + + - Various fixes to the CMake support. It might still need a few + more fixes even for liblzma-only builds. + + +5.3.1alpha (2018-04-29) + + * All fixes from 5.2.4. + + * Add lzma_file_info_decoder() into liblzma and use it in xz to + implement the --list feature. + + * Capsicum sandbox support is enabled by default where available + (FreeBSD >= 10). + + +5.2.13 (2024-05-29) + + * liblzma: + + - lzma_index_append(): Fix an assertion failure that could be + triggered by a large unpadded_size argument. It was verified + that there was no other bug than the assertion failure. + + - lzma_index_decoder() and lzma_index_buffer_decode(): Fix + a missing output pointer initialization (*i = NULL) if the + functions are called with invalid arguments. The API docs + say that such an initialization is always done. In practice + this matters very little because the problem can only occur + if the calling application has a bug and these functions + return LZMA_PROG_ERROR. + + - Fix C standard conformance with function pointer types. + This newly showed up with Clang 17 with -fsanitize=undefined. + There are no bug reports about this. + + - Fix building with NVIDIA HPC SDK. + + - Fix building with Windows Vista threads and --enable-small. + (CMake build doesn't support ENABLE_SMALL in XZ Utils 5.2.x.) + + * xz: + + - Fix a C standard conformance issue in --block-list parsing + (arithmetic on a null pointer). + + - Fix a warning from GNU groff when processing the man page: + "warning: cannot select font 'CW'" + + - Windows: Handle special files such as "con" or "nul". Earlier + the following wrote "foo" to the console and deleted the input + file "con_xz": + + echo foo | xz > con_xz + xz --suffix=_xz --decompress con_xz + + - Windows: Fix an issue that prevented reading from or writing + to non-terminal character devices like NUL. + + * xzless: + + - With "less" version 451 and later, use "||-" instead of "|-" + in the environment variable LESSOPEN. This way compressed + files that contain no uncompressed data are shown correctly + as empty. + + - With "less" version 632 and later, use --show-preproc-errors + to make "less" show a warning on decompression errors. + + * Build systems: + + - Add a new line to liblzma.pc for MSYS2 (Windows): + + Cflags.private: -DLZMA_API_STATIC + + When compiling code that will link against static liblzma, + the LZMA_API_STATIC macro needs to be defined on Windows. + + - Autotools (configure): + + * Symbol versioning variant can now be overridden with + --enable-symbol-versions. Documentation in INSTALL was + updated to match. + + - CMake: + + * Fix a bug that prevented other projects from including + liblzma multiple times using find_package(). + + * Fix a bug where configuring CMake multiple times resulted + in HAVE_CLOCK_GETTIME and HAVE_CLOCK_MONOTONIC not being + defined. + + * Fix the build with MinGW-w64-based Clang/LLVM 17. + llvm-windres now has more accurate GNU windres emulation + so the GNU windres workaround from 5.4.1 is needed with + llvm-windres version 17 too. + + * The import library on Windows is now properly named + "liblzma.dll.a" instead of "libliblzma.dll.a" + + * Add large file support by default for platforms that + need it to handle files larger than 2 GiB. This includes + MinGW-w64, even 64-bit builds. + + * Linux on MicroBlaze is handled specially now. This + matches the changes made to the Autotools-based build + in XZ Utils 5.4.2 and 5.2.11. + + * Disable symbol versioning on non-glibc Linux to match + what the Autotools build does. For example, symbol + versioning isn't enabled with musl. + + * Symbol versioning variant can now be overridden by + setting SYMBOL_VERSIONING to "OFF", "generic", or + "linux". + + * Documentation: + + - Clarify the description of --disable-assembler in INSTALL. + The option only affects 32-bit x86 assembly usage. + + - Don't install the TODO file as part of the documentation. + The file is out of date. + + - Update home page URLs back to their old locations on + tukaani.org. + + - Update maintainer info. + + +5.2.12 (2023-05-04) + + * Fixed a build system bug that prevented building liblzma as a + shared library when configured with --disable-threads. This bug + affected releases 5.2.6 to 5.2.11 and 5.4.0 to 5.4.2. + + * Include for Windows intrinsic functions where they are + needed. This fixed a bug that prevented building liblzma using + clang-cl on Windows. + + * Minor update to the Croatian translation. The small change + applies to a string in both 5.2 and 5.4 branches. + + +5.2.11 (2023-03-18) + + * Removed all possible cases of null pointer + 0. It is undefined + behavior in C99 and C17. This was detected by a sanitizer and had + not caused any known issues. + + * Build systems: + + - Added a workaround for building with GCC on MicroBlaze Linux. + GCC 12 on MicroBlaze doesn't support the __symver__ attribute + even though __has_attribute(__symver__) returns true. The + build is now done without the extra RHEL/CentOS 7 symbols + that were added in XZ Utils 5.2.7. The workaround only + applies to the Autotools build (not CMake). + + - CMake: Ensure that the C compiler language is set to C99 or + a newer standard. + + - CMake changes from XZ Utils 5.4.1: + + * Added a workaround for a build failure with + windres from GNU binutils. + + * Included the Windows resource files in the xz + and xzdec build rules. + + +5.2.10 (2022-12-13) + + * xz: Don't modify argv[] when parsing the --memlimit* and + --block-list command line options. This fixes confusing + arguments in process listing (like "ps auxf"). + + * GNU/Linux only: Use __has_attribute(__symver__) to detect if + that attribute is supported. This fixes build on Mandriva where + Clang is patched to define __GNUC__ to 11 by default (instead + of 4 as used by Clang upstream). + + +5.2.9 (2022-11-30) + + * liblzma: + + - Fixed an infinite loop in LZMA encoder initialization + if dict_size >= 2 GiB. (The encoder only supports up + to 1536 MiB.) + + - Fixed two cases of invalid free() that can happen if + a tiny allocation fails in encoder re-initialization + or in lzma_filters_update(). These bugs had some + similarities with the bug fixed in 5.2.7. + + - Fixed lzma_block_encoder() not allowing the use of + LZMA_SYNC_FLUSH with lzma_code() even though it was + documented to be supported. The sync-flush code in + the Block encoder was already used internally via + lzma_stream_encoder(), so this was just a missing flag + in the lzma_block_encoder() API function. + + - GNU/Linux only: Don't put symbol versions into static + liblzma as it breaks things in some cases (and even if + it didn't break anything, symbol versions in static + libraries are useless anyway). The downside of the fix + is that if the configure options --with-pic or --without-pic + are used then it's not possible to build both shared and + static liblzma at the same time on GNU/Linux anymore; + with those options --disable-static or --disable-shared + must be used too. + + * New email address for bug reports is which + forwards messages to Lasse Collin and Jia Tan. + + +5.2.8 (2022-11-13) + + * xz: + + - If xz cannot remove an input file when it should, this + is now treated as a warning (exit status 2) instead of + an error (exit status 1). This matches GNU gzip and it + is more logical as at that point the output file has + already been successfully closed. + + - Fix handling of .xz files with an unsupported check type. + Previously such printed a warning message but then xz + behaved as if an error had occurred (didn't decompress, + exit status 1). Now a warning is printed, decompression + is done anyway, and exit status is 2. This used to work + slightly before 5.0.0. In practice this bug matters only + if xz has been built with some check types disabled. As + instructed in PACKAGERS, such builds should be done in + special situations only. + + - Fix "xz -dc --single-stream tests/files/good-0-empty.xz" + which failed with "Internal error (bug)". That is, + --single-stream was broken if the first .xz stream in + the input file didn't contain any uncompressed data. + + - Fix displaying file sizes in the progress indicator when + working in passthru mode and there are multiple input files. + Just like "gzip -cdf", "xz -cdf" works like "cat" when the + input file isn't a supported compressed file format. In + this case the file size counters weren't reset between + files so with multiple input files the progress indicator + displayed an incorrect (too large) value. + + * liblzma: + + - API docs in lzma/container.h: + * Update the list of decoder flags in the decoder + function docs. + * Explain LZMA_CONCATENATED behavior with .lzma files + in lzma_auto_decoder() docs. + + - OpenBSD: Use HW_NCPUONLINE to detect the number of + available hardware threads in lzma_physmem(). + + - Fix use of wrong macro to detect x86 SSE2 support. + __SSE2_MATH__ was used with GCC/Clang but the correct + one is __SSE2__. The first one means that SSE2 is used + for floating point math which is irrelevant here. + The affected SSE2 code isn't used on x86-64 so this affects + only 32-bit x86 builds that use -msse2 without -mfpmath=sse + (there is no runtime detection for SSE2). It improves LZMA + compression speed (not decompression). + + - Fix the build with Intel C compiler 2021 (ICC, not ICX) + on Linux. It defines __GNUC__ to 10 but doesn't support + the __symver__ attribute introduced in GCC 10. + + * Scripts: Ignore warnings from xz by using --quiet --no-warn. + This is needed if the input .xz files use an unsupported + check type. + + * Translations: + + - Updated Croatian and Turkish translations. + + - One new translations wasn't included because it needed + technical fixes. It will be in upcoming 5.4.0. No new + translations will be added to the 5.2.x branch anymore. + + - Renamed the French man page translation file from + fr_FR.po to fr.po and thus also its install directory + (like /usr/share/man/fr_FR -> .../fr). + + - Man page translations for upcoming 5.4.0 are now handled + in the Translation Project. + + * Update doc/faq.txt a little so it's less out-of-date. + + +5.2.7 (2022-09-30) + + * liblzma: + + - Made lzma_filters_copy() to never modify the destination + array if an error occurs. lzma_stream_encoder() and + lzma_stream_encoder_mt() already assumed this. Before this + change, if a tiny memory allocation in lzma_filters_copy() + failed it would lead to a crash (invalid free() or invalid + memory reads) in the cleanup paths of these two encoder + initialization functions. + + - Added missing integer overflow check to lzma_index_append(). + This affects xz --list and other applications that decode + the Index field from .xz files using lzma_index_decoder(). + Normal decompression of .xz files doesn't call this code + and thus most applications using liblzma aren't affected + by this bug. + + - Single-threaded .xz decoder (lzma_stream_decoder()): If + lzma_code() returns LZMA_MEMLIMIT_ERROR it is now possible + to use lzma_memlimit_set() to increase the limit and continue + decoding. This was supposed to work from the beginning + but there was a bug. With other decoders (.lzma or + threaded .xz decoder) this already worked correctly. + + - Fixed accumulation of integrity check type statistics in + lzma_index_cat(). This bug made lzma_index_checks() return + only the type of the integrity check of the last Stream + when multiple lzma_indexes were concatenated. Most + applications don't use these APIs but in xz it made + xz --list not list all check types from concatenated .xz + files. In xz --list --verbose only the per-file "Check:" + lines were affected and in xz --robot --list only the "file" + line was affected. + + - Added ABI compatibility with executables that were linked + against liblzma in RHEL/CentOS 7 or other liblzma builds + that had copied the problematic patch from RHEL/CentOS 7 + (xz-5.2.2-compat-libs.patch). For the details, see the + comment at the top of src/liblzma/validate_map.sh. + + WARNING: This uses __symver__ attribute with GCC >= 10. + In other cases the traditional __asm__(".symver ...") + is used. Using link-time optimization (LTO, -flto) with + GCC versions older than 10 can silently result in + broken liblzma.so.5 (incorrect symbol versions)! If you + want to use -flto with GCC, you must use GCC >= 10. + LTO with Clang seems to work even with the traditional + __asm__(".symver ...") method. + + * xzgrep: Fixed compatibility with old shells that break if + comments inside command substitutions have apostrophes ('). + This problem was introduced in 5.2.6. + + * Build systems: + + - New #define in config.h: HAVE_SYMBOL_VERSIONS_LINUX + + - Windows: Fixed liblzma.dll build with Visual Studio project + files. It broke in 5.2.6 due to a change that was made to + improve CMake support. + + - Windows: Building liblzma with UNICODE defined should now + work. + + - CMake files are now actually included in the release tarball. + They should have been in 5.2.5 already. + + - Minor CMake fixes and improvements. + + * Added a new translation: Turkish + + +5.2.6 (2022-08-12) + + * xz: + + - The --keep option now accepts symlinks, hardlinks, and + setuid, setgid, and sticky files. Previously this required + using --force. + + - When copying metadata from the source file to the destination + file, don't try to set the group (GID) if it is already set + correctly. This avoids a failure on OpenBSD (and possibly on + a few other OSes) where files may get created so that their + group doesn't belong to the user, and fchown(2) can fail even + if it needs to do nothing. + + - Cap --memlimit-compress to 2000 MiB instead of 4020 MiB on + MIPS32 because on MIPS32 userspace processes are limited + to 2 GiB of address space. + + * liblzma: + + - Fixed a missing error-check in the threaded encoder. If a + small memory allocation fails, a .xz file with an invalid + Index field would be created. Decompressing such a file would + produce the correct output but result in an error at the end. + Thus this is a "mild" data corruption bug. Note that while + a failed memory allocation can trigger the bug, it cannot + cause invalid memory access. + + - The decoder for .lzma files now supports files that have + uncompressed size stored in the header and still use the + end of payload marker (end of stream marker) at the end + of the LZMA stream. Such files are rare but, according to + the documentation in LZMA SDK, they are valid. + doc/lzma-file-format.txt was updated too. + + - Improved 32-bit x86 assembly files: + * Support Intel Control-flow Enforcement Technology (CET) + * Use non-executable stack on FreeBSD. + + - Visual Studio: Use non-standard _MSVC_LANG to detect C++ + standard version in the lzma.h API header. It's used to + detect when "noexcept" can be used. + + * xzgrep: + + - Fixed arbitrary command injection via a malicious filename + (CVE-2022-1271, ZDI-CAN-16587). A standalone patch for + this was released to the public on 2022-04-07. A slight + robustness improvement has been made since then and, if + using GNU or *BSD grep, a new faster method is now used + that doesn't use the old sed-based construct at all. This + also fixes bad output with GNU grep >= 3.5 (2020-09-27) + when xzgrepping binary files. + + This vulnerability was discovered by: + cleemy desu wayo working with Trend Micro Zero Day Initiative + + - Fixed detection of corrupt .bz2 files. + + - Improved error handling to fix exit status in some situations + and to fix handling of signals: in some situations a signal + didn't make xzgrep exit when it clearly should have. It's + possible that the signal handling still isn't quite perfect + but hopefully it's good enough. + + - Documented exit statuses on the man page. + + - xzegrep and xzfgrep now use "grep -E" and "grep -F" instead + of the deprecated egrep and fgrep commands. + + - Fixed parsing of the options -E, -F, -G, -P, and -X. The + problem occurred when multiple options were specified in + a single argument, for example, + + echo foo | xzgrep -Fe foo + + treated foo as a filename because -Fe wasn't correctly + split into -F -e. + + - Added zstd support. + + * xzdiff/xzcmp: + + - Fixed wrong exit status. Exit status could be 2 when the + correct value is 1. + + - Documented on the man page that exit status of 2 is used + for decompression errors. + + - Added zstd support. + + * xzless: + + - Fix less(1) version detection. It failed if the version number + from "less -V" contained a dot. + + * Translations: + + - Added new translations: Catalan, Croatian, Esperanto, + Korean, Portuguese, Romanian, Serbian, Spanish, Swedish, + and Ukrainian + + - Updated the Brazilian Portuguese translation. + + - Added French man page translation. This and the existing + German translation aren't complete anymore because the + English man pages got a few updates and the translators + weren't reached so that they could update their work. + + * Build systems: + + - Windows: Fix building of resource files when config.h isn't + used. CMake + Visual Studio can now build liblzma.dll. + + - Various fixes to the CMake support. Building static or shared + liblzma should work fine in most cases. In contrast, building + the command line tools with CMake is still clearly incomplete + and experimental and should be used for testing only. + + +5.2.5 (2020-03-17) + + * liblzma: + + - Fixed several C99/C11 conformance bugs. Now the code is clean + under gcc/clang -fsanitize=undefined. Some of these changes + might have a negative effect on performance with old GCC + versions or compilers other than GCC and Clang. The configure + option --enable-unsafe-type-punning can be used to (mostly) + restore the old behavior but it shouldn't normally be used. + + - Improved API documentation of lzma_properties_decode(). + + - Added a very minor encoder speed optimization. + + * xz: + + - Fixed a crash in "xz -dcfv not_an_xz_file". All four options + were required to trigger it. The crash occurred in the + progress indicator code when xz was in passthru mode where + xz works like "cat". + + - Fixed an integer overflow with 32-bit off_t. It could happen + when decompressing a file that has a long run of zero bytes + which xz would try to write as a sparse file. Since the build + system enables large file support by default, off_t is + normally 64-bit even on 32-bit systems. + + - Fixes for --flush-timeout: + * Fix semi-busy-waiting. + * Avoid unneeded flushes when no new input has arrived + since the previous flush was completed. + + - Added a special case for 32-bit xz: If --memlimit-compress is + used to specify a limit that exceeds 4020 MiB, the limit will + be set to 4020 MiB. The values "0" and "max" aren't affected + by this and neither is decompression. This hack can be + helpful when a 32-bit xz has access to 4 GiB address space + but the specified memlimit exceeds 4 GiB. This can happen + e.g. with some scripts. + + - Capsicum sandbox is now enabled by default where available + (FreeBSD >= 10). The sandbox debug messages (xz -vv) were + removed since they seemed to be more annoying than useful. + + - DOS build now requires DJGPP 2.05 instead of 2.04beta. + A workaround for a locale problem with DJGPP 2.05 was added. + + * xzgrep and other scripts: + + - Added a configure option --enable-path-for-scripts=PREFIX. + It is disabled by default except on Solaris where the default + is /usr/xpg4/bin. See INSTALL for details. + + - Added a workaround for a POSIX shell detection problem on + Solaris. + + * Build systems: + + - Added preliminary build instructions for z/OS. See INSTALL + section 1.2.9. + + - Experimental CMake support was added. It should work to build + static liblzma on a few operating systems. It may or may not + work to build shared liblzma. On some platforms it can build + xz and xzdec too but those are only for testing. See the + comment in the beginning of CMakeLists.txt for details. + + - Visual Studio project files were updated. + WindowsTargetPlatformVersion was removed from VS2017 files + and set to "10.0" in the added VS2019 files. In the future + the VS project files will be removed when CMake support is + good enough. + + - New #defines in config.h: HAVE___BUILTIN_ASSUME_ALIGNED, + HAVE___BUILTIN_BSWAPXX, and TUKLIB_USE_UNSAFE_TYPE_PUNNING. + + - autogen.sh has a new optional dependency on po4a and a new + option --no-po4a to skip that step. This matters only if one + wants to remake the build files. po4a is used to update the + translated man pages but as long as the man pages haven't + been modified, there's nothing to update and one can use + --no-po4a to avoid the dependency on po4a. + + * Translations: + + - XZ Utils translations are now handled by the Translation + Project: https://translationproject.org/domain/xz.html + + - All man pages are now included in German too. + + - New xz translations: Brazilian Portuguese, Finnish, + Hungarian, Chinese (simplified), Chinese (traditional), + and Danish (partial translation) + + - Updated xz translations: French, German, Italian, and Polish + + - Unfortunately a few new xz translations weren't included due + to technical problems like too long lines in --help output or + misaligned column headings in tables. In the future, many of + these strings will be split and e.g. the table column + alignment will be handled in software. This should make the + strings easier to translate. + + +5.2.4 (2018-04-29) + + * liblzma: + + - Allow 0 as memory usage limit instead of returning + LZMA_PROG_ERROR. Now 0 is treated as if 1 byte was specified, + which effectively is the same as 0. + + - Use "noexcept" keyword instead of "throw()" in the public + headers when a C++11 (or newer standard) compiler is used. + + - Added a portability fix for recent Intel C Compilers. + + - Microsoft Visual Studio build files have been moved under + windows/vs2013 and windows/vs2017. + + * xz: + + - Fix "xz --list --robot missing_or_bad_file.xz" which would + try to print an uninitialized string and thus produce garbage + output. Since the exit status is non-zero, most uses of such + a command won't try to interpret the garbage output. + + - "xz --list foo.xz" could print "Internal error (bug)" in a + corner case where a specific memory usage limit had been set. + + +5.2.3 (2016-12-30) + + * xz: + + - Always close a file before trying to delete it to avoid + problems on some operating system and file system combinations. + + - Fixed copying of file timestamps on Windows. + + - Added experimental (disabled by default) sandbox support using + Capsicum (FreeBSD >= 10). See --enable-sandbox in INSTALL. + + * C99/C11 conformance fixes to liblzma. The issues affected at least + some builds using link-time optimizations. + + * Fixed bugs in the rarely-used function lzma_index_dup(). + + * Use of external SHA-256 code is now disabled by default. + It can still be enabled by passing --enable-external-sha256 + to configure. The reasons to disable it by default (see INSTALL + for more details): + + - Some OS-specific SHA-256 implementations conflict with + OpenSSL and cause problems in programs that link against both + liblzma and libcrypto. At least FreeBSD 10 and MINIX 3.3.0 + are affected. + + - The internal SHA-256 is faster than the SHA-256 code in + some operating systems. + + * Changed CPU core count detection to use sched_getaffinity() on + GNU/Linux and GNU/kFreeBSD. + + * Fixes to the build-system and xz to make xz buildable even when + encoders, decoders, or threading have been disabled from libilzma + using configure options. These fixes added two new #defines to + config.h: HAVE_ENCODERS and HAVE_DECODERS. + + +5.2.2 (2015-09-29) + + * Fixed bugs in QNX-specific code. + + * Omitted the use of pipe2() even if it is available to avoid + portability issues with some old Linux and glibc combinations. + + * Updated German translation. + + * Added project files to build static and shared liblzma (not the + whole XZ Utils) with Visual Studio 2013 update 2 or later. + + * Documented that threaded decompression hasn't been implemented + yet. A 5.2.0 NEWS entry describing multi-threading support had + incorrectly said "decompression" when it should have said + "compression". + + +5.2.1 (2015-02-26) + + * Fixed a compression-ratio regression in fast mode of LZMA1 and + LZMA2. The bug is present in 5.1.4beta and 5.2.0 releases. + + * Fixed a portability problem in xz that affected at least OpenBSD. + + * Fixed xzdiff to be compatible with FreeBSD's mktemp which differs + from most other mktemp implementations. + + * Changed CPU core count detection to use cpuset_getaffinity() on + FreeBSD. + + +5.2.0 (2014-12-21) + + Since 5.1.4beta: + + * All fixes from 5.0.8 + + * liblzma: Fixed lzma_stream_encoder_mt_memusage() when a preset + was used. + + * xzdiff: If mktemp isn't installed, mkdir will be used as + a fallback to create a temporary directory. Installing mktemp + is still recommended. + + * Updated French, German, Italian, Polish, and Vietnamese + translations. + + Summary of fixes and new features added in the 5.1.x development + releases: + + * liblzma: + + - Added support for multi-threaded compression. See the + lzma_mt structure, lzma_stream_encoder_mt(), and + lzma_stream_encoder_mt_memusage() in , + lzma_get_progress() in , and lzma_cputhreads() + in for details. + + - Made the uses of lzma_allocator const correct. + + - Added lzma_block_uncomp_encode() to create uncompressed + .xz Blocks using LZMA2 uncompressed chunks. + + - Added support for LZMA_IGNORE_CHECK. + + - A few speed optimizations were made. + + - Added support for symbol versioning. It is enabled by default + on GNU/Linux, other GNU-based systems, and FreeBSD. + + - liblzma (not the whole XZ Utils) should now be buildable + with MSVC 2013 update 2 or later using windows/config.h. + + * xz: + + - Fixed a race condition in the signal handling. It was + possible that e.g. the first SIGINT didn't make xz exit + if reading or writing blocked and one had bad luck. The fix + is non-trivial, so as of writing it is unknown if it will be + backported to the v5.0 branch. + + - Multi-threaded compression can be enabled with the + --threads (-T) option. + [Fixed: This originally said "decompression".] + + - New command line options in xz: --single-stream, + --block-size=SIZE, --block-list=SIZES, + --flush-timeout=TIMEOUT, and --ignore-check. + + - xz -lvv now shows the minimum xz version that is required to + decompress the file. Currently it is 5.0.0 for all supported + .xz files except files with empty LZMA2 streams require 5.0.2. + + * xzdiff and xzgrep now support .lzo files if lzop is installed. + The .tzo suffix is also recognized as a shorthand for .tar.lzo. + + +5.1.4beta (2014-09-14) + + * All fixes from 5.0.6 + + * liblzma: Fixed the use of presets in threaded encoder + initialization. + + * xz --block-list and --block-size can now be used together + in single-threaded mode. Previously the combination only + worked in multi-threaded mode. + + * Added support for LZMA_IGNORE_CHECK to liblzma and made it + available in xz as --ignore-check. + + * liblzma speed optimizations: + + - Initialization of a new LZMA1 or LZMA2 encoder has been + optimized. (The speed of reinitializing an already-allocated + encoder isn't affected.) This helps when compressing many + small buffers with lzma_stream_buffer_encode() and other + similar situations where an already-allocated encoder state + isn't reused. This speed-up is visible in xz too if one + compresses many small files one at a time instead running xz + once and giving all files as command-line arguments. + + - Buffer comparisons are now much faster when unaligned access + is allowed (configured with --enable-unaligned-access). This + speeds up encoding significantly. There is arch-specific code + for 32-bit and 64-bit x86 (32-bit needs SSE2 for the best + results and there's no run-time CPU detection for now). + For other archs there is only generic code which probably + isn't as optimal as arch-specific solutions could be. + + - A few speed optimizations were made to the SHA-256 code. + (Note that the builtin SHA-256 code isn't used on all + operating systems.) + + * liblzma can now be built with MSVC 2013 update 2 or later + using windows/config.h. + + * Vietnamese translation was added. + + +5.1.3alpha (2013-10-26) + + * All fixes from 5.0.5 + + * liblzma: + + - Fixed a deadlock in the threaded encoder. + + - Made the uses of lzma_allocator const correct. + + - Added lzma_block_uncomp_encode() to create uncompressed + .xz Blocks using LZMA2 uncompressed chunks. + + - Added support for native threads on Windows and the ability + to detect the number of CPU cores. + + * xz: + + - Fixed a race condition in the signal handling. It was + possible that e.g. the first SIGINT didn't make xz exit + if reading or writing blocked and one had bad luck. The fix + is non-trivial, so as of writing it is unknown if it will be + backported to the v5.0 branch. + + - Made the progress indicator work correctly in threaded mode. + + - Threaded encoder now works together with --block-list=SIZES. + + - Added preliminary support for --flush-timeout=TIMEOUT. + It can be useful for (somewhat) real-time streaming. For + now the decompression side has to be done with something + else than the xz tool due to how xz does buffering, but this + should be fixed. + + +5.1.2alpha (2012-07-04) + + * All fixes from 5.0.3 and 5.0.4 + + * liblzma: + + - Fixed a deadlock and an invalid free() in the threaded encoder. + + - Added support for symbol versioning. It is enabled by default + on GNU/Linux, other GNU-based systems, and FreeBSD. + + - Use SHA-256 implementation from the operating system if one is + available in libc, libmd, or libutil. liblzma won't use e.g. + OpenSSL or libgcrypt to avoid introducing new dependencies. + + - Fixed liblzma.pc for static linking. + + - Fixed a few portability bugs. + + * xz --decompress --single-stream now fixes the input position after + successful decompression. Now the following works: + + echo foo | xz > foo.xz + echo bar | xz >> foo.xz + ( xz -dc --single-stream ; xz -dc --single-stream ) < foo.xz + + Note that it doesn't work if the input is not seekable + or if there is Stream Padding between the concatenated + .xz Streams. + + * xz -lvv now shows the minimum xz version that is required to + decompress the file. Currently it is 5.0.0 for all supported .xz + files except files with empty LZMA2 streams require 5.0.2. + + * Added an *incomplete* implementation of --block-list=SIZES to xz. + It only works correctly in single-threaded mode and when + --block-size isn't used at the same time. --block-list allows + specifying the sizes of Blocks which can be useful e.g. when + creating files for random-access reading. + + +5.1.1alpha (2011-04-12) + + * All fixes from 5.0.2 + + * liblzma fixes that will also be included in 5.0.3: + + - A memory leak was fixed. + + - lzma_stream_buffer_encode() no longer creates an empty .xz + Block if encoding an empty buffer. Such an empty Block with + LZMA2 data would trigger a bug in 5.0.1 and older (see the + first bullet point in 5.0.2 notes). When releasing 5.0.2, + I thought that no encoder creates this kind of files but + I was wrong. + + - Validate function arguments better in a few functions. Most + importantly, specifying an unsupported integrity check to + lzma_stream_buffer_encode() no longer creates a corrupt .xz + file. Probably no application tries to do that, so this + shouldn't be a big problem in practice. + + - Document that lzma_block_buffer_encode(), + lzma_easy_buffer_encode(), lzma_stream_encoder(), and + lzma_stream_buffer_encode() may return LZMA_UNSUPPORTED_CHECK. + + - The return values of the _memusage() functions are now + documented better. + + * Support for multithreaded compression was added using the simplest + method, which splits the input data into blocks and compresses + them independently. Other methods will be added in the future. + The current method has room for improvement, e.g. it is possible + to reduce the memory usage. + + * Added the options --single-stream and --block-size=SIZE to xz. + + * xzdiff and xzgrep now support .lzo files if lzop is installed. + The .tzo suffix is also recognized as a shorthand for .tar.lzo. + + * Support for short 8.3 filenames under DOS was added to xz. It is + experimental and may change before it gets into a stable release. + + +5.0.8 (2014-12-21) + + * Fixed an old bug in xzgrep that affected OpenBSD and probably + a few other operating systems too. + + * Updated French and German translations. + + * Added support for detecting the amount of RAM on AmigaOS/AROS. + + * Minor build system updates. + + +5.0.7 (2014-09-20) + + * Fix regressions introduced in 5.0.6: + + - Fix building with non-GNU make. + + - Fix invalid Libs.private value in liblzma.pc which broke + static linking against liblzma if the linker flags were + taken from pkg-config. + + +5.0.6 (2014-09-14) + + * xzgrep now exits with status 0 if at least one file matched. + + * A few minor portability and build system fixes + + +5.0.5 (2013-06-30) + + * lzmadec and liblzma's lzma_alone_decoder(): Support decompressing + .lzma files that have less common settings in the headers + (dictionary size other than 2^n or 2^n + 2^(n-1), or uncompressed + size greater than 256 GiB). The limitations existed to avoid false + positives when detecting .lzma files. The lc + lp <= 4 limitation + still remains since liblzma's LZMA decoder has that limitation. + + NOTE: xz's .lzma support or liblzma's lzma_auto_decoder() are NOT + affected by this change. They still consider uncommon .lzma headers + as not being in the .lzma format. Changing this would give way too + many false positives. + + * xz: + + - Interaction of preset and custom filter chain options was + made less illogical. This affects only certain less typical + uses cases so few people are expected to notice this change. + + Now when a custom filter chain option (e.g. --lzma2) is + specified, all preset options (-0 ... -9, -e) earlier are on + the command line are completely forgotten. Similarly, when + a preset option is specified, all custom filter chain options + earlier on the command line are completely forgotten. + + Example 1: "xz -9 --lzma2=preset=5 -e" is equivalent to "xz -e" + which is equivalent to "xz -6e". Earlier -e didn't put xz back + into preset mode and thus the example command was equivalent + to "xz --lzma2=preset=5". + + Example 2: "xz -9e --lzma2=preset=5 -7" is equivalent to + "xz -7". Earlier a custom filter chain option didn't make + xz forget the -e option so the example was equivalent to + "xz -7e". + + - Fixes and improvements to error handling. + + - Various fixes to the man page. + + * xzless: Fixed to work with "less" versions 448 and later. + + * xzgrep: Made -h an alias for --no-filename. + + * Include the previously missing debug/translation.bash which can + be useful for translators. + + * Include a build script for Mac OS X. This has been in the Git + repository since 2010 but due to a mistake in Makefile.am the + script hasn't been included in a release tarball before. + + +5.0.4 (2012-06-22) + + * liblzma: + + - Fix lzma_index_init(). It could crash if memory allocation + failed. + + - Fix the possibility of an incorrect LZMA_BUF_ERROR when a BCJ + filter is used and the application only provides exactly as + much output space as is the uncompressed size of the file. + + - Fix a bug in doc/examples_old/xz_pipe_decompress.c. It didn't + check if the last call to lzma_code() really returned + LZMA_STREAM_END, which made the program think that truncated + files are valid. + + - New example programs in doc/examples (old programs are now in + doc/examples_old). These have more comments and more detailed + error handling. + + * Fix "xz -lvv foo.xz". It could crash on some corrupted files. + + * Fix output of "xz --robot -lv" and "xz --robot -lvv" which + incorrectly printed the filename also in the "foo (x/x)" format. + + * Fix exit status of "xzdiff foo.xz bar.xz". + + * Fix exit status of "xzgrep foo binary_file". + + * Fix portability to EBCDIC systems. + + * Fix a configure issue on AIX with the XL C compiler. See INSTALL + for details. + + * Update French, German, Italian, and Polish translations. + + +5.0.3 (2011-05-21) + + * liblzma fixes: + + - A memory leak was fixed. + + - lzma_stream_buffer_encode() no longer creates an empty .xz + Block if encoding an empty buffer. Such an empty Block with + LZMA2 data would trigger a bug in 5.0.1 and older (see the + first bullet point in 5.0.2 notes). When releasing 5.0.2, + I thought that no encoder creates this kind of files but + I was wrong. + + - Validate function arguments better in a few functions. Most + importantly, specifying an unsupported integrity check to + lzma_stream_buffer_encode() no longer creates a corrupt .xz + file. Probably no application tries to do that, so this + shouldn't be a big problem in practice. + + - Document that lzma_block_buffer_encode(), + lzma_easy_buffer_encode(), lzma_stream_encoder(), and + lzma_stream_buffer_encode() may return LZMA_UNSUPPORTED_CHECK. + + - The return values of the _memusage() functions are now + documented better. + + * Fix command name detection in xzgrep. xzegrep and xzfgrep now + correctly use egrep and fgrep instead of grep. + + * French translation was added. + + +5.0.2 (2011-04-01) + + * LZMA2 decompressor now correctly accepts LZMA2 streams with no + uncompressed data. Previously it considered them corrupt. The + bug can affect applications that use raw LZMA2 streams. It is + very unlikely to affect .xz files because no compressor creates + .xz files with empty LZMA2 streams. (Empty .xz files are a + different thing than empty LZMA2 streams.) + + * "xz --suffix=.foo filename.foo" now refuses to compress the + file due to it already having the suffix .foo. It was already + documented on the man page, but the code lacked the test. + + * "xzgrep -l foo bar.xz" works now. + + * Polish translation was added. + + +5.0.1 (2011-01-29) + + * xz --force now (de)compresses files that have setuid, setgid, + or sticky bit set and files that have multiple hard links. + The man page had it documented this way already, but the code + had a bug. + + * gzip and bzip2 support in xzdiff was fixed. + + * Portability fixes + + * Minor fix to Czech translation + + +5.0.0 (2010-10-23) + + Only the most important changes compared to 4.999.9beta are listed + here. One change is especially important: + + * The memory usage limit is now disabled by default. Some scripts + written before this change may have used --memory=max on xz command + line or in XZ_OPT. THESE USES OF --memory=max SHOULD BE REMOVED + NOW, because they interfere with user's ability to set the memory + usage limit himself. If user-specified limit causes problems to + your script, blame the user. + + Other significant changes: + + * Added support for XZ_DEFAULTS environment variable. This variable + allows users to set default options for xz, e.g. default memory + usage limit or default compression level. Scripts that use xz + must never set or unset XZ_DEFAULTS. Scripts should use XZ_OPT + instead if they need a way to pass options to xz via an + environment variable. + + * The compression settings associated with the preset levels + -0 ... -9 have been changed. --extreme was changed a little too. + It is now less likely to make compression worse, but with some + files the new --extreme may compress slightly worse than the old + --extreme. + + * If a preset level (-0 ... -9) is specified after a custom filter + chain options have been used (e.g. --lzma2), the custom filter + chain will be forgotten. Earlier the preset options were + completely ignored after custom filter chain options had been + seen. + + * xz will create sparse files when decompressing if the uncompressed + data contains long sequences of binary zeros. This is done even + when writing to standard output that is connected to a regular + file and certain additional conditions are met to make it safe. + + * Support for "xz --list" was added. Combine with --verbose or + --verbose --verbose (-vv) for detailed output. + + * I had hoped that liblzma API would have been stable after + 4.999.9beta, but there have been a couple of changes in the + advanced features, which don't affect most applications: + + - Index handling code was revised. If you were using the old + API, you will get a compiler error (so it's easy to notice). + + - A subtle but important change was made to the Block handling + API. lzma_block.version has to be initialized even for + lzma_block_header_decode(). Code that doesn't do it will work + for now, but might break in the future, which makes this API + change easy to miss. + + * The major soname has been bumped to 5.0.0. liblzma API and ABI + are now stable, so the need to recompile programs linking against + liblzma shouldn't arise soon. + diff --git a/src/native/external/xz/PACKAGERS b/src/native/external/xz/PACKAGERS new file mode 100644 index 00000000000000..b12c4851a44618 --- /dev/null +++ b/src/native/external/xz/PACKAGERS @@ -0,0 +1,245 @@ + +Information to packagers of XZ Utils +==================================== + + 0. Preface + 1. Package naming + 2. Package description + 3. License + 4. configure options + 5. Additional documentation + 6. Extra files + 7. Installing XZ Utils and LZMA Utils in parallel + 8. Example + + +0. Preface +---------- + + This document is meant for people who create and maintain XZ Utils + packages for operating system distributions. The focus is on GNU/Linux + systems, but most things apply to other systems too. + + While the standard "configure && make DESTDIR=$PKG install" should + give a pretty good package, there are some details which packagers + may want to tweak. + + Packagers should also read the INSTALL file. + + +1. Package naming +----------------- + + The preferred name for the XZ Utils package is "xz", because that's + the name of the upstream tarball. Naturally you may have good reasons + to use some other name; I won't get angry about it. ;-) It's just nice + to be able to point people to the correct package name without asking + what distro they have. + + If your distro policy is to split things into small pieces, here is + one suggestion: + + xz xz, xzdec, scripts (xzdiff, xzgrep, etc.), docs + xz-lzma lzma, unlzma, lzcat, lzgrep etc. symlinks and + lzmadec binary for compatibility with LZMA Utils + liblzma liblzma.so.* + liblzma-devel liblzma.so, liblzma.a, API headers + liblzma-doc Example programs and, if enabled at build time, + Doxygen-generated liblzma API docs (HTML) + + +2. Package description +---------------------- + + Here is a suggestion which you may use as the package description. + If you can use only one-line description, pick only the first line. + Naturally, feel free to use some other description if you find it + better, and maybe send it to me too. + + Library and command line tools for XZ and LZMA compressed files + + XZ Utils provide a general purpose data compression library + and command line tools. The native file format is the .xz + format, but also the legacy .lzma format is supported. The .xz + format supports multiple compression algorithms, of which LZMA2 + is currently the primary algorithm. With typical files, XZ Utils + create about 30 % smaller files than gzip. + + If you are splitting XZ Utils into multiple packages, here are some + suggestions for package descriptions: + + xz: + + Command line tools for XZ and LZMA compressed files + + This package includes the xz compression tool and other command + line tools from XZ Utils. xz has command line syntax similar to + that of gzip. The native file format is the .xz format, but also + the legacy .lzma format is supported. The .xz format supports + multiple compression algorithms, of which LZMA2 is currently the + primary algorithm. With typical files, XZ Utils create about 30 % + smaller files than gzip. + + Note that this package doesn't include the files needed for + LZMA Utils 4.32.x compatibility. Install also the xz-lzma + package to make XZ Utils emulate LZMA Utils 4.32.x. + + xz-lzma: + + LZMA Utils emulation with XZ Utils + + This package includes executables and symlinks to make + XZ Utils emulate lzma, unlzma, lzcat, and other command + line tools found from the legacy LZMA Utils 4.32.x package. + + liblzma: + + Library for XZ and LZMA compressed files + + liblzma is a general purpose data compression library with + an API similar to that of zlib. liblzma supports multiple + algorithms, of which LZMA2 is currently the primary algorithm. + The native file format is .xz, but also the legacy .lzma + format and raw streams (no headers at all) are supported. + + This package includes the shared library. + + liblzma-devel: + + Library for XZ and LZMA compressed files + + This package includes the API headers, static library, and + other development files related to liblzma. + + liblzma-doc: + + liblzma API documentation in HTML and example usage + + This package includes the Doxygen-generated liblzma API + HTML docs and example programs showing how to use liblzma. + + +3. License +---------- + + If the package manager supports a license field, you probably should + put GPLv2+ there (GNU GPL v2 or later). The interesting parts of + XZ Utils are under the BSD Zero Clause License (0BSD), but some less + important files ending up into the binary package are under GPLv2+. + So it is simplest to just say GPLv2+ if you cannot specify + "BSD0 and GPLv2+". + + If you split XZ Utils into multiple packages as described earlier + in this file, liblzma and liblzma-dev packages will contain only + 0BSD-licensed code from XZ Utils (compiler or linker may add some + third-party code which may have other licenses). + + +4. configure options +-------------------- + + Unless you are building a package for a distribution that is meant + only for embedded systems, don't use the following configure options: + + --enable-debug + --enable-encoders (*) + --enable-decoders + --enable-match-finders + --enable-checks + --enable-small (*) + --disable-threads (*) + --disable-microlzma (*) + --disable-lzip-decoder (*) + + (*) These are OK when building xzdec and lzmadec as described + in INSTALL. + + xzdec and lzmadec don't provide any functionality that isn't already + available in the xz tool. Shipping xzdec and lzmadec without size + optimization and statically-linked liblzma isn't very useful. Doing + that would give users the xzdec man page, which may make it easier + for people to find out that such tools exists, but the executables + wouldn't have any advantage over the full-featured xz. + + +5. Additional documentation +--------------------------- + + "make install" copies some additional documentation to $docdir + (--docdir in configure). There is a copy of the GNU GPL v2, which + can be replaced with a symlink if your distro ships with shared + copies of the common license texts. + + The Doxygen-generated liblzma API documentation (HTML) is built and + installed if the configure option --enable-doxygen is used (it's + disabled by default). This requires that Doxygen is available. The + API documentation is installed by "make install" to $docdir/api. + + NOTE: The files generated by Doxygen include content from + Doxygen itself. Check the license info before distributing + the Doxygen-generated files. + + +6. Extra files +-------------- + + The "extra" directory contains some small extra tools or other files. + The exact set of extra files can vary between XZ Utils releases. The + extra files have only limited use or they are too dangerous to be + put directly to $bindir (7z2lzma.sh is a good example, since it can + silently create corrupt output if certain conditions are not met). + + If you feel like it, you may copy the extra directory under the doc + directory (e.g. /usr/share/doc/xz/extra). Maybe some people will find + them useful. However, most people needing these tools probably are + able to find them from the source package too. + + The "debug" directory contains some tools that are useful only when + hacking on XZ Utils. Don't package these tools. + + +7. Installing XZ Utils and LZMA Utils in parallel +------------------------------------------------- + + XZ Utils and LZMA Utils 4.32.x can be installed in parallel by + omitting the compatibility symlinks (lzma, unlzma, lzcat, lzgrep etc.) + from the XZ Utils package. It's probably a good idea to still package + the symlinks into a separate package so that users may choose if they + want to use XZ Utils or LZMA Utils for handling .lzma files. + + +8. Example +---------- + + Here is an example for i686 GNU/Linux that + - links xz and lzmainfo against shared liblzma; + - links size-optimized xzdec and lzmadec against static liblzma + while avoiding libpthread dependency; + - includes only shared liblzma in the final package; and + - copies also the "extra" directory to the package. + + PKG=/tmp/xz-pkg + tar xf xz-x.y.z.tar.gz + cd xz-x.y.z + ./configure \ + --prefix=/usr \ + --disable-static \ + --disable-xzdec \ + --disable-lzmadec \ + CFLAGS='-march=i686 -mtune=generic -O2' + make + make DESTDIR=$PKG install-strip + make clean + ./configure \ + --prefix=/usr \ + --disable-shared \ + --disable-nls \ + --disable-encoders \ + --enable-small \ + --disable-threads \ + CFLAGS='-march=i686 -mtune=generic -Os' + make -C src/liblzma + make -C src/xzdec + make -C src/xzdec DESTDIR=$PKG install-strip + cp -a extra $PKG/usr/share/doc/xz + diff --git a/src/native/external/xz/README b/src/native/external/xz/README new file mode 100644 index 00000000000000..41671676a516e3 --- /dev/null +++ b/src/native/external/xz/README @@ -0,0 +1,281 @@ + +XZ Utils +======== + + 0. Overview + 1. Documentation + 1.1. Overall documentation + 1.2. Documentation for command-line tools + 1.3. Documentation for liblzma + 2. Version numbering + 3. Reporting bugs + 4. Translations + 4.1. Testing translations + 5. Other implementations of the .xz format + 6. Contact information + + +0. Overview +----------- + + XZ Utils provide a general-purpose data-compression library plus + command-line tools. The native file format is the .xz format, but + also the legacy .lzma format is supported. The .xz format supports + multiple compression algorithms, which are called "filters" in the + context of XZ Utils. The primary filter is currently LZMA2. With + typical files, XZ Utils create about 30 % smaller files than gzip. + + To ease adapting support for the .xz format into existing applications + and scripts, the API of liblzma is somewhat similar to the API of the + popular zlib library. For the same reason, the command-line tool xz + has a command-line syntax similar to that of gzip. + + When aiming for the highest compression ratio, the LZMA2 encoder uses + a lot of CPU time and may use, depending on the settings, even + hundreds of megabytes of RAM. However, in fast modes, the LZMA2 encoder + competes with bzip2 in compression speed, RAM usage, and compression + ratio. + + LZMA2 is reasonably fast to decompress. It is a little slower than + gzip, but a lot faster than bzip2. Being fast to decompress means + that the .xz format is especially nice when the same file will be + decompressed very many times (usually on different computers), which + is the case e.g. when distributing software packages. In such + situations, it's not too bad if the compression takes some time, + since that needs to be done only once to benefit many people. + + With some file types, combining (or "chaining") LZMA2 with an + additional filter can improve the compression ratio. A filter chain may + contain up to four filters, although usually only one or two are used. + For example, putting a BCJ (Branch/Call/Jump) filter before LZMA2 + in the filter chain can improve compression ratio of executable files. + + Since the .xz format allows adding new filter IDs, it is possible that + some day there will be a filter that is, for example, much faster to + compress than LZMA2 (but probably with worse compression ratio). + Similarly, it is possible that some day there is a filter that will + compress better than LZMA2. + + XZ Utils supports multithreaded compression. XZ Utils doesn't support + multithreaded decompression yet. It has been planned though and taken + into account when designing the .xz file format. In the future, files + that were created in threaded mode can be decompressed in threaded + mode too. + + +1. Documentation +---------------- + +1.1. Overall documentation + + README This file + + INSTALL.generic Generic install instructions for those not + familiar with packages using GNU Autotools + INSTALL Installation instructions specific to XZ Utils + PACKAGERS Information to packagers of XZ Utils + + COPYING XZ Utils copyright and license information + COPYING.0BSD BSD Zero Clause License + COPYING.GPLv2 GNU General Public License version 2 + COPYING.GPLv3 GNU General Public License version 3 + COPYING.LGPLv2.1 GNU Lesser General Public License version 2.1 + + AUTHORS The main authors of XZ Utils + THANKS Incomplete list of people who have helped making + this software + NEWS User-visible changes between XZ Utils releases + ChangeLog Detailed list of changes (commit log) + TODO Known bugs and some sort of to-do list + + Note that only some of the above files are included in binary + packages. + + +1.2. Documentation for command-line tools + + The command-line tools are documented as man pages. In source code + releases (and possibly also in some binary packages), the man pages + are also provided in plain text (ASCII only) format in the directory + "doc/man" to make the man pages more accessible to those whose + operating system doesn't provide an easy way to view man pages. + + +1.3. Documentation for liblzma + + The liblzma API headers include short docs about each function + and data type as Doxygen tags. These docs should be quite OK as + a quick reference. + + There are a few example/tutorial programs that should help in + getting started with liblzma. In the source package the examples + are in "doc/examples" and in binary packages they may be under + "examples" in the same directory as this README. + + Since the liblzma API has similarities to the zlib API, some people + may find it useful to read the zlib docs and tutorial too: + + https://zlib.net/manual.html + https://zlib.net/zlib_how.html + + +2. Version numbering +-------------------- + + The version number format of XZ Utils is X.Y.ZS: + + - X is the major version. When this is incremented, the library + API and ABI break. + + - Y is the minor version. It is incremented when new features + are added without breaking the existing API or ABI. An even Y + indicates a stable release and an odd Y indicates unstable + (alpha or beta version). + + - Z is the revision. This has a different meaning for stable and + unstable releases: + + * Stable: Z is incremented when bugs get fixed without adding + any new features. This is intended to be convenient for + downstream distributors that want bug fixes but don't want + any new features to minimize the risk of introducing new bugs. + + * Unstable: Z is just a counter. API or ABI of features added + in earlier unstable releases having the same X.Y may break. + + - S indicates stability of the release. It is missing from the + stable releases, where Y is an even number. When Y is odd, S + is either "alpha" or "beta" to make it very clear that such + versions are not stable releases. The same X.Y.Z combination is + not used for more than one stability level, i.e. after X.Y.Zalpha, + the next version can be X.Y.(Z+1)beta but not X.Y.Zbeta. + + +3. Reporting bugs +----------------- + + Naturally it is easiest for me if you already know what causes the + unexpected behavior. Even better if you have a patch to propose. + However, quite often the reason for unexpected behavior is unknown, + so here are a few things to do before sending a bug report: + + 1. Try to create a small example how to reproduce the issue. + + 2. Compile XZ Utils with debugging code using configure switches + --enable-debug and, if possible, --disable-shared. If you are + using GCC, use CFLAGS='-O0 -ggdb3'. Don't strip the resulting + binaries. + + 3. Turn on core dumps. The exact command depends on your shell; + for example in GNU bash it is done with "ulimit -c unlimited", + and in tcsh with "limit coredumpsize unlimited". + + 4. Try to reproduce the suspected bug. If you get "assertion failed" + message, be sure to include the complete message in your bug + report. If the application leaves a coredump, get a backtrace + using gdb: + $ gdb /path/to/app-binary # Load the app to the debugger. + (gdb) core core # Open the coredump. + (gdb) bt # Print the backtrace. Copy & paste to bug report. + (gdb) quit # Quit gdb. + + Report your bug via email or IRC (see Contact information below). + Don't send core dump files or any executables. If you have a small + example file(s) (total size less than 256 KiB), please include + it/them as an attachment. If you have bigger test files, put them + online somewhere and include a URL to the file(s) in the bug report. + + Always include the exact version number of XZ Utils in the bug report. + If you are using a snapshot from the git repository, use "git describe" + to get the exact snapshot version. If you are using XZ Utils shipped + in an operating system distribution, mention the distribution name, + distribution version, and exact xz package version; if you cannot + repeat the bug with the code compiled from unpatched source code, + you probably need to report a bug to your distribution's bug tracking + system. + + +4. Translations +--------------- + + The xz command line tool and all man pages can be translated. + The translations are handled via the Translation Project. If you + wish to help translating xz, please join the Translation Project: + + https://translationproject.org/html/translators.html + + Updates to translations won't be accepted by methods that bypass + the Translation Project because there is a risk of duplicate work: + translation updates made in the xz repository aren't seen by the + translators in the Translation Project. If you have found bugs in + a translation, please report them to the Language-Team address + which can be found near the beginning of the PO file. + + If you find language problems in the original English strings, + feel free to suggest improvements. Ask if something is unclear. + + +4.1. Testing translations + + Testing can be done by installing xz into a temporary directory. + + If building from Git repository (not tarball), generate the + Autotools files: + + ./autogen.sh + + Create a subdirectory for the build files. The tmp-build directory + can be deleted after testing. + + mkdir tmp-build + cd tmp-build + ../configure --disable-shared --enable-debug --prefix=$PWD/inst + + Edit the .po file in the po directory. Then build and install to + the "tmp-build/inst" directory, and use translations.bash to see + how some of the messages look. Repeat these steps if needed: + + make -C po update-po + make -j"$(nproc)" install + bash ../debug/translation.bash | less + bash ../debug/translation.bash | less -S # For --list outputs + + To test other languages, set the LANGUAGE environment variable + before running translations.bash. The value should match the PO file + name without the .po suffix. Example: + + export LANGUAGE=fi + + +5. Other implementations of the .xz format +------------------------------------------ + + 7-Zip and the p7zip port of 7-Zip support the .xz format starting + from the version 9.00alpha. + + https://7-zip.org/ + https://p7zip.sourceforge.net/ + + XZ Embedded is a limited implementation written for use in the Linux + kernel, but it is also suitable for other embedded use. + + https://tukaani.org/xz/embedded.html + + XZ for Java is a complete implementation written in pure Java. + + https://tukaani.org/xz/java.html + + +6. Contact information +---------------------- + + XZ Utils in general: + - Home page: https://tukaani.org/xz/ + - Email to maintainer(s): xz@tukaani.org + - IRC: #tukaani on Libera Chat + - GitHub: https://github.com/tukaani-project/xz + + Lead maintainer: + - Email: Lasse Collin + - IRC: Larhzu on Libera Chat + diff --git a/src/native/external/xz/THANKS b/src/native/external/xz/THANKS new file mode 100644 index 00000000000000..e1c21ebfe5d22a --- /dev/null +++ b/src/native/external/xz/THANKS @@ -0,0 +1,257 @@ + +Thanks +====== + +Some people have helped more, some less, but nevertheless everyone's help +has been important. :-) + - Adam Borowski + - Adam Walling + - Adrien Nader + - Agostino Sarubbo + - Alexander Bluhm + - Alexander M. Greenham + - Alexander Neumann + - Alexandre Sauvé + - Alexey Tourbin + - Anders F. Björklund + - Andraž 'ruskie' Levstik + - Andre Noll + - Andreas K. Hüttel + - Andreas Müller + - Andreas Schwab + - Andreas Zieringer + - Andrej Skenderija + - Andres Freund + - Andrew Dudman + - Andrew Murray + - Antoine Cœur + - Anton Kochkov + - Antonio Diaz Diaz + - Arkadiusz Miskiewicz + - Asgeir Storesund Nilsen + - Aziz Chaudhry + - Bela Lubkin + - Ben Boeckel + - Benjamin Buch + - Benno Schulenberg + - Bernhard Reutner-Fischer + - Bert Wesarg + - Bhargava Shastry + - Bill Glessner + - Bjarni Ingi Gislason + - Boud Roukema + - Brad Smith + - Bruce Stark + - Cary Lewis + - Charles Wilson + - Chenxi Mao + - Chien Wong + - Chris Donawa + - Chris McCrohan + - Christian Hesse + - Christian Kujau + - Christian von Roques + - Christian Weisgerber + - Christoph Junghans + - Collin Funk + - Conley Moorhous + - Cristian Rodríguez + - Cristiano Ceglia + - Dan Shechter + - Dan Stromberg + - Dan Weiss + - Daniel Leonard + - Daniel Mealha Cabrita + - Daniel Packard + - Daniel Richard G. + - David Burklund + - Denis Excoffier + - Derwin McGeary + - Dexter Castor Döpping + - Diederik de Haas + - Diego Elio Pettenò + - Dimitri Papadopoulos Orfanos + - Dirk Müller + - Douglas Thor + - Ed Maste + - Elbert Pol + - Eli Schwartz + - Elijah Almeida Coimbra + - Émilie Labbé + - Emmanuel Blot + - Eric Lindblad + - Eric S. Raymond + - Étienne Mollier + - Evan Nemerson + - Fangrui Song + - Felix Collin + - Filip Palian + - Firas Khalil Khana + - François Etcheverry + - Frank Busse + - Frank Prochnow + - Fredrik Wikstrom + - Gabi Davar + - Gabriela Gutierrez + - Gilles Espinasse + - Gregory Margo + - Guillaume Outters + - Guiorgy Potskhishvili + - H. Peter Anvin + - Hajin Jang + - Hans Jansen + - Harri K. Koskinen + - Hin-Tak Leung + - H.J. Lu + - Hongbo Ni + - Igor Pavlov + - İhsan Doğan + - Ilya Kurdyukov + - Iouri Kharon + - İsmail Dönmez + - Ivan A. Melnikov + - Jakub Bogusz + - James Buren + - James M Leddy + - Jan Kratochvil + - Jan Terje Hansen + - Jason Gorski + - Jeff Bastian + - Jeffrey Walton + - Jeroen Roovers + - Jim Meyering + - Jim Wilcoxson + - Joachim Henke + - John Paul Adrian Glaubitz + - Jonathan Nieder + - Jonathan Stott + - Joona Kannisto + - Jouk Jansen + - Juan Manuel Guerrero + - Jukka Salmi + - Julien Marrec + - Jun I Jin + - Kai Pastor + - Karl Beldan + - Karl Berry + - Keith Patton + - Kelvin Lee + - Kevin R. Bulgrien + - Kian-Meng Ang + - Kim Jinyeong + - Kirill A. Korinsky + - Kiyoshi Kanazawa + - Lars Wirzenius + - Li Chenggang + - Lizandro Heredia + - Loganaden Velvindron + - Lorenzo De Liso + - Lukas Braune + - Maarten Bosmans + - Maksym Vatsyk + - Marcin Kowalczyk + - Marcus Comstedt + - Marcus Tillmanns + - Marek Černocký + - Mark Adler + - Mark Wielaard + - Markus Duft + - Markus Rickert + - Martin Blumenstingl + - Martin Matuška + - Martin Storsjö + - Martin Väth + - Mathieu Vachon + - Matthew Good + - Matthieu Rakotojaona + - Melanie Blower + - Michael Felt + - Michael Fox + - Michał Górny + - Mike Frysinger + - Mikko Pouru + - Milo Casagrande + - Mohammed Adnène Trojette + - Nathan Moinvaziri + - Nelson H. F. Beebe + - Nicholas Jackson + - Ole André Vadla Ravnås + - Orange Tsai + - Orgad Shaneh + - Patrick J. Volkerding + - Paul Eggert + - Paul Townsend + - Pavel Raiskup + - Per Øyvind Karlsen + - Peter Ivanov + - Peter Lawler + - Peter O'Gorman + - Peter Pallinger + - Peter Seiderer + - Pierre-Yves Martin + - Pilorz Wojciech + - Pippijn van Steenhoven + - Rafał Mużyło + - Rainer Müller + - Ralf Wildenhues + - Rich Prohaska + - Richard Koch + - Richard W.M. Jones + - Robert Elz + - Robert Readman + - Roel Bouckaert + - Ron Desmond + - Ruarí Ødegaard + - Rui Paulo + - Ryan Colyer + - Ryan Young + - Sam James + - Scott McAllister + - Sean Fenian + - Sebastian Andrzej Siewior + - Sergey Kosukhin + - Simon Josefsson + - Siteshwar Vashisht + - Steffen Nurpmeso + - Stephan Kulow + - Stephen Sachs + - Stuart Shelton + - Taiki Tsunekawa + - Thomas Klausner + - Tobias Lahrmann Hansen + - Tobias Stoeckmann + - Tomasz Gajc + - Tomer Chachamu + - Torsten Rupp + - Trần Ngọc Quân + - Trent W. Buck + - Victoria Alexia + - Vijay Sarvepalli + - Ville Koskinen + - Ville Skyttä + - Vincent Cruz + - Vincent Fazio + - Vincent Lefevre + - Vincent Torri + - Vincent Wixsom + - Vincenzo Innocente + - Vitaly Chikunov + - Wim Lewis + - Xi Ruoyao + - Xin Li + - Yifeng Li + - 榆柳松 (ZhengSen Wang) + +Companies: + - Google + - Sandfly Security + +Other credits: + - cleemy desu wayo working with Trend Micro Zero Day Initiative + - Orange Tsai and splitline from DEVCORE Research Team + +Also thanks to all the people who have participated in the Tukaani project. + +I have probably forgot to add some names to the above list. Sorry about +that and thanks for your help. + diff --git a/src/native/external/xz/TODO b/src/native/external/xz/TODO new file mode 100644 index 00000000000000..7a0bf16ed86eb3 --- /dev/null +++ b/src/native/external/xz/TODO @@ -0,0 +1,88 @@ + +XZ Utils To-Do List +=================== + +Known bugs +---------- + + The test suite is incomplete. + + XZ Utils compress some files significantly worse than LZMA Utils. + This is due to faster compression presets used by XZ Utils, and + 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. + + tuklib_exit() doesn't block signals => EINTR is possible. + + If liblzma has created threads and fork() gets called, liblzma + code will break in the child process unless it calls exec() and + doesn't touch liblzma. + + +Missing features +---------------- + + Add support for storing metadata in .xz files. A preliminary + idea is to create a new Stream type for metadata. When both + metadata and data are wanted in the same .xz file, two or more + Streams would be concatenated. + + The state stored in lzma_stream should be cloneable, which would + be mostly useful when using a preset dictionary in LZMA2, but + it may have other uses too. Compare to deflateCopy() in zlib. + + Adjust dictionary size when the input file size is known. + Maybe do this only if an option is given. + + xz doesn't support copying extended attributes, access control + lists etc. from source to target file. + + Multithreaded compression: + - Reduce memory usage of the current method. + - Implement threaded match finders. + - Implement pigz-style threading in LZMA2. + + Buffer-to-buffer coding could use less RAM (especially when + decompressing LZMA1 or LZMA2). + + 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. + + Support changing lzma_options_lzma.mode with lzma_filters_update(). + + Support LZMA_FULL_FLUSH for lzma_stream_decoder() to stop at + Block and Stream boundaries. + + Error codes from lzma_code() aren't very specific. A more detailed + error message (string) could be provided too. It could be returned + by a new function or use a currently-reserved member of lzma_stream. + + Make it possible to adjust LZMA2 options in the middle of a Block + so that the encoding speed vs. compression ratio can be optimized + when the compressed data is streamed over network. + + Improved BCJ filters. The current filters are small but they aren't + so great when compressing binary packages that contain various file + types. Specifically, they make things worse if there are static + libraries or Linux kernel modules. The filtering could also be + more effective (without getting overly complex), for example, + streamable variant BCJ2 from 7-Zip could be implemented. + + Filter that autodetects specific data types in the input stream + and applies appropriate filters for the corrects parts of the input. + Perhaps combine this with the BCJ filter improvement point above. + + Long-range LZ77 method as a separate filter or as a new LZMA2 + match finder. + + +Documentation +------------- + + More tutorial programs are needed for liblzma. + + Document the LZMA1 and LZMA2 algorithms. + diff --git a/src/native/external/xz/autogen.sh b/src/native/external/xz/autogen.sh new file mode 100644 index 00000000000000..231344d4de2c08 --- /dev/null +++ b/src/native/external/xz/autogen.sh @@ -0,0 +1,42 @@ +#!/bin/sh +# SPDX-License-Identifier: 0BSD + +############################################################################### +# +# Author: Lasse Collin +# +############################################################################### + +set -e -x + +# The following six lines are almost identical to "autoreconf -fi" but faster. +${AUTOPOINT:-autopoint} -f +${LIBTOOLIZE:-libtoolize} -c -f || glibtoolize -c -f +${ACLOCAL:-aclocal} -I m4 +${AUTOCONF:-autoconf} +${AUTOHEADER:-autoheader} +${AUTOMAKE:-automake} -acf --foreign + +# Generate the translated man pages if the "po4a" tool is available. +# This is *NOT* done by "autoreconf -fi" or when "make" is run. +# Pass --no-po4a to this script to skip this step. +# It can be useful when you know that po4a isn't available and +# don't want autogen.sh to exit with non-zero exit status. +generate_po4a="y" + +for arg in "$@" +do + case $arg in + "--no-po4a") + generate_po4a="n" + ;; + esac +done + +if test "$generate_po4a" != "n"; then + cd po4a + sh update-po + cd .. +fi + +exit 0 diff --git a/src/native/external/xz/build-aux/license-check.sh b/src/native/external/xz/build-aux/license-check.sh new file mode 100644 index 00000000000000..e994233ec7e451 --- /dev/null +++ b/src/native/external/xz/build-aux/license-check.sh @@ -0,0 +1,177 @@ +#!/bin/sh +# SPDX-License-Identifier: 0BSD + +############################################################################### +# +# Look for missing license info in xz.git +# +# The project doesn't conform to the FSFE REUSE specification for now. +# Instead, this script helps in finding files that lack license info. +# Pass -v as an argument to get license info from all files in xz.git or, +# when .git isn't available, from files extracted from a release tarball +# (in case of a release tarball, the tree must be clean of any extra files). +# +# NOTE: This relies on non-POSIX xargs -0. It's supported on GNU and *BSDs. +# +############################################################################### +# +# Author: Lasse Collin +# +############################################################################### + +# Print good files too if -v is passed as an argument. +VERBOSE=false +case $1 in + '') + ;; + -v) + VERBOSE=true + ;; + *) + echo "Usage: $0 [-v]" + exit 1 + ;; +esac + + +# Use the C locale so that sorting is always the same. +LC_ALL=C +export LC_ALL + + +# String to match the SPDX license identifier tag. +# Spell it here in a way that doesn't match regular grep patterns. +SPDX_LI='SPDX''-License-''Identifier'':' + +# Pattern for files that don't contain SPDX tags but they are under +# a free license that isn't 0BSD. +PAT_UNTAGGED_MISC='^COPYING\. +^INSTALL\.generic$' + +# Pattern for files that are 0BSD but don't contain SPDX tags. +# (The two file format specification files are public domain but +# they can be treated as 0BSD too.) +PAT_UNTAGGED_0BSD='^(.*/)?\.gitattributes$ +^(.*/)?\.gitignore$ +^\.github/SECURITY\.md$ +^AUTHORS$ +^COPYING$ +^ChangeLog$ +^INSTALL$ +^NEWS$ +^PACKAGERS$ +^(.*/)?README$ +^THANKS$ +^TODO$ +^(.*/)?[^/]+\.txt$ +^doc/SHA256SUMS$ +^po/LINGUAS$ +^src/common/w32_application\.manifest$ +^tests/xzgrep_expected_output$ +^tests/files/[^/]+\.(lz|lzma|xz)$' + +# Pattern for files that must be ignored when Git isn't available. This is +# useful when this script is run right after extracting a release tarball. +PAT_TARBALL_IGNORE='^(m4/)?[^/]*\.m4$ +^(.*/)?Makefile\.in(\.in)?$ +^(po|po4a)/.*[^.]..$ +^ABOUT-NLS$ +^build-aux/(config\..*|ltmain\.sh|[^.]*)$ +^config\.h\.in$ +^configure$' + + +# Go to the top source dir. +cd "$(dirname "$0")/.." || exit 1 + +# Get the list of files to check from git if possible. +# Otherwise list the whole source tree. This script should pass +# if it is run right after extracting a release tarball. +if test -d .git && type git > /dev/null 2>&1; then + FILES=$(git ls-files) || exit 1 + IS_TARBALL=false +else + FILES=$(find . -type f) || exit 1 + FILES=$(printf '%s\n' "$FILES" | sed 's,^\./,,') + IS_TARBALL=true +fi + +# Sort to keep the order consistent. +FILES=$(printf '%s\n' "$FILES" | sort) + + +# Find the tagged files. +TAGGED=$(printf '%s\n' "$FILES" \ + | tr '\n' '\000' | xargs -0r grep -l "$SPDX_LI" --) + +# Find the tagged 0BSD files. +TAGGED_0BSD=$(printf '%s\n' "$TAGGED" \ + | tr '\n' '\000' | xargs -0r grep -l "$SPDX_LI 0BSD" --) + +# Find the tagged non-0BSD files, that is, remove the 0BSD-tagged files +# from the list of tagged files. +TAGGED_MISC=$(printf '%s\n%s\n' "$TAGGED" "$TAGGED_0BSD" | sort | uniq -u) + + +# Remove the tagged files from the list. +FILES=$(printf '%s\n%s\n' "$FILES" "$TAGGED" | sort | uniq -u) + +# Find the intentionally-untagged files. +UNTAGGED_0BSD=$(printf '%s\n' "$FILES" | grep -E "$PAT_UNTAGGED_0BSD") +UNTAGGED_MISC=$(printf '%s\n' "$FILES" | grep -E "$PAT_UNTAGGED_MISC") + +# Remove the intentionally-untagged files from the list. +FILES=$(printf '%s\n' "$FILES" | grep -Ev \ + -e "$PAT_UNTAGGED_0BSD" -e "$PAT_UNTAGGED_MISC") + + +# FIXME: Allow untagged translations if they have a public domain notice. +# These are old translations that haven't been updated after 2024-02-14. +# Eventually these should go away. +PD_PO=$(printf '%s\n' "$FILES" | grep '\.po$' | tr '\n' '\000' \ + | xargs -0r grep -Fl '# This file is put in the public domain.' --) + +if test -n "$PD_PO"; then + # Remove the public domain .po files from the list. + FILES=$(printf '%s\n%s\n' "$FILES" "$PD_PO" | sort | uniq -u) +fi + + +# Remove generated files from the list which don't have SPDX tags but which +# can be present in release tarballs. This step is skipped when the file list +# is from "git ls-files". +GENERATED= +if $IS_TARBALL; then + GENERATED=$(printf '%s\n' "$FILES" | grep -E "$PAT_TARBALL_IGNORE") + FILES=$(printf '%s\n' "$FILES" | grep -Ev "$PAT_TARBALL_IGNORE") +fi + + +if $VERBOSE; then + printf '# Tagged 0BSD files:\n%s\n\n' "$TAGGED_0BSD" + printf '# Intentionally untagged 0BSD:\n%s\n\n' "$UNTAGGED_0BSD" + + # FIXME: Remove when no longer needed. + if test -n "$PD_PO"; then + printf '# Old public domain translations:\n%s\n\n' "$PD_PO" + fi + + printf '# Tagged non-0BSD files:\n%s\n\n' "$TAGGED_MISC" + printf '# Intentionally untagged miscellaneous: \n%s\n\n' \ + "$UNTAGGED_MISC" + + if test -n "$GENERATED"; then + printf '# Generated files whose license was NOT checked:\n%s\n\n' \ + "$GENERATED" + fi +fi + + +# Look for files with an unknown license and set the exit status accordingly. +STATUS=0 +if test -n "$FILES"; then + printf '# ERROR: Licensing is unclear:\n%s\n' "$FILES" + STATUS=1 +fi + +exit "$STATUS" diff --git a/src/native/external/xz/build-aux/manconv.sh b/src/native/external/xz/build-aux/manconv.sh new file mode 100644 index 00000000000000..cae5e266b74528 --- /dev/null +++ b/src/native/external/xz/build-aux/manconv.sh @@ -0,0 +1,56 @@ +#!/bin/sh +# SPDX-License-Identifier: 0BSD + +############################################################################### +# +# Wrapper for GNU groff to convert man pages to a few formats +# +# Usage: manconv.sh FORMAT [PAPER_SIZE] < in.1 > out.suffix +# +# FORMAT can be ascii, utf8, ps, or pdf. PAPER_SIZE can be anything that +# groff accepts, e.g. a4 or letter. See groff_font(5). PAPER_SIZE defaults +# to a4 and is used only when FORMAT is ps (PostScript) or pdf. +# +# Multiple man pages can be given at once e.g. to create a single PDF file +# with continuous page numbering. +# +############################################################################### +# +# Author: Lasse Collin +# +############################################################################### + +FORMAT=$1 +PAPER=${2-a4} + +# Make PostScript and PDF output more readable: +# - Use 11 pt font instead of the default 10 pt. +# - Use larger paragraph spacing than the default 0.4v (man(7) only). +FONT=11 +PD=0.8 + +SED_PD=" +/^\\.TH /s/\$/\\ +.PD $PD/ +s/^\\.PD\$/.PD $PD/" + +case $FORMAT in + ascii) + groff -t -mandoc -Tascii -P-c | col -bx + ;; + utf8) + groff -t -mandoc -Tutf8 -P-c | col -bx + ;; + ps) + sed "$SED_PD" | groff -dpaper="$PAPER" -t -mandoc \ + -rC1 -rS"$FONT" -Tps -P-p"$PAPER" + ;; + pdf) + sed "$SED_PD" | groff -dpaper="$PAPER" -t -mandoc \ + -rC1 -rS"$FONT" -Tps -P-p"$PAPER" | ps2pdf - - + ;; + *) + echo 'Invalid arguments' >&2 + exit 1 + ;; +esac diff --git a/src/native/external/xz/build-aux/version.sh b/src/native/external/xz/build-aux/version.sh new file mode 100644 index 00000000000000..d163d9349d7d33 --- /dev/null +++ b/src/native/external/xz/build-aux/version.sh @@ -0,0 +1,21 @@ +#!/bin/sh +# SPDX-License-Identifier: 0BSD + +############################################################################# +# +# Get the version string from version.h and print it out without +# trailing newline. This makes it suitable for use in configure.ac. +# +############################################################################# +# +# Author: Lasse Collin +# +############################################################################# + +sed -n 's/LZMA_VERSION_STABILITY_ALPHA/alpha/ + s/LZMA_VERSION_STABILITY_BETA/beta/ + s/LZMA_VERSION_STABILITY_STABLE// + s/^#define LZMA_VERSION_[MPS][AIT][AJNT][A-Z]* //p' \ + src/liblzma/api/lzma/version.h \ + | sed 'N; N; N; s/\n/./; s/\n/./; s/\n//g' \ + | tr -d '\012\015\025' diff --git a/src/native/external/xz/cmake/remove-ordinals.cmake b/src/native/external/xz/cmake/remove-ordinals.cmake new file mode 100644 index 00000000000000..de85ddfd15c52e --- /dev/null +++ b/src/native/external/xz/cmake/remove-ordinals.cmake @@ -0,0 +1,25 @@ +# SPDX-License-Identifier: 0BSD + +############################################################################# +# +# remove-ordinals.cmake +# +# Removes the ordinal numbers from a DEF file that has been created by +# GNU ld or LLVM lld option --output-def (when creating a Windows DLL). +# This should be equivalent: sed 's/ \+@ *[0-9]\+//' +# +# Usage: +# +# cmake -DINPUT_FILE=infile.def.in \ +# -DOUTPUT_FILE=outfile.def \ +# -P remove-ordinals.cmake +# +############################################################################# +# +# Author: Lasse Collin +# +############################################################################# + +file(READ "${INPUT_FILE}" STR) +string(REGEX REPLACE " +@ *[0-9]+" "" STR "${STR}") +file(WRITE "${OUTPUT_FILE}" "${STR}") diff --git a/src/native/external/xz/cmake/tuklib_common.cmake b/src/native/external/xz/cmake/tuklib_common.cmake new file mode 100644 index 00000000000000..9762e245f7bdd6 --- /dev/null +++ b/src/native/external/xz/cmake/tuklib_common.cmake @@ -0,0 +1,56 @@ +# SPDX-License-Identifier: 0BSD + +############################################################################# +# +# tuklib_common.cmake - common functions and macros for tuklib_*.cmake files +# +# Author: Lasse Collin +# +############################################################################# + +function(tuklib_add_definitions TARGET_OR_ALL DEFINITIONS) + # DEFINITIONS may be an empty string/list but it's fine here. There is + # no need to quote ${DEFINITIONS} as empty arguments are fine here. + if(TARGET_OR_ALL STREQUAL "ALL") + add_compile_definitions(${DEFINITIONS}) + else() + target_compile_definitions("${TARGET_OR_ALL}" PRIVATE ${DEFINITIONS}) + endif() +endfunction() + +function(tuklib_add_definition_if TARGET_OR_ALL VAR) + if(${VAR}) + tuklib_add_definitions("${TARGET_OR_ALL}" "${VAR}") + endif() +endfunction() + +# This is an over-simplified version of AC_USE_SYSTEM_EXTENSIONS in Autoconf +# or gl_USE_SYSTEM_EXTENSIONS in gnulib. +# +# NOTE: This is a macro because the changes to CMAKE_REQUIRED_DEFINITIONS +# must be visible in the calling scope. +macro(tuklib_use_system_extensions) + if(NOT MSVC) + add_compile_definitions( + _GNU_SOURCE # glibc, musl, mingw-w64 + _NETBSD_SOURCE # NetBSD, MINIX 3 + _OPENBSD_SOURCE # Also NetBSD! + __EXTENSIONS__ # Solaris + _POSIX_PTHREAD_SEMANTICS # Solaris + _DARWIN_C_SOURCE # macOS + _TANDEM_SOURCE # HP NonStop + _ALL_SOURCE # AIX, z/OS + ) + + list(APPEND CMAKE_REQUIRED_DEFINITIONS + -D_GNU_SOURCE + -D_NETBSD_SOURCE + -D_OPENBSD_SOURCE + -D__EXTENSIONS__ + -D_POSIX_PTHREAD_SEMANTICS + -D_DARWIN_C_SOURCE + -D_TANDEM_SOURCE + -D_ALL_SOURCE + ) + endif() +endmacro() diff --git a/src/native/external/xz/cmake/tuklib_cpucores.cmake b/src/native/external/xz/cmake/tuklib_cpucores.cmake new file mode 100644 index 00000000000000..05f3ceef8d15eb --- /dev/null +++ b/src/native/external/xz/cmake/tuklib_cpucores.cmake @@ -0,0 +1,184 @@ +# SPDX-License-Identifier: 0BSD + +############################################################################# +# +# tuklib_cpucores.cmake - see tuklib_cpucores.m4 for description and comments +# +# Author: Lasse Collin +# +############################################################################# + +include("${CMAKE_CURRENT_LIST_DIR}/tuklib_common.cmake") +include(CMakePushCheckState) +include(CheckCSourceCompiles) +include(CheckIncludeFile) + +function(tuklib_cpucores_internal_check) + if(WIN32 OR CYGWIN) + # Nothing to do, the tuklib_cpucores.c handles it. + set(TUKLIB_CPUCORES_DEFINITIONS "" CACHE INTERNAL "") + return() + endif() + + # glibc-based systems (GNU/Linux and GNU/kFreeBSD) have + # sched_getaffinity(). The CPU_COUNT() macro was added in glibc 2.9. + # glibc 2.9 is old enough that if someone uses the code on older glibc, + # the fallback to sysconf() should be good enough. + # + # NOTE: This required that _GNU_SOURCE is defined. We assume that whatever + # feature test macros the caller wants to use are already set in + # CMAKE_REQUIRED_DEFINES and in the target defines. + check_c_source_compiles(" + #include + int main(void) + { + cpu_set_t cpu_mask; + sched_getaffinity(0, sizeof(cpu_mask), &cpu_mask); + return CPU_COUNT(&cpu_mask); + } + " + TUKLIB_CPUCORES_SCHED_GETAFFINITY) + if(TUKLIB_CPUCORES_SCHED_GETAFFINITY) + set(TUKLIB_CPUCORES_DEFINITIONS + "TUKLIB_CPUCORES_SCHED_GETAFFINITY" + CACHE INTERNAL "") + return() + endif() + + # FreeBSD has both cpuset and sysctl. Look for cpuset first because + # it's a better approach. + # + # This test would match on GNU/kFreeBSD too but it would require + # -lfreebsd-glue when linking and thus in the current form this would + # fail on GNU/kFreeBSD. The above test for sched_getaffinity() matches + # on GNU/kFreeBSD so the test below should never run on that OS. + check_c_source_compiles(" + #include + #include + int main(void) + { + cpuset_t set; + cpuset_getaffinity(CPU_LEVEL_WHICH, CPU_WHICH_PID, -1, + sizeof(set), &set); + return 0; + } + " + TUKLIB_CPUCORES_CPUSET) + if(TUKLIB_CPUCORES_CPUSET) + set(TUKLIB_CPUCORES_DEFINITIONS "HAVE_PARAM_H;TUKLIB_CPUCORES_CPUSET" + CACHE INTERNAL "") + return() + endif() + + # On OS/2, both sysconf() and sysctl() pass the tests in this file, + # but only sysctl() works. On QNX it's the opposite: only sysconf() works + # (although it assumes that _POSIX_SOURCE, _XOPEN_SOURCE, and + # _POSIX_C_SOURCE are undefined or alternatively _QNX_SOURCE is defined). + # + # We test sysctl() first and intentionally break the sysctl() test on QNX + # so that sysctl() is never used on QNX. + cmake_push_check_state() + check_include_file(sys/param.h HAVE_SYS_PARAM_H) + if(HAVE_SYS_PARAM_H) + list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_SYS_PARAM_H) + endif() + check_c_source_compiles(" + #ifdef __QNX__ + compile error + #endif + #ifdef HAVE_SYS_PARAM_H + # include + #endif + #include + int main(void) + { + #ifdef HW_NCPUONLINE + /* This is preferred on OpenBSD, see tuklib_cpucores.c. */ + int name[2] = { CTL_HW, HW_NCPUONLINE }; + #else + int name[2] = { CTL_HW, HW_NCPU }; + #endif + int cpus; + size_t cpus_size = sizeof(cpus); + sysctl(name, 2, &cpus, &cpus_size, NULL, 0); + return 0; + } + " + TUKLIB_CPUCORES_SYSCTL) + cmake_pop_check_state() + if(TUKLIB_CPUCORES_SYSCTL) + if(HAVE_SYS_PARAM_H) + set(TUKLIB_CPUCORES_DEFINITIONS + "HAVE_PARAM_H;TUKLIB_CPUCORES_SYSCTL" + CACHE INTERNAL "") + else() + set(TUKLIB_CPUCORES_DEFINITIONS + "TUKLIB_CPUCORES_SYSCTL" + CACHE INTERNAL "") + endif() + return() + endif() + + # Many platforms support sysconf(). + check_c_source_compiles(" + #include + int main(void) + { + long i; + #ifdef _SC_NPROCESSORS_ONLN + /* Many systems using sysconf() */ + i = sysconf(_SC_NPROCESSORS_ONLN); + #else + /* IRIX */ + i = sysconf(_SC_NPROC_ONLN); + #endif + return 0; + } + " + TUKLIB_CPUCORES_SYSCONF) + if(TUKLIB_CPUCORES_SYSCONF) + set(TUKLIB_CPUCORES_DEFINITIONS "TUKLIB_CPUCORES_SYSCONF" + CACHE INTERNAL "") + return() + endif() + + # HP-UX + check_c_source_compiles(" + #include + #include + int main(void) + { + struct pst_dynamic pst; + pstat_getdynamic(&pst, sizeof(pst), 1, 0); + (void)pst.psd_proc_cnt; + return 0; + } + " + TUKLIB_CPUCORES_PSTAT_GETDYNAMIC) + if(TUKLIB_CPUCORES_PSTAT_GETDYNAMIC) + set(TUKLIB_CPUCORES_DEFINITIONS "TUKLIB_CPUCORES_PSTAT_GETDYNAMIC" + CACHE INTERNAL "") + return() + endif() +endfunction() + +function(tuklib_cpucores TARGET_OR_ALL) + if(NOT DEFINED TUKLIB_CPUCORES_FOUND) + message(STATUS + "Checking how to detect the number of available CPU cores") + tuklib_cpucores_internal_check() + + if(DEFINED TUKLIB_CPUCORES_DEFINITIONS) + set(TUKLIB_CPUCORES_FOUND 1 CACHE INTERNAL "") + else() + set(TUKLIB_CPUCORES_FOUND 0 CACHE INTERNAL "") + message(WARNING + "No method to detect the number of CPU cores was found") + endif() + endif() + + if(TUKLIB_CPUCORES_FOUND) + tuklib_add_definitions("${TARGET_OR_ALL}" + "${TUKLIB_CPUCORES_DEFINITIONS}") + endif() +endfunction() diff --git a/src/native/external/xz/cmake/tuklib_integer.cmake b/src/native/external/xz/cmake/tuklib_integer.cmake new file mode 100644 index 00000000000000..18facbf427f7be --- /dev/null +++ b/src/native/external/xz/cmake/tuklib_integer.cmake @@ -0,0 +1,288 @@ +# SPDX-License-Identifier: 0BSD + +############################################################################# +# +# tuklib_integer.cmake - see tuklib_integer.m4 for description and comments +# +# Author: Lasse Collin +# +############################################################################# + +include("${CMAKE_CURRENT_LIST_DIR}/tuklib_common.cmake") +include(TestBigEndian) +include(CheckCSourceCompiles) +include(CheckIncludeFile) +include(CheckSymbolExists) + +# An internal helper for tuklib_integer that attempts to detect if +# -mstrict-align or -mno-strict-align is in effect. This sets the +# cache variable TUKLIB_INTEGER_STRICT_ALIGN to ON if OBJDUMP_REGEX +# matches the objdump output of a check program. Otherwise it is set to OFF. +function(tuklib_integer_internal_strict_align OBJDUMP_REGEX) + if(NOT DEFINED TUKLIB_INTEGER_STRICT_ALIGN) + # Build a static library because then the function won't be optimized + # away, and there won't be any unrelated startup code either. + set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) + + # CMake >= 3.25 wouldn't require us to create a temporary file, + # but the following method is compatible with 3.20. + file(WRITE "${CMAKE_BINARY_DIR}/tuklib_integer_strict_align.c" " + #include + unsigned int check_strict_align(const void *p) + { + unsigned int i; + memcpy(&i, p, sizeof(i)); + return i; + } + ") + + # Force -O2 because memcpy() won't be optimized out if optimizations + # are disabled. + try_compile( + TRY_COMPILE_RESULT + "${CMAKE_BINARY_DIR}" + "${CMAKE_BINARY_DIR}/tuklib_integer_strict_align.c" + COMPILE_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}" + CMAKE_FLAGS "-DCOMPILE_DEFINITIONS=${CMAKE_REQUIRED_FLAGS} -O2" + COPY_FILE "${CMAKE_BINARY_DIR}/tuklib_integer_strict_align.a" + ) + + if(NOT TRY_COMPILE_RESULT) + message(FATAL_ERROR + "Compilation of the strict align check failed. " + "Either the specified compiler flags are broken " + "or ${CMAKE_CURRENT_FUNCTION_LIST_FILE} has a bug.") + endif() + + # Use WORKING_DIRECTORY instead of passing the full path to objdump. + # This ensures that the pathname won't affect the objdump output, + # which could result in an unwanted regex match in the next step. + execute_process( + COMMAND "${CMAKE_OBJDUMP}" -d "tuklib_integer_strict_align.a" + WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" + OUTPUT_VARIABLE OBJDUMP_OUTPUT + RESULT_VARIABLE OBJDUMP_RESULT + ) + + # FIXME? Should we remove the temporary files here? + + # Look for instructions that load unsigned bytes. If none are found, + # assume that -mno-strict-align is in effect. + if(OBJDUMP_RESULT STREQUAL "0" AND + OBJDUMP_OUTPUT MATCHES "${OBJDUMP_REGEX}") + set(TUKLIB_INTEGER_STRICT_ALIGN ON CACHE INTERNAL "") + else() + set(TUKLIB_INTEGER_STRICT_ALIGN OFF CACHE INTERNAL "") + endif() + endif() +endfunction() + +function(tuklib_integer TARGET_OR_ALL) + # Check for endianness. Unlike the Autoconf's AC_C_BIGENDIAN, this doesn't + # support Apple universal binaries. The CMake module will leave the + # variable unset so we can catch that situation here instead of continuing + # as if we were little endian. + test_big_endian(WORDS_BIGENDIAN) + if(NOT DEFINED WORDS_BIGENDIAN) + message(FATAL_ERROR "Cannot determine endianness") + endif() + tuklib_add_definition_if("${TARGET_OR_ALL}" WORDS_BIGENDIAN) + + # Look for a byteswapping method. + check_c_source_compiles(" + int main(void) + { + __builtin_bswap16(1); + __builtin_bswap32(1); + __builtin_bswap64(1); + return 0; + } + " + HAVE___BUILTIN_BSWAPXX) + if(HAVE___BUILTIN_BSWAPXX) + tuklib_add_definitions("${TARGET_OR_ALL}" HAVE___BUILTIN_BSWAPXX) + else() + check_include_file(byteswap.h HAVE_BYTESWAP_H) + if(HAVE_BYTESWAP_H) + tuklib_add_definitions("${TARGET_OR_ALL}" HAVE_BYTESWAP_H) + check_symbol_exists(bswap_16 byteswap.h HAVE_BSWAP_16) + tuklib_add_definition_if("${TARGET_OR_ALL}" HAVE_BSWAP_16) + check_symbol_exists(bswap_32 byteswap.h HAVE_BSWAP_32) + tuklib_add_definition_if("${TARGET_OR_ALL}" HAVE_BSWAP_32) + check_symbol_exists(bswap_64 byteswap.h HAVE_BSWAP_64) + tuklib_add_definition_if("${TARGET_OR_ALL}" HAVE_BSWAP_64) + else() + check_include_file(sys/endian.h HAVE_SYS_ENDIAN_H) + if(HAVE_SYS_ENDIAN_H) + tuklib_add_definitions("${TARGET_OR_ALL}" HAVE_SYS_ENDIAN_H) + else() + check_include_file(sys/byteorder.h HAVE_SYS_BYTEORDER_H) + tuklib_add_definition_if("${TARGET_OR_ALL}" + HAVE_SYS_BYTEORDER_H) + endif() + endif() + endif() + + # Autodetect if unaligned memory access is fast when the cache variable + # TUKLIB_FAST_UNALIGNED_ACCESS isn't set. The result is stored in + # FAST_UNALIGNED_GUESS. Assume that unaligned access shouldn't be used. + # Initialize the variable here so that it's never undefined in the + # option() command after the if()...endif() block. + set(FAST_UNALIGNED_GUESS OFF) + if(NOT DEFINED TUKLIB_FAST_UNALIGNED_ACCESS) + message(CHECK_START "Check if unaligned memory access should be used") + + # Guess that unaligned access is fast on these archs: + # - 32/64-bit x86 / x86-64 + # - 32/64-bit big endian PowerPC + # - 64-bit little endian PowerPC + # - 32/64-bit Loongarch (*) + # - Some 32-bit ARM + # - Some 64-bit ARM64 (AArch64) + # - Some 32/64-bit RISC-V + # + # (*) See sections 7.4, 8.1, and 8.2: + # https://github.com/loongson/la-softdev-convention/blob/v0.2/la-softdev-convention.adoc + # + # That is, desktop and server processors likely support + # unaligned access in hardware but embedded processors + # might not. GCC defaults to -mno-strict-align and so + # do majority of GNU/Linux distributions. As of + # GCC 15.2, there is no predefined macro to detect + # if -mstrict-align or -mno-strict-align is in effect. + # We use heuristics based on compiler output. + # + # CMake < 4.1 doesn't provide a standardized/normalized list of arch + # names. For example, x86-64 may be "x86_64" (Linux), + # "AMD64" (Windows), or even "EM64T" (64-bit WinXP). + string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" PROCESSOR) + + # CMake 4.1 made CMAKE__COMPILER_ARCHITECTURE_ID useful on many + # targets. In earlier versions it's still useful with MSVC with which + # CMAKE_SYSTEM_PROCESSOR can refer to the build machine. + if(NOT CMAKE_C_COMPILER_ARCHITECTURE_ID STREQUAL "") + # CMake 4.2.0 docs say that the list typically has only one entry + # except possibly on macOS. On macOS, most (all?) archs support + # unaligned access. Just pick the first one from the list. + list(GET CMAKE_C_COMPILER_ARCHITECTURE_ID 0 PROCESSOR) + string(TOLOWER "${PROCESSOR}" PROCESSOR) + endif() + + # There is no ^ in the first regex branch to allow "i" at + # the beginning so it can match "i386" to "i786", and "x86_64". + if(PROCESSOR MATCHES "[x34567]86|^x64|^amd64|^em64t") + set(FAST_UNALIGNED_GUESS ON) + + elseif(PROCESSOR MATCHES "^powerpc|^ppc") + if(WORDS_BIGENDIAN OR PROCESSOR MATCHES "64") + set(FAST_UNALIGNED_GUESS ON) + endif() + + elseif(PROCESSOR MATCHES "^arm|^riscv" AND + NOT PROCESSOR MATCHES "^arm64") + # On 32-bit ARM, GCC and Clang # #define __ARM_FEATURE_UNALIGNED + # if and only if unaligned access is supported. + # + # RISC-V C API Specification says that if + # __riscv_misaligned_fast is defined then + # unaligned access is known to be fast. + # + # MSVC is handled as a special case: We assume that + # 32-bit ARM supports fast unaligned access. + # If MSVC gets RISC-V support then this will assume + # fast unaligned access on RISC-V too. + check_c_source_compiles(" + #if !defined(__ARM_FEATURE_UNALIGNED) \ + && !defined(__riscv_misaligned_fast) \ + && !defined(_MSC_VER) + compile error + #endif + int main(void) { return 0; } + " + TUKLIB_FAST_UNALIGNED_DEFINED_BY_PREPROCESSOR) + if(TUKLIB_FAST_UNALIGNED_DEFINED_BY_PREPROCESSOR) + set(FAST_UNALIGNED_GUESS ON) + endif() + + elseif(PROCESSOR MATCHES "^aarch64|^arm64") + # On ARM64, Clang defines __ARM_FEATURE_UNALIGNED if and only if + # unaligned access is supported. However, GCC (at least up to 15.2.0) + # defines it even when using -mstrict-align, so autodetection with + # this macro doesn't work with GCC on ARM64. (It does work on + # 32-bit ARM.) See: + # + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111555 + # + # We need three checks: + # + # 1. If __ARM_FEATURE_UNALIGNED is defined and the + # compiler isn't GCC, unaligned access is enabled. + # If the compiler is MSVC, unaligned access is + # enabled even without __ARM_FEATURE_UNALIGNED. + check_c_source_compiles(" + #if defined(__ARM_FEATURE_UNALIGNED) \ + && (!defined(__GNUC__) || defined(__clang__)) + #elif defined(_MSC_VER) + #else + compile error + #endif + int main(void) { return 0; } + " + TUKLIB_FAST_UNALIGNED_DEFINED_BY_PREPROCESSOR) + if(TUKLIB_FAST_UNALIGNED_DEFINED_BY_PREPROCESSOR) + set(FAST_UNALIGNED_GUESS ON) + else() + # 2. If __ARM_FEATURE_UNALIGNED is not defined, + # unaligned access is disabled. + check_c_source_compiles(" + #ifdef __ARM_FEATURE_UNALIGNED + compile error + #endif + int main(void) { return 0; } + " + TUKLIB_FAST_UNALIGNED_NOT_DEFINED_BY_PREPROCESSOR) + if(NOT TUKLIB_FAST_UNALIGNED_NOT_DEFINED_BY_PREPROCESSOR) + # 3. Use heuristics to detect if -mstrict-align is + # in effect when building with GCC. + tuklib_integer_internal_strict_align("[ \t]ldrb[ \t]") + if(NOT TUKLIB_INTEGER_STRICT_ALIGN) + set(FAST_UNALIGNED_GUESS ON) + endif() + endif() + endif() + + elseif(PROCESSOR MATCHES "^loongarch") + tuklib_integer_internal_strict_align("[ \t]ld\\.bu[ \t]") + if(NOT TUKLIB_INTEGER_STRICT_ALIGN) + set(FAST_UNALIGNED_GUESS ON) + endif() + endif() + + if(FAST_UNALIGNED_GUESS) + message(CHECK_PASS "yes") + else() + message(CHECK_PASS "no") + endif() + endif() + + option(TUKLIB_FAST_UNALIGNED_ACCESS + "Enable if the system supports *fast* unaligned memory access \ +with 16-bit, 32-bit, and 64-bit integers." + "${FAST_UNALIGNED_GUESS}") + tuklib_add_definition_if("${TARGET_OR_ALL}" TUKLIB_FAST_UNALIGNED_ACCESS) + + # Unsafe type punning: + option(TUKLIB_USE_UNSAFE_TYPE_PUNNING + "This introduces strict aliasing violations and \ +may result in broken code. However, this might improve performance \ +in some cases, especially with old compilers \ +(e.g. GCC 3 and early 4.x on x86, GCC < 6 on ARMv6 and ARMv7)." + OFF) + tuklib_add_definition_if("${TARGET_OR_ALL}" TUKLIB_USE_UNSAFE_TYPE_PUNNING) + + # Check for GCC/Clang __builtin_assume_aligned(). + check_c_source_compiles( + "int main(void) { __builtin_assume_aligned(\"\", 1); return 0; }" + HAVE___BUILTIN_ASSUME_ALIGNED) + tuklib_add_definition_if("${TARGET_OR_ALL}" HAVE___BUILTIN_ASSUME_ALIGNED) +endfunction() diff --git a/src/native/external/xz/cmake/tuklib_large_file_support.cmake b/src/native/external/xz/cmake/tuklib_large_file_support.cmake new file mode 100644 index 00000000000000..7c11969cdfe5f9 --- /dev/null +++ b/src/native/external/xz/cmake/tuklib_large_file_support.cmake @@ -0,0 +1,54 @@ +# SPDX-License-Identifier: 0BSD + +############################################################################# +# +# tuklib_large_file_support.cmake +# +# If off_t is less than 64 bits by default and -D_FILE_OFFSET_BITS=64 +# makes off_t become 64-bit, the CMake option LARGE_FILE_SUPPORT is +# provided (ON by default) and -D_FILE_OFFSET_BITS=64 is added to +# the compile definitions if LARGE_FILE_SUPPORT is ON. +# +# Author: Lasse Collin +# +############################################################################# + +include("${CMAKE_CURRENT_LIST_DIR}/tuklib_common.cmake") +include(CMakePushCheckState) +include(CheckCSourceCompiles) + +function(tuklib_large_file_support TARGET_OR_ALL) + # MSVC must be handled specially in the C code. + if(MSVC) + return() + endif() + + set(TUKLIB_LARGE_FILE_SUPPORT_TEST + "#include + int foo[sizeof(off_t) >= 8 ? 1 : -1]; + int main(void) { return 0; }") + + check_c_source_compiles("${TUKLIB_LARGE_FILE_SUPPORT_TEST}" + TUKLIB_LARGE_FILE_SUPPORT_BY_DEFAULT) + + if(NOT TUKLIB_LARGE_FILE_SUPPORT_BY_DEFAULT) + cmake_push_check_state() + # This needs -D. + list(APPEND CMAKE_REQUIRED_DEFINITIONS "-D_FILE_OFFSET_BITS=64") + check_c_source_compiles("${TUKLIB_LARGE_FILE_SUPPORT_TEST}" + TUKLIB_LARGE_FILE_SUPPORT_WITH_FOB64) + cmake_pop_check_state() + endif() + + if(TUKLIB_LARGE_FILE_SUPPORT_WITH_FOB64) + # Show the option only when _FILE_OFFSET_BITS=64 affects sizeof(off_t). + option(LARGE_FILE_SUPPORT + "Use -D_FILE_OFFSET_BITS=64 to support files larger than 2 GiB." + ON) + + if(LARGE_FILE_SUPPORT) + # This must not use -D. + tuklib_add_definitions("${TARGET_OR_ALL}" "_FILE_OFFSET_BITS=64") + endif() + endif() +endfunction() diff --git a/src/native/external/xz/cmake/tuklib_mbstr.cmake b/src/native/external/xz/cmake/tuklib_mbstr.cmake new file mode 100644 index 00000000000000..bd234cbc96bbfe --- /dev/null +++ b/src/native/external/xz/cmake/tuklib_mbstr.cmake @@ -0,0 +1,25 @@ +# SPDX-License-Identifier: 0BSD + +############################################################################# +# +# tuklib_mbstr.cmake - see tuklib_mbstr.m4 for description and comments +# +# Author: Lasse Collin +# +############################################################################# + +include("${CMAKE_CURRENT_LIST_DIR}/tuklib_common.cmake") +include(CheckSymbolExists) + +function(tuklib_mbstr TARGET_OR_ALL) + check_symbol_exists(mbrtowc wchar.h HAVE_MBRTOWC) + tuklib_add_definition_if("${TARGET_OR_ALL}" HAVE_MBRTOWC) + + # NOTE: wcwidth() requires _GNU_SOURCE or _XOPEN_SOURCE on GNU/Linux. + check_symbol_exists(wcwidth wchar.h HAVE_WCWIDTH) + tuklib_add_definition_if("${TARGET_OR_ALL}" HAVE_WCWIDTH) + + # NOTE: vasprintf() requires _GNU_SOURCE on GNU/Linux. + check_symbol_exists(vasprintf stdio.h HAVE_VASPRINTF) + tuklib_add_definition_if("${TARGET_OR_ALL}" HAVE_VASPRINTF) +endfunction() diff --git a/src/native/external/xz/cmake/tuklib_physmem.cmake b/src/native/external/xz/cmake/tuklib_physmem.cmake new file mode 100644 index 00000000000000..d4d3f3d260c38e --- /dev/null +++ b/src/native/external/xz/cmake/tuklib_physmem.cmake @@ -0,0 +1,153 @@ +# SPDX-License-Identifier: 0BSD + +############################################################################# +# +# tuklib_physmem.cmake - see tuklib_physmem.m4 for description and comments +# +# NOTE: Compared tuklib_physmem.m4, this lacks support for Tru64, IRIX, and +# Linux sysinfo() (usually sysconf() is used on GNU/Linux). +# +# Author: Lasse Collin +# +############################################################################# + +include("${CMAKE_CURRENT_LIST_DIR}/tuklib_common.cmake") +include(CMakePushCheckState) +include(CheckCSourceCompiles) +include(CheckIncludeFile) + +function(tuklib_physmem_internal_check) + # Shortcut on Windows: + if(WIN32 OR CYGWIN) + # Nothing to do, the tuklib_physmem.c handles it. + set(TUKLIB_PHYSMEM_DEFINITIONS "" CACHE INTERNAL "") + return() + endif() + + # Full check for special cases: + check_c_source_compiles(" + #if defined(_WIN32) || defined(__CYGWIN__) || defined(__OS2__) \ + || defined(__DJGPP__) || defined(__VMS) \ + || defined(AMIGA) || defined(__AROS__) || defined(__QNX__) + int main(void) { return 0; } + #else + compile error + #endif + " + TUKLIB_PHYSMEM_SPECIAL) + if(TUKLIB_PHYSMEM_SPECIAL) + # Nothing to do, the tuklib_physmem.c handles it. + set(TUKLIB_PHYSMEM_DEFINITIONS "" CACHE INTERNAL "") + return() + endif() + + # Look for AIX-specific solution before sysconf(), because the test + # for sysconf() will pass on AIX but won't actually work + # (sysconf(_SC_PHYS_PAGES) compiles but always returns -1 on AIX). + check_c_source_compiles(" + #include + int main(void) + { + (void)_system_configuration.physmem; + return 0; + } + " + TUKLIB_PHYSMEM_AIX) + if(TUKLIB_PHYSMEM_AIX) + set(TUKLIB_PHYSMEM_DEFINITIONS "TUKLIB_PHYSMEM_AIX" CACHE INTERNAL "") + return() + endif() + + # sysconf() + check_c_source_compiles(" + #include + int main(void) + { + long i; + i = sysconf(_SC_PAGESIZE); + i = sysconf(_SC_PHYS_PAGES); + return 0; + } + " + TUKLIB_PHYSMEM_SYSCONF) + if(TUKLIB_PHYSMEM_SYSCONF) + set(TUKLIB_PHYSMEM_DEFINITIONS "TUKLIB_PHYSMEM_SYSCONF" + CACHE INTERNAL "") + return() + endif() + + # sysctl() + cmake_push_check_state() + check_include_file(sys/param.h HAVE_SYS_PARAM_H) + if(HAVE_SYS_PARAM_H) + list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_SYS_PARAM_H) + endif() + check_c_source_compiles(" + #ifdef HAVE_SYS_PARAM_H + # include + #endif + #include + int main(void) + { + int name[2] = { CTL_HW, HW_PHYSMEM }; + unsigned long mem; + size_t mem_ptr_size = sizeof(mem); + sysctl(name, 2, &mem, &mem_ptr_size, NULL, 0); + return 0; + } + " + TUKLIB_PHYSMEM_SYSCTL) + cmake_pop_check_state() + if(TUKLIB_PHYSMEM_SYSCTL) + if(HAVE_SYS_PARAM_H) + set(TUKLIB_PHYSMEM_DEFINITIONS + "HAVE_PARAM_H;TUKLIB_PHYSMEM_SYSCTL" + CACHE INTERNAL "") + else() + set(TUKLIB_PHYSMEM_DEFINITIONS + "TUKLIB_PHYSMEM_SYSCTL" + CACHE INTERNAL "") + endif() + return() + endif() + + # HP-UX + check_c_source_compiles(" + #include + #include + int main(void) + { + struct pst_static pst; + pstat_getstatic(&pst, sizeof(pst), 1, 0); + (void)pst.physical_memory; + (void)pst.page_size; + return 0; + } + " + TUKLIB_PHYSMEM_PSTAT_GETSTATIC) + if(TUKLIB_PHYSMEM_PSTAT_GETSTATIC) + set(TUKLIB_PHYSMEM_DEFINITIONS "TUKLIB_PHYSMEM_PSTAT_GETSTATIC" + CACHE INTERNAL "") + return() + endif() +endfunction() + +function(tuklib_physmem TARGET_OR_ALL) + if(NOT DEFINED TUKLIB_PHYSMEM_FOUND) + message(STATUS "Checking how to detect the amount of physical memory") + tuklib_physmem_internal_check() + + if(DEFINED TUKLIB_PHYSMEM_DEFINITIONS) + set(TUKLIB_PHYSMEM_FOUND 1 CACHE INTERNAL "") + else() + set(TUKLIB_PHYSMEM_FOUND 0 CACHE INTERNAL "") + message(WARNING + "No method to detect the amount of physical memory was found") + endif() + endif() + + if(TUKLIB_PHYSMEM_FOUND) + tuklib_add_definitions("${TARGET_OR_ALL}" + "${TUKLIB_PHYSMEM_DEFINITIONS}") + endif() +endfunction() diff --git a/src/native/external/xz/cmake/tuklib_progname.cmake b/src/native/external/xz/cmake/tuklib_progname.cmake new file mode 100644 index 00000000000000..a1f15bdeac306a --- /dev/null +++ b/src/native/external/xz/cmake/tuklib_progname.cmake @@ -0,0 +1,19 @@ +# SPDX-License-Identifier: 0BSD + +############################################################################# +# +# tuklib_progname.cmake - see tuklib_progname.m4 for description and comments +# +# Author: Lasse Collin +# +############################################################################# + +include("${CMAKE_CURRENT_LIST_DIR}/tuklib_common.cmake") +include(CheckSymbolExists) + +function(tuklib_progname TARGET_OR_ALL) + # NOTE: This glibc extension requires _GNU_SOURCE. + check_symbol_exists(program_invocation_name errno.h + HAVE_PROGRAM_INVOCATION_NAME) + tuklib_add_definition_if("${TARGET_OR_ALL}" HAVE_PROGRAM_INVOCATION_NAME) +endfunction() diff --git a/src/native/external/xz/configure.ac b/src/native/external/xz/configure.ac new file mode 100644 index 00000000000000..30e53f219685af --- /dev/null +++ b/src/native/external/xz/configure.ac @@ -0,0 +1,1453 @@ +# -*- Autoconf -*- +# SPDX-License-Identifier: 0BSD + +############################################################################### +# +# Process this file with autoconf to produce a configure script. +# +# Author: Lasse Collin +# +############################################################################### + +# NOTE: Don't add useless checks. autoscan detects this and that, but don't +# let it confuse you. For example, we don't care about checking for behavior +# of malloc(), stat(), or lstat(), since we don't use those functions in +# a way that would cause the problems the autoconf macros check. + +AC_PREREQ([2.69]) + +AC_INIT([XZ Utils], m4_esyscmd([/bin/sh build-aux/version.sh]), + [xz@tukaani.org], [xz], [https://tukaani.org/xz/]) +AC_CONFIG_SRCDIR([src/liblzma/common/common.h]) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIR([m4]) +AC_CONFIG_HEADERS([config.h]) + +echo +echo "$PACKAGE_STRING" + +echo +echo "System type:" +# This is needed to know if assembler optimizations can be used. +AC_CANONICAL_HOST + +# We do some special things on Windows (32-bit or 64-bit) builds. +case $host_os in + mingw* | cygwin | msys) is_w32=yes ;; + *) is_w32=no ;; +esac +AM_CONDITIONAL([COND_W32], [test "$is_w32" = yes]) + +# We need to use $EXEEXT with $(LN_S) when creating symlinks to +# executables. Cygwin is an exception to this, since it is recommended +# that symlinks don't have the .exe suffix. To make this work, we +# define LN_EXEEXT. +# +# MSYS2 is treated the same way as Cygwin. It uses plain "msys" like +# the original MSYS when building MSYS/MSYS2-binaries. Hopefully this +# doesn't break things for the original MSYS developers. Note that this +# doesn't affect normal MSYS/MSYS2 users building non-MSYS/MSYS2 binaries +# since in that case the $host_os is usually mingw32. +case $host_os in + cygwin | msys) LN_EXEEXT= ;; + *) LN_EXEEXT='$(EXEEXT)' ;; +esac +AC_SUBST([LN_EXEEXT]) + +echo +echo "Configure options:" +AM_CFLAGS= + + +############# +# Debugging # +############# + +AC_MSG_CHECKING([if debugging code should be compiled]) +AC_ARG_ENABLE([debug], AS_HELP_STRING([--enable-debug], [Enable debugging code.]), + [], enable_debug=no) +if test "x$enable_debug" = xyes; then + AC_MSG_RESULT([yes]) +else + AC_DEFINE([NDEBUG], [1], [Define to 1 to disable debugging code.]) + AC_MSG_RESULT([no]) +fi + + +########### +# Filters # +########### + +m4_define([SUPPORTED_FILTERS], [lzma1,lzma2,delta,x86,powerpc,ia64,arm,armthumb,arm64,sparc,riscv])dnl +m4_define([SIMPLE_FILTERS], [x86,powerpc,ia64,arm,armthumb,arm64,sparc,riscv]) +m4_define([LZ_FILTERS], [lzma1,lzma2]) + +m4_foreach([NAME], [SUPPORTED_FILTERS], +[enable_filter_[]NAME=no +enable_encoder_[]NAME=no +enable_decoder_[]NAME=no +])dnl + +AC_MSG_CHECKING([which encoders to build]) +AC_ARG_ENABLE([encoders], AS_HELP_STRING([--enable-encoders=LIST], + [Comma-separated list of encoders to build. Default=all. + Available encoders:] + m4_translit(m4_defn([SUPPORTED_FILTERS]), [,], [ ])), + [], [enable_encoders=SUPPORTED_FILTERS]) +enable_encoders=`echo "$enable_encoders" | sed 's/,/ /g'` +if test "x$enable_encoders" = xno || test "x$enable_encoders" = x; then + enable_encoders=no + AC_MSG_RESULT([(none)]) +else + for arg in $enable_encoders + do + case $arg in m4_foreach([NAME], [SUPPORTED_FILTERS], [ + NAME) + enable_filter_[]NAME=yes + enable_encoder_[]NAME=yes + AC_DEFINE(HAVE_ENCODER_[]m4_toupper(NAME), [1], + [Define to 1 if] NAME [encoder is enabled.]) + ;;]) + *) + AC_MSG_RESULT([]) + AC_MSG_ERROR([unknown filter: $arg]) + ;; + esac + done + AC_DEFINE([HAVE_ENCODERS], [1], + [Define to 1 if any of HAVE_ENCODER_foo have been defined.]) + AC_MSG_RESULT([$enable_encoders]) +fi + +AC_MSG_CHECKING([which decoders to build]) +AC_ARG_ENABLE([decoders], AS_HELP_STRING([--enable-decoders=LIST], + [Comma-separated list of decoders to build. Default=all. + Available decoders are the same as available encoders.]), + [], [enable_decoders=SUPPORTED_FILTERS]) +enable_decoders=`echo "$enable_decoders" | sed 's/,/ /g'` +if test "x$enable_decoders" = xno || test "x$enable_decoders" = x; then + enable_decoders=no + AC_MSG_RESULT([(none)]) +else + for arg in $enable_decoders + do + case $arg in m4_foreach([NAME], [SUPPORTED_FILTERS], [ + NAME) + enable_filter_[]NAME=yes + enable_decoder_[]NAME=yes + AC_DEFINE(HAVE_DECODER_[]m4_toupper(NAME), [1], + [Define to 1 if] NAME [decoder is enabled.]) + ;;]) + *) + AC_MSG_RESULT([]) + AC_MSG_ERROR([unknown filter: $arg]) + ;; + esac + done + AC_DEFINE([HAVE_DECODERS], [1], + [Define to 1 if any of HAVE_DECODER_foo have been defined.]) + AC_MSG_RESULT([$enable_decoders]) +fi + +if test "x$enable_encoder_lzma2$enable_encoder_lzma1" = xyesno \ + || test "x$enable_decoder_lzma2$enable_decoder_lzma1" = xyesno; then + AC_MSG_ERROR([LZMA2 requires that LZMA1 is also enabled.]) +fi + +AM_CONDITIONAL(COND_MAIN_ENCODER, test "x$enable_encoders" != xno) +AM_CONDITIONAL(COND_MAIN_DECODER, test "x$enable_decoders" != xno) + +m4_foreach([NAME], [SUPPORTED_FILTERS], +[AM_CONDITIONAL(COND_FILTER_[]m4_toupper(NAME), test "x$enable_filter_[]NAME" = xyes) +AM_CONDITIONAL(COND_ENCODER_[]m4_toupper(NAME), test "x$enable_encoder_[]NAME" = xyes) +AM_CONDITIONAL(COND_DECODER_[]m4_toupper(NAME), test "x$enable_decoder_[]NAME" = xyes) +])dnl + +# The so called "simple filters" share common code. +enable_filter_simple=no +enable_encoder_simple=no +enable_decoder_simple=no +m4_foreach([NAME], [SIMPLE_FILTERS], +[test "x$enable_filter_[]NAME" = xyes && enable_filter_simple=yes +test "x$enable_encoder_[]NAME" = xyes && enable_encoder_simple=yes +test "x$enable_decoder_[]NAME" = xyes && enable_decoder_simple=yes +])dnl +AM_CONDITIONAL(COND_FILTER_SIMPLE, test "x$enable_filter_simple" = xyes) +AM_CONDITIONAL(COND_ENCODER_SIMPLE, test "x$enable_encoder_simple" = xyes) +AM_CONDITIONAL(COND_DECODER_SIMPLE, test "x$enable_decoder_simple" = xyes) + +# LZ-based filters share common code. +enable_filter_lz=no +enable_encoder_lz=no +enable_decoder_lz=no +m4_foreach([NAME], [LZ_FILTERS], +[test "x$enable_filter_[]NAME" = xyes && enable_filter_lz=yes +test "x$enable_encoder_[]NAME" = xyes && enable_encoder_lz=yes +test "x$enable_decoder_[]NAME" = xyes && enable_decoder_lz=yes +])dnl +AM_CONDITIONAL(COND_FILTER_LZ, test "x$enable_filter_lz" = xyes) +AM_CONDITIONAL(COND_ENCODER_LZ, test "x$enable_encoder_lz" = xyes) +AM_CONDITIONAL(COND_DECODER_LZ, test "x$enable_decoder_lz" = xyes) + + +################# +# Match finders # +################# + +m4_define([SUPPORTED_MATCH_FINDERS], [hc3,hc4,bt2,bt3,bt4]) + +m4_foreach([NAME], [SUPPORTED_MATCH_FINDERS], +[enable_match_finder_[]NAME=no +]) + +AC_MSG_CHECKING([which match finders to build]) +AC_ARG_ENABLE([match-finders], AS_HELP_STRING([--enable-match-finders=LIST], + [Comma-separated list of match finders to build. Default=all. + At least one match finder is required for encoding with + the LZMA1 and LZMA2 filters. Available match finders:] + m4_translit(m4_defn([SUPPORTED_MATCH_FINDERS]), [,], [ ])), [], + [enable_match_finders=SUPPORTED_MATCH_FINDERS]) +enable_match_finders=`echo "$enable_match_finders" | sed 's/,/ /g'` +if test "x$enable_encoder_lz" = xyes ; then + if test -z "$enable_match_finders"; then + AC_MSG_ERROR([At least one match finder is required for an LZ-based encoder.]) + fi + + for arg in $enable_match_finders + do + case $arg in m4_foreach([NAME], [SUPPORTED_MATCH_FINDERS], [ + NAME) + enable_match_finder_[]NAME=yes + AC_DEFINE(HAVE_MF_[]m4_toupper(NAME), [1], + [Define to 1 to enable] NAME [match finder.]) + ;;]) + *) + AC_MSG_RESULT([]) + AC_MSG_ERROR([unknown match finder: $arg]) + ;; + esac + done + AC_MSG_RESULT([$enable_match_finders]) +else + AC_MSG_RESULT([(none because not building any LZ-based encoder)]) +fi + + +#################### +# Integrity checks # +#################### + +m4_define([SUPPORTED_CHECKS], [crc32,crc64,sha256]) + +m4_foreach([NAME], [SUPPORTED_CHECKS], +[enable_check_[]NAME=no +])dnl + +AC_MSG_CHECKING([which integrity checks to build]) +AC_ARG_ENABLE([checks], AS_HELP_STRING([--enable-checks=LIST], + [Comma-separated list of integrity checks to build. + Default=all. Available integrity checks:] + m4_translit(m4_defn([SUPPORTED_CHECKS]), [,], [ ])), + [], [enable_checks=SUPPORTED_CHECKS]) +enable_checks=`echo "$enable_checks" | sed 's/,/ /g'` +if test "x$enable_checks" = xno || test "x$enable_checks" = x; then + AC_MSG_RESULT([(none)]) +else + for arg in $enable_checks + do + case $arg in m4_foreach([NAME], [SUPPORTED_CHECKS], [ + NAME) + enable_check_[]NAME=yes + AC_DEFINE(HAVE_CHECK_[]m4_toupper(NAME), [1], + [Define to 1 if] NAME + [integrity check is enabled.]) + ;;]) + *) + AC_MSG_RESULT([]) + AC_MSG_ERROR([unknown integrity check: $arg]) + ;; + esac + done + AC_MSG_RESULT([$enable_checks]) +fi +if test "x$enable_check_crc32" = xno ; then + AC_MSG_ERROR([For now, the CRC32 check must always be enabled.]) +fi + +m4_foreach([NAME], [SUPPORTED_CHECKS], +[AM_CONDITIONAL(COND_CHECK_[]m4_toupper(NAME), test "x$enable_check_[]NAME" = xyes) +])dnl + +AC_MSG_CHECKING([if external SHA-256 should be used]) +AC_ARG_ENABLE([external-sha256], AS_HELP_STRING([--enable-external-sha256], + [Use SHA-256 code from the operating system. + See INSTALL for possible subtle problems.]), + [], [enable_external_sha256=no]) +if test "x$enable_check_sha256" != "xyes"; then + enable_external_sha256=no +fi +if test "x$enable_external_sha256" = xyes; then + AC_MSG_RESULT([yes]) +else + AC_MSG_RESULT([no]) +fi + + +############# +# MicroLZMA # +############# + +AC_MSG_CHECKING([if MicroLZMA support should be built]) +AC_ARG_ENABLE([microlzma], AS_HELP_STRING([--disable-microlzma], + [Do not build MicroLZMA encoder and decoder. + It is needed by specific applications only, + for example, erofs-utils.]), + [], [enable_microlzma=yes]) +case $enable_microlzma in + yes | no) + AC_MSG_RESULT([$enable_microlzma]) + ;; + *) + AC_MSG_RESULT([]) + AC_MSG_ERROR([--enable-microlzma accepts only 'yes' or 'no'.]) + ;; +esac +AM_CONDITIONAL(COND_MICROLZMA, test "x$enable_microlzma" = xyes) + + +############################# +# .lz (lzip) format support # +############################# + +AC_MSG_CHECKING([if .lz (lzip) decompression support should be built]) +AC_ARG_ENABLE([lzip-decoder], AS_HELP_STRING([--disable-lzip-decoder], + [Disable decompression support for .lz (lzip) files.]), + [], [enable_lzip_decoder=yes]) +if test "x$enable_decoder_lzma1" != xyes; then + enable_lzip_decoder=no + AC_MSG_RESULT([no because LZMA1 decoder is disabled]) +elif test "x$enable_lzip_decoder" = xyes; then + AC_DEFINE([HAVE_LZIP_DECODER], [1], + [Define to 1 if .lz (lzip) decompression support is enabled.]) + AC_MSG_RESULT([yes]) +else + AC_MSG_RESULT([no]) +fi +AM_CONDITIONAL(COND_LZIP_DECODER, test "x$enable_lzip_decoder" = xyes) + + +########################### +# Assembler optimizations # +########################### + +AC_MSG_CHECKING([if assembler optimizations should be used]) +AC_ARG_ENABLE([assembler], AS_HELP_STRING([--disable-assembler], + [Do not use assembler optimizations even if such exist + for the architecture.]), + [], [enable_assembler=yes]) +if test "x$enable_assembler" = xyes; then + enable_assembler=no + case $host_os in + # Darwin should work too but only if not creating universal + # binaries. Solaris x86 could work too but I cannot test. + linux* | *bsd* | mingw* | cygwin | msys | *djgpp*) + case $host_cpu in + i?86) enable_assembler=x86 ;; + esac + ;; + esac +fi +case $enable_assembler in + x86) + AC_DEFINE([HAVE_CRC_X86_ASM], [1], [Define to 1 if + the 32-bit x86 CRC assembly files are used.]) + AC_MSG_RESULT([x86]) + ;; + no) + AC_MSG_RESULT([no]) + ;; + *) + AC_MSG_RESULT([]) + AC_MSG_ERROR([--enable-assembler accepts only 'yes', 'no', or 'x86' (32-bit).]) + ;; +esac +AM_CONDITIONAL(COND_ASM_X86, test "x$enable_assembler" = xx86) + + +############# +# CLMUL CRC # +############# + +AC_ARG_ENABLE([clmul-crc], AS_HELP_STRING([--disable-clmul-crc], + [Do not use carryless multiplication for CRC calculation + even if support for it is detected.]), + [], [enable_clmul_crc=yes]) + + +############################ +# ARM64 CRC32 Instructions # +############################ + +AC_ARG_ENABLE([arm64-crc32], AS_HELP_STRING([--disable-arm64-crc32], + [Do not use ARM64 CRC32 instructions even if support for it + is detected.]), + [], [enable_arm64_crc32=yes]) + + +################################ +# LoongArch CRC32 instructions # +################################ + +AC_ARG_ENABLE([loongarch-crc32], AS_HELP_STRING([--disable-loongarch-crc32], + [Do not use LoongArch CRC32 instructions even if support for + them is detected.]), + [], [enable_loongarch_crc32=yes]) + + +##################### +# Size optimization # +##################### + +AC_MSG_CHECKING([if small size is preferred over speed]) +AC_ARG_ENABLE([small], AS_HELP_STRING([--enable-small], + [Make liblzma smaller and a little slower. + This is disabled by default to optimize for speed.]), + [], [enable_small=no]) +if test "x$enable_small" = xyes; then + AC_DEFINE([HAVE_SMALL], [1], [Define to 1 if optimizing for size.]) +elif test "x$enable_small" != xno; then + AC_MSG_RESULT([]) + AC_MSG_ERROR([--enable-small accepts only 'yes' or 'no']) +fi +AC_MSG_RESULT([$enable_small]) +AM_CONDITIONAL(COND_SMALL, test "x$enable_small" = xyes) + + +############# +# Threading # +############# + +AC_MSG_CHECKING([if threading support is wanted]) +AC_ARG_ENABLE([threads], AS_HELP_STRING([--enable-threads=METHOD], + [Supported METHODS are 'yes', 'no', 'posix', 'win95', and + 'vista'. The default is 'yes'. Using 'no' together with + --enable-small makes liblzma thread unsafe.]), + [], [enable_threads=yes]) + +if test "x$enable_threads" = xyes; then + case $host_os in + mingw*) + case $host_cpu in + i?86) enable_threads=win95 ;; + *) enable_threads=vista ;; + esac + ;; + *) + enable_threads=posix + ;; + esac +fi + +case $enable_threads in + posix | win95 | vista) + AC_MSG_RESULT([yes, $enable_threads]) + ;; + no) + AC_MSG_RESULT([no]) + ;; + *) + AC_MSG_RESULT([]) + AC_MSG_ERROR([--enable-threads only accepts 'yes', 'no', 'posix', 'win95', or 'vista']) + ;; +esac + +# We use the actual result a little later. + + +######################### +# Assumed amount of RAM # +######################### + +# We use 128 MiB as default, because it will allow decompressing files +# created with "xz -9". It would be slightly safer to guess a lower value, +# but most systems, on which we don't have any way to determine the amount +# of RAM, will probably have at least 128 MiB of RAM. +AC_MSG_CHECKING([how much RAM to assume if the real amount is unknown]) +AC_ARG_ENABLE([assume-ram], AS_HELP_STRING([--enable-assume-ram=SIZE], + [If and only if the real amount of RAM cannot be determined, + assume SIZE MiB. The default is 128 MiB. This affects the + default memory usage limit.]), + [], [enable_assume_ram=128]) +assume_ram_check=`echo "$enable_assume_ram" | tr -d 0123456789` +if test -z "$enable_assume_ram" || test -n "$assume_ram_check"; then + AC_MSG_RESULT([]) + AC_MSG_ERROR([--enable-assume-ram accepts only an integer argument]) +fi +AC_MSG_RESULT([$enable_assume_ram MiB]) +AC_DEFINE_UNQUOTED([ASSUME_RAM], [$enable_assume_ram], + [How many MiB of RAM to assume if the real amount cannot + be determined.]) + + +######################### +# Components to install # +######################### + +AC_ARG_ENABLE([xz], [AS_HELP_STRING([--disable-xz], + [do not build the xz tool])], + [], [enable_xz=yes]) +AM_CONDITIONAL([COND_XZ], [test x$enable_xz != xno]) + +AC_ARG_ENABLE([xzdec], [AS_HELP_STRING([--disable-xzdec], + [do not build xzdec])], + [], [enable_xzdec=yes]) +test "x$enable_decoders" = xno && enable_xzdec=no +AM_CONDITIONAL([COND_XZDEC], [test x$enable_xzdec != xno]) + +AC_ARG_ENABLE([lzmadec], [AS_HELP_STRING([--disable-lzmadec], + [do not build lzmadec + (it exists primarily for LZMA Utils compatibility)])], + [], [enable_lzmadec=yes]) +test "x$enable_decoder_lzma1" = xno && enable_lzmadec=no +AM_CONDITIONAL([COND_LZMADEC], [test x$enable_lzmadec != xno]) + +AC_ARG_ENABLE([lzmainfo], [AS_HELP_STRING([--disable-lzmainfo], + [do not build lzmainfo + (it exists primarily for LZMA Utils compatibility)])], + [], [enable_lzmainfo=yes]) +test "x$enable_decoder_lzma1" = xno && enable_lzmainfo=no +AM_CONDITIONAL([COND_LZMAINFO], [test x$enable_lzmainfo != xno]) + +AC_ARG_ENABLE([lzma-links], [AS_HELP_STRING([--disable-lzma-links], + [do not create symlinks for LZMA Utils compatibility])], + [], [enable_lzma_links=yes]) +AM_CONDITIONAL([COND_LZMALINKS], [test x$enable_lzma_links != xno]) + +AC_ARG_ENABLE([scripts], [AS_HELP_STRING([--disable-scripts], + [do not install the scripts xzdiff, xzgrep, xzless, xzmore, + and their symlinks])], + [], [enable_scripts=yes]) +AM_CONDITIONAL([COND_SCRIPTS], [test x$enable_scripts != xno]) + +AC_ARG_ENABLE([doc], [AS_HELP_STRING([--disable-doc], + [do not install documentation files to docdir + (man pages are still installed and, + if --enable-doxygen is used, + liblzma API documentation is installed too)])], + [], [enable_doc=yes]) +AM_CONDITIONAL([COND_DOC], [test x$enable_doc != xno]) + +AC_ARG_ENABLE([doxygen], [AS_HELP_STRING([--enable-doxygen], + [generate HTML version of the liblzma API documentation + using Doxygen and install the result to docdir])], + [], [enable_doxygen=no]) +AM_CONDITIONAL([COND_DOXYGEN], [test x$enable_doxygen != xno]) + + +############## +# Sandboxing # +############## + +AC_MSG_CHECKING([if sandboxing should be used]) +AC_ARG_ENABLE([sandbox], [AS_HELP_STRING([--enable-sandbox=METHOD], + [Sandboxing METHOD can be + 'auto', 'no', 'capsicum', 'pledge', or 'landlock'. + The default is 'auto' which enables sandboxing if + a supported sandboxing method is found.])], + [], [enable_sandbox=auto]) +case $enable_xzdec-$enable_xz-$enable_sandbox in + no-no-*) + enable_sandbox=no + AC_MSG_RESULT([no, --disable-xz and --disable-xzdec was used]) + ;; + *-*-auto) + AC_MSG_RESULT([maybe (autodetect)]) + ;; + *-*-no | *-*-capsicum | *-*-pledge | *-*-landlock) + AC_MSG_RESULT([$enable_sandbox]) + ;; + *) + AC_MSG_RESULT([]) + AC_MSG_ERROR([--enable-sandbox only accepts 'auto', 'no', 'capsicum', 'pledge', or 'landlock'.]) + ;; +esac + + +########################### +# PATH prefix for scripts # +########################### + +# The scripts can add a prefix to the search PATH so that POSIX tools +# or the xz binary is always in the PATH. +AC_ARG_ENABLE([path-for-scripts], + [AS_HELP_STRING([--enable-path-for-scripts=PREFIX], + [If PREFIX isn't empty, PATH=PREFIX:$PATH will be set in + the beginning of the scripts (xzgrep and others). + The default is empty except on Solaris the default is + /usr/xpg4/bin.])], + [], [ + case $host_os in + solaris*) enable_path_for_scripts=/usr/xpg4/bin ;; + *) enable_path_for_scripts= ;; + esac + ]) +if test -n "$enable_path_for_scripts" && test "x$enable_path_for_scripts" != xno ; then + enable_path_for_scripts="PATH=$enable_path_for_scripts:\$PATH" +else + enable_path_for_scripts= +fi +AC_SUBST([enable_path_for_scripts]) + + +############################################################################### +# Checks for programs. +############################################################################### + +echo +case $host_os in + solaris*) + # The gnulib POSIX shell macro below may pick a shell that + # doesn't work with xzgrep. Workaround by picking a shell + # that is known to work. + if test -z "$gl_cv_posix_shell" && test -x /usr/xpg4/bin/sh; then + gl_cv_posix_shell=/usr/xpg4/bin/sh + fi + ;; +esac +gl_POSIX_SHELL +if test -z "$POSIX_SHELL" && test "x$enable_scripts" = xyes ; then + AC_MSG_ERROR([No POSIX conforming shell (sh) was found.]) +fi + +echo +echo "Initializing Automake:" + +# We don't use "subdir-objects" yet because it breaks "make distclean" when +# dependencies are enabled (as of Automake 1.14.1) due to this bug: +# https://debbugs.gnu.org/cgi/bugreport.cgi?bug=17354 +# The -Wno-unsupported is used to silence warnings about missing +# "subdir-objects". +AM_INIT_AUTOMAKE([1.12 foreign tar-v7 filename-length-max=99 -Wno-unsupported]) +AC_PROG_LN_S + +dnl # Autoconf >= 2.70 warns that AC_PROG_CC_C99 is obsolete. However, +dnl # we have to keep using AC_PROG_CC_C99 instead of AC_PROG_CC +dnl # as long as we try to be compatible with Autoconf 2.69. +AC_PROG_CC_C99 +if test x$ac_cv_prog_cc_c99 = xno ; then + AC_MSG_ERROR([No C99 compiler was found.]) +fi + +AM_PROG_CC_C_O +AM_PROG_AS +AC_USE_SYSTEM_EXTENSIONS + +# If using GCC or compatible compiler, verify that CFLAGS doesn't contain +# something that makes -Werror unhappy. It's important to check this after +# the above check for system extensions. It adds macros that can trigger, +# for example, -Wunused-macros. +if test "$GCC" = yes && test "x$SKIP_WERROR_CHECK" != xyes ; then + AC_MSG_CHECKING([if the -Werror option is usable]) + OLD_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -Werror" + AC_COMPILE_IFELSE([AC_LANG_SOURCE([[extern int foo; int foo;]])], [ + AC_MSG_RESULT([yes]) + ], [ + AC_MSG_RESULT([no]) + AC_MSG_ERROR([ + CFLAGS contains something that makes -Werror complain (see config.log). + This would break certain checks in 'configure'. It is strongly + recommended to modify CFLAGS to fix this. If you want to use noisy + warning options, for example, -Weverything, it is still possible to + add them later when running 'make': make CFLAGS+=-Weverything + + In case you really want to continue with the current CFLAGS, pass + 'SKIP_WERROR_CHECK=yes' as an argument to 'configure'. + ]) + ]) + CFLAGS=$OLD_CFLAGS +fi + +AS_CASE([$enable_threads], + [posix], [ + echo + echo "POSIX threading support:" + AX_PTHREAD([:]) dnl We don't need the HAVE_PTHREAD macro. + LIBS="$PTHREAD_LIBS $LIBS" + AM_CFLAGS="$AM_CFLAGS $PTHREAD_CFLAGS" + + dnl NOTE: PTHREAD_CC is ignored. It would be useful on AIX, + dnl but it's tricky to get it right together with + dnl AC_PROG_CC_C99. Thus, this is handled by telling the + dnl user in INSTALL to set the correct CC manually. + + AC_DEFINE([MYTHREAD_POSIX], [1], + [Define to 1 when using POSIX threads (pthreads).]) + + # This is nice to have but not mandatory. + OLD_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + AC_CHECK_FUNCS([pthread_condattr_setclock]) + CFLAGS=$OLD_CFLAGS + ], + [win95], [ + AC_DEFINE([MYTHREAD_WIN95], [1], [Define to 1 when using + Windows 95 (and thus XP) compatible threads. + This avoids use of features that were added in + Windows Vista.]) + ], + [vista], [ + AC_DEFINE([MYTHREAD_VISTA], [1], [Define to 1 when using + Windows Vista compatible threads. This uses + features that are not available on Windows XP.]) + ] +) +AM_CONDITIONAL([COND_THREADS], [test "x$enable_threads" != xno]) + +echo +echo "Initializing Libtool:" +LT_PREREQ([2.4]) +LT_INIT([win32-dll]) +LT_LANG([Windows Resource]) + +# This is a bit wrong since it is possible to request that only some libs +# are built as shared. Using that feature isn't so common though, and this +# breaks only on Windows (at least for now) if the user enables only some +# libs as shared. +AM_CONDITIONAL([COND_SHARED], [test "x$enable_shared" != xno]) + +##################### +# Symbol versioning # +##################### + +# NOTE: This checks if we are building shared or static library +# and if --with-pic or --without-pic was used. Thus this check +# must be after Libtool initialization. +AC_MSG_CHECKING([if library symbol versioning should be used]) +AC_ARG_ENABLE([symbol-versions], [AS_HELP_STRING([--enable-symbol-versions], + [Use symbol versioning for liblzma. Enabled by default on + GNU/Linux, other GNU-based systems, and FreeBSD.])], + [], [enable_symbol_versions=auto]) +if test "x$enable_symbol_versions" = xauto; then + case $host_os in + # NOTE: Even if one omits -gnu on GNU/Linux (e.g. + # i486-slackware-linux), configure will (via config.sub) + # append -gnu (e.g. i486-slackware-linux-gnu), and this + # test will work correctly. + gnu* | *-gnu* | freebsd*) + enable_symbol_versions=yes + ;; + *) + enable_symbol_versions=no + ;; + esac +fi + +# There are two variants for symbol versioning. +# See src/liblzma/validate_map.sh for details. +# +# On GNU/Linux, extra symbols are added in the C code. These extra symbols +# must not be put into a static library as they can cause problems (and +# even if they didn't cause problems, they would be useless). On other +# systems symbol versioning may be used too but there is no problem as only +# a linker script is specified in src/liblzma/Makefile.am and that isn't +# used when creating a static library. +# +# Libtool always uses -DPIC when building shared libraries by default and +# doesn't use it for static libs by default. This can be overridden with +# --with-pic and --without-pic though. As long as neither --with-pic nor +# --without-pic is used then we can use #ifdef PIC to detect if the file is +# being built for a shared library. +LINKER_FLAG_UNDEFINED_VERSION= +AS_IF([test "x$enable_symbol_versions" = xno], [ + enable_symbol_versions=no + AC_MSG_RESULT([no]) +], [test "x$enable_shared" = xno], [ + enable_symbol_versions=no + AC_MSG_RESULT([no (not building a shared library)]) +], [ + # "yes" means that symbol version are to be used but we need to + # autodetect which variant to use. + if test "x$enable_symbol_versions" = xyes ; then + case "$host_cpu-$host_os" in + microblaze*) + # GCC 12 on MicroBlaze doesn't support + # __symver__ attribute. It's simplest and + # safest to use the generic version on that + # platform since then only the linker script + # is needed. The RHEL/CentOS 7 compatibility + # symbols don't matter on MicroBlaze. + enable_symbol_versions=generic + ;; + *-linux*) + # NVIDIA HPC Compiler doesn't support symbol + # versioning but the linker script can still + # be used. + AC_EGREP_CPP([use_generic_symbol_versioning], + [#ifdef __NVCOMPILER + use_generic_symbol_versioning + #endif], + [enable_symbol_versions=generic], + [enable_symbol_versions=linux]) + ;; + *) + enable_symbol_versions=generic + ;; + esac + fi + + if test "x$enable_symbol_versions" = xlinux ; then + case "$pic_mode-$enable_static" in + default-*) + # Use symvers if PIC is defined. + have_symbol_versions_linux=2 + ;; + *-no) + # Not building static library. + # Use symvers unconditionally. + have_symbol_versions_linux=1 + ;; + *) + AC_MSG_RESULT([]) + AC_MSG_ERROR([ + On GNU/Linux, building both shared and static library at the same time + is not supported if --with-pic or --without-pic is used. + Use either --disable-shared or --disable-static to build one type + of library at a time. If both types are needed, build one at a time, + possibly picking only src/liblzma/.libs/liblzma.a from the static build.]) + ;; + esac + AC_DEFINE_UNQUOTED([HAVE_SYMBOL_VERSIONS_LINUX], + [$have_symbol_versions_linux], + [Define to 1 to if GNU/Linux-specific details + are unconditionally wanted for symbol + versioning. Define to 2 to if these are wanted + only if also PIC is defined (allows building + both shared and static liblzma at the same + time with Libtool if neither --with-pic nor + --without-pic is used). This define must be + used together with liblzma_linux.map.]) + elif test "x$enable_symbol_versions" != xgeneric ; then + AC_MSG_RESULT([]) + AC_MSG_ERROR([unknown symbol versioning variant '$enable_symbol_versions']) + fi + AC_MSG_RESULT([yes ($enable_symbol_versions)]) + + # If features are disabled in liblzma, some symbols may be missing. + # LLVM's lld defaults to --no-undefined-version and the build breaks + # if not all symbols in the version script exist. That is good for + # catching errors like typos, but in our case the downside is too big. + # Avoid the problem by using --undefined-version if the linker + # supports it. + # + # GNU ld has had --no-undefined-version for a long time but it's not + # the default. The opposite option --undefined-version was only added + # in 2022, thus we must use --undefined-version conditionally. + AC_MSG_CHECKING([if linker supports --undefined-version]) + OLD_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -Wl,--undefined-version" + AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void) { return 0; }]])], [ + LINKER_FLAG_UNDEFINED_VERSION=-Wl,--undefined-version + AC_MSG_RESULT([yes]) + ], [ + AC_MSG_RESULT([no]) + ]) + LDFLAGS=$OLD_LDFLAGS +]) + +AM_CONDITIONAL([COND_SYMVERS_LINUX], + [test "x$enable_symbol_versions" = xlinux]) +AM_CONDITIONAL([COND_SYMVERS_GENERIC], + [test "x$enable_symbol_versions" = xgeneric]) +AC_SUBST([LINKER_FLAG_UNDEFINED_VERSION]) + + +############################################################################### +# Checks for libraries. +############################################################################### + +dnl Support for _REQUIRE_VERSION was added in gettext 0.19.6. If both +dnl _REQUIRE_VERSION and _VERSION are present, the _VERSION is ignored. +dnl We use both for compatibility with other programs in the Autotools family. +echo +echo "Initializing gettext:" +AM_GNU_GETTEXT_REQUIRE_VERSION([0.19.6]) +AM_GNU_GETTEXT_VERSION([0.19.6]) +AM_GNU_GETTEXT([external]) + +# The command line tools use UTF-8 on native Windows. Non-ASCII characters +# display correctly only when using UCRT and gettext-runtime >= 0.23.1. +AS_CASE([$USE_NLS-$host_os], + [yes-mingw*], [ + AC_MSG_CHECKING([for UCRT and gettext-runtime >= 0.23.1]) + AC_PREPROC_IFELSE([AC_LANG_SOURCE([[ + #define WIN32_LEAN_AND_MEAN + #include + #include + + #ifndef _UCRT + #error "Not UCRT" + #endif + + #if LIBINTL_VERSION < 0x001701 + #error "gettext-runtime < 0.23.1" + #endif + ]])], [ + AC_MSG_RESULT([yes]) + ], [ + AC_MSG_RESULT([no]) + AC_MSG_ERROR([ + Translation support (--enable-nls) on native Windows requires + UCRT and gettext-runtime >= 0.23.1. Use --disable-nls to build + with MSVCRT or old gettext-runtime.]) + ]) + ] +) + + +############################################################################### +# Checks for header files. +############################################################################### + +echo +echo "System headers and functions:" + +# immintrin.h allows the use of the intrinsic functions if they are available. +# cpuid.h may be used for detecting x86 processor features at runtime. +AC_CHECK_HEADERS([immintrin.h cpuid.h]) + + +############################################################################### +# Checks for typedefs, structures, and compiler characteristics. +############################################################################### + +AC_HEADER_STDBOOL + +AC_TYPE_UINT8_T +AC_TYPE_UINT16_T +AC_TYPE_INT32_T +AC_TYPE_UINT32_T +AC_TYPE_INT64_T +AC_TYPE_UINT64_T +AC_TYPE_UINTPTR_T + +AC_CHECK_SIZEOF([size_t]) + +# The command line tool can copy high resolution timestamps if such +# information is available in struct stat. Otherwise one second accuracy +# is used. +AC_CHECK_MEMBERS([ + struct stat.st_atim.tv_nsec, + struct stat.st_atimespec.tv_nsec, + struct stat.st_atimensec, + struct stat.st_uatime, + struct stat.st_atim.st__tim.tv_nsec]) + +AC_SYS_LARGEFILE +AC_C_BIGENDIAN + +# __attribute__((__constructor__)) can be used for one-time initializations. +# Use -Werror because some compilers accept unknown attributes and just +# give a warning. +AC_MSG_CHECKING([if __attribute__((__constructor__)) can be used]) +have_func_attribute_constructor=no +OLD_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS -Werror" +AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ + __attribute__((__constructor__)) + static void my_constructor_func(void) { return; } +]])], [ + AC_DEFINE([HAVE_FUNC_ATTRIBUTE_CONSTRUCTOR], [1], + [Define to 1 if __attribute__((__constructor__)) + is supported for functions.]) + have_func_attribute_constructor=yes + AC_MSG_RESULT([yes]) +], [ + AC_MSG_RESULT([no]) +]) +CFLAGS="$OLD_CFLAGS" + +# The Win95 threading lacks a thread-safe one-time initialization function. +# The one-time initialization is needed for crc32_small.c and crc64_small.c +# create the CRC tables. So if small mode is enabled, the threading mode is +# win95, and the compiler does not support attribute constructor, then we +# would end up with a multithreaded build that is thread-unsafe. As a +# result this configuration is not allowed. +if test "x$enable_small$enable_threads$have_func_attribute_constructor" \ + = xyeswin95no; then + AC_MSG_ERROR([ + --enable-threads=win95 and --enable-small cannot be used + at the same time with a compiler that doesn't support + __attribute__((__constructor__))]) +fi + + +############################################################################### +# Checks for library functions. +############################################################################### + +# Gnulib replacements as needed +gl_GETOPT + +# If clock_gettime() is available, liblzma with pthreads may use it, and +# xz may use it even when threading support is disabled. In XZ Utils 5.4.x +# and older, configure checked for clock_gettime() only when using pthreads. +# This way non-threaded builds of liblzma didn't get a useless dependency on +# librt which further had a dependency on libpthread. Avoiding these was +# useful when a small build was needed, for example, for initramfs use. +# +# The above reasoning is thoroughly obsolete: On GNU/Linux, librt hasn't +# been needed for clock_gettime() since glibc 2.17 (2012-12-25). +# Solaris 10 needs librt but Solaris 11 doesn't anymore. +AC_SEARCH_LIBS([clock_gettime], [rt]) +AC_CHECK_FUNCS([clock_gettime]) +AC_CHECK_DECL([CLOCK_MONOTONIC], [AC_DEFINE([HAVE_CLOCK_MONOTONIC], [1], + [Define to 1 if 'CLOCK_MONOTONIC' is declared in .])], [], + [[#include ]]) + +# Find the best function to set timestamps. +AC_CHECK_FUNCS([futimens futimes futimesat utimes _futime utime], [break]) + +# These are nice to have but not mandatory. +AC_CHECK_FUNCS([getrlimit posix_fadvise]) + +TUKLIB_PROGNAME +TUKLIB_INTEGER +TUKLIB_PHYSMEM +TUKLIB_CPUCORES +TUKLIB_MBSTR + +# If requested, check for system-provided SHA-256. At least the following +# implementations are supported: +# +# OS Headers Library Type Function +# FreeBSD sys/types.h + sha256.h libmd SHA256_CTX SHA256_Init +# NetBSD sys/types.h + sha2.h SHA256_CTX SHA256_Init +# OpenBSD sys/types.h + sha2.h SHA2_CTX SHA256Init +# Solaris sys/types.h + sha2.h libmd SHA256_CTX SHA256Init +# MINIX 3 sys/types.h + sha2.h SHA256_CTX SHA256_Init +# Darwin CommonCrypto/CommonDigest.h CC_SHA256_CTX CC_SHA256_Init +# +# Note that Darwin's CC_SHA256_Update takes buffer size as uint32_t instead +# of size_t. +# +sha256_header_found=no +sha256_type_found=no +sha256_func_found=no +AS_IF([test "x$enable_external_sha256" = "xyes"], [ + # Test for Common Crypto before others, because Darwin has sha256.h + # too and we don't want to use that, because on older versions it + # uses OpenSSL functions, whose SHA256_Init is not guaranteed to + # succeed. + AC_CHECK_HEADERS( + [CommonCrypto/CommonDigest.h sha256.h sha2.h], + [sha256_header_found=yes ; break]) + if test "x$sha256_header_found" = xyes; then + AC_CHECK_TYPES([CC_SHA256_CTX, SHA256_CTX, SHA2_CTX], + [sha256_type_found=yes], [], + [[#ifdef HAVE_SYS_TYPES_H + # include + #endif + #ifdef HAVE_COMMONCRYPTO_COMMONDIGEST_H + # include + #endif + #ifdef HAVE_SHA256_H + # include + #endif + #ifdef HAVE_SHA2_H + # include + #endif]]) + if test "x$sha256_type_found" = xyes ; then + AC_SEARCH_LIBS([SHA256Init], [md]) + AC_SEARCH_LIBS([SHA256_Init], [md]) + AC_CHECK_FUNCS([CC_SHA256_Init SHA256Init SHA256_Init], + [sha256_func_found=yes ; break]) + fi + fi +]) +AM_CONDITIONAL([COND_INTERNAL_SHA256], [test "x$sha256_func_found" = xno]) +if test "x$enable_external_sha256$sha256_func_found" = xyesno; then + AC_MSG_ERROR([--enable-external-sha256 was specified but no supported external SHA-256 implementation was found]) +fi + +# Check for SSE2 intrinsics. There is no run-time detection for SSE2 so if +# compiler options enable SSE2 then SSE2 support is required by the binaries. +# The compile-time check for SSE2 is done with #ifdefs because some compilers +# (ICC, MSVC) allow SSE2 intrinsics even when SSE2 isn't enabled. +AC_CHECK_DECL([_mm_movemask_epi8], + [AC_DEFINE([HAVE__MM_MOVEMASK_EPI8], [1], + [Define to 1 if _mm_movemask_epi8 is available.])], + [], +[#ifdef HAVE_IMMINTRIN_H +#include +#endif]) + +# For faster CRC on 32/64-bit x86 and E2K (see also crc64_fast.c): +# +# - Check for the CLMUL intrinsic _mm_clmulepi64_si128 in . +# Check also for _mm_set_epi64x for consistency with CMake build +# where it's needed to disable CLMUL with VS2013. +# +# - Check that __attribute__((__target__("ssse3,sse4.1,pclmul"))) works +# together with _mm_clmulepi64_si128 from . The attribute +# was added in GCC 4.4 but some GCC 4.x versions don't allow intrinsics +# with it. Exception: it must be not be used with EDG-based compilers +# like ICC and the compiler on E2K. +# +# If everything above is supported, runtime detection will be used to keep the +# binaries working on systems that don't support the required extensions. +# +# NOTE: Use a check that links and not merely compiles to ensure that +# missing intrinsics don't get accepted with compilers that allow +# implicit function declarations. +AC_MSG_CHECKING([if _mm_clmulepi64_si128 is usable]) +AS_IF([test "x$enable_clmul_crc" = xno], [ + AC_MSG_RESULT([no, --disable-clmul-crc was used]) +], [ + AC_LINK_IFELSE([AC_LANG_SOURCE([[ +#include + +// CLMUL works on older E2K instruction set but it is slow due to emulation. +#if defined(__e2k__) && __iset__ < 6 +# error +#endif + +// Intel's old compiler (ICC) can define __GNUC__ but the attribute must not +// be used with it. The new Clang-based ICX needs the attribute. +// Checking for !defined(__EDG__) catches ICC and other EDG-based compilers. +#if (defined(__GNUC__) || defined(__clang__)) && !defined(__EDG__) +__attribute__((__target__("ssse3,sse4.1,pclmul"))) +#endif +int main(void) +{ + __m128i a = _mm_set_epi64x(1, 2); + a = _mm_clmulepi64_si128(a, a, 0); + return 0; +} + ]])], [ + AC_DEFINE([HAVE_USABLE_CLMUL], [1], + [Define to 1 if _mm_set_epi64x and + _mm_clmulepi64_si128 are usable. + See configure.ac for details.]) + enable_clmul_crc=yes + ], [ + enable_clmul_crc=no + ]) + AC_MSG_RESULT([$enable_clmul_crc]) +]) + +# ARM64 C Language Extensions define CRC32 functions in arm_acle.h. +# These are supported by at least GCC and Clang which both need +# __attribute__((__target__("+crc"))), unless the needed compiler flags +# are used to support the CRC instruction. +AC_MSG_CHECKING([if ARM64 CRC32 instruction is usable]) +AS_IF([test "x$enable_arm64_crc32" = xno], [ + AC_MSG_RESULT([no, --disable-arm64-crc32 was used]) +], [ + AC_LINK_IFELSE([AC_LANG_SOURCE([[ +#include +#include + +#if (defined(__GNUC__) || defined(__clang__)) && !defined(__EDG__) +__attribute__((__target__("+crc"))) +#endif +int main(void) +{ + return __crc32d(1, 2) != 0; +} + ]])], [ + AC_DEFINE([HAVE_ARM64_CRC32], [1], + [Define to 1 if ARM64 CRC32 instruction is supported. + See configure.ac for details.]) + enable_arm64_crc32=yes + ], [ + enable_arm64_crc32=no + ]) + AC_MSG_RESULT([$enable_arm64_crc32]) +]) + +# Check for ARM64 CRC32 instruction runtime detection. +# +# - getauxval() is supported on Linux. We also need HWCAP_CRC32 which was +# added in glibc 2.24. +# +# - elf_aux_info() is supported on FreeBSD and OpenBSD >= 7.6. +# +# - sysctlbyname("hw.optional.armv8_crc32", ...) is supported on Darwin +# (macOS, iOS, etc.). Note that sysctlbyname() is supported on FreeBSD, +# NetBSD, and possibly others too but the string is specific to Apple +# OSes. The C code is responsible for checking defined(__APPLE__) +# before using sysctlbyname("hw.optional.armv8_crc32", ...). +# +AS_IF([test "x$enable_arm64_crc32" = xyes], [ + AC_CHECK_FUNCS([getauxval elf_aux_info sysctlbyname], [break]) + AC_CHECK_DECL([HWCAP_CRC32], [AC_DEFINE([HAVE_HWCAP_CRC32], [1], + [Define to 1 if 'HWCAP_CRC32' is declared in .])], + [], [[#include ]]) +]) + + +# LoongArch CRC32 intrinsics are in larchintrin.h. +# These are supported by at least GCC and Clang. +# +# Only 64-bit LoongArch is currently supported. +# It doesn't need runtime detection. +AC_MSG_CHECKING([if LoongArch CRC32 instructions are usable]) +AS_IF([test "x$enable_loongarch_crc32" = xno], [ + AC_MSG_RESULT([no, --disable-loongarch-crc32 was used]) +], [ + AC_LINK_IFELSE([AC_LANG_SOURCE([[ +#if !(defined(__loongarch__) && __loongarch_grlen >= 64) +# error +#endif + +#include +int main(void) +{ + return __crc_w_w_w(1, 2); +} + ]])], [ + AC_DEFINE([HAVE_LOONGARCH_CRC32], [1], [Define to 1 if + 64-bit LoongArch CRC32 instructions are supported.]) + enable_loongarch_crc32=yes + ], [ + enable_loongarch_crc32=no + ]) + AC_MSG_RESULT([$enable_loongarch_crc32]) +]) + + +# Check for sandbox support. If one is found, set enable_sandbox=found. +# +# About -fsanitize: Of our three sandbox methods, only Landlock is +# incompatible with -fsanitize. FreeBSD 13.2 with Capsicum was tested with +# -fsanitize=address,undefined and had no issues. OpenBSD (as of version +# 7.4) has minimal support for process instrumentation. OpenBSD does not +# distribute the additional libraries needed (libasan, libubsan, etc.) with +# GCC or Clang needed for runtime sanitization support and instead only +# support -fsanitize-minimal-runtime for minimal undefined behavior +# sanitization. This minimal support is compatible with our use of the +# Pledge sandbox. So only Landlock will result in a build that cannot +# compress or decompress a single file to standard out. +AS_CASE([$enable_sandbox], + [auto | capsicum], [ + AC_CHECK_FUNCS([cap_rights_limit], [enable_sandbox=found]) + ] +) +AS_CASE([$enable_sandbox], + [auto | pledge], [ + AC_CHECK_FUNCS([pledge], [enable_sandbox=found]) + ] +) +AS_CASE([$enable_sandbox], + [auto | landlock], [ + AC_MSG_CHECKING([if Linux Landlock is usable]) + + # A compile check is done here because some systems have + # linux/landlock.h, but do not have the syscalls defined + # in order to actually use Linux Landlock. + AC_LINK_IFELSE([AC_LANG_SOURCE([[ + #include + #include + #include + + int main(void) + { + (void)prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0); + (void)SYS_landlock_create_ruleset; + (void)SYS_landlock_restrict_self; + (void)LANDLOCK_CREATE_RULESET_VERSION; + return 0; + } + ]])], [ + enable_sandbox=found + + AS_CASE(["$CC $CFLAGS"], [*-fsanitize=*], + [AC_MSG_ERROR([ + CC or CFLAGS contain '-fsanitize=' which is incompatible with the Landlock + sandboxing. Use --disable-sandbox when using '-fsanitize'.])]) + + AC_DEFINE([HAVE_LINUX_LANDLOCK], [1], + [Define to 1 if Linux Landlock is supported. + See configure.ac for details.]) + AC_MSG_RESULT([yes]) + ], [ + AC_MSG_RESULT([no]) + ]) + ] +) + +# If a specific sandboxing method was explicitly requested and it wasn't +# found, give an error. +case $enable_sandbox in + auto | no | found) + ;; + *) + AC_MSG_ERROR([$enable_sandbox support not found]) + ;; +esac + + +############################################################################### +# If using GCC, set some additional AM_CFLAGS: +############################################################################### + +if test "$GCC" = yes ; then + echo + echo "GCC extensions:" +fi + +# Always do the visibility check but don't set AM_CFLAGS on Windows. +# This way things get set properly even on Windows. +gl_VISIBILITY +if test -n "$CFLAG_VISIBILITY" && test "$is_w32" = no; then + AM_CFLAGS="$AM_CFLAGS $CFLAG_VISIBILITY" +fi + +AS_IF([test "$GCC" = yes], [ + # Enable as much warnings as possible. These commented warnings won't + # work for this package though: + # * -Wunreachable-code breaks several assert(0) cases, which are + # backed up with "return LZMA_PROG_ERROR". + # * -Wcast-qual would break various things where we need a non-const + # pointer although we don't modify anything through it. + # * -Winline, -Wdisabled-optimization, -Wunsafe-loop-optimizations + # don't seem so useful here; at least the last one gives some + # warnings which are not bugs. + # * -Wconversion still shows too many warnings. + # + # The flags before the empty line are for GCC and many of them + # are supported by Clang too. The flags after the empty line are + # for Clang. + for NEW_FLAG in \ + -Wall \ + -Wextra \ + -Wvla \ + -Wformat=2 \ + -Winit-self \ + -Wmissing-include-dirs \ + -Wshift-overflow=2 \ + -Wstrict-overflow=3 \ + -Walloc-zero \ + -Wduplicated-cond \ + -Wfloat-equal \ + -Wundef \ + -Wshadow \ + -Wpointer-arith \ + -Wbad-function-cast \ + -Wwrite-strings \ + -Wdate-time \ + -Wsign-conversion \ + -Wfloat-conversion \ + -Wlogical-op \ + -Waggregate-return \ + -Wstrict-prototypes \ + -Wold-style-definition \ + -Wmissing-prototypes \ + -Wmissing-declarations \ + -Wredundant-decls \ + -Wimplicit-fallthrough \ + -Wimplicit-fallthrough=5 \ + \ + -Wc99-compat \ + -Wc11-extensions \ + -Wc2x-compat \ + -Wc2x-extensions \ + -Wpre-c2x-compat \ + -Warray-bounds-pointer-arithmetic \ + -Wassign-enum \ + -Wconditional-uninitialized \ + -Wdocumentation \ + -Wduplicate-enum \ + -Wempty-translation-unit \ + -Wextra-semi-stmt \ + -Wflexible-array-extensions \ + -Wmissing-variable-declarations \ + -Wnewline-eof \ + -Wshift-sign-overflow \ + -Wstring-conversion + do + AC_MSG_CHECKING([if $CC accepts $NEW_FLAG]) + OLD_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $NEW_FLAG -Werror" + AC_COMPILE_IFELSE([AC_LANG_SOURCE( + [[void foo(void); void foo(void) { }]])], [ + AM_CFLAGS="$AM_CFLAGS $NEW_FLAG" + AC_MSG_RESULT([yes]) + ], [ + AC_MSG_RESULT([no]) + ]) + CFLAGS="$OLD_CFLAGS" + done + + AC_ARG_ENABLE([werror], + AS_HELP_STRING([--enable-werror], [Enable -Werror to abort + compilation on all compiler warnings.]), + [], [enable_werror=no]) + if test "x$enable_werror" = "xyes"; then + AM_CFLAGS="$AM_CFLAGS -Werror" + fi +]) + + +############################################################################### +# Create the makefiles and config.h +############################################################################### + +echo + +# Don't build the lib directory at all if we don't need any replacement +# functions. +AM_CONDITIONAL([COND_GNULIB], test -n "$LIBOBJS") + +# Add default AM_CFLAGS. +AC_SUBST([AM_CFLAGS]) + +# This is needed for src/scripts. +xz=`echo xz | sed "$program_transform_name"` +AC_SUBST([xz]) + +AC_CONFIG_FILES([ + Makefile + po/Makefile.in + lib/Makefile + src/Makefile + src/liblzma/Makefile + src/liblzma/api/Makefile + src/xz/Makefile + src/xzdec/Makefile + src/lzmainfo/Makefile + src/scripts/Makefile + tests/Makefile + debug/Makefile +]) +AC_CONFIG_FILES([src/scripts/xzdiff], [chmod +x src/scripts/xzdiff]) +AC_CONFIG_FILES([src/scripts/xzgrep], [chmod +x src/scripts/xzgrep]) +AC_CONFIG_FILES([src/scripts/xzmore], [chmod +x src/scripts/xzmore]) +AC_CONFIG_FILES([src/scripts/xzless], [chmod +x src/scripts/xzless]) + +AC_OUTPUT + +# Some warnings +if test x$tuklib_cv_physmem_method = xunknown; then + echo + echo "WARNING:" + echo "No supported method to detect the amount of RAM." + echo "Consider using --enable-assume-ram (if you didn't already)" + echo "or make a patch to add support for this operating system." +fi + +if test x$tuklib_cv_cpucores_method = xunknown; then + echo + echo "WARNING:" + echo "No supported method to detect the number of CPU cores." +fi + +if test "x$enable_threads$enable_small$have_func_attribute_constructor" \ + = xnoyesno; then + echo + echo "NOTE:" + echo "liblzma will be thread-unsafe due to the combination" + echo "of --disable-threads --enable-small when using a compiler" + echo "that doesn't support __attribute__((__constructor__))." +fi diff --git a/src/native/external/xz/doc/examples/00_README.txt b/src/native/external/xz/doc/examples/00_README.txt new file mode 100644 index 00000000000000..120e1eb7e7c507 --- /dev/null +++ b/src/native/external/xz/doc/examples/00_README.txt @@ -0,0 +1,31 @@ + +liblzma example programs +======================== + +Introduction + + The examples are written so that the same comments aren't + repeated (much) in later files. + + On POSIX systems, the examples should build by just typing "make". + + The examples that use stdin or stdout don't set stdin and stdout + to binary mode. On systems where it matters (e.g. Windows) it is + possible that the examples won't work without modification. + + +List of examples + + 01_compress_easy.c Multi-call compression using + a compression preset + + 02_decompress.c Multi-call decompression + + 03_compress_custom.c Like 01_compress_easy.c but using + a custom filter chain + (x86 BCJ + LZMA2) + + 04_compress_easy_mt.c Multi-threaded multi-call + compression using a compression + preset + diff --git a/src/native/external/xz/doc/examples/01_compress_easy.c b/src/native/external/xz/doc/examples/01_compress_easy.c new file mode 100644 index 00000000000000..31bcf928508afd --- /dev/null +++ b/src/native/external/xz/doc/examples/01_compress_easy.c @@ -0,0 +1,296 @@ +// SPDX-License-Identifier: 0BSD + +/////////////////////////////////////////////////////////////////////////////// +// +/// \file 01_compress_easy.c +/// \brief Compress from stdin to stdout in multi-call mode +/// +/// Usage: ./01_compress_easy PRESET < INFILE > OUTFILE +/// +/// Example: ./01_compress_easy 6 < foo > foo.xz +// +// Author: Lasse Collin +// +/////////////////////////////////////////////////////////////////////////////// + +#include +#include +#include +#include +#include +#include + + +static void +show_usage_and_exit(const char *argv0) +{ + fprintf(stderr, "Usage: %s PRESET < INFILE > OUTFILE\n" + "PRESET is a number 0-9 and can optionally be " + "followed by 'e' to indicate extreme preset\n", + argv0); + exit(EXIT_FAILURE); +} + + +static uint32_t +get_preset(int argc, char **argv) +{ + // One argument whose first char must be 0-9. + if (argc != 2 || argv[1][0] < '0' || argv[1][0] > '9') + show_usage_and_exit(argv[0]); + + // Calculate the preste level 0-9. + uint32_t preset = argv[1][0] - '0'; + + // If there is a second char, it must be 'e'. It will set + // the LZMA_PRESET_EXTREME flag. + if (argv[1][1] != '\0') { + if (argv[1][1] != 'e' || argv[1][2] != '\0') + show_usage_and_exit(argv[0]); + + preset |= LZMA_PRESET_EXTREME; + } + + return preset; +} + + +static bool +init_encoder(lzma_stream *strm, uint32_t preset) +{ + // Initialize the encoder using a preset. Set the integrity to check + // to CRC64, which is the default in the xz command line tool. If + // the .xz file needs to be decompressed with XZ Embedded, use + // LZMA_CHECK_CRC32 instead. + lzma_ret ret = lzma_easy_encoder(strm, preset, LZMA_CHECK_CRC64); + + // Return successfully if the initialization went fine. + if (ret == LZMA_OK) + return true; + + // Something went wrong. The possible errors are documented in + // lzma/container.h (src/liblzma/api/lzma/container.h in the source + // package or e.g. /usr/include/lzma/container.h depending on the + // install prefix). + const char *msg; + switch (ret) { + case LZMA_MEM_ERROR: + msg = "Memory allocation failed"; + break; + + case LZMA_OPTIONS_ERROR: + msg = "Specified preset is not supported"; + break; + + case LZMA_UNSUPPORTED_CHECK: + msg = "Specified integrity check is not supported"; + break; + + default: + // This is most likely LZMA_PROG_ERROR indicating a bug in + // this program or in liblzma. It is inconvenient to have a + // separate error message for errors that should be impossible + // to occur, but knowing the error code is important for + // debugging. That's why it is good to print the error code + // at least when there is no good error message to show. + msg = "Unknown error, possibly a bug"; + break; + } + + fprintf(stderr, "Error initializing the encoder: %s (error code %u)\n", + msg, ret); + return false; +} + + +static bool +compress(lzma_stream *strm, FILE *infile, FILE *outfile) +{ + // This will be LZMA_RUN until the end of the input file is reached. + // This tells lzma_code() when there will be no more input. + lzma_action action = LZMA_RUN; + + // Buffers to temporarily hold uncompressed input + // and compressed output. + uint8_t inbuf[BUFSIZ]; + uint8_t outbuf[BUFSIZ]; + + // Initialize the input and output pointers. Initializing next_in + // and avail_in isn't really necessary when we are going to encode + // just one file since LZMA_STREAM_INIT takes care of initializing + // those already. But it doesn't hurt much and it will be needed + // if encoding more than one file like we will in 02_decompress.c. + // + // While we don't care about strm->total_in or strm->total_out in this + // example, it is worth noting that initializing the encoder will + // always reset total_in and total_out to zero. But the encoder + // initialization doesn't touch next_in, avail_in, next_out, or + // avail_out. + strm->next_in = NULL; + strm->avail_in = 0; + strm->next_out = outbuf; + strm->avail_out = sizeof(outbuf); + + // Loop until the file has been successfully compressed or until + // an error occurs. + while (true) { + // Fill the input buffer if it is empty. + if (strm->avail_in == 0 && !feof(infile)) { + strm->next_in = inbuf; + strm->avail_in = fread(inbuf, 1, sizeof(inbuf), + infile); + + if (ferror(infile)) { + fprintf(stderr, "Read error: %s\n", + strerror(errno)); + return false; + } + + // Once the end of the input file has been reached, + // we need to tell lzma_code() that no more input + // will be coming and that it should finish the + // encoding. + if (feof(infile)) + action = LZMA_FINISH; + } + + // Tell liblzma do the actual encoding. + // + // This reads up to strm->avail_in bytes of input starting + // from strm->next_in. avail_in will be decremented and + // next_in incremented by an equal amount to match the + // number of input bytes consumed. + // + // Up to strm->avail_out bytes of compressed output will be + // written starting from strm->next_out. avail_out and next_out + // will be incremented by an equal amount to match the number + // of output bytes written. + // + // The encoder has to do internal buffering, which means that + // it may take quite a bit of input before the same data is + // available in compressed form in the output buffer. + lzma_ret ret = lzma_code(strm, action); + + // If the output buffer is full or if the compression finished + // successfully, write the data from the output buffer to + // the output file. + if (strm->avail_out == 0 || ret == LZMA_STREAM_END) { + // When lzma_code() has returned LZMA_STREAM_END, + // the output buffer is likely to be only partially + // full. Calculate how much new data there is to + // be written to the output file. + size_t write_size = sizeof(outbuf) - strm->avail_out; + + if (fwrite(outbuf, 1, write_size, outfile) + != write_size) { + fprintf(stderr, "Write error: %s\n", + strerror(errno)); + return false; + } + + // Reset next_out and avail_out. + strm->next_out = outbuf; + strm->avail_out = sizeof(outbuf); + } + + // Normally the return value of lzma_code() will be LZMA_OK + // until everything has been encoded. + if (ret != LZMA_OK) { + // Once everything has been encoded successfully, the + // return value of lzma_code() will be LZMA_STREAM_END. + // + // It is important to check for LZMA_STREAM_END. Do not + // assume that getting ret != LZMA_OK would mean that + // everything has gone well. + if (ret == LZMA_STREAM_END) + return true; + + // It's not LZMA_OK nor LZMA_STREAM_END, + // so it must be an error code. See lzma/base.h + // (src/liblzma/api/lzma/base.h in the source package + // or e.g. /usr/include/lzma/base.h depending on the + // install prefix) for the list and documentation of + // possible values. Most values listen in lzma_ret + // enumeration aren't possible in this example. + const char *msg; + switch (ret) { + case LZMA_MEM_ERROR: + msg = "Memory allocation failed"; + break; + + case LZMA_DATA_ERROR: + // This error is returned if the compressed + // or uncompressed size get near 8 EiB + // (2^63 bytes) because that's where the .xz + // file format size limits currently are. + // That is, the possibility of this error + // is mostly theoretical unless you are doing + // something very unusual. + // + // Note that strm->total_in and strm->total_out + // have nothing to do with this error. Changing + // those variables won't increase or decrease + // the chance of getting this error. + msg = "File size limits exceeded"; + break; + + default: + // This is most likely LZMA_PROG_ERROR, but + // if this program is buggy (or liblzma has + // a bug), it may be e.g. LZMA_BUF_ERROR or + // LZMA_OPTIONS_ERROR too. + // + // It is inconvenient to have a separate + // error message for errors that should be + // impossible to occur, but knowing the error + // code is important for debugging. That's why + // it is good to print the error code at least + // when there is no good error message to show. + msg = "Unknown error, possibly a bug"; + break; + } + + fprintf(stderr, "Encoder error: %s (error code %u)\n", + msg, ret); + return false; + } + } +} + + +extern int +main(int argc, char **argv) +{ + // Get the preset number from the command line. + uint32_t preset = get_preset(argc, argv); + + // Initialize a lzma_stream structure. When it is allocated on stack, + // it is simplest to use LZMA_STREAM_INIT macro like below. When it + // is allocated on heap, using memset(strmptr, 0, sizeof(*strmptr)) + // works (as long as NULL pointers are represented with zero bits + // as they are on practically all computers today). + lzma_stream strm = LZMA_STREAM_INIT; + + // Initialize the encoder. If it succeeds, compress from + // stdin to stdout. + bool success = init_encoder(&strm, preset); + if (success) + success = compress(&strm, stdin, stdout); + + // Free the memory allocated for the encoder. If we were encoding + // multiple files, this would only need to be done after the last + // file. See 02_decompress.c for handling of multiple files. + // + // It is OK to call lzma_end() multiple times or when it hasn't been + // actually used except initialized with LZMA_STREAM_INIT. + lzma_end(&strm); + + // Close stdout to catch possible write errors that can occur + // when pending data is flushed from the stdio buffers. + if (fclose(stdout)) { + fprintf(stderr, "Write error: %s\n", strerror(errno)); + success = false; + } + + return success ? EXIT_SUCCESS : EXIT_FAILURE; +} diff --git a/src/native/external/xz/doc/examples/02_decompress.c b/src/native/external/xz/doc/examples/02_decompress.c new file mode 100644 index 00000000000000..a87a5d3ece2ed6 --- /dev/null +++ b/src/native/external/xz/doc/examples/02_decompress.c @@ -0,0 +1,286 @@ +// SPDX-License-Identifier: 0BSD + +/////////////////////////////////////////////////////////////////////////////// +// +/// \file 02_decompress.c +/// \brief Decompress .xz files to stdout +/// +/// Usage: ./02_decompress INPUT_FILES... > OUTFILE +/// +/// Example: ./02_decompress foo.xz bar.xz > foobar +// +// Author: Lasse Collin +// +/////////////////////////////////////////////////////////////////////////////// + +#include +#include +#include +#include +#include +#include + + +static bool +init_decoder(lzma_stream *strm) +{ + // Initialize a .xz decoder. The decoder supports a memory usage limit + // and a set of flags. + // + // The memory usage of the decompressor depends on the settings used + // to compress a .xz file. It can vary from less than a megabyte to + // a few gigabytes, but in practice (at least for now) it rarely + // exceeds 65 MiB because that's how much memory is required to + // decompress files created with "xz -9". Settings requiring more + // memory take extra effort to use and don't (at least for now) + // provide significantly better compression in most cases. + // + // Memory usage limit is useful if it is important that the + // decompressor won't consume gigabytes of memory. The need + // for limiting depends on the application. In this example, + // no memory usage limiting is used. This is done by setting + // the limit to UINT64_MAX. + // + // The .xz format allows concatenating compressed files as is: + // + // echo foo | xz > foobar.xz + // echo bar | xz >> foobar.xz + // + // When decompressing normal standalone .xz files, LZMA_CONCATENATED + // should always be used to support decompression of concatenated + // .xz files. If LZMA_CONCATENATED isn't used, the decoder will stop + // after the first .xz stream. This can be useful when .xz data has + // been embedded inside another file format. + // + // Flags other than LZMA_CONCATENATED are supported too, and can + // be combined with bitwise-or. See lzma/container.h + // (src/liblzma/api/lzma/container.h in the source package or e.g. + // /usr/include/lzma/container.h depending on the install prefix) + // for details. + lzma_ret ret = lzma_stream_decoder( + strm, UINT64_MAX, LZMA_CONCATENATED); + + // Return successfully if the initialization went fine. + if (ret == LZMA_OK) + return true; + + // Something went wrong. The possible errors are documented in + // lzma/container.h (src/liblzma/api/lzma/container.h in the source + // package or e.g. /usr/include/lzma/container.h depending on the + // install prefix). + // + // Note that LZMA_MEMLIMIT_ERROR is never possible here. If you + // specify a very tiny limit, the error will be delayed until + // the first headers have been parsed by a call to lzma_code(). + const char *msg; + switch (ret) { + case LZMA_MEM_ERROR: + msg = "Memory allocation failed"; + break; + + case LZMA_OPTIONS_ERROR: + msg = "Unsupported decompressor flags"; + break; + + default: + // This is most likely LZMA_PROG_ERROR indicating a bug in + // this program or in liblzma. It is inconvenient to have a + // separate error message for errors that should be impossible + // to occur, but knowing the error code is important for + // debugging. That's why it is good to print the error code + // at least when there is no good error message to show. + msg = "Unknown error, possibly a bug"; + break; + } + + fprintf(stderr, "Error initializing the decoder: %s (error code %u)\n", + msg, ret); + return false; +} + + +static bool +decompress(lzma_stream *strm, const char *inname, FILE *infile, FILE *outfile) +{ + // When LZMA_CONCATENATED flag was used when initializing the decoder, + // we need to tell lzma_code() when there will be no more input. + // This is done by setting action to LZMA_FINISH instead of LZMA_RUN + // in the same way as it is done when encoding. + // + // When LZMA_CONCATENATED isn't used, there is no need to use + // LZMA_FINISH to tell when all the input has been read, but it + // is still OK to use it if you want. When LZMA_CONCATENATED isn't + // used, the decoder will stop after the first .xz stream. In that + // case some unused data may be left in strm->next_in. + lzma_action action = LZMA_RUN; + + uint8_t inbuf[BUFSIZ]; + uint8_t outbuf[BUFSIZ]; + + strm->next_in = NULL; + strm->avail_in = 0; + strm->next_out = outbuf; + strm->avail_out = sizeof(outbuf); + + while (true) { + if (strm->avail_in == 0 && !feof(infile)) { + strm->next_in = inbuf; + strm->avail_in = fread(inbuf, 1, sizeof(inbuf), + infile); + + if (ferror(infile)) { + fprintf(stderr, "%s: Read error: %s\n", + inname, strerror(errno)); + return false; + } + + // Once the end of the input file has been reached, + // we need to tell lzma_code() that no more input + // will be coming. As said before, this isn't required + // if the LZMA_CONCATENATED flag isn't used when + // initializing the decoder. + if (feof(infile)) + action = LZMA_FINISH; + } + + lzma_ret ret = lzma_code(strm, action); + + if (strm->avail_out == 0 || ret == LZMA_STREAM_END) { + size_t write_size = sizeof(outbuf) - strm->avail_out; + + if (fwrite(outbuf, 1, write_size, outfile) + != write_size) { + fprintf(stderr, "Write error: %s\n", + strerror(errno)); + return false; + } + + strm->next_out = outbuf; + strm->avail_out = sizeof(outbuf); + } + + if (ret != LZMA_OK) { + // Once everything has been decoded successfully, the + // return value of lzma_code() will be LZMA_STREAM_END. + // + // It is important to check for LZMA_STREAM_END. Do not + // assume that getting ret != LZMA_OK would mean that + // everything has gone well or that when you aren't + // getting more output it must have successfully + // decoded everything. + if (ret == LZMA_STREAM_END) + return true; + + // It's not LZMA_OK nor LZMA_STREAM_END, + // so it must be an error code. See lzma/base.h + // (src/liblzma/api/lzma/base.h in the source package + // or e.g. /usr/include/lzma/base.h depending on the + // install prefix) for the list and documentation of + // possible values. Many values listen in lzma_ret + // enumeration aren't possible in this example, but + // can be made possible by enabling memory usage limit + // or adding flags to the decoder initialization. + const char *msg; + switch (ret) { + case LZMA_MEM_ERROR: + msg = "Memory allocation failed"; + break; + + case LZMA_FORMAT_ERROR: + // .xz magic bytes weren't found. + msg = "The input is not in the .xz format"; + break; + + case LZMA_OPTIONS_ERROR: + // For example, the headers specify a filter + // that isn't supported by this liblzma + // version (or it hasn't been enabled when + // building liblzma, but no-one sane does + // that unless building liblzma for an + // embedded system). Upgrading to a newer + // liblzma might help. + // + // Note that it is unlikely that the file has + // accidentally became corrupt if you get this + // error. The integrity of the .xz headers is + // always verified with a CRC32, so + // unintentionally corrupt files can be + // distinguished from unsupported files. + msg = "Unsupported compression options"; + break; + + case LZMA_DATA_ERROR: + msg = "Compressed file is corrupt"; + break; + + case LZMA_BUF_ERROR: + // Typically this error means that a valid + // file has got truncated, but it might also + // be a damaged part in the file that makes + // the decoder think the file is truncated. + // If you prefer, you can use the same error + // message for this as for LZMA_DATA_ERROR. + msg = "Compressed file is truncated or " + "otherwise corrupt"; + break; + + default: + // This is most likely LZMA_PROG_ERROR. + msg = "Unknown error, possibly a bug"; + break; + } + + fprintf(stderr, "%s: Decoder error: " + "%s (error code %u)\n", + inname, msg, ret); + return false; + } + } +} + + +extern int +main(int argc, char **argv) +{ + if (argc <= 1) { + fprintf(stderr, "Usage: %s FILES...\n", argv[0]); + return EXIT_FAILURE; + } + + lzma_stream strm = LZMA_STREAM_INIT; + + bool success = true; + + // Try to decompress all files. + for (int i = 1; i < argc; ++i) { + if (!init_decoder(&strm)) { + // Decoder initialization failed. There's no point + // to retry it so we need to exit. + success = false; + break; + } + + FILE *infile = fopen(argv[i], "rb"); + + if (infile == NULL) { + fprintf(stderr, "%s: Error opening the " + "input file: %s\n", + argv[i], strerror(errno)); + success = false; + } else { + success &= decompress(&strm, argv[i], infile, stdout); + fclose(infile); + } + } + + // Free the memory allocated for the decoder. This only needs to be + // done after the last file. + lzma_end(&strm); + + if (fclose(stdout)) { + fprintf(stderr, "Write error: %s\n", strerror(errno)); + success = false; + } + + return success ? EXIT_SUCCESS : EXIT_FAILURE; +} diff --git a/src/native/external/xz/doc/examples/03_compress_custom.c b/src/native/external/xz/doc/examples/03_compress_custom.c new file mode 100644 index 00000000000000..80ad189a5e3eab --- /dev/null +++ b/src/native/external/xz/doc/examples/03_compress_custom.c @@ -0,0 +1,192 @@ +// SPDX-License-Identifier: 0BSD + +/////////////////////////////////////////////////////////////////////////////// +// +/// \file 03_compress_custom.c +/// \brief Compress in multi-call mode using x86 BCJ and LZMA2 +/// +/// Usage: ./03_compress_custom < INFILE > OUTFILE +/// +/// Example: ./03_compress_custom < foo > foo.xz +// +// Author: Lasse Collin +// +/////////////////////////////////////////////////////////////////////////////// + +#include +#include +#include +#include +#include +#include + + +static bool +init_encoder(lzma_stream *strm) +{ + // Use the default preset (6) for LZMA2. + // + // The lzma_options_lzma structure and the lzma_lzma_preset() function + // are declared in lzma/lzma12.h (src/liblzma/api/lzma/lzma12.h in the + // source package or e.g. /usr/include/lzma/lzma12.h depending on + // the install prefix). + lzma_options_lzma opt_lzma2; + if (lzma_lzma_preset(&opt_lzma2, LZMA_PRESET_DEFAULT)) { + // It should never fail because the default preset + // (and presets 0-9 optionally with LZMA_PRESET_EXTREME) + // are supported by all stable liblzma versions. + // + // (The encoder initialization later in this function may + // still fail due to unsupported preset *if* the features + // required by the preset have been disabled at build time, + // but no-one does such things except on embedded systems.) + fprintf(stderr, "Unsupported preset, possibly a bug\n"); + return false; + } + + // Now we could customize the LZMA2 options if we wanted. For example, + // we could set the dictionary size (opt_lzma2.dict_size) to + // something else than the default (8 MiB) of the default preset. + // See lzma/lzma12.h for details of all LZMA2 options. + // + // The x86 BCJ filter will try to modify the x86 instruction stream so + // that LZMA2 can compress it better. The x86 BCJ filter doesn't need + // any options so it will be set to NULL below. + // + // Construct the filter chain. The uncompressed data goes first to + // the first filter in the array, in this case the x86 BCJ filter. + // The array is always terminated by setting .id = LZMA_VLI_UNKNOWN. + // + // See lzma/filter.h for more information about the lzma_filter + // structure. + lzma_filter filters[] = { + { .id = LZMA_FILTER_X86, .options = NULL }, + { .id = LZMA_FILTER_LZMA2, .options = &opt_lzma2 }, + { .id = LZMA_VLI_UNKNOWN, .options = NULL }, + }; + + // Initialize the encoder using the custom filter chain. + lzma_ret ret = lzma_stream_encoder(strm, filters, LZMA_CHECK_CRC64); + + if (ret == LZMA_OK) + return true; + + const char *msg; + switch (ret) { + case LZMA_MEM_ERROR: + msg = "Memory allocation failed"; + break; + + case LZMA_OPTIONS_ERROR: + // We are no longer using a plain preset so this error + // message has been edited accordingly compared to + // 01_compress_easy.c. + msg = "Specified filter chain is not supported"; + break; + + case LZMA_UNSUPPORTED_CHECK: + msg = "Specified integrity check is not supported"; + break; + + default: + msg = "Unknown error, possibly a bug"; + break; + } + + fprintf(stderr, "Error initializing the encoder: %s (error code %u)\n", + msg, ret); + return false; +} + + +// This function is identical to the one in 01_compress_easy.c. +static bool +compress(lzma_stream *strm, FILE *infile, FILE *outfile) +{ + lzma_action action = LZMA_RUN; + + uint8_t inbuf[BUFSIZ]; + uint8_t outbuf[BUFSIZ]; + + strm->next_in = NULL; + strm->avail_in = 0; + strm->next_out = outbuf; + strm->avail_out = sizeof(outbuf); + + while (true) { + if (strm->avail_in == 0 && !feof(infile)) { + strm->next_in = inbuf; + strm->avail_in = fread(inbuf, 1, sizeof(inbuf), + infile); + + if (ferror(infile)) { + fprintf(stderr, "Read error: %s\n", + strerror(errno)); + return false; + } + + if (feof(infile)) + action = LZMA_FINISH; + } + + lzma_ret ret = lzma_code(strm, action); + + if (strm->avail_out == 0 || ret == LZMA_STREAM_END) { + size_t write_size = sizeof(outbuf) - strm->avail_out; + + if (fwrite(outbuf, 1, write_size, outfile) + != write_size) { + fprintf(stderr, "Write error: %s\n", + strerror(errno)); + return false; + } + + strm->next_out = outbuf; + strm->avail_out = sizeof(outbuf); + } + + if (ret != LZMA_OK) { + if (ret == LZMA_STREAM_END) + return true; + + const char *msg; + switch (ret) { + case LZMA_MEM_ERROR: + msg = "Memory allocation failed"; + break; + + case LZMA_DATA_ERROR: + msg = "File size limits exceeded"; + break; + + default: + msg = "Unknown error, possibly a bug"; + break; + } + + fprintf(stderr, "Encoder error: %s (error code %u)\n", + msg, ret); + return false; + } + } +} + + +extern int +main(void) +{ + lzma_stream strm = LZMA_STREAM_INIT; + + bool success = init_encoder(&strm); + if (success) + success = compress(&strm, stdin, stdout); + + lzma_end(&strm); + + if (fclose(stdout)) { + fprintf(stderr, "Write error: %s\n", strerror(errno)); + success = false; + } + + return success ? EXIT_SUCCESS : EXIT_FAILURE; +} diff --git a/src/native/external/xz/doc/examples/04_compress_easy_mt.c b/src/native/external/xz/doc/examples/04_compress_easy_mt.c new file mode 100644 index 00000000000000..c721a6618ae0f1 --- /dev/null +++ b/src/native/external/xz/doc/examples/04_compress_easy_mt.c @@ -0,0 +1,205 @@ +// SPDX-License-Identifier: 0BSD + +/////////////////////////////////////////////////////////////////////////////// +// +/// \file 04_compress_easy_mt.c +/// \brief Compress in multi-call mode using LZMA2 in multi-threaded mode +/// +/// Usage: ./04_compress_easy_mt < INFILE > OUTFILE +/// +/// Example: ./04_compress_easy_mt < foo > foo.xz +// +// Author: Lasse Collin +// +/////////////////////////////////////////////////////////////////////////////// + +#include +#include +#include +#include +#include +#include + + +static bool +init_encoder(lzma_stream *strm) +{ + // The threaded encoder takes the options as pointer to + // a lzma_mt structure. + lzma_mt mt = { + // No flags are needed. + .flags = 0, + + // Let liblzma determine a sane block size. + .block_size = 0, + + // Use no timeout for lzma_code() calls by setting timeout + // to zero. That is, sometimes lzma_code() might block for + // a long time (from several seconds to even minutes). + // If this is not OK, for example due to progress indicator + // needing updates, specify a timeout in milliseconds here. + // See the documentation of lzma_mt in lzma/container.h for + // information how to choose a reasonable timeout. + .timeout = 0, + + // Use the default preset (6) for LZMA2. + // To use a preset, filters must be set to NULL. + .preset = LZMA_PRESET_DEFAULT, + .filters = NULL, + + // Use CRC64 for integrity checking. See also + // 01_compress_easy.c about choosing the integrity check. + .check = LZMA_CHECK_CRC64, + }; + + // Detect how many threads the CPU supports. + mt.threads = lzma_cputhreads(); + + // If the number of CPU cores/threads cannot be detected, + // use one thread. Note that this isn't the same as the normal + // single-threaded mode as this will still split the data into + // blocks and use more RAM than the normal single-threaded mode. + // You may want to consider using lzma_easy_encoder() or + // lzma_stream_encoder() instead of lzma_stream_encoder_mt() if + // lzma_cputhreads() returns 0 or 1. + if (mt.threads == 0) + mt.threads = 1; + + // If the number of CPU cores/threads exceeds threads_max, + // limit the number of threads to keep memory usage lower. + // The number 8 is arbitrarily chosen and may be too low or + // high depending on the compression preset and the computer + // being used. + // + // FIXME: A better way could be to check the amount of RAM + // (or available RAM) and use lzma_stream_encoder_mt_memusage() + // to determine if the number of threads should be reduced. + const uint32_t threads_max = 8; + if (mt.threads > threads_max) + mt.threads = threads_max; + + // Initialize the threaded encoder. + lzma_ret ret = lzma_stream_encoder_mt(strm, &mt); + + if (ret == LZMA_OK) + return true; + + const char *msg; + switch (ret) { + case LZMA_MEM_ERROR: + msg = "Memory allocation failed"; + break; + + case LZMA_OPTIONS_ERROR: + // We are no longer using a plain preset so this error + // message has been edited accordingly compared to + // 01_compress_easy.c. + msg = "Specified filter chain is not supported"; + break; + + case LZMA_UNSUPPORTED_CHECK: + msg = "Specified integrity check is not supported"; + break; + + default: + msg = "Unknown error, possibly a bug"; + break; + } + + fprintf(stderr, "Error initializing the encoder: %s (error code %u)\n", + msg, ret); + return false; +} + + +// This function is identical to the one in 01_compress_easy.c. +static bool +compress(lzma_stream *strm, FILE *infile, FILE *outfile) +{ + lzma_action action = LZMA_RUN; + + uint8_t inbuf[BUFSIZ]; + uint8_t outbuf[BUFSIZ]; + + strm->next_in = NULL; + strm->avail_in = 0; + strm->next_out = outbuf; + strm->avail_out = sizeof(outbuf); + + while (true) { + if (strm->avail_in == 0 && !feof(infile)) { + strm->next_in = inbuf; + strm->avail_in = fread(inbuf, 1, sizeof(inbuf), + infile); + + if (ferror(infile)) { + fprintf(stderr, "Read error: %s\n", + strerror(errno)); + return false; + } + + if (feof(infile)) + action = LZMA_FINISH; + } + + lzma_ret ret = lzma_code(strm, action); + + if (strm->avail_out == 0 || ret == LZMA_STREAM_END) { + size_t write_size = sizeof(outbuf) - strm->avail_out; + + if (fwrite(outbuf, 1, write_size, outfile) + != write_size) { + fprintf(stderr, "Write error: %s\n", + strerror(errno)); + return false; + } + + strm->next_out = outbuf; + strm->avail_out = sizeof(outbuf); + } + + if (ret != LZMA_OK) { + if (ret == LZMA_STREAM_END) + return true; + + const char *msg; + switch (ret) { + case LZMA_MEM_ERROR: + msg = "Memory allocation failed"; + break; + + case LZMA_DATA_ERROR: + msg = "File size limits exceeded"; + break; + + default: + msg = "Unknown error, possibly a bug"; + break; + } + + fprintf(stderr, "Encoder error: %s (error code %u)\n", + msg, ret); + return false; + } + } +} + + +extern int +main(void) +{ + lzma_stream strm = LZMA_STREAM_INIT; + + bool success = init_encoder(&strm); + if (success) + success = compress(&strm, stdin, stdout); + + lzma_end(&strm); + + if (fclose(stdout)) { + fprintf(stderr, "Write error: %s\n", strerror(errno)); + success = false; + } + + return success ? EXIT_SUCCESS : EXIT_FAILURE; +} diff --git a/src/native/external/xz/doc/examples/11_file_info.c b/src/native/external/xz/doc/examples/11_file_info.c new file mode 100644 index 00000000000000..caadd98072fbf0 --- /dev/null +++ b/src/native/external/xz/doc/examples/11_file_info.c @@ -0,0 +1,205 @@ +// SPDX-License-Identifier: 0BSD + +/////////////////////////////////////////////////////////////////////////////// +// +/// \file 11_file_info.c +/// \brief Get uncompressed size of .xz file(s) +/// +/// Usage: ./11_file_info INFILE1.xz [INFILEn.xz]... +/// +/// Example: ./11_file_info foo.xz +// +// Author: Lasse Collin +// +/////////////////////////////////////////////////////////////////////////////// + +#include +#include +#include +#include +#include +#include +#include + + +static bool +print_file_size(lzma_stream *strm, FILE *infile, const char *filename) +{ + // Get the file size. In standard C it can be done by seeking to + // the end of the file and then getting the file position. + // In POSIX one can use fstat() and then st_size from struct stat. + // Also note that fseek() and ftell() use long and thus don't support + // large files on 32-bit systems (POSIX versions fseeko() and + // ftello() can support large files). + if (fseek(infile, 0, SEEK_END)) { + fprintf(stderr, "Error seeking the file '%s': %s\n", + filename, strerror(errno)); + return false; + } + + const long file_size = ftell(infile); + + // The decoder wants to start from the beginning of the .xz file. + rewind(infile); + + // Initialize the decoder. + lzma_index *i; + lzma_ret ret = lzma_file_info_decoder(strm, &i, UINT64_MAX, + (uint64_t)file_size); + switch (ret) { + case LZMA_OK: + // Initialization succeeded. + break; + + case LZMA_MEM_ERROR: + fprintf(stderr, "Out of memory when initializing " + "the .xz file info decoder\n"); + return false; + + case LZMA_PROG_ERROR: + default: + fprintf(stderr, "Unknown error, possibly a bug\n"); + return false; + } + + // This example program reuses the same lzma_stream structure + // for multiple files, so we need to reset this when starting + // a new file. + strm->avail_in = 0; + + // Buffer for input data. + uint8_t inbuf[BUFSIZ]; + + // Pass data to the decoder and seek when needed. + while (true) { + if (strm->avail_in == 0) { + strm->next_in = inbuf; + strm->avail_in = fread(inbuf, 1, sizeof(inbuf), + infile); + + if (ferror(infile)) { + fprintf(stderr, + "Error reading from '%s': %s\n", + filename, strerror(errno)); + return false; + } + + // We don't need to care about hitting the end of + // the file so no need to check for feof(). + } + + ret = lzma_code(strm, LZMA_RUN); + + switch (ret) { + case LZMA_OK: + break; + + case LZMA_SEEK_NEEDED: + // The cast is safe because liblzma won't ask us to + // seek past the known size of the input file which + // did fit into a long. + // + // NOTE: Remember to change these to off_t if you + // switch fseeko() or lseek(). + if (fseek(infile, (long)(strm->seek_pos), SEEK_SET)) { + fprintf(stderr, "Error seeking the " + "file '%s': %s\n", + filename, strerror(errno)); + return false; + } + + // The old data in the inbuf is useless now. Set + // avail_in to zero so that we will read new input + // from the new file position on the next iteration + // of this loop. + strm->avail_in = 0; + break; + + case LZMA_STREAM_END: + // File information was successfully decoded. + // See for functions that can be + // used on it. In this example we just print + // the uncompressed size (in bytes) of + // the .xz file followed by its file name. + printf("%10" PRIu64 " %s\n", + lzma_index_uncompressed_size(i), + filename); + + // Free the memory of the lzma_index structure. + lzma_index_end(i, NULL); + + return true; + + case LZMA_FORMAT_ERROR: + // .xz magic bytes weren't found. + fprintf(stderr, "The file '%s' is not " + "in the .xz format\n", filename); + return false; + + case LZMA_OPTIONS_ERROR: + fprintf(stderr, "The file '%s' has .xz headers that " + "are not supported by this liblzma " + "version\n", filename); + return false; + + case LZMA_DATA_ERROR: + fprintf(stderr, "The file '%s' is corrupt\n", + filename); + return false; + + case LZMA_MEM_ERROR: + fprintf(stderr, "Memory allocation failed when " + "decoding the file '%s'\n", filename); + return false; + + // LZMA_MEMLIMIT_ERROR shouldn't happen because we used + // UINT64_MAX as the limit. + // + // LZMA_BUF_ERROR shouldn't happen because we always provide + // new input when the input buffer is empty. The decoder + // knows the input file size and thus won't try to read past + // the end of the file. + case LZMA_MEMLIMIT_ERROR: + case LZMA_BUF_ERROR: + case LZMA_PROG_ERROR: + default: + fprintf(stderr, "Unknown error, possibly a bug\n"); + return false; + } + } + + // This line is never reached. +} + + +extern int +main(int argc, char **argv) +{ + bool success = true; + lzma_stream strm = LZMA_STREAM_INIT; + + for (int i = 1; i < argc; ++i) { + FILE *infile = fopen(argv[i], "rb"); + + if (infile == NULL) { + fprintf(stderr, "Cannot open the file '%s': %s\n", + argv[i], strerror(errno)); + success = false; + } + + success &= print_file_size(&strm, infile, argv[i]); + + (void)fclose(infile); + } + + lzma_end(&strm); + + // Close stdout to catch possible write errors that can occur + // when pending data is flushed from the stdio buffers. + if (fclose(stdout)) { + fprintf(stderr, "Write error: %s\n", strerror(errno)); + success = false; + } + + return success ? EXIT_SUCCESS : EXIT_FAILURE; +} diff --git a/src/native/external/xz/doc/examples/Makefile b/src/native/external/xz/doc/examples/Makefile new file mode 100644 index 00000000000000..f5b98788ece821 --- /dev/null +++ b/src/native/external/xz/doc/examples/Makefile @@ -0,0 +1,21 @@ +# SPDX-License-Identifier: 0BSD +# Author: Lasse Collin + +CC = c99 +CFLAGS = -g +LDFLAGS = -llzma + +PROGS = \ + 01_compress_easy \ + 02_decompress \ + 03_compress_custom \ + 04_compress_easy_mt \ + 11_file_info + +all: $(PROGS) + +.c: + $(CC) $(CFLAGS) -o $@ $< $(LDFLAGS) + +clean: + -rm -f $(PROGS) diff --git a/src/native/external/xz/doc/faq.txt b/src/native/external/xz/doc/faq.txt new file mode 100644 index 00000000000000..3f9068b4b27804 --- /dev/null +++ b/src/native/external/xz/doc/faq.txt @@ -0,0 +1,244 @@ + +XZ Utils FAQ +============ + +Q: What do the letters XZ mean? + +A: Nothing. They are just two letters, which come from the file format + suffix .xz. The .xz suffix was selected, because it seemed to be + pretty much unused. It has no deeper meaning. + + +Q: What are LZMA and LZMA2? + +A: LZMA stands for Lempel-Ziv-Markov chain-Algorithm. It is the name + of the compression algorithm designed by Igor Pavlov for 7-Zip. + LZMA is based on LZ77 and range encoding. + + LZMA2 is an updated version of the original LZMA to fix a couple of + practical issues. In context of XZ Utils, LZMA is called LZMA1 to + emphasize that LZMA is not the same thing as LZMA2. LZMA2 is the + primary compression algorithm in the .xz file format. + + +Q: There are many LZMA related projects. How does XZ Utils relate to them? + +A: 7-Zip and LZMA SDK are the original projects. LZMA SDK is roughly + a subset of the 7-Zip source tree. + + p7zip is 7-Zip's command-line tools ported to POSIX-like systems. + + LZMA Utils provide a gzip-like lzma tool for POSIX-like systems. + LZMA Utils are based on LZMA SDK. XZ Utils are the successor to + LZMA Utils. + + There are several other projects using LZMA. Most are more or less + based on LZMA SDK. See . + + +Q: Why is liblzma named liblzma if its primary file format is .xz? + Shouldn't it be e.g. libxz? + +A: When the designing of the .xz format began, the idea was to replace + the .lzma format and use the same .lzma suffix. It would have been + quite OK to reuse the suffix when there were very few .lzma files + around. However, the old .lzma format became popular before the + new format was finished. The new format was renamed to .xz but the + name of liblzma wasn't changed. + + +Q: Do XZ Utils support the .7z format? + +A: No. Use 7-Zip (Windows) or p7zip (POSIX-like systems) to handle .7z + files. + + +Q: I have many .tar.7z files. Can I convert them to .tar.xz without + spending hours recompressing the data? + +A: In the "extra" directory, there is a script named 7z2lzma.bash which + is able to convert some .7z files to the .lzma format (not .xz). It + needs the 7za (or 7z) command from p7zip. The script may silently + produce corrupt output if certain assumptions are not met, so + decompress the resulting .lzma file and compare it against the + original before deleting the original file! + + +Q: I have many .lzma files. Can I quickly convert them to the .xz format? + +A: For now, no. Since XZ Utils supports the .lzma format, it's usually + not too bad to keep the old files in the old format. If you want to + do the conversion anyway, you need to decompress the .lzma files and + then recompress to the .xz format. + + Technically, there is a way to make the conversion relatively fast + (roughly twice the time that normal decompression takes). Writing + such a tool would take quite a bit of time though, and would probably + be useful to only a few people. If you really want such a conversion + tool, contact Lasse Collin and offer some money. + + +Q: I have installed xz, but my tar doesn't recognize .tar.xz files. + How can I extract .tar.xz files? + +A: xz -dc foo.tar.xz | tar xf - + + +Q: Can I recover parts of a broken .xz file (e.g. a corrupted CD-R)? + +A: It may be possible if the file consists of multiple blocks, which + typically is not the case if the file was created in single-threaded + mode. There is no recovery program yet. + + +Q: Is (some part of) XZ Utils patented? + +A: Lasse Collin is not aware of any patents that could affect XZ Utils. + However, due to the nature of software patents, it's not possible to + guarantee that XZ Utils isn't affected by any third party patent(s). + + +Q: Where can I find documentation about the file format and algorithms? + +A: The .xz format is documented in xz-file-format.txt. It is a container + format only, and doesn't include descriptions of any non-trivial + filters. + + Documenting LZMA and LZMA2 is planned, but for now, there is no other + documentation than the source code. Before you begin, you should know + the basics of LZ77 and range-coding algorithms. LZMA is based on LZ77, + but LZMA is a lot more complex. Range coding is used to compress + the final bitstream like Huffman coding is used in Deflate. + + +Q: I cannot find BCJ and BCJ2 filters. Don't they exist in liblzma? + +A: BCJ filter is called "x86" in liblzma. BCJ2 is not included, + because it requires using more than one encoded output stream. + + +Q: I need to use a script that runs "xz -9". On a system with 256 MiB + of RAM, xz says that it cannot allocate memory. Can I make the + script work without modifying it? + +A: Set a default memory usage limit for compression. You can do it e.g. + in a shell initialization script such as ~/.bashrc or /etc/profile: + + XZ_DEFAULTS=--memlimit-compress=150MiB + export XZ_DEFAULTS + + xz will then scale the compression settings down so that the given + memory usage limit is not reached. This way xz shouldn't run out + of memory. + + Check also that memory-related resource limits are high enough. + On most systems, "ulimit -a" will show the current resource limits. + + +Q: How do I create files that can be decompressed with XZ Embedded? + +A: See the documentation in XZ Embedded. In short, something like + this is a good start: + + xz --check=crc32 --lzma2=preset=6e,dict=64KiB + + Or if a BCJ filter is needed too, e.g. if compressing + a kernel image for PowerPC: + + xz --check=crc32 --powerpc --lzma2=preset=6e,dict=64KiB + + Adjust the dictionary size to get a good compromise between + compression ratio and decompressor memory usage. Note that + in single-call decompression mode of XZ Embedded, a big + dictionary doesn't increase memory usage. + + +Q: How is multi-threaded compression implemented in XZ Utils? + +A: The simplest method is splitting the uncompressed data into blocks + and compressing them in parallel independent from each other. + This is currently the only threading method supported in XZ Utils. + Since the blocks are compressed independently, they can also be + decompressed independently. Together with the index feature in .xz, + this allows using threads to create .xz files for random-access + reading. This also makes threaded decompression possible. + + The independent blocks method has a couple of disadvantages too. It + will compress worse than a single-block method. Often the difference + is not too big (maybe 1-2 %) but sometimes it can be too big. Also, + the memory usage of the compressor increases linearly when adding + threads. + + At least two other threading methods are possible but these haven't + been implemented in XZ Utils: + + Match finder parallelization has been in 7-Zip for ages. It doesn't + affect compression ratio or memory usage significantly. Among the + three threading methods, only this is useful when compressing small + files (files that are not significantly bigger than the dictionary). + Unfortunately this method scales only to about two CPU cores. + + The third method is pigz-style threading (I use that name, because + pigz uses that method). It doesn't + affect compression ratio significantly and scales to many cores. + The memory usage scales linearly when threads are added. This isn't + significant with pigz, because Deflate uses only a 32 KiB dictionary, + but with LZMA2 the memory usage will increase dramatically just like + with the independent-blocks method. There is also a constant + computational overhead, which may make pigz-method a bit dull on + dual-core compared to the parallel match finder method, but with more + cores the overhead is not a big deal anymore. + + Combining the threading methods will be possible and also useful. + For example, combining match finder parallelization with pigz-style + threading or independent-blocks-threading can cut the memory usage + by 50 %. + + +Q: I told xz to use many threads but it is using only one or two + processor cores. What is wrong? + +A: Since multi-threaded compression is done by splitting the data into + blocks that are compressed individually, if the input file is too + small for the block size, then many threads cannot be used. The + default block size increases when the compression level is + increased. For example, xz -6 uses 8 MiB LZMA2 dictionary and + 24 MiB blocks, and xz -9 uses 64 MiB LZMA dictionary and 192 MiB + blocks. If the input file is 100 MiB, xz -6 can use five threads + of which one will finish quickly as it has only 4 MiB to compress. + However, for the same file, xz -9 can only use one thread. + + One can adjust block size with --block-size=SIZE but making the + block size smaller than LZMA2 dictionary is waste of RAM: using + xz -9 with 6 MiB blocks isn't any better than using xz -6 with + 6 MiB blocks. The default settings use a block size bigger than + the LZMA2 dictionary size because this was seen as a reasonable + compromise between RAM usage and compression ratio. + + When decompressing, the ability to use threads depends on how the + file was created. If it was created in multi-threaded mode then + it can be decompressed in multi-threaded mode too if there are + multiple blocks in the file. + + +Q: How do I build a program that needs liblzmadec (lzmadec.h)? + +A: liblzmadec is part of LZMA Utils. XZ Utils has liblzma, but no + liblzmadec. The code using liblzmadec should be ported to use + liblzma instead. If you cannot or don't want to do that, download + LZMA Utils from . + + +Q: The default build of liblzma is too big. How can I make it smaller? + +A: Give --enable-small to the configure script. Use also appropriate + --enable or --disable options to include only those filter encoders + and decoders and integrity checks that you actually need. Use + CFLAGS=-Os (with GCC) or equivalent to tell your compiler to optimize + for size. See INSTALL for information about configure options. + + If the result is still too big, take a look at XZ Embedded. It is + a separate project, which provides a limited but significantly + smaller XZ decoder implementation than XZ Utils. You can find it + at . + diff --git a/src/native/external/xz/doc/history.txt b/src/native/external/xz/doc/history.txt new file mode 100644 index 00000000000000..8545e232254ed5 --- /dev/null +++ b/src/native/external/xz/doc/history.txt @@ -0,0 +1,150 @@ + +History of LZMA Utils and XZ Utils +================================== + +Tukaani distribution + + In 2005, there was a small group working on the Tukaani distribution, + which was a Slackware fork. One of the project's goals was to fit the + distro on a single 700 MiB ISO-9660 image. Using LZMA instead of gzip + helped a lot. Roughly speaking, one could fit data that took 1000 MiB + in gzipped form into 700 MiB with LZMA. Naturally, the compression + ratio varied across packages, but this was what we got on average. + + Slackware packages have traditionally had .tgz as the filename suffix, + which is an abbreviation of .tar.gz. A logical naming for LZMA + compressed packages was .tlz, being an abbreviation of .tar.lzma. + + At the end of the year 2007, there was no distribution under the + Tukaani project anymore, but development of LZMA Utils was kept going. + Still, there were .tlz packages around, because at least Vector Linux + (a Slackware based distribution) used LZMA for its packages. + + First versions of the modified pkgtools used the LZMA_Alone tool from + Igor Pavlov's LZMA SDK as is. It was fine, because users wouldn't need + to interact with LZMA_Alone directly. But people soon wanted to use + LZMA for other files too, and the interface of LZMA_Alone wasn't + comfortable for those used to gzip and bzip2. + + +First steps of LZMA Utils + + The first version of LZMA Utils (4.22.0) included a shell script called + lzmash. It was a wrapper that had a gzip-like command-line interface. It + used the LZMA_Alone tool from LZMA SDK to do all the real work. zgrep, + zdiff, and related scripts from gzip were adapted to work with LZMA and + were part of the first LZMA Utils release too. + + LZMA Utils 4.22.0 included also lzmadec, which was a small (less than + 10 KiB) decoder-only command-line tool. It was written on top of the + decoder-only C code found from the LZMA SDK. lzmadec was convenient in + situations where LZMA_Alone (a few hundred KiB) would be too big. + + lzmash and lzmadec were written by Lasse Collin. + + +Second generation + + The lzmash script was an ugly and not very secure hack. The last + version of LZMA Utils to use lzmash was 4.27.1. + + LZMA Utils 4.32.0beta1 introduced a new lzma command-line tool written + by Ville Koskinen. It was written in C++, and used the encoder and + decoder from C++ LZMA SDK with some little modifications. This tool + replaced both the lzmash script and the LZMA_Alone command-line tool + in LZMA Utils. + + Introducing this new tool caused some temporary incompatibilities, + because the LZMA_Alone executable was simply named lzma like the new + command-line tool, but they had a completely different command-line + interface. The file format was still the same. + + Lasse wrote liblzmadec, which was a small decoder-only library based + on the C code found from LZMA SDK. liblzmadec had an API similar to + zlib, although there were some significant differences, which made it + non-trivial to use it in some applications designed for zlib and + libbzip2. + + The lzmadec command-line tool was converted to use liblzmadec. + + Alexandre Sauvé helped converting the build system to use GNU + Autotools. This made it easier to test for certain less portable + features needed by the new command-line tool. + + Since the new command-line tool never got completely finished (for + example, it didn't support the LZMA_OPT environment variable), the + intent was to not call 4.32.x stable. Similarly, liblzmadec wasn't + polished, but appeared to work well enough, so some people started + using it too. + + Because the development of the third generation of LZMA Utils was + delayed considerably (3-4 years), the 4.32.x branch had to be kept + maintained. It got some bug fixes now and then, and finally it was + decided to call it stable, although most of the missing features were + never added. + + +File format problems + + The file format used by LZMA_Alone was primitive. It was designed with + embedded systems in mind, and thus provided only a minimal set of + features. The two biggest problems for non-embedded use were the lack + of magic bytes and an integrity check. + + Igor and Lasse started developing a new file format with some help + from Ville Koskinen. Also Mark Adler, Mikko Pouru, H. Peter Anvin, + and Lars Wirzenius helped with some minor things at some point of the + development. Designing the new format took quite a long time (actually, + too long a time would be a more appropriate expression). It was mostly + because Lasse was quite slow at getting things done due to personal + reasons. + + Originally the new format was supposed to use the same .lzma suffix + that was already used by the old file format. Switching to the new + format wouldn't have caused much trouble when the old format wasn't + used by many people. But since the development of the new format took + such a long time, the old format got quite popular, and it was decided + that the new file format must use a different suffix. + + It was decided to use .xz as the suffix of the new file format. The + first stable .xz file format specification was finally released in + December 2008. In addition to fixing the most obvious problems of + the old .lzma format, the .xz format added some new features like + support for multiple filters (compression algorithms), filter chaining + (like piping on the command line), and limited random-access reading. + + Currently the primary compression algorithm used in .xz is LZMA2. + It is an extension on top of the original LZMA to fix some practical + problems: LZMA2 adds support for flushing the encoder, uncompressed + chunks, eases stateful decoder implementations, and improves support + for multithreading. Since LZMA2 is better than the original LZMA, the + original LZMA is not supported in .xz. + + +Transition to XZ Utils + + The early versions of XZ Utils were called LZMA Utils. The first + releases were 4.42.0alphas. They dropped the rest of the C++ LZMA SDK. + The code was still directly based on LZMA SDK but ported to C and + converted from a callback API to a stateful API. Later, Igor Pavlov + made a C version of the LZMA encoder too; these ports from C++ to C + were independent in LZMA SDK and LZMA Utils. + + The core of the new LZMA Utils was liblzma, a compression library with + a zlib-like API. liblzma supported both the old and new file format. + The gzip-like lzma command-line tool was rewritten to use liblzma. + + The new LZMA Utils code base was renamed to XZ Utils when the name + of the new file format had been decided. The liblzma compression + library retained its name though, because changing it would have + caused unnecessary breakage in applications already using the early + liblzma snapshots. + + The xz command-line tool can emulate the gzip-like lzma tool by + creating appropriate symlinks (e.g. lzma -> xz). Thus, practically + all scripts using the lzma tool from LZMA Utils will work as is with + XZ Utils (and will keep using the old .lzma format). Still, the .lzma + format is more or less deprecated. XZ Utils will keep supporting it, + but new applications should use the .xz format, and migrating old + applications to .xz is often a good idea too. + diff --git a/src/native/external/xz/doc/lzma-file-format.txt b/src/native/external/xz/doc/lzma-file-format.txt new file mode 100644 index 00000000000000..8cce5dcce74912 --- /dev/null +++ b/src/native/external/xz/doc/lzma-file-format.txt @@ -0,0 +1,173 @@ + +The .lzma File Format +===================== + + 0. Preface + 0.1. Notices and Acknowledgements + 0.2. Changes + 1. File Format + 1.1. Header + 1.1.1. Properties + 1.1.2. Dictionary Size + 1.1.3. Uncompressed Size + 1.2. LZMA Compressed Data + 2. References + + +0. Preface + + This document describes the .lzma file format, which is + sometimes also called LZMA_Alone format. It is a legacy file + format, which is being or has been replaced by the .xz format. + The MIME type of the .lzma format is `application/x-lzma'. + + The most commonly used software to handle .lzma files are + LZMA SDK, LZMA Utils, 7-Zip, and XZ Utils. This document + describes some of the differences between these implementations + and gives hints what subset of the .lzma format is the most + portable. + + +0.1. Notices and Acknowledgements + + This file format was designed by Igor Pavlov for use in + LZMA SDK. This document was written by Lasse Collin + using the documentation found + from the LZMA SDK. + + This document has been put into the public domain. + + +0.2. Changes + + Last modified: 2024-04-08 17:35+0300 + + From version 2011-04-12 11:55+0300 to 2022-07-13 21:00+0300: + The section 1.1.3 was modified to allow End of Payload Marker + with a known Uncompressed Size. + + +1. File Format + + +-+-+-+-+-+-+-+-+-+-+-+-+-+==========================+ + | Header | LZMA Compressed Data | + +-+-+-+-+-+-+-+-+-+-+-+-+-+==========================+ + + The .lzma format file consist of 13-byte Header followed by + the LZMA Compressed Data. + + Unlike the .gz, .bz2, and .xz formats, it is not possible to + concatenate multiple .lzma files as is and expect the + decompression tool to decode the resulting file as if it were + a single .lzma file. + + For example, the command line tools from LZMA Utils and + LZMA SDK silently ignore all the data after the first .lzma + stream. In contrast, the command line tool from XZ Utils + considers the .lzma file to be corrupt if there is data after + the first .lzma stream. + + +1.1. Header + + +------------+----+----+----+----+--+--+--+--+--+--+--+--+ + | Properties | Dictionary Size | Uncompressed Size | + +------------+----+----+----+----+--+--+--+--+--+--+--+--+ + + +1.1.1. Properties + + The Properties field contains three properties. An abbreviation + is given in parentheses, followed by the value range of the + property. The field consists of + + 1) the number of literal context bits (lc, [0, 8]); + 2) the number of literal position bits (lp, [0, 4]); and + 3) the number of position bits (pb, [0, 4]). + + The properties are encoded using the following formula: + + Properties = (pb * 5 + lp) * 9 + lc + + The following C code illustrates a straightforward way to + decode the Properties field: + + uint8_t lc, lp, pb; + uint8_t prop = get_lzma_properties(); + if (prop > (4 * 5 + 4) * 9 + 8) + return LZMA_PROPERTIES_ERROR; + + pb = prop / (9 * 5); + prop -= pb * 9 * 5; + lp = prop / 9; + lc = prop - lp * 9; + + XZ Utils has an additional requirement: lc + lp <= 4. Files + which don't follow this requirement cannot be decompressed + with XZ Utils. Usually this isn't a problem since the most + common lc/lp/pb values are 3/0/2. It is the only lc/lp/pb + combination that the files created by LZMA Utils can have, + but LZMA Utils can decompress files with any lc/lp/pb. + + +1.1.2. Dictionary Size + + Dictionary Size is stored as an unsigned 32-bit little endian + integer. Any 32-bit value is possible, but for maximum + portability, only sizes of 2^n and 2^n + 2^(n-1) should be + used. + + LZMA Utils creates only files with dictionary size 2^n, + 16 <= n <= 25. LZMA Utils can decompress files with any + dictionary size. + + XZ Utils creates and decompresses .lzma files only with + dictionary sizes 2^n and 2^n + 2^(n-1). If some other + dictionary size is specified when compressing, the value + stored in the Dictionary Size field is a rounded up, but the + specified value is still used in the actual compression code. + + +1.1.3. Uncompressed Size + + Uncompressed Size is stored as unsigned 64-bit little endian + integer. A special value of 0xFFFF_FFFF_FFFF_FFFF indicates + that Uncompressed Size is unknown. End of Payload Marker (*) + is used if Uncompressed Size is unknown. End of Payload Marker + is allowed but rarely used if Uncompressed Size is known. + XZ Utils 5.2.5 and older don't support .lzma files that have + End of Payload Marker together with a known Uncompressed Size. + + XZ Utils rejects files whose Uncompressed Size field specifies + a known size that is 256 GiB or more. This is to reject false + positives when trying to guess if the input file is in the + .lzma format. When Uncompressed Size is unknown, there is no + limit for the uncompressed size of the file. + + (*) Some tools use the term End of Stream (EOS) marker + instead of End of Payload Marker. + + +1.2. LZMA Compressed Data + + Detailed description of the format of this field is out of + scope of this document. + + +2. References + + LZMA SDK - The original LZMA implementation + https://7-zip.org/sdk.html + + 7-Zip + https://7-zip.org/ + + LZMA Utils - LZMA adapted to POSIX-like systems + https://tukaani.org/lzma/ + + XZ Utils - The next generation of LZMA Utils + https://tukaani.org/xz/ + + The .xz file format - The successor of the .lzma format + https://tukaani.org/xz/xz-file-format.txt + diff --git a/src/native/external/xz/doc/xz-file-format.txt b/src/native/external/xz/doc/xz-file-format.txt new file mode 100644 index 00000000000000..12d2530cda4831 --- /dev/null +++ b/src/native/external/xz/doc/xz-file-format.txt @@ -0,0 +1,1174 @@ + +The .xz File Format +=================== + +Version 1.2.1 (2024-04-08) + + + 0. Preface + 0.1. Notices and Acknowledgements + 0.2. Getting the Latest Version + 0.3. Version History + 1. Conventions + 1.1. Byte and Its Representation + 1.2. Multibyte Integers + 2. Overall Structure of .xz File + 2.1. Stream + 2.1.1. Stream Header + 2.1.1.1. Header Magic Bytes + 2.1.1.2. Stream Flags + 2.1.1.3. CRC32 + 2.1.2. Stream Footer + 2.1.2.1. CRC32 + 2.1.2.2. Backward Size + 2.1.2.3. Stream Flags + 2.1.2.4. Footer Magic Bytes + 2.2. Stream Padding + 3. Block + 3.1. Block Header + 3.1.1. Block Header Size + 3.1.2. Block Flags + 3.1.3. Compressed Size + 3.1.4. Uncompressed Size + 3.1.5. List of Filter Flags + 3.1.6. Header Padding + 3.1.7. CRC32 + 3.2. Compressed Data + 3.3. Block Padding + 3.4. Check + 4. Index + 4.1. Index Indicator + 4.2. Number of Records + 4.3. List of Records + 4.3.1. Unpadded Size + 4.3.2. Uncompressed Size + 4.4. Index Padding + 4.5. CRC32 + 5. Filter Chains + 5.1. Alignment + 5.2. Security + 5.3. Filters + 5.3.1. LZMA2 + 5.3.2. Branch/Call/Jump Filters for Executables + 5.3.3. Delta + 5.3.3.1. Format of the Encoded Output + 5.4. Custom Filter IDs + 5.4.1. Reserved Custom Filter ID Ranges + 6. Cyclic Redundancy Checks + 7. References + + +0. Preface + + This document describes the .xz file format (filename suffix + ".xz", MIME type "application/x-xz"). It is intended that this + this format replace the old .lzma format used by LZMA SDK and + LZMA Utils. + + +0.1. Notices and Acknowledgements + + This file format was designed by Lasse Collin + and Igor Pavlov. + + Special thanks for helping with this document goes to + Ville Koskinen. Thanks for helping with this document goes to + Mark Adler, H. Peter Anvin, Mikko Pouru, and Lars Wirzenius. + + This document has been put into the public domain. + + +0.2. Getting the Latest Version + + The latest official version of this document can be downloaded + from . + + Specific versions of this document have a filename + xz-file-format-X.Y.Z.txt where X.Y.Z is the version number. + For example, the version 1.0.0 of this document is available + at . + + +0.3. Version History + + Version Date Description + + 1.2.1 2024-04-08 The URLs of this specification and + XZ Utils were changed back to the + original ones in Sections 0.2 and 7. + + 1.2.0 2024-01-19 Added RISC-V filter and updated URLs in + Sections 0.2 and 7. The URL of this + specification was changed. + + 1.1.0 2022-12-11 Added ARM64 filter and clarified 32-bit + ARM endianness in Section 5.3.2, + language improvements in Section 5.4 + + 1.0.4 2009-08-27 Language improvements in Sections 1.2, + 2.1.1.2, 3.1.1, 3.1.2, and 5.3.1 + + 1.0.3 2009-06-05 Spelling fixes in Sections 5.1 and 5.4 + + 1.0.2 2009-06-04 Typo fixes in Sections 4 and 5.3.1 + + 1.0.1 2009-06-01 Typo fix in Section 0.3 and minor + clarifications to Sections 2, 2.2, + 3.3, 4.4, and 5.3.2 + + 1.0.0 2009-01-14 The first official version + + +1. Conventions + + The key words "MUST", "MUST NOT", "REQUIRED", "SHOULD", + "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this + document are to be interpreted as described in [RFC-2119]. + + Indicating a warning means displaying a message, returning + appropriate exit status, or doing something else to let the + user know that something worth warning occurred. The operation + SHOULD still finish if a warning is indicated. + + Indicating an error means displaying a message, returning + appropriate exit status, or doing something else to let the + user know that something prevented successfully finishing the + operation. The operation MUST be aborted once an error has + been indicated. + + +1.1. Byte and Its Representation + + In this document, byte is always 8 bits. + + A "null byte" has all bits unset. That is, the value of a null + byte is 0x00. + + To represent byte blocks, this document uses notation that + is similar to the notation used in [RFC-1952]: + + +-------+ + | Foo | One byte. + +-------+ + + +---+---+ + | Foo | Two bytes; that is, some of the vertical bars + +---+---+ can be missing. + + +=======+ + | Foo | Zero or more bytes. + +=======+ + + In this document, a boxed byte or a byte sequence declared + using this notation is called "a field". The example field + above would be called "the Foo field" or plain "Foo". + + If there are many fields, they may be split to multiple lines. + This is indicated with an arrow ("--->"): + + +=====+ + | Foo | + +=====+ + + +=====+ + ---> | Bar | + +=====+ + + The above is equivalent to this: + + +=====+=====+ + | Foo | Bar | + +=====+=====+ + + +1.2. Multibyte Integers + + Multibyte integers of static length, such as CRC values, + are stored in little endian byte order (least significant + byte first). + + When smaller values are more likely than bigger values (for + example file sizes), multibyte integers are encoded in a + variable-length representation: + - Numbers in the range [0, 127] are copied as is, and take + one byte of space. + - Bigger numbers will occupy two or more bytes. All but the + last byte of the multibyte representation have the highest + (eighth) bit set. + + For now, the value of the variable-length integers is limited + to 63 bits, which limits the encoded size of the integer to + nine bytes. These limits may be increased in the future if + needed. + + The following C code illustrates encoding and decoding of + variable-length integers. The functions return the number of + bytes occupied by the integer (1-9), or zero on error. + + #include + #include + + size_t + encode(uint8_t buf[static 9], uint64_t num) + { + if (num > UINT64_MAX / 2) + return 0; + + size_t i = 0; + + while (num >= 0x80) { + buf[i++] = (uint8_t)(num) | 0x80; + num >>= 7; + } + + buf[i++] = (uint8_t)(num); + + return i; + } + + size_t + decode(const uint8_t buf[], size_t size_max, uint64_t *num) + { + if (size_max == 0) + return 0; + + if (size_max > 9) + size_max = 9; + + *num = buf[0] & 0x7F; + size_t i = 0; + + while (buf[i++] & 0x80) { + if (i >= size_max || buf[i] == 0x00) + return 0; + + *num |= (uint64_t)(buf[i] & 0x7F) << (i * 7); + } + + return i; + } + + +2. Overall Structure of .xz File + + A standalone .xz files consist of one or more Streams which may + have Stream Padding between or after them: + + +========+================+========+================+ + | Stream | Stream Padding | Stream | Stream Padding | ... + +========+================+========+================+ + + The sizes of Stream and Stream Padding are always multiples + of four bytes, thus the size of every valid .xz file MUST be + a multiple of four bytes. + + While a typical file contains only one Stream and no Stream + Padding, a decoder handling standalone .xz files SHOULD support + files that have more than one Stream or Stream Padding. + + In contrast to standalone .xz files, when the .xz file format + is used as an internal part of some other file format or + communication protocol, it usually is expected that the decoder + stops after the first Stream, and doesn't look for Stream + Padding or possibly other Streams. + + +2.1. Stream + + +-+-+-+-+-+-+-+-+-+-+-+-+=======+=======+ +=======+ + | Stream Header | Block | Block | ... | Block | + +-+-+-+-+-+-+-+-+-+-+-+-+=======+=======+ +=======+ + + +=======+-+-+-+-+-+-+-+-+-+-+-+-+ + ---> | Index | Stream Footer | + +=======+-+-+-+-+-+-+-+-+-+-+-+-+ + + All the above fields have a size that is a multiple of four. If + Stream is used as an internal part of another file format, it + is RECOMMENDED to make the Stream start at an offset that is + a multiple of four bytes. + + Stream Header, Index, and Stream Footer are always present in + a Stream. The maximum size of the Index field is 16 GiB (2^34). + + There are zero or more Blocks. The maximum number of Blocks is + limited only by the maximum size of the Index field. + + Total size of a Stream MUST be less than 8 EiB (2^63 bytes). + The same limit applies to the total amount of uncompressed + data stored in a Stream. + + If an implementation supports handling .xz files with multiple + concatenated Streams, it MAY apply the above limits to the file + as a whole instead of limiting per Stream basis. + + +2.1.1. Stream Header + + +---+---+---+---+---+---+-------+------+--+--+--+--+ + | Header Magic Bytes | Stream Flags | CRC32 | + +---+---+---+---+---+---+-------+------+--+--+--+--+ + + +2.1.1.1. Header Magic Bytes + + The first six (6) bytes of the Stream are so called Header + Magic Bytes. They can be used to identify the file type. + + Using a C array and ASCII: + const uint8_t HEADER_MAGIC[6] + = { 0xFD, '7', 'z', 'X', 'Z', 0x00 }; + + In plain hexadecimal: + FD 37 7A 58 5A 00 + + Notes: + - The first byte (0xFD) was chosen so that the files cannot + be erroneously detected as being in .lzma format, in which + the first byte is in the range [0x00, 0xE0]. + - The sixth byte (0x00) was chosen to prevent applications + from misdetecting the file as a text file. + + If the Header Magic Bytes don't match, the decoder MUST + indicate an error. + + +2.1.1.2. Stream Flags + + The first byte of Stream Flags is always a null byte. In the + future, this byte may be used to indicate a new Stream version + or other Stream properties. + + The second byte of Stream Flags is a bit field: + + Bit(s) Mask Description + 0-3 0x0F Type of Check (see Section 3.4): + ID Size Check name + 0x00 0 bytes None + 0x01 4 bytes CRC32 + 0x02 4 bytes (Reserved) + 0x03 4 bytes (Reserved) + 0x04 8 bytes CRC64 + 0x05 8 bytes (Reserved) + 0x06 8 bytes (Reserved) + 0x07 16 bytes (Reserved) + 0x08 16 bytes (Reserved) + 0x09 16 bytes (Reserved) + 0x0A 32 bytes SHA-256 + 0x0B 32 bytes (Reserved) + 0x0C 32 bytes (Reserved) + 0x0D 64 bytes (Reserved) + 0x0E 64 bytes (Reserved) + 0x0F 64 bytes (Reserved) + 4-7 0xF0 Reserved for future use; MUST be zero for now. + + Implementations SHOULD support at least the Check IDs 0x00 + (None) and 0x01 (CRC32). Supporting other Check IDs is + OPTIONAL. If an unsupported Check is used, the decoder SHOULD + indicate a warning or error. + + If any reserved bit is set, the decoder MUST indicate an error. + It is possible that there is a new field present which the + decoder is not aware of, and can thus parse the Stream Header + incorrectly. + + +2.1.1.3. CRC32 + + The CRC32 is calculated from the Stream Flags field. It is + stored as an unsigned 32-bit little endian integer. If the + calculated value does not match the stored one, the decoder + MUST indicate an error. + + The idea is that Stream Flags would always be two bytes, even + if new features are needed. This way old decoders will be able + to verify the CRC32 calculated from Stream Flags, and thus + distinguish between corrupt files (CRC32 doesn't match) and + files that the decoder doesn't support (CRC32 matches but + Stream Flags has reserved bits set). + + +2.1.2. Stream Footer + + +-+-+-+-+---+---+---+---+-------+------+----------+---------+ + | CRC32 | Backward Size | Stream Flags | Footer Magic Bytes | + +-+-+-+-+---+---+---+---+-------+------+----------+---------+ + + +2.1.2.1. CRC32 + + The CRC32 is calculated from the Backward Size and Stream Flags + fields. It is stored as an unsigned 32-bit little endian + integer. If the calculated value does not match the stored one, + the decoder MUST indicate an error. + + The reason to have the CRC32 field before the Backward Size and + Stream Flags fields is to keep the four-byte fields aligned to + a multiple of four bytes. + + +2.1.2.2. Backward Size + + Backward Size is stored as a 32-bit little endian integer, + which indicates the size of the Index field as multiple of + four bytes, minimum value being four bytes: + + real_backward_size = (stored_backward_size + 1) * 4; + + If the stored value does not match the real size of the Index + field, the decoder MUST indicate an error. + + Using a fixed-size integer to store Backward Size makes + it slightly simpler to parse the Stream Footer when the + application needs to parse the Stream backwards. + + +2.1.2.3. Stream Flags + + This is a copy of the Stream Flags field from the Stream + Header. The information stored to Stream Flags is needed + when parsing the Stream backwards. The decoder MUST compare + the Stream Flags fields in both Stream Header and Stream + Footer, and indicate an error if they are not identical. + + +2.1.2.4. Footer Magic Bytes + + As the last step of the decoding process, the decoder MUST + verify the existence of Footer Magic Bytes. If they don't + match, an error MUST be indicated. + + Using a C array and ASCII: + const uint8_t FOOTER_MAGIC[2] = { 'Y', 'Z' }; + + In hexadecimal: + 59 5A + + The primary reason to have Footer Magic Bytes is to make + it easier to detect incomplete files quickly, without + uncompressing. If the file does not end with Footer Magic Bytes + (excluding Stream Padding described in Section 2.2), it cannot + be undamaged, unless someone has intentionally appended garbage + after the end of the Stream. + + +2.2. Stream Padding + + Only the decoders that support decoding of concatenated Streams + MUST support Stream Padding. + + Stream Padding MUST contain only null bytes. To preserve the + four-byte alignment of consecutive Streams, the size of Stream + Padding MUST be a multiple of four bytes. Empty Stream Padding + is allowed. If these requirements are not met, the decoder MUST + indicate an error. + + Note that non-empty Stream Padding is allowed at the end of the + file; there doesn't need to be a new Stream after non-empty + Stream Padding. This can be convenient in certain situations + [GNU-tar]. + + The possibility of Stream Padding MUST be taken into account + when designing an application that parses Streams backwards, + and the application supports concatenated Streams. + + +3. Block + + +==============+=================+===============+=======+ + | Block Header | Compressed Data | Block Padding | Check | + +==============+=================+===============+=======+ + + +3.1. Block Header + + +-------------------+-------------+=================+ + | Block Header Size | Block Flags | Compressed Size | + +-------------------+-------------+=================+ + + +===================+======================+ + ---> | Uncompressed Size | List of Filter Flags | + +===================+======================+ + + +================+--+--+--+--+ + ---> | Header Padding | CRC32 | + +================+--+--+--+--+ + + +3.1.1. Block Header Size + + This field overlaps with the Index Indicator field (see + Section 4.1). + + This field contains the size of the Block Header field, + including the Block Header Size field itself. Valid values are + in the range [0x01, 0xFF], which indicate the size of the Block + Header as multiples of four bytes, minimum size being eight + bytes: + + real_header_size = (encoded_header_size + 1) * 4; + + If a Block Header bigger than 1024 bytes is needed in the + future, a new field can be added between the Block Header and + Compressed Data fields. The presence of this new field would + be indicated in the Block Header field. + + +3.1.2. Block Flags + + The Block Flags field is a bit field: + + Bit(s) Mask Description + 0-1 0x03 Number of filters (1-4) + 2-5 0x3C Reserved for future use; MUST be zero for now. + 6 0x40 The Compressed Size field is present. + 7 0x80 The Uncompressed Size field is present. + + If any reserved bit is set, the decoder MUST indicate an error. + It is possible that there is a new field present which the + decoder is not aware of, and can thus parse the Block Header + incorrectly. + + +3.1.3. Compressed Size + + This field is present only if the appropriate bit is set in + the Block Flags field (see Section 3.1.2). + + The Compressed Size field contains the size of the Compressed + Data field, which MUST be non-zero. Compressed Size is stored + using the encoding described in Section 1.2. If the Compressed + Size doesn't match the size of the Compressed Data field, the + decoder MUST indicate an error. + + +3.1.4. Uncompressed Size + + This field is present only if the appropriate bit is set in + the Block Flags field (see Section 3.1.2). + + The Uncompressed Size field contains the size of the Block + after uncompressing. Uncompressed Size is stored using the + encoding described in Section 1.2. If the Uncompressed Size + does not match the real uncompressed size, the decoder MUST + indicate an error. + + Storing the Compressed Size and Uncompressed Size fields serves + several purposes: + - The decoder knows how much memory it needs to allocate + for a temporary buffer in multithreaded mode. + - Simple error detection: wrong size indicates a broken file. + - Seeking forwards to a specific location in streamed mode. + + It should be noted that the only reliable way to determine + the real uncompressed size is to uncompress the Block, + because the Block Header and Index fields may contain + (intentionally or unintentionally) invalid information. + + +3.1.5. List of Filter Flags + + +================+================+ +================+ + | Filter 0 Flags | Filter 1 Flags | ... | Filter n Flags | + +================+================+ +================+ + + The number of Filter Flags fields is stored in the Block Flags + field (see Section 3.1.2). + + The format of each Filter Flags field is as follows: + + +===========+====================+===================+ + | Filter ID | Size of Properties | Filter Properties | + +===========+====================+===================+ + + Both Filter ID and Size of Properties are stored using the + encoding described in Section 1.2. Size of Properties indicates + the size of the Filter Properties field as bytes. The list of + officially defined Filter IDs and the formats of their Filter + Properties are described in Section 5.3. + + Filter IDs greater than or equal to 0x4000_0000_0000_0000 + (2^62) are reserved for implementation-specific internal use. + These Filter IDs MUST never be used in List of Filter Flags. + + +3.1.6. Header Padding + + This field contains as many null byte as it is needed to make + the Block Header have the size specified in Block Header Size. + If any of the bytes are not null bytes, the decoder MUST + indicate an error. It is possible that there is a new field + present which the decoder is not aware of, and can thus parse + the Block Header incorrectly. + + +3.1.7. CRC32 + + The CRC32 is calculated over everything in the Block Header + field except the CRC32 field itself. It is stored as an + unsigned 32-bit little endian integer. If the calculated + value does not match the stored one, the decoder MUST indicate + an error. + + By verifying the CRC32 of the Block Header before parsing the + actual contents allows the decoder to distinguish between + corrupt and unsupported files. + + +3.2. Compressed Data + + The format of Compressed Data depends on Block Flags and List + of Filter Flags. Excluding the descriptions of the simplest + filters in Section 5.3, the format of the filter-specific + encoded data is out of scope of this document. + + +3.3. Block Padding + + Block Padding MUST contain 0-3 null bytes to make the size of + the Block a multiple of four bytes. This can be needed when + the size of Compressed Data is not a multiple of four. If any + of the bytes in Block Padding are not null bytes, the decoder + MUST indicate an error. + + +3.4. Check + + The type and size of the Check field depends on which bits + are set in the Stream Flags field (see Section 2.1.1.2). + + The Check, when used, is calculated from the original + uncompressed data. If the calculated Check does not match the + stored one, the decoder MUST indicate an error. If the selected + type of Check is not supported by the decoder, it SHOULD + indicate a warning or error. + + +4. Index + + +-----------------+===================+ + | Index Indicator | Number of Records | + +-----------------+===================+ + + +=================+===============+-+-+-+-+ + ---> | List of Records | Index Padding | CRC32 | + +=================+===============+-+-+-+-+ + + Index serves several purposes. Using it, one can + - verify that all Blocks in a Stream have been processed; + - find out the uncompressed size of a Stream; and + - quickly access the beginning of any Block (random access). + + +4.1. Index Indicator + + This field overlaps with the Block Header Size field (see + Section 3.1.1). The value of Index Indicator is always 0x00. + + +4.2. Number of Records + + This field indicates how many Records there are in the List + of Records field, and thus how many Blocks there are in the + Stream. The value is stored using the encoding described in + Section 1.2. If the decoder has decoded all the Blocks of the + Stream, and then notices that the Number of Records doesn't + match the real number of Blocks, the decoder MUST indicate an + error. + + +4.3. List of Records + + List of Records consists of as many Records as indicated by the + Number of Records field: + + +========+========+ + | Record | Record | ... + +========+========+ + + Each Record contains information about one Block: + + +===============+===================+ + | Unpadded Size | Uncompressed Size | + +===============+===================+ + + If the decoder has decoded all the Blocks of the Stream, it + MUST verify that the contents of the Records match the real + Unpadded Size and Uncompressed Size of the respective Blocks. + + Implementation hint: It is possible to verify the Index with + constant memory usage by calculating for example SHA-256 of + both the real size values and the List of Records, then + comparing the hash values. Implementing this using + non-cryptographic hash like CRC32 SHOULD be avoided unless + small code size is important. + + If the decoder supports random-access reading, it MUST verify + that Unpadded Size and Uncompressed Size of every completely + decoded Block match the sizes stored in the Index. If only + partial Block is decoded, the decoder MUST verify that the + processed sizes don't exceed the sizes stored in the Index. + + +4.3.1. Unpadded Size + + This field indicates the size of the Block excluding the Block + Padding field. That is, Unpadded Size is the size of the Block + Header, Compressed Data, and Check fields. Unpadded Size is + stored using the encoding described in Section 1.2. The value + MUST never be zero; with the current structure of Blocks, the + actual minimum value for Unpadded Size is five. + + Implementation note: Because the size of the Block Padding + field is not included in Unpadded Size, calculating the total + size of a Stream or doing random-access reading requires + calculating the actual size of the Blocks by rounding Unpadded + Sizes up to the next multiple of four. + + The reason to exclude Block Padding from Unpadded Size is to + ease making a raw copy of Compressed Data without Block + Padding. This can be useful, for example, if someone wants + to convert Streams to some other file format quickly. + + +4.3.2. Uncompressed Size + + This field indicates the Uncompressed Size of the respective + Block as bytes. The value is stored using the encoding + described in Section 1.2. + + +4.4. Index Padding + + This field MUST contain 0-3 null bytes to pad the Index to + a multiple of four bytes. If any of the bytes are not null + bytes, the decoder MUST indicate an error. + + +4.5. CRC32 + + The CRC32 is calculated over everything in the Index field + except the CRC32 field itself. The CRC32 is stored as an + unsigned 32-bit little endian integer. If the calculated + value does not match the stored one, the decoder MUST indicate + an error. + + +5. Filter Chains + + The Block Flags field defines how many filters are used. When + more than one filter is used, the filters are chained; that is, + the output of one filter is the input of another filter. The + following figure illustrates the direction of data flow. + + v Uncompressed Data ^ + | Filter 0 | + Encoder | Filter 1 | Decoder + | Filter n | + v Compressed Data ^ + + +5.1. Alignment + + Alignment of uncompressed input data is usually the job of + the application producing the data. For example, to get the + best results, an archiver tool should make sure that all + PowerPC executable files in the archive stream start at + offsets that are multiples of four bytes. + + Some filters, for example LZMA2, can be configured to take + advantage of specified alignment of input data. Note that + taking advantage of aligned input can be beneficial also when + a filter is not the first filter in the chain. For example, + if you compress PowerPC executables, you may want to use the + PowerPC filter and chain that with the LZMA2 filter. Because + not only the input but also the output alignment of the PowerPC + filter is four bytes, it is now beneficial to set LZMA2 + settings so that the LZMA2 encoder can take advantage of its + four-byte-aligned input data. + + The output of the last filter in the chain is stored to the + Compressed Data field, which is is guaranteed to be aligned + to a multiple of four bytes relative to the beginning of the + Stream. This can increase + - speed, if the filtered data is handled multiple bytes at + a time by the filter-specific encoder and decoder, + because accessing aligned data in computer memory is + usually faster; and + - compression ratio, if the output data is later compressed + with an external compression tool. + + +5.2. Security + + If filters would be allowed to be chained freely, it would be + possible to create malicious files, that would be very slow to + decode. Such files could be used to create denial of service + attacks. + + Slow files could occur when multiple filters are chained: + + v Compressed input data + | Filter 1 decoder (last filter) + | Filter 0 decoder (non-last filter) + v Uncompressed output data + + The decoder of the last filter in the chain produces a lot of + output from little input. Another filter in the chain takes the + output of the last filter, and produces very little output + while consuming a lot of input. As a result, a lot of data is + moved inside the filter chain, but the filter chain as a whole + gets very little work done. + + To prevent this kind of slow files, there are restrictions on + how the filters can be chained. These restrictions MUST be + taken into account when designing new filters. + + The maximum number of filters in the chain has been limited to + four, thus there can be at maximum of three non-last filters. + Of these three non-last filters, only two are allowed to change + the size of the data. + + The non-last filters, that change the size of the data, MUST + have a limit how much the decoder can compress the data: the + decoder SHOULD produce at least n bytes of output when the + filter is given 2n bytes of input. This limit is not + absolute, but significant deviations MUST be avoided. + + The above limitations guarantee that if the last filter in the + chain produces 4n bytes of output, the chain as a whole will + produce at least n bytes of output. + + +5.3. Filters + +5.3.1. LZMA2 + + LZMA (Lempel-Ziv-Markov chain-Algorithm) is a general-purpose + compression algorithm with high compression ratio and fast + decompression. LZMA is based on LZ77 and range coding + algorithms. + + LZMA2 is an extension on top of the original LZMA. LZMA2 uses + LZMA internally, but adds support for flushing the encoder, + uncompressed chunks, eases stateful decoder implementations, + and improves support for multithreading. Thus, the plain LZMA + will not be supported in this file format. + + Filter ID: 0x21 + Size of Filter Properties: 1 byte + Changes size of data: Yes + Allow as a non-last filter: No + Allow as the last filter: Yes + + Preferred alignment: + Input data: Adjustable to 1/2/4/8/16 byte(s) + Output data: 1 byte + + The format of the one-byte Filter Properties field is as + follows: + + Bits Mask Description + 0-5 0x3F Dictionary Size + 6-7 0xC0 Reserved for future use; MUST be zero for now. + + Dictionary Size is encoded with one-bit mantissa and five-bit + exponent. The smallest dictionary size is 4 KiB and the biggest + is 4 GiB. + + Raw value Mantissa Exponent Dictionary size + 0 2 11 4 KiB + 1 3 11 6 KiB + 2 2 12 8 KiB + 3 3 12 12 KiB + 4 2 13 16 KiB + 5 3 13 24 KiB + 6 2 14 32 KiB + ... ... ... ... + 35 3 27 768 MiB + 36 2 28 1024 MiB + 37 3 29 1536 MiB + 38 2 30 2048 MiB + 39 3 30 3072 MiB + 40 2 31 4096 MiB - 1 B + + Instead of having a table in the decoder, the dictionary size + can be decoded using the following C code: + + const uint8_t bits = get_dictionary_flags() & 0x3F; + if (bits > 40) + return DICTIONARY_TOO_BIG; // Bigger than 4 GiB + + uint32_t dictionary_size; + if (bits == 40) { + dictionary_size = UINT32_MAX; + } else { + dictionary_size = 2 | (bits & 1); + dictionary_size <<= bits / 2 + 11; + } + + +5.3.2. Branch/Call/Jump Filters for Executables + + These filters convert relative branch, call, and jump + instructions to their absolute counterparts in executable + files. This conversion increases redundancy and thus + compression ratio. + + Size of Filter Properties: 0 or 4 bytes + Changes size of data: No + Allow as a non-last filter: Yes + Allow as the last filter: No + + Below is the list of filters in this category. The alignment + is the same for both input and output data. + + Filter ID Alignment Description + 0x04 1 byte x86 filter (BCJ) + 0x05 4 bytes PowerPC (big endian) filter + 0x06 16 bytes IA64 filter + 0x07 4 bytes ARM filter [1] + 0x08 2 bytes ARM Thumb filter [1] + 0x09 4 bytes SPARC filter + 0x0A 4 bytes ARM64 filter [2] + 0x0B 2 bytes RISC-V filter + + [1] These are for little endian instruction encoding. + This must not be confused with data endianness. + A processor configured for big endian data access + may still use little endian instruction encoding. + The filters don't care about the data endianness. + + [2] 4096-byte alignment gives the best results + because the address in the ADRP instruction + is a multiple of 4096 bytes. + + If the size of Filter Properties is four bytes, the Filter + Properties field contains the start offset used for address + conversions. It is stored as an unsigned 32-bit little endian + integer. The start offset MUST be a multiple of the alignment + of the filter as listed in the table above; if it isn't, the + decoder MUST indicate an error. If the size of Filter + Properties is zero, the start offset is zero. + + Setting the start offset may be useful if an executable has + multiple sections, and there are many cross-section calls. + Taking advantage of this feature usually requires usage of + the Subblock filter, whose design is not complete yet. + + +5.3.3. Delta + + The Delta filter may increase compression ratio when the value + of the next byte correlates with the value of an earlier byte + at specified distance. + + Filter ID: 0x03 + Size of Filter Properties: 1 byte + Changes size of data: No + Allow as a non-last filter: Yes + Allow as the last filter: No + + Preferred alignment: + Input data: 1 byte + Output data: Same as the original input data + + The Properties byte indicates the delta distance, which can be + 1-256 bytes backwards from the current byte: 0x00 indicates + distance of 1 byte and 0xFF distance of 256 bytes. + + +5.3.3.1. Format of the Encoded Output + + The code below illustrates both encoding and decoding with + the Delta filter. + + // Distance is in the range [1, 256]. + const unsigned int distance = get_properties_byte() + 1; + uint8_t pos = 0; + uint8_t delta[256]; + + memset(delta, 0, sizeof(delta)); + + while (1) { + const int byte = read_byte(); + if (byte == EOF) + break; + + uint8_t tmp = delta[(uint8_t)(distance + pos)]; + if (is_encoder) { + tmp = (uint8_t)(byte) - tmp; + delta[pos] = (uint8_t)(byte); + } else { + tmp = (uint8_t)(byte) + tmp; + delta[pos] = tmp; + } + + write_byte(tmp); + --pos; + } + + +5.4. Custom Filter IDs + + If a developer wants to use custom Filter IDs, there are two + choices. The first choice is to contact Lasse Collin and ask + him to allocate a range of IDs for the developer. + + The second choice is to generate a 40-bit random integer + which the developer can use as a personal Developer ID. + To minimize the risk of collisions, Developer ID has to be + a randomly generated integer, not manually selected "hex word". + The following command, which works on many free operating + systems, can be used to generate Developer ID: + + dd if=/dev/urandom bs=5 count=1 | hexdump + + The developer can then use the Developer ID to create unique + (well, hopefully unique) Filter IDs. + + Bits Mask Description + 0-15 0x0000_0000_0000_FFFF Filter ID + 16-55 0x00FF_FFFF_FFFF_0000 Developer ID + 56-62 0x3F00_0000_0000_0000 Static prefix: 0x3F + + The resulting 63-bit integer will use 9 bytes of space when + stored using the encoding described in Section 1.2. To get + a shorter ID, see the beginning of this Section how to + request a custom ID range. + + +5.4.1. Reserved Custom Filter ID Ranges + + Range Description + 0x0000_0300 - 0x0000_04FF Reserved to ease .7z compatibility + 0x0002_0000 - 0x0007_FFFF Reserved to ease .7z compatibility + 0x0200_0000 - 0x07FF_FFFF Reserved to ease .7z compatibility + + +6. Cyclic Redundancy Checks + + There are several incompatible variations to calculate CRC32 + and CRC64. For simplicity and clarity, complete examples are + provided to calculate the checks as they are used in this file + format. Implementations MAY use different code as long as it + gives identical results. + + The program below reads data from standard input, calculates + the CRC32 and CRC64 values, and prints the calculated values + as big endian hexadecimal strings to standard output. + + #include + #include + #include + + uint32_t crc32_table[256]; + uint64_t crc64_table[256]; + + void + init(void) + { + static const uint32_t poly32 = UINT32_C(0xEDB88320); + static const uint64_t poly64 + = UINT64_C(0xC96C5795D7870F42); + + for (size_t i = 0; i < 256; ++i) { + uint32_t crc32 = i; + uint64_t crc64 = i; + + for (size_t j = 0; j < 8; ++j) { + if (crc32 & 1) + crc32 = (crc32 >> 1) ^ poly32; + else + crc32 >>= 1; + + if (crc64 & 1) + crc64 = (crc64 >> 1) ^ poly64; + else + crc64 >>= 1; + } + + crc32_table[i] = crc32; + crc64_table[i] = crc64; + } + } + + uint32_t + crc32(const uint8_t *buf, size_t size, uint32_t crc) + { + crc = ~crc; + for (size_t i = 0; i < size; ++i) + crc = crc32_table[buf[i] ^ (crc & 0xFF)] + ^ (crc >> 8); + return ~crc; + } + + uint64_t + crc64(const uint8_t *buf, size_t size, uint64_t crc) + { + crc = ~crc; + for (size_t i = 0; i < size; ++i) + crc = crc64_table[buf[i] ^ (crc & 0xFF)] + ^ (crc >> 8); + return ~crc; + } + + int + main() + { + init(); + + uint32_t value32 = 0; + uint64_t value64 = 0; + uint64_t total_size = 0; + uint8_t buf[8192]; + + while (1) { + const size_t buf_size + = fread(buf, 1, sizeof(buf), stdin); + if (buf_size == 0) + break; + + total_size += buf_size; + value32 = crc32(buf, buf_size, value32); + value64 = crc64(buf, buf_size, value64); + } + + printf("Bytes: %" PRIu64 "\n", total_size); + printf("CRC-32: 0x%08" PRIX32 "\n", value32); + printf("CRC-64: 0x%016" PRIX64 "\n", value64); + + return 0; + } + + +7. References + + LZMA SDK - The original LZMA implementation + https://7-zip.org/sdk.html + + LZMA Utils - LZMA adapted to POSIX-like systems + https://tukaani.org/lzma/ + + XZ Utils - The next generation of LZMA Utils + https://tukaani.org/xz/ + + [RFC-1952] + GZIP file format specification version 4.3 + https://www.ietf.org/rfc/rfc1952.txt + - Notation of byte boxes in section "2.1. Overall conventions" + + [RFC-2119] + Key words for use in RFCs to Indicate Requirement Levels + https://www.ietf.org/rfc/rfc2119.txt + + [GNU-tar] + GNU tar 1.35 manual + https://www.gnu.org/software/tar/manual/html_node/Blocking-Factor.html + - Node 9.4.2 "Blocking Factor", paragraph that begins + "gzip will complain about trailing garbage" + - Note that this URL points to the latest version of the + manual, and may some day not contain the note which is in + 1.35. For the exact version of the manual, download GNU + tar 1.35: ftp://ftp.gnu.org/pub/gnu/tar/tar-1.35.tar.gz + diff --git a/src/native/external/xz/dos/INSTALL.txt b/src/native/external/xz/dos/INSTALL.txt new file mode 100644 index 00000000000000..e5ba85bdb14c80 --- /dev/null +++ b/src/native/external/xz/dos/INSTALL.txt @@ -0,0 +1,78 @@ + +Building XZ Utils for DOS +========================= + +Introduction + + This document explains how to build XZ Utils for DOS using DJGPP. + The resulting binaries should run at least on various DOS versions + and under Windows 95/98/98SE/ME. + + This is somewhat experimental and has got very little testing. + + Note: Makefile and config.h are updated only now and then. This + means that if you checked out a development version, building for + DOS might not work without updating Makefile and config.h first. + + +Getting and Installing DJGPP + + You may use to help + deciding what to download. If you are only interested in building + XZ Utils, the zip-picker may list files that you don't strictly + need. However, using the zip-picker can still be worth it to get a + nice short summary of installation instructions (they can be found + from readme.1st too). + + For a more manual method, first select a mirror from + and go the + subdirectory named "current". You need the following files: + + unzip32.exe (if you don't already have a LFN-capable unzipper) + v2/djdev205.zip + v2gnu/bnu234b.zip + v2gnu/gcc920b.zip + v2gnu/mak43b.zip + v2misc/csdpmi7b.zip + + If newer versions are available, probably you should try them first. + Note that versions older than djdev205.zip aren't supported. Also + note that you want csdpmi7b.zip even if you run under Windows or + DOSEMU because the XZ Utils Makefile will embed cwsdstub.exe to + the resulting xz.exe. + + See the instructions in readme.1st found from djdev205.zip. Here's + a short summary, but you should still read readme.1st. + + C:\> mkdir DJGPP + C:\> cd DJGPP + C:\DJGPP> c:\download\unzip32 c:\download\djdev205.zip + C:\DJGPP> c:\download\unzip32 c:\download\bnu234b.zip + C:\DJGPP> c:\download\unzip32 c:\download\gcc920b.zip + C:\DJGPP> c:\download\unzip32 c:\download\mak43b.zip + C:\DJGPP> c:\download\unzip32 c:\download\csdpmi7b.zip + + C:\DJGPP> set PATH=C:\DJGPP\BIN;%PATH% + C:\DJGPP> set DJGPP=C:\DJGPP\DJGPP.ENV + + You may want to add the last two lines into AUTOEXEC.BAT or have, + for example, DJGPP.BAT which you can run before using DJGPP. + + Make sure you use completely upper case path in the DJGPP environment + variable. This is not required by DJGPP, but the XZ Utils Makefile is + a bit stupid and expects that everything in DJGPP environment variable + is uppercase. + + +Building + + You need to have an environment that supports long filenames (LFN). + Once you have built XZ Utils, the resulting binaries can be run + without long filename support. + + Run "make" in this directory (the directory containing this + INSTALL.txt). You should get xz.exe (and a bunch of temporary files). + Other tools are not built. Having e.g. xzdec.exe doesn't save much + space compared to xz.exe because the DJGPP runtime makes the .exe + quite big anyway. + diff --git a/src/native/external/xz/dos/Makefile b/src/native/external/xz/dos/Makefile new file mode 100644 index 00000000000000..a3d4ab4ba24035 --- /dev/null +++ b/src/native/external/xz/dos/Makefile @@ -0,0 +1,150 @@ +# SPDX-License-Identifier: 0BSD + +############################################################################### +# +# Makefile to build XZ Utils using DJGPP +# +# Author: Lasse Collin +# +############################################################################### + +# For debugging, set comment "#define NDEBUG 1" from config.h to enable +# the assert() macro, set STRIP=rem to disable stripping, and finally +# e.g. CFLAGS="-g -O0". +CC = gcc +STRIP = strip +CPPFLAGS = +CFLAGS = -g -Wall -Wextra -Wfatal-errors -march=i386 -mtune=i686 -O2 +LDFLAGS = -lemu + +ALL_CFLAGS = -std=gnu99 + +ALL_CPPFLAGS = \ + -I. \ + -I../lib \ + -I../src/common \ + -I../src/liblzma/api \ + -I../src/liblzma/common \ + -I../src/liblzma/check \ + -I../src/liblzma/rangecoder \ + -I../src/liblzma/lz \ + -I../src/liblzma/lzma \ + -I../src/liblzma/delta \ + -I../src/liblzma/simple \ + -DHAVE_CONFIG_H + +ALL_CPPFLAGS += $(CPPFLAGS) +ALL_CFLAGS += $(CFLAGS) + +.PHONY: all +all: xz.exe + +SRCS_C = \ + ../lib/getopt.c \ + ../lib/getopt1.c \ + ../src/common/tuklib_cpucores.c \ + ../src/common/tuklib_exit.c \ + ../src/common/tuklib_mbstr_fw.c \ + ../src/common/tuklib_mbstr_nonprint.c \ + ../src/common/tuklib_mbstr_width.c \ + ../src/common/tuklib_mbstr_wrap.c \ + ../src/common/tuklib_open_stdxxx.c \ + ../src/common/tuklib_physmem.c \ + ../src/common/tuklib_progname.c \ + ../src/liblzma/check/check.c \ + ../src/liblzma/check/crc32_fast.c \ + ../src/liblzma/check/crc64_fast.c \ + ../src/liblzma/check/sha256.c \ + ../src/liblzma/common/alone_decoder.c \ + ../src/liblzma/common/alone_encoder.c \ + ../src/liblzma/common/block_decoder.c \ + ../src/liblzma/common/block_encoder.c \ + ../src/liblzma/common/block_header_decoder.c \ + ../src/liblzma/common/block_header_encoder.c \ + ../src/liblzma/common/block_util.c \ + ../src/liblzma/common/common.c \ + ../src/liblzma/common/file_info.c \ + ../src/liblzma/common/filter_common.c \ + ../src/liblzma/common/filter_decoder.c \ + ../src/liblzma/common/filter_encoder.c \ + ../src/liblzma/common/filter_flags_decoder.c \ + ../src/liblzma/common/filter_flags_encoder.c \ + ../src/liblzma/common/hardware_physmem.c \ + ../src/liblzma/common/index.c \ + ../src/liblzma/common/index_decoder.c \ + ../src/liblzma/common/index_encoder.c \ + ../src/liblzma/common/index_hash.c \ + ../src/liblzma/common/lzip_decoder.c \ + ../src/liblzma/common/stream_decoder.c \ + ../src/liblzma/common/stream_encoder.c \ + ../src/liblzma/common/stream_flags_common.c \ + ../src/liblzma/common/stream_flags_decoder.c \ + ../src/liblzma/common/stream_flags_encoder.c \ + ../src/liblzma/common/string_conversion.c \ + ../src/liblzma/common/vli_decoder.c \ + ../src/liblzma/common/vli_encoder.c \ + ../src/liblzma/common/vli_size.c \ + ../src/liblzma/delta/delta_common.c \ + ../src/liblzma/delta/delta_decoder.c \ + ../src/liblzma/delta/delta_encoder.c \ + ../src/liblzma/lz/lz_decoder.c \ + ../src/liblzma/lz/lz_encoder.c \ + ../src/liblzma/lz/lz_encoder_mf.c \ + ../src/liblzma/lzma/fastpos_table.c \ + ../src/liblzma/lzma/lzma2_decoder.c \ + ../src/liblzma/lzma/lzma2_encoder.c \ + ../src/liblzma/lzma/lzma_decoder.c \ + ../src/liblzma/lzma/lzma_encoder.c \ + ../src/liblzma/lzma/lzma_encoder_optimum_fast.c \ + ../src/liblzma/lzma/lzma_encoder_optimum_normal.c \ + ../src/liblzma/lzma/lzma_encoder_presets.c \ + ../src/liblzma/rangecoder/price_table.c \ + ../src/liblzma/simple/arm.c \ + ../src/liblzma/simple/arm64.c \ + ../src/liblzma/simple/armthumb.c \ + ../src/liblzma/simple/ia64.c \ + ../src/liblzma/simple/powerpc.c \ + ../src/liblzma/simple/simple_coder.c \ + ../src/liblzma/simple/simple_decoder.c \ + ../src/liblzma/simple/simple_encoder.c \ + ../src/liblzma/simple/sparc.c \ + ../src/liblzma/simple/x86.c \ + ../src/xz/args.c \ + ../src/xz/coder.c \ + ../src/xz/file_io.c \ + ../src/xz/hardware.c \ + ../src/xz/list.c \ + ../src/xz/main.c \ + ../src/xz/message.c \ + ../src/xz/mytime.c \ + ../src/xz/options.c \ + ../src/xz/signals.c \ + ../src/xz/suffix.c \ + ../src/xz/util.c +SRCS_ASM = \ + ../src/liblzma/check/crc32_x86.S \ + ../src/liblzma/check/crc64_x86.S + +OBJS_C = $(SRCS_C:.c=.o) +OBJS_ASM = $(SRCS_ASM:.S=.o) +OBJS = $(OBJS_C) $(OBJS_ASM) + +getopt.h: + update ../lib/getopt.in.h getopt.h + +$(OBJS): getopt.h + +$(OBJS_C): %.o: %.c + $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -o $@ $< + +$(OBJS_ASM): %.o: %.S + $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -o $@ $< + +# Make xz.exe not depend on an external DPMI server. +xz.exe: $(OBJS) + $(CC) $(ALL_CFLAGS) $(OBJS) $(LDFLAGS) -o $@ + $(STRIP) --strip-all $@ + exe2coff $@ + del $@ + copy /b $(DJGPP:DJGPP.ENV=BIN\CWSDSTUB.EXE) + $(@:.exe=) $@ + del $(@:.exe=) diff --git a/src/native/external/xz/dos/README.txt b/src/native/external/xz/dos/README.txt new file mode 100644 index 00000000000000..0e8f6c086e3bfd --- /dev/null +++ b/src/native/external/xz/dos/README.txt @@ -0,0 +1,123 @@ + +XZ Utils on DOS +=============== + +DOS-specific filename handling + + xz detects at runtime if long filename (LFN) support is + available and will use it by default. It can be disabled by + setting an environment variable: + + set lfn=n + + When xz is in LFN mode, it behaves pretty much the same as it + does on other operating systems. Examples: + + xz foo.tar -> foo.tar.xz + xz -d foo.tar.xz -> foo.tar + + xz -F lzma foo.tar -> foo.tar.lzma + xz -d foo.tar.lzma -> foo.tar + + When LFN support isn't available or it is disabled with LFN=n + environment setting, xz works in short filename (SFN) mode. This + affects filename suffix handling when compressing. + + When compressing to the .xz format in SFN mode: + + - Files without an extension get .xz just like on LFN systems. + + - *.tar files become *.txz (shorthand for *.tar.xz). *.txz + is recognized by xz on all supported operating systems. + (Try to avoid confusing this with gzipped .txt files.) + + - Files with 1-3 character extension have their extension modified + so that the last character is a dash ("-"). If the extension + is already three characters, the last character is lost. The + resulting *.?- or *.??- filename is recognized in LFN mode, but + it isn't recognized by xz on other operating systems. + + Examples: + + xz foo -> foo.xz | xz -d foo.xz -> foo + xz foo.tar -> foo.txz | xz -d foo.txz -> foo.tar + xz foo.c -> foo.c- | xz -d foo.c- -> foo.c + xz read.me -> read.me- | xz -d read.me- -> read.me + xz foo.txt -> foo.tx- | xz -d foo.tx- -> foo.tx ! + + Note that in the last example above, the third character of the + filename extension is lost. + + When compressing to the legacy .lzma format in SFN mode: + + - *.tar files become *.tlz (shorthand for *.tar.lzma). *.tlz + is recognized by xz on all supported operating systems. + + - Other files become *.lzm. The original filename extension + is lost. *.lzm is recognized also in LFN mode, but it is not + recognized by xz on other operating systems. + + Examples: + + xz -F lzma foo -> foo.lzm | xz -d foo.lzm -> foo + xz -F lzma foo.tar -> foo.tlz | xz -d foo.tlz -> foo.tar + xz -F lzma foo.c -> foo.lzm | xz -d foo.lzm -> foo ! + xz -F lzma read.me -> read.lzm | xz -d read.lzm -> read ! + xz -F lzma foo.txt -> foo.lzm | xz -d foo.lzm -> foo ! + + When compressing with a custom suffix (-S .SUF, --suffix=.SUF) to + any file format: + + - If the suffix begins with a dot, the filename extension is + replaced with the new suffix. The original extension is lost. + + - If the suffix doesn't begin with a dot and the filename has no + extension and the filename given on the command line doesn't + have a dot at the end, the custom suffix is appended just like + on LFN systems. + + - If the suffix doesn't begin with a dot and the filename has + an extension (or an extension-less filename is given with a dot + at the end), the last 1-3 characters of the filename extension + may get overwritten to fit the given custom suffix. + + Examples: + + xz -S x foo -> foox | xz -dS x foox -> foo + xz -S x foo. -> foo.x | xz -dS x foo.x -> foo + xz -S .x foo -> foo.x | xz -dS .x foo.x -> foo + xz -S .x foo. -> foo.x | xz -dS .x foo.x -> foo + xz -S x.y foo -> foox.y | xz -dS x.y foox.y -> foo + xz -S .a foo.c -> foo.a | xz -dS .a foo.a -> foo ! + xz -S a foo.c -> foo.ca | xz -dS a foo.ca -> foo.c + xz -S ab foo.c -> foo.cab | xz -dS ab foo.cab -> foo.c + xz -S ab read.me -> read.mab | xz -dS ab read.mab -> read.m ! + xz -S ab foo.txt -> foo.tab | xz -dS ab foo.tab -> foo.t ! + xz -S abc foo.txt -> foo.abc | xz -dS abc foo.abc -> foo ! + + When decompressing, the suffix handling in SFN mode is the same as + in LFN mode. The DOS-specific filenames *.lzm, *.?-, and *.??- are + recognized also in LFN mode. + + xz handles certain uncommon situations safely: + + - If the generated output filename refers to the same file as + the input file, xz detects this and refuses to compress or + decompress the input file even if --force is used. This can + happen when giving an overlong filename in SFN mode. E.g. + "xz -S x foo.texinfo" would try to write to foo.tex which on + SFN system is the same file as foo.texinfo. + + - If the generated output filename is a special file like "con" + or "prn", xz detects this and refuses to compress or decompress + the input file even if --force is used. + + +Bugs + + xz doesn't necessarily work in Dosbox. It should work in DOSEMU. + + Pressing Ctrl-c or Ctrl-Break won't remove the incomplete target file + when running under Windows XP Command Prompt (something goes wrong + with SIGINT handling). It works correctly under Windows 95/98/98SE/ME. + diff --git a/src/native/external/xz/dos/config.h b/src/native/external/xz/dos/config.h new file mode 100644 index 00000000000000..4bab00e131f5ea --- /dev/null +++ b/src/native/external/xz/dos/config.h @@ -0,0 +1,146 @@ +/* SPDX-License-Identifier: 0BSD */ + +/* How many MiB of RAM to assume if the real amount cannot be determined. */ +#define ASSUME_RAM 32 + +/* Define to 1 if crc32 integrity check is enabled. */ +#define HAVE_CHECK_CRC32 1 + +/* Define to 1 if crc64 integrity check is enabled. */ +#define HAVE_CHECK_CRC64 1 + +/* Define to 1 if sha256 integrity check is enabled. */ +#define HAVE_CHECK_SHA256 1 + +/* Define to 1 if the 32-bit x86 CRC assembly files are used. */ +#define HAVE_CRC_X86_ASM 1 + +/* Define to 1 if any of HAVE_DECODER_foo have been defined. */ +#define HAVE_DECODERS 1 + +/* Define to 1 if arm decoder is enabled. */ +#define HAVE_DECODER_ARM 1 + +/* Define to 1 if arm64 decoder is enabled. */ +#define HAVE_DECODER_ARM64 1 + +/* Define to 1 if armthumb decoder is enabled. */ +#define HAVE_DECODER_ARMTHUMB 1 + +/* Define to 1 if delta decoder is enabled. */ +#define HAVE_DECODER_DELTA 1 + +/* Define to 1 if ia64 decoder is enabled. */ +#define HAVE_DECODER_IA64 1 + +/* Define to 1 if lzma1 decoder is enabled. */ +#define HAVE_DECODER_LZMA1 1 + +/* Define to 1 if lzma2 decoder is enabled. */ +#define HAVE_DECODER_LZMA2 1 + +/* Define to 1 if powerpc decoder is enabled. */ +#define HAVE_DECODER_POWERPC 1 + +/* Define to 1 if sparc decoder is enabled. */ +#define HAVE_DECODER_SPARC 1 + +/* Define to 1 if x86 decoder is enabled. */ +#define HAVE_DECODER_X86 1 + +/* Define to 1 if any of HAVE_ENCODER_foo have been defined. */ +#define HAVE_ENCODERS 1 + +/* Define to 1 if arm encoder is enabled. */ +#define HAVE_ENCODER_ARM 1 + +/* Define to 1 if arm64 encoder is enabled. */ +#define HAVE_ENCODER_ARM64 1 + +/* Define to 1 if armthumb encoder is enabled. */ +#define HAVE_ENCODER_ARMTHUMB 1 + +/* Define to 1 if delta encoder is enabled. */ +#define HAVE_ENCODER_DELTA 1 + +/* Define to 1 if ia64 encoder is enabled. */ +#define HAVE_ENCODER_IA64 1 + +/* Define to 1 if lzma1 encoder is enabled. */ +#define HAVE_ENCODER_LZMA1 1 + +/* Define to 1 if lzma2 encoder is enabled. */ +#define HAVE_ENCODER_LZMA2 1 + +/* Define to 1 if powerpc encoder is enabled. */ +#define HAVE_ENCODER_POWERPC 1 + +/* Define to 1 if sparc encoder is enabled. */ +#define HAVE_ENCODER_SPARC 1 + +/* Define to 1 if x86 encoder is enabled. */ +#define HAVE_ENCODER_X86 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if .lz (lzip) decompression support is enabled. */ +#define HAVE_LZIP_DECODER 1 + +/* Define to 1 to enable bt2 match finder. */ +#define HAVE_MF_BT2 1 + +/* Define to 1 to enable bt3 match finder. */ +#define HAVE_MF_BT3 1 + +/* Define to 1 to enable bt4 match finder. */ +#define HAVE_MF_BT4 1 + +/* Define to 1 to enable hc3 match finder. */ +#define HAVE_MF_HC3 1 + +/* Define to 1 to enable hc4 match finder. */ +#define HAVE_MF_HC4 1 + +/* Define to 1 if stdbool.h conforms to C99. */ +#define HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the 'utimes' function. */ +#define HAVE_UTIMES 1 + +/* Define to 1 or 0, depending whether the compiler supports simple visibility + declarations. */ +#define HAVE_VISIBILITY 0 + +/* Define to 1 if the system has the type '_Bool'. */ +#define HAVE__BOOL 1 + +/* Define to 1 if the GNU C extension __builtin_assume_aligned is supported. + */ +#define HAVE___BUILTIN_ASSUME_ALIGNED 1 + +/* Define to 1 if the GNU C extensions __builtin_bswap16/32/64 are supported. + */ +#define HAVE___BUILTIN_BSWAPXX 1 + +/* Define to 1 to disable debugging code. */ +#define NDEBUG 1 + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "xz@tukaani.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "XZ Utils" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "https://tukaani.org/xz/" + +/* The size of 'size_t', as computed by sizeof. */ +#define SIZEOF_SIZE_T 4 + +/* Define to 1 if the system supports fast unaligned access to 16-bit and + 32-bit integers. */ +#define TUKLIB_FAST_UNALIGNED_ACCESS 1 diff --git a/src/native/external/xz/doxygen/Doxyfile b/src/native/external/xz/doxygen/Doxyfile new file mode 100644 index 00000000000000..e13724e788f698 --- /dev/null +++ b/src/native/external/xz/doxygen/Doxyfile @@ -0,0 +1,45 @@ +# SPDX-License-Identifier: 0BSD + +# Run "doxygen" in this directory to generate the liblzma API documentation +# into ../doc/api. +# +# Use the "update-doxygen" script for more choices: +# - Include the liblzma version number in the generated documentation. +# - Instead of API docs, docs of XZ Utils internals may be built. +# - Change the output directory for out-of-tree builds. +# +# These options were tested with Doxygen 1.9.8 and 1.13.2. + +PROJECT_NAME = "liblzma (XZ Utils)" +OUTPUT_DIRECTORY = ../doc +STRIP_FROM_PATH = ../src/liblzma/api +INPUT = ../src/liblzma/api +FILE_PATTERNS = *.c *.h +RECURSIVE = YES +OPTIMIZE_OUTPUT_FOR_C = YES +EXTRACT_STATIC = YES +SORT_MEMBER_DOCS = NO +WARN_IF_UNDOCUMENTED = NO +WARN_AS_ERROR = FAIL_ON_WARNINGS +SOURCE_TOOLTIPS = NO +VERBATIM_HEADERS = NO +ALPHABETICAL_INDEX = NO +HTML_OUTPUT = api +HTML_COLORSTYLE_HUE = 210 +HTML_COLORSTYLE_SAT = 180 +HTML_COLORSTYLE_GAMMA = 110 +HTML_DYNAMIC_MENUS = NO +SEARCHENGINE = NO +GENERATE_LATEX = NO +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES +PREDEFINED = LZMA_API(type)=type \ + LZMA_API_IMPORT= \ + LZMA_API_CALL= \ + tuklib_attr_noreturn= \ + lzma_attribute(attr)= \ + lzma_attr_alloc_size(size)= + +# Debian and Ubuntu patch Doxygen so that HAVE_DOT = YES is the default. +# Set HAVE_DOT explicitly to get consistent behavior across distributions. +HAVE_DOT = NO diff --git a/src/native/external/xz/doxygen/update-doxygen b/src/native/external/xz/doxygen/update-doxygen new file mode 100644 index 00000000000000..c5d6ad39f1b1e9 --- /dev/null +++ b/src/native/external/xz/doxygen/update-doxygen @@ -0,0 +1,114 @@ +#!/bin/sh +# SPDX-License-Identifier: 0BSD + +############################################################################# +# +# While it's possible to use the Doxyfile as is to generate liblzma API +# documentation, it is recommended to use this script because this adds +# the XZ Utils version number to the generated HTML. +# +# Other features: +# - Generate documentation of the XZ Utils internals. +# - Set input and output paths for out-of-tree builds. +# +############################################################################# +# +# Authors: Jia Tan +# Lasse Collin +# +############################################################################# + +set -e + +show_usage() +{ + echo "Usage: $0 [ABS_TOP_SRCDIR ABS_OUTDIR]" + echo + echo "Supported modes:" + echo " - 'api' (default): liblzma API docs into doc/api" + echo " - 'internal': internal docs into doc/internal" + echo + echo "Absolute source and output dirs may be set" \ + "to do an out-of-tree build." + echo "The output directory must already exist." + exit 1 +} + +case $1 in + api|internal) + ;; + *) + show_usage + ;; +esac + +if type doxygen > /dev/null 2>&1; then + : +else + echo "$0: 'doxygen' command not found" >&2 + exit 1 +fi + +case $# in + 1) + # One argument: Building inside the source tree + ABS_TOP_SRCDIR=`dirname "$0"`/.. + ABS_OUTDIR=$ABS_TOP_SRCDIR/doc + ;; + 3) + # Three arguments: Possibly an out of tree build + ABS_TOP_SRCDIR=$2 + ABS_OUTDIR=$3 + ;; + *) + show_usage + ;; +esac + +if test ! -f "$ABS_TOP_SRCDIR/doxygen/Doxyfile"; then + echo "$0: Source dir '$ABS_TOP_SRCDIR/doxygen/Doxyfile' not found" >&2 + exit 1 +fi +if test ! -d "$ABS_OUTDIR"; then + echo "$0: Output dir '$ABS_OUTDIR' not found" >&2 + exit 1 +fi + +# Get the package version so that it can be included in the generated docs. +PACKAGE_VERSION=`cd "$ABS_TOP_SRCDIR" && sh build-aux/version.sh` + +case $1 in + api) + # Remove old documentation before re-generating the new. + rm -rf "$ABS_OUTDIR/api" + + # Generate the HTML documentation by preparing the Doxyfile + # in stdin and piping the result to the doxygen command. + # With Doxygen, the last assignment of a value to a tag will + # override any earlier assignment. So, we can use this + # feature to override the tags that need to change between + # "api" and "internal" modes. + ABS_SRCDIR=$ABS_TOP_SRCDIR/src/liblzma/api + ( + cat "$ABS_TOP_SRCDIR/doxygen/Doxyfile" + echo "PROJECT_NUMBER = $PACKAGE_VERSION" + echo "OUTPUT_DIRECTORY = $ABS_OUTDIR" + echo "STRIP_FROM_PATH = $ABS_SRCDIR" + echo "INPUT = $ABS_SRCDIR" + ) | doxygen -q - + ;; + + internal) + rm -rf "$ABS_OUTDIR/internal" + ( + cat "$ABS_TOP_SRCDIR/doxygen/Doxyfile" + echo 'PROJECT_NAME = "XZ Utils"' + echo "PROJECT_NUMBER = $PACKAGE_VERSION" + echo "OUTPUT_DIRECTORY = $ABS_OUTDIR" + echo "STRIP_FROM_PATH = $ABS_TOP_SRCDIR" + echo "INPUT = $ABS_TOP_SRCDIR/src" + echo 'HTML_OUTPUT = internal' + echo 'SEARCHENGINE = YES' + ) | doxygen -q - + ;; +esac diff --git a/src/native/external/xz/extra/7z2lzma/7z2lzma.bash b/src/native/external/xz/extra/7z2lzma/7z2lzma.bash new file mode 100644 index 00000000000000..351108c87abfec --- /dev/null +++ b/src/native/external/xz/extra/7z2lzma/7z2lzma.bash @@ -0,0 +1,113 @@ +#!/bin/bash +# SPDX-License-Identifier: 0BSD + +############################################################################# +# +# 7z2lzma.bash is very primitive .7z to .lzma converter. The input file must +# have exactly one LZMA compressed stream, which has been created with the +# default lc, lp, and pb values. The CRC32 in the .7z archive is not checked, +# and the script may seem to succeed while it actually created a corrupt .lzma +# file. You should always try uncompressing both the original .7z and the +# created .lzma and compare that the output is identical. +# +# This script requires basic GNU tools and 7z or 7za tool from p7zip. +# +# Last modified: 2009-01-15 14:25+0200 +# +############################################################################# +# +# Author: Lasse Collin +# +############################################################################# + +# You can use 7z or 7za, both will work. +SEVENZIP=7za + +if [ $# != 2 -o -z "$1" -o -z "$2" ]; then + echo "Usage: $0 input.7z output.lzma" + exit 1 +fi + +# Converts an integer variable to little endian binary integer. +int2bin() +{ + local LEN=$1 + local NUM=$2 + local HEX=(0 1 2 3 4 5 6 7 8 9 A B C D E F) + local I + for ((I=0; I < "$LEN"; ++I)); do + printf "\\x${HEX[(NUM >> 4) & 0x0F]}${HEX[NUM & 0x0F]}" + NUM=$((NUM >> 8)) + done +} + +# Make sure we get possible errors from pipes. +set -o pipefail + +# Get information about the input file. At least older 7z and 7za versions +# may return with zero exit status even when an error occurred, so check +# if the output has any lines beginning with "Error". +INFO=$("$SEVENZIP" l -slt "$1") +if [ $? != 0 ] || printf '%s\n' "$INFO" | grep -q ^Error; then + printf '%s\n' "$INFO" + exit 1 +fi + +# Check if the input file has more than one compressed block. +if printf '%s\n' "$INFO" | grep -q '^Block = 1'; then + echo "Cannot convert, because the input file has more than" + echo "one compressed block." + exit 1 +fi + +# Get compressed, uncompressed, and dictionary size. +CSIZE=$(printf '%s\n' "$INFO" | sed -rn 's|^Packed Size = ([0-9]+$)|\1|p') +USIZE=$(printf '%s\n' "$INFO" | sed -rn 's|^Size = ([0-9]+$)|\1|p') +DICT=$(printf '%s\n' "$INFO" | sed -rn 's|^Method = LZMA:([0-9]+[bkm]?)$|\1|p') + +if [ -z "$CSIZE" -o -z "$USIZE" -o -z "$DICT" ]; then + echo "Parsing output of $SEVENZIP failed. Maybe the file uses some" + echo "other compression method than plain LZMA." + exit 1 +fi + +# The following assumes that the default lc, lp, and pb settings were used. +# Otherwise the output will be corrupt. +printf '\x5D' > "$2" + +# Dictionary size can be either was power of two, bytes, kibibytes, or +# mebibytes. We need to convert it to bytes. +case $DICT in + *b) + DICT=${DICT%b} + ;; + *k) + DICT=${DICT%k} + DICT=$((DICT << 10)) + ;; + *m) + DICT=${DICT%m} + DICT=$((DICT << 20)) + ;; + *) + DICT=$((1 << DICT)) + ;; +esac +int2bin 4 "$DICT" >> "$2" + +# Uncompressed size +int2bin 8 "$USIZE" >> "$2" + +# Copy the actual compressed data. Using multiple dd commands to avoid +# copying large amount of data with one-byte block size, which would be +# annoyingly slow. +BS=8192 +BIGSIZE=$((CSIZE / BS)) +CSIZE=$((CSIZE % BS)) +{ + dd of=/dev/null bs=32 count=1 \ + && dd bs="$BS" count="$BIGSIZE" \ + && dd bs=1 count="$CSIZE" +} < "$1" >> "$2" + +exit $? diff --git a/src/native/external/xz/extra/scanlzma/scanlzma.c b/src/native/external/xz/extra/scanlzma/scanlzma.c new file mode 100644 index 00000000000000..1c8fcd8f48ffea --- /dev/null +++ b/src/native/external/xz/extra/scanlzma/scanlzma.c @@ -0,0 +1,90 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +/* + scanlzma, scan for lzma compressed data in stdin and echo it to stdout. + Copyright (C) 2006 Timo Lindfors + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. +*/ + +/* Usage example: + + $ wget http://www.wifi-shop.cz/Files/produkty/wa2204/wa2204av1.4.1.zip + $ unzip wa2204av1.4.1.zip + $ gcc scanlzma.c -o scanlzma -Wall + $ ./scanlzma 0 < WA2204-FW1.4.1/linux-1.4.bin | lzma -c -d | strings | grep -i "copyright" + UpdateDD version 2.5, Copyright (C) 2005 Philipp Benner. + Copyright (C) 2005 Philipp Benner. + Copyright (C) 2005 Philipp Benner. + mawk 1.3%s%s %s, Copyright (C) Michael D. Brennan + # Copyright (C) 1998, 1999, 2001 Henry Spencer. + ... + +*/ + + +/* LZMA compressed file format */ +/* --------------------------- */ +/* Offset Size Description */ +/* 0 1 Special LZMA properties for compressed data */ +/* 1 4 Dictionary size (little endian) */ +/* 5 8 Uncompressed size (little endian). -1 means unknown size */ +/* 13 Compressed data */ + +#include +#include +#include + +#define BUFSIZE 4096 + +int find_lzma_header(unsigned char *buf) { + return (buf[0] < 0xE1 + && buf[0] == 0x5d + && buf[4] < 0x20 + && (memcmp (buf + 10 , "\x00\x00\x00", 3) == 0 + || (memcmp (buf + 5, "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF", 8) == 0))); +} + +int main(int argc, char *argv[]) { + unsigned char buf[BUFSIZE]; + int ret, i, numlzma, blocks=0; + + if (argc != 2) { + printf("usage: %s numlzma < infile | lzma -c -d > outfile\n" + "where numlzma is index of lzma file to extract, starting from zero.\n", + argv[0]); + exit(1); + } + numlzma = atoi(argv[1]); + + for (;;) { + /* Read data. */ + ret = fread(buf, BUFSIZE, 1, stdin); + if (ret != 1) + break; + + /* Scan for signature. */ + for (i = 0; i $@-t + mv -f $@-t $@ diff --git a/src/native/external/xz/lib/getopt-cdefs.h b/src/native/external/xz/lib/getopt-cdefs.h new file mode 100644 index 00000000000000..576428c1c42d1d --- /dev/null +++ b/src/native/external/xz/lib/getopt-cdefs.h @@ -0,0 +1,72 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ + +/* getopt-on-non-glibc compatibility macros. + Copyright (C) 1989-2023 Free Software Foundation, Inc. + This file is part of gnulib. + Unlike most of the getopt implementation, it is NOT shared + with the GNU C Library. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + This file is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#ifndef _GETOPT_CDEFS_H +#define _GETOPT_CDEFS_H 1 + +/* This header should not be used directly; include getopt.h or + unistd.h instead. It does not have a protective #error, because + the guard macro for getopt.h in gnulib is not fixed. */ + +/* getopt-core.h and getopt-ext.h are shared with GNU libc, and expect + a number of the internal macros supplied to GNU libc's headers by + sys/cdefs.h. Provide fallback definitions for all of them. */ +#ifdef HAVE_SYS_CDEFS_H +# include +#endif + +#ifndef __BEGIN_DECLS +# ifdef __cplusplus +# define __BEGIN_DECLS extern "C" { +# else +# define __BEGIN_DECLS /* nothing */ +# endif +#endif +#ifndef __END_DECLS +# ifdef __cplusplus +# define __END_DECLS } +# else +# define __END_DECLS /* nothing */ +# endif +#endif + +#ifndef __GNUC_PREREQ +# if defined __GNUC__ && defined __GNUC_VERSION__ +# define __GNUC_PREREQ(maj, min) \ + ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) +# else +# define __GNUC_PREREQ(maj, min) 0 +# endif +#endif + +#ifndef __THROW +# if defined __cplusplus && (__GNUC_PREREQ (2,8) || __clang_major__ >= 4) +# if __cplusplus >= 201103L +# define __THROW noexcept (true) +# else +# define __THROW throw () +# endif +# else +# define __THROW +# endif +#endif + +#endif /* _GETOPT_CDEFS_H */ diff --git a/src/native/external/xz/lib/getopt-core.h b/src/native/external/xz/lib/getopt-core.h new file mode 100644 index 00000000000000..126ce8089203ac --- /dev/null +++ b/src/native/external/xz/lib/getopt-core.h @@ -0,0 +1,98 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ + +/* Declarations for getopt (basic, portable features only). + Copyright (C) 1989-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library and is also part of gnulib. + Patches to this file should be submitted to both projects. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _GETOPT_CORE_H +#define _GETOPT_CORE_H 1 + +/* This header should not be used directly; include getopt.h or + unistd.h instead. Unlike most bits headers, it does not have + a protective #error, because the guard macro for getopt.h in + gnulib is not fixed. */ + +__BEGIN_DECLS + +/* For communication from 'getopt' to the caller. + When 'getopt' finds an option that takes an argument, + the argument value is returned here. + Also, when 'ordering' is RETURN_IN_ORDER, + each non-option ARGV-element is returned here. */ + +extern char *optarg; + +/* Index in ARGV of the next element to be scanned. + This is used for communication to and from the caller + and for communication between successive calls to 'getopt'. + + On entry to 'getopt', zero means this is the first call; initialize. + + When 'getopt' returns -1, this is the index of the first of the + non-option elements that the caller should itself scan. + + Otherwise, 'optind' communicates from one call to the next + how much of ARGV has been scanned so far. */ + +extern int optind; + +/* Callers store zero here to inhibit the error message 'getopt' prints + for unrecognized options. */ + +extern int opterr; + +/* Set to an option character which was unrecognized. */ + +extern int optopt; + +/* Get definitions and prototypes for functions to process the + arguments in ARGV (ARGC of them, minus the program name) for + options given in OPTS. + + Return the option character from OPTS just read. Return -1 when + there are no more options. For unrecognized options, or options + missing arguments, 'optopt' is set to the option letter, and '?' is + returned. + + The OPTS string is a list of characters which are recognized option + letters, optionally followed by colons, specifying that that letter + takes an argument, to be placed in 'optarg'. + + If a letter in OPTS is followed by two colons, its argument is + optional. This behavior is specific to the GNU 'getopt'. + + The argument '--' causes premature termination of argument + scanning, explicitly telling 'getopt' that there are no more + options. + + If OPTS begins with '-', then non-option arguments are treated as + arguments to the option '\1'. This behavior is specific to the GNU + 'getopt'. If OPTS begins with '+', or POSIXLY_CORRECT is set in + the environment, then do not permute arguments. + + For standards compliance, the 'argv' argument has the type + char *const *, but this is inaccurate; if argument permutation is + enabled, the argv array (not the strings it points to) must be + writable. */ + +extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) + __THROW _GL_ARG_NONNULL ((2, 3)); + +__END_DECLS + +#endif /* _GETOPT_CORE_H */ diff --git a/src/native/external/xz/lib/getopt-ext.h b/src/native/external/xz/lib/getopt-ext.h new file mode 100644 index 00000000000000..006037ba86478d --- /dev/null +++ b/src/native/external/xz/lib/getopt-ext.h @@ -0,0 +1,79 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ + +/* Declarations for getopt (GNU extensions). + Copyright (C) 1989-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library and is also part of gnulib. + Patches to this file should be submitted to both projects. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _GETOPT_EXT_H +#define _GETOPT_EXT_H 1 + +/* This header should not be used directly; include getopt.h instead. + Unlike most bits headers, it does not have a protective #error, + because the guard macro for getopt.h in gnulib is not fixed. */ + +__BEGIN_DECLS + +/* Describe the long-named options requested by the application. + The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector + of 'struct option' terminated by an element containing a name which is + zero. + + The field 'has_arg' is: + no_argument (or 0) if the option does not take an argument, + required_argument (or 1) if the option requires an argument, + optional_argument (or 2) if the option takes an optional argument. + + If the field 'flag' is not NULL, it points to a variable that is set + to the value given in the field 'val' when the option is found, but + left unchanged if the option is not found. + + To have a long-named option do something other than set an 'int' to + a compiled-in constant, such as set a value from 'optarg', set the + option's 'flag' field to zero and its 'val' field to a nonzero + value (the equivalent single-letter option character, if there is + one). For long options that have a zero 'flag' field, 'getopt' + returns the contents of the 'val' field. */ + +struct option +{ + const char *name; + /* has_arg can't be an enum because some compilers complain about + type mismatches in all the code that assumes it is an int. */ + int has_arg; + int *flag; + int val; +}; + +/* Names for the values of the 'has_arg' field of 'struct option'. */ + +#define no_argument 0 +#define required_argument 1 +#define optional_argument 2 + +extern int getopt_long (int ___argc, char *__getopt_argv_const *___argv, + const char *__shortopts, + const struct option *__longopts, int *__longind) + __THROW _GL_ARG_NONNULL ((2, 3)); +extern int getopt_long_only (int ___argc, char *__getopt_argv_const *___argv, + const char *__shortopts, + const struct option *__longopts, int *__longind) + __THROW _GL_ARG_NONNULL ((2, 3)); + +__END_DECLS + +#endif /* _GETOPT_EXT_H */ diff --git a/src/native/external/xz/lib/getopt-pfx-core.h b/src/native/external/xz/lib/getopt-pfx-core.h new file mode 100644 index 00000000000000..ee22d3f77f427d --- /dev/null +++ b/src/native/external/xz/lib/getopt-pfx-core.h @@ -0,0 +1,68 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ + +/* getopt (basic, portable features) gnulib wrapper header. + Copyright (C) 1989-2023 Free Software Foundation, Inc. + This file is part of gnulib. + Unlike most of the getopt implementation, it is NOT shared + with the GNU C Library. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + This file is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#ifndef _GETOPT_PFX_CORE_H +#define _GETOPT_PFX_CORE_H 1 + +/* This header should not be used directly; include getopt.h or + unistd.h instead. It does not have a protective #error, because + the guard macro for getopt.h in gnulib is not fixed. */ + +/* Standalone applications should #define __GETOPT_PREFIX to an + identifier that prefixes the external functions and variables + defined in getopt-core.h and getopt-ext.h. Systematically + rename identifiers so that they do not collide with the system + functions and variables. Renaming avoids problems with some + compilers and linkers. */ +#ifdef __GETOPT_PREFIX +# ifndef __GETOPT_ID +# define __GETOPT_CONCAT(x, y) x ## y +# define __GETOPT_XCONCAT(x, y) __GETOPT_CONCAT (x, y) +# define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y) +# endif +# undef getopt +# undef optarg +# undef opterr +# undef optind +# undef optopt +# define getopt __GETOPT_ID (getopt) +# define optarg __GETOPT_ID (optarg) +# define opterr __GETOPT_ID (opterr) +# define optind __GETOPT_ID (optind) +# define optopt __GETOPT_ID (optopt) + +/* Work around a problem on macOS, which declares getopt with a + trailing __DARWIN_ALIAS(getopt) that would expand to something like + __asm("_" "rpl_getopt" "$UNIX2003") were it not for the following + hack to suppress the macOS declaration . */ +# ifdef __APPLE__ +# define _GETOPT +# endif + +/* The system's getopt.h may have already included getopt-core.h to + declare the unprefixed identifiers. Undef _GETOPT_CORE_H so that + getopt-core.h declares them with prefixes. */ +# undef _GETOPT_CORE_H +#endif + +#include + +#endif /* _GETOPT_PFX_CORE_H */ diff --git a/src/native/external/xz/lib/getopt-pfx-ext.h b/src/native/external/xz/lib/getopt-pfx-ext.h new file mode 100644 index 00000000000000..00d2a0952f45ab --- /dev/null +++ b/src/native/external/xz/lib/getopt-pfx-ext.h @@ -0,0 +1,72 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ + +/* getopt (GNU extensions) gnulib wrapper header. + Copyright (C) 1989-2023 Free Software Foundation, Inc. + This file is part of gnulib. + Unlike most of the getopt implementation, it is NOT shared + with the GNU C Library. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + This file is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#ifndef _GETOPT_PFX_EXT_H +#define _GETOPT_PFX_EXT_H 1 + +/* This header should not be used directly; include getopt.h instead. + It does not have a protective #error, because the guard macro for + getopt.h in gnulib is not fixed. */ + +/* Standalone applications should #define __GETOPT_PREFIX to an + identifier that prefixes the external functions and variables + defined in getopt-core.h and getopt-ext.h. Systematically + rename identifiers so that they do not collide with the system + functions and variables. Renaming avoids problems with some + compilers and linkers. */ +#ifdef __GETOPT_PREFIX +# ifndef __GETOPT_ID +# define __GETOPT_CONCAT(x, y) x ## y +# define __GETOPT_XCONCAT(x, y) __GETOPT_CONCAT (x, y) +# define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y) +# endif +# undef getopt_long +# undef getopt_long_only +# undef option +# undef _getopt_internal +# define getopt_long __GETOPT_ID (getopt_long) +# define getopt_long_only __GETOPT_ID (getopt_long_only) +# define option __GETOPT_ID (option) +# define _getopt_internal __GETOPT_ID (getopt_internal) + +/* The system's getopt.h may have already included getopt-ext.h to + declare the unprefixed identifiers. Undef _GETOPT_EXT_H so that + getopt-ext.h declares them with prefixes. */ +# undef _GETOPT_EXT_H +#endif + +/* Standalone applications get correct prototypes for getopt_long and + getopt_long_only; they declare "char **argv". For backward + compatibility with old applications, if __GETOPT_PREFIX is not + defined, we supply GNU-libc-compatible, but incorrect, prototypes + using "char *const *argv". (GNU libc is stuck with the incorrect + prototypes, as they are baked into older versions of LSB.) */ +#ifndef __getopt_argv_const +# if defined __GETOPT_PREFIX +# define __getopt_argv_const /* empty */ +# else +# define __getopt_argv_const const +# endif +#endif + +#include + +#endif /* _GETOPT_PFX_EXT_H */ diff --git a/src/native/external/xz/lib/getopt.c b/src/native/external/xz/lib/getopt.c new file mode 100644 index 00000000000000..ab3ff879ced0d7 --- /dev/null +++ b/src/native/external/xz/lib/getopt.c @@ -0,0 +1,823 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ + +/* Getopt for GNU. + Copyright (C) 1987-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library and is also part of gnulib. + Patches to this file should be submitted to both projects. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _LIBC +# ifdef HAVE_CONFIG_H +# include +# endif +#endif + +#include "getopt.h" + +#include +#include +#include +#ifndef _MSC_VER +# include +#endif + +#ifdef _LIBC +/* When used as part of glibc, error printing must be done differently + for standards compliance. getopt is not a cancellation point, so + it must not call functions that are, and it is specified by an + older standard than stdio locking, so it must not refer to + functions in the "user namespace" related to stdio locking. + Finally, it must use glibc's internal message translation so that + the messages are looked up in the proper text domain. */ +# include +# define fprintf __fxprintf_nocancel +# define flockfile(fp) _IO_flockfile (fp) +# define funlockfile(fp) _IO_funlockfile (fp) +#else +/* Completely disable NLS for getopt. We won't include translations for it + anyway. If the system lacks getopt_long, missing translations probably + aren't a problem. */ +//# include "gettext.h" +//# define _(msgid) gettext (msgid) +#define _(msgid) (msgid) +/* When used standalone, flockfile and funlockfile might not be + available. */ +# if (!defined _POSIX_THREAD_SAFE_FUNCTIONS \ + || (defined _WIN32 && ! defined __CYGWIN__)) +# define flockfile(fp) /* nop */ +# define funlockfile(fp) /* nop */ +# endif +/* When used standalone, do not attempt to use alloca. */ +# define __libc_use_alloca(size) 0 +# undef alloca +# define alloca(size) (abort (), (void *)0) +#endif + +/* This implementation of 'getopt' has three modes for handling + options interspersed with non-option arguments. It can stop + scanning for options at the first non-option argument encountered, + as POSIX specifies. It can continue scanning for options after the + first non-option argument, but permute 'argv' as it goes so that, + after 'getopt' is done, all the options precede all the non-option + arguments and 'optind' points to the first non-option argument. + Or, it can report non-option arguments as if they were arguments to + the option character '\x01'. + + The default behavior of 'getopt_long' is to permute the argument list. + When this implementation is used standalone, the default behavior of + 'getopt' is to stop at the first non-option argument, but when it is + used as part of GNU libc it also permutes the argument list. In both + cases, setting the environment variable POSIXLY_CORRECT to any value + disables permutation. + + If the first character of the OPTSTRING argument to 'getopt' or + 'getopt_long' is '+', both functions will stop at the first + non-option argument. If it is '-', both functions will report + non-option arguments as arguments to the option character '\x01'. */ + +#include "getopt_int.h" + +/* For communication from 'getopt' to the caller. + When 'getopt' finds an option that takes an argument, + the argument value is returned here. + Also, when 'ordering' is RETURN_IN_ORDER, + each non-option ARGV-element is returned here. */ + +char *optarg; + +/* Index in ARGV of the next element to be scanned. + This is used for communication to and from the caller + and for communication between successive calls to 'getopt'. + + On entry to 'getopt', zero means this is the first call; initialize. + + When 'getopt' returns -1, this is the index of the first of the + non-option elements that the caller should itself scan. + + Otherwise, 'optind' communicates from one call to the next + how much of ARGV has been scanned so far. */ + +/* 1003.2 says this must be 1 before any call. */ +int optind = 1; + +/* Callers store zero here to inhibit the error message + for unrecognized options. */ + +int opterr = 1; + +/* Set to an option character which was unrecognized. + This must be initialized on some systems to avoid linking in the + system's own getopt implementation. */ + +int optopt = '?'; + +/* Keep a global copy of all internal members of getopt_data. */ + +static struct _getopt_data getopt_data; + +/* Exchange two adjacent subsequences of ARGV. + One subsequence is elements [first_nonopt,last_nonopt) + which contains all the non-options that have been skipped so far. + The other is elements [last_nonopt,optind), which contains all + the options processed since those non-options were skipped. + + 'first_nonopt' and 'last_nonopt' are relocated so that they describe + the new indices of the non-options in ARGV after they are moved. */ + +static void +exchange (char **argv, struct _getopt_data *d) +{ + int bottom = d->__first_nonopt; + int middle = d->__last_nonopt; + int top = d->optind; + char *tem; + + /* Exchange the shorter segment with the far end of the longer segment. + That puts the shorter segment into the right place. + It leaves the longer segment in the right place overall, + but it consists of two parts that need to be swapped next. */ + + while (top > middle && middle > bottom) + { + if (top - middle > middle - bottom) + { + /* Bottom segment is the short one. */ + int len = middle - bottom; + int i; + + /* Swap it with the top part of the top segment. */ + for (i = 0; i < len; i++) + { + tem = argv[bottom + i]; + argv[bottom + i] = argv[top - (middle - bottom) + i]; + argv[top - (middle - bottom) + i] = tem; + } + /* Exclude the moved bottom segment from further swapping. */ + top -= len; + } + else + { + /* Top segment is the short one. */ + int len = top - middle; + int i; + + /* Swap it with the bottom part of the bottom segment. */ + for (i = 0; i < len; i++) + { + tem = argv[bottom + i]; + argv[bottom + i] = argv[middle + i]; + argv[middle + i] = tem; + } + /* Exclude the moved top segment from further swapping. */ + bottom += len; + } + } + + /* Update records for the slots the non-options now occupy. */ + + d->__first_nonopt += (d->optind - d->__last_nonopt); + d->__last_nonopt = d->optind; +} + +/* Process the argument starting with d->__nextchar as a long option. + d->optind should *not* have been advanced over this argument. + + If the value returned is -1, it was not actually a long option, the + state is unchanged, and the argument should be processed as a set + of short options (this can only happen when long_only is true). + Otherwise, the option (and its argument, if any) have been consumed + and the return value is the value to return from _getopt_internal_r. */ +static int +process_long_option (int argc, char **argv, const char *optstring, + const struct option *longopts, int *longind, + int long_only, struct _getopt_data *d, + int print_errors, const char *prefix) +{ + char *nameend; + size_t namelen; + const struct option *p; + const struct option *pfound = NULL; + int n_options; + int option_index; + + for (nameend = d->__nextchar; *nameend && *nameend != '='; nameend++) + /* Do nothing. */ ; + namelen = (size_t)(nameend - d->__nextchar); + + /* First look for an exact match, counting the options as a side + effect. */ + for (p = longopts, n_options = 0; p->name; p++, n_options++) + if (!strncmp (p->name, d->__nextchar, namelen) + && namelen == strlen (p->name)) + { + /* Exact match found. */ + pfound = p; + option_index = n_options; + break; + } + + if (pfound == NULL) + { + /* Didn't find an exact match, so look for abbreviations. */ + unsigned char *ambig_set = NULL; + int ambig_malloced = 0; + int ambig_fallback = 0; + int indfound = -1; + + for (p = longopts, option_index = 0; p->name; p++, option_index++) + if (!strncmp (p->name, d->__nextchar, namelen)) + { + if (pfound == NULL) + { + /* First nonexact match found. */ + pfound = p; + indfound = option_index; + } + else if (long_only + || pfound->has_arg != p->has_arg + || pfound->flag != p->flag + || pfound->val != p->val) + { + /* Second or later nonexact match found. */ + if (!ambig_fallback) + { + if (!print_errors) + /* Don't waste effort tracking the ambig set if + we're not going to print it anyway. */ + ambig_fallback = 1; + else if (!ambig_set) + { + if (__libc_use_alloca (n_options)) + ambig_set = alloca (n_options); + else if ((ambig_set = malloc ((size_t)n_options)) == NULL) + /* Fall back to simpler error message. */ + ambig_fallback = 1; + else + ambig_malloced = 1; + + if (ambig_set) + { + memset (ambig_set, 0, (size_t)n_options); + ambig_set[indfound] = 1; + } + } + if (ambig_set) + ambig_set[option_index] = 1; + } + } + } + + if (ambig_set || ambig_fallback) + { + if (print_errors) + { + if (ambig_fallback) + fprintf (stderr, _("%s: option '%s%s' is ambiguous\n"), + argv[0], prefix, d->__nextchar); + else + { + flockfile (stderr); + fprintf (stderr, + _("%s: option '%s%s' is ambiguous; possibilities:"), + argv[0], prefix, d->__nextchar); + + for (option_index = 0; option_index < n_options; option_index++) + if (ambig_set[option_index]) + fprintf (stderr, " '%s%s'", + prefix, longopts[option_index].name); + + /* This must use 'fprintf' even though it's only + printing a single character, so that it goes through + __fxprintf_nocancel when compiled as part of glibc. */ + fprintf (stderr, "\n"); + funlockfile (stderr); + } + } + if (ambig_malloced) + free (ambig_set); + d->__nextchar += strlen (d->__nextchar); + d->optind++; + d->optopt = 0; + return '?'; + } + + option_index = indfound; + } + + if (pfound == NULL) + { + /* Can't find it as a long option. If this is not getopt_long_only, + or the option starts with '--' or is not a valid short option, + then it's an error. */ + if (!long_only || argv[d->optind][1] == '-' + || strchr (optstring, *d->__nextchar) == NULL) + { + if (print_errors) + fprintf (stderr, _("%s: unrecognized option '%s%s'\n"), + argv[0], prefix, d->__nextchar); + + d->__nextchar = NULL; + d->optind++; + d->optopt = 0; + return '?'; + } + + /* Otherwise interpret it as a short option. */ + return -1; + } + + /* We have found a matching long option. Consume it. */ + d->optind++; + d->__nextchar = NULL; + if (*nameend) + { + /* Don't test has_arg with >, because some C compilers don't + allow it to be used on enums. */ + if (pfound->has_arg) + d->optarg = nameend + 1; + else + { + if (print_errors) + fprintf (stderr, + _("%s: option '%s%s' doesn't allow an argument\n"), + argv[0], prefix, pfound->name); + + d->optopt = pfound->val; + return '?'; + } + } + else if (pfound->has_arg == 1) + { + if (d->optind < argc) + d->optarg = argv[d->optind++]; + else + { + if (print_errors) + fprintf (stderr, + _("%s: option '%s%s' requires an argument\n"), + argv[0], prefix, pfound->name); + + d->optopt = pfound->val; + return optstring[0] == ':' ? ':' : '?'; + } + } + + if (longind != NULL) + *longind = option_index; + if (pfound->flag) + { + *(pfound->flag) = pfound->val; + return 0; + } + return pfound->val; +} + +/* Initialize internal data upon the first call to getopt. */ + +static const char * +_getopt_initialize (int argc, + char **argv, const char *optstring, + struct _getopt_data *d, int posixly_correct) +{ + (void)argc; + (void)argv; + /* Start processing options with ARGV-element 1 (since ARGV-element 0 + is the program name); the sequence of previously skipped + non-option ARGV-elements is empty. */ + if (d->optind == 0) + d->optind = 1; + + d->__first_nonopt = d->__last_nonopt = d->optind; + d->__nextchar = NULL; + + /* Determine how to handle the ordering of options and nonoptions. */ + if (optstring[0] == '-') + { + d->__ordering = RETURN_IN_ORDER; + ++optstring; + } + else if (optstring[0] == '+') + { + d->__ordering = REQUIRE_ORDER; + ++optstring; + } + else if (posixly_correct || !!getenv ("POSIXLY_CORRECT")) + d->__ordering = REQUIRE_ORDER; + else + d->__ordering = PERMUTE; + + d->__initialized = 1; + return optstring; +} + +/* Scan elements of ARGV (whose length is ARGC) for option characters + given in OPTSTRING. + + If an element of ARGV starts with '-', and is not exactly "-" or "--", + then it is an option element. The characters of this element + (aside from the initial '-') are option characters. If 'getopt' + is called repeatedly, it returns successively each of the option characters + from each of the option elements. + + If 'getopt' finds another option character, it returns that character, + updating 'optind' and 'nextchar' so that the next call to 'getopt' can + resume the scan with the following option character or ARGV-element. + + If there are no more option characters, 'getopt' returns -1. + Then 'optind' is the index in ARGV of the first ARGV-element + that is not an option. (The ARGV-elements have been permuted + so that those that are not options now come last.) + + OPTSTRING is a string containing the legitimate option characters. + If an option character is seen that is not listed in OPTSTRING, + return '?' after printing an error message. If you set 'opterr' to + zero, the error message is suppressed but we still return '?'. + + If a char in OPTSTRING is followed by a colon, that means it wants an arg, + so the following text in the same ARGV-element, or the text of the following + ARGV-element, is returned in 'optarg'. Two colons mean an option that + wants an optional arg; if there is text in the current ARGV-element, + it is returned in 'optarg', otherwise 'optarg' is set to zero. + + If OPTSTRING starts with '-' or '+', it requests different methods of + handling the non-option ARGV-elements. + See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above. + + Long-named options begin with '--' instead of '-'. + Their names may be abbreviated as long as the abbreviation is unique + or is an exact match for some defined option. If they have an + argument, it follows the option name in the same ARGV-element, separated + from the option name by a '=', or else the in next ARGV-element. + When 'getopt' finds a long-named option, it returns 0 if that option's + 'flag' field is nonzero, the value of the option's 'val' field + if the 'flag' field is zero. + + The elements of ARGV aren't really const, because we permute them. + But we pretend they're const in the prototype to be compatible + with other systems. + + LONGOPTS is a vector of 'struct option' terminated by an + element containing a name which is zero. + + LONGIND returns the index in LONGOPT of the long-named option found. + It is only valid when a long-named option has been found by the most + recent call. + + If LONG_ONLY is nonzero, '-' as well as '--' can introduce + long-named options. */ + +int +_getopt_internal_r (int argc, char **argv, const char *optstring, + const struct option *longopts, int *longind, + int long_only, struct _getopt_data *d, int posixly_correct) +{ + int print_errors = d->opterr; + + if (argc < 1) + return -1; + + d->optarg = NULL; + + if (d->optind == 0 || !d->__initialized) + optstring = _getopt_initialize (argc, argv, optstring, d, posixly_correct); + else if (optstring[0] == '-' || optstring[0] == '+') + optstring++; + + if (optstring[0] == ':') + print_errors = 0; + + /* Test whether ARGV[optind] points to a non-option argument. */ +#define NONOPTION_P (argv[d->optind][0] != '-' || argv[d->optind][1] == '\0') + + if (d->__nextchar == NULL || *d->__nextchar == '\0') + { + /* Advance to the next ARGV-element. */ + + /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been + moved back by the user (who may also have changed the arguments). */ + if (d->__last_nonopt > d->optind) + d->__last_nonopt = d->optind; + if (d->__first_nonopt > d->optind) + d->__first_nonopt = d->optind; + + if (d->__ordering == PERMUTE) + { + /* If we have just processed some options following some non-options, + exchange them so that the options come first. */ + + if (d->__first_nonopt != d->__last_nonopt + && d->__last_nonopt != d->optind) + exchange (argv, d); + else if (d->__last_nonopt != d->optind) + d->__first_nonopt = d->optind; + + /* Skip any additional non-options + and extend the range of non-options previously skipped. */ + + while (d->optind < argc && NONOPTION_P) + d->optind++; + d->__last_nonopt = d->optind; + } + + /* The special ARGV-element '--' means premature end of options. + Skip it like a null option, + then exchange with previous non-options as if it were an option, + then skip everything else like a non-option. */ + + if (d->optind != argc && !strcmp (argv[d->optind], "--")) + { + d->optind++; + + if (d->__first_nonopt != d->__last_nonopt + && d->__last_nonopt != d->optind) + exchange (argv, d); + else if (d->__first_nonopt == d->__last_nonopt) + d->__first_nonopt = d->optind; + d->__last_nonopt = argc; + + d->optind = argc; + } + + /* If we have done all the ARGV-elements, stop the scan + and back over any non-options that we skipped and permuted. */ + + if (d->optind == argc) + { + /* Set the next-arg-index to point at the non-options + that we previously skipped, so the caller will digest them. */ + if (d->__first_nonopt != d->__last_nonopt) + d->optind = d->__first_nonopt; + return -1; + } + + /* If we have come to a non-option and did not permute it, + either stop the scan or describe it to the caller and pass it by. */ + + if (NONOPTION_P) + { + if (d->__ordering == REQUIRE_ORDER) + return -1; + d->optarg = argv[d->optind++]; + return 1; + } + + /* We have found another option-ARGV-element. + Check whether it might be a long option. */ + if (longopts) + { + if (argv[d->optind][1] == '-') + { + /* "--foo" is always a long option. The special option + "--" was handled above. */ + d->__nextchar = argv[d->optind] + 2; + return process_long_option (argc, argv, optstring, longopts, + longind, long_only, d, + print_errors, "--"); + } + + /* If long_only and the ARGV-element has the form "-f", + where f is a valid short option, don't consider it an + abbreviated form of a long option that starts with f. + Otherwise there would be no way to give the -f short + option. + + On the other hand, if there's a long option "fubar" and + the ARGV-element is "-fu", do consider that an + abbreviation of the long option, just like "--fu", and + not "-f" with arg "u". + + This distinction seems to be the most useful approach. */ + if (long_only && (argv[d->optind][2] + || !strchr (optstring, argv[d->optind][1]))) + { + int code; + d->__nextchar = argv[d->optind] + 1; + code = process_long_option (argc, argv, optstring, longopts, + longind, long_only, d, + print_errors, "-"); + if (code != -1) + return code; + } + } + + /* It is not a long option. Skip the initial punctuation. */ + d->__nextchar = argv[d->optind] + 1; + } + + /* Look at and handle the next short option-character. */ + + { + char c = *d->__nextchar++; + const char *temp = strchr (optstring, c); + + /* Increment 'optind' when we start to process its last character. */ + if (*d->__nextchar == '\0') + ++d->optind; + + if (temp == NULL || c == ':' || c == ';') + { + if (print_errors) + fprintf (stderr, _("%s: invalid option -- '%c'\n"), argv[0], c); + d->optopt = c; + return '?'; + } + + /* Convenience. Treat POSIX -W foo same as long option --foo */ + if (temp[0] == 'W' && temp[1] == ';' && longopts != NULL) + { + /* This is an option that requires an argument. */ + if (*d->__nextchar != '\0') + d->optarg = d->__nextchar; + else if (d->optind == argc) + { + if (print_errors) + fprintf (stderr, + _("%s: option requires an argument -- '%c'\n"), + argv[0], c); + + d->optopt = c; + if (optstring[0] == ':') + c = ':'; + else + c = '?'; + return c; + } + else + d->optarg = argv[d->optind]; + + d->__nextchar = d->optarg; + d->optarg = NULL; + return process_long_option (argc, argv, optstring, longopts, longind, + 0 /* long_only */, d, print_errors, "-W "); + } + if (temp[1] == ':') + { + if (temp[2] == ':') + { + /* This is an option that accepts an argument optionally. */ + if (*d->__nextchar != '\0') + { + d->optarg = d->__nextchar; + d->optind++; + } + else + d->optarg = NULL; + d->__nextchar = NULL; + } + else + { + /* This is an option that requires an argument. */ + if (*d->__nextchar != '\0') + { + d->optarg = d->__nextchar; + /* If we end this ARGV-element by taking the rest as an arg, + we must advance to the next element now. */ + d->optind++; + } + else if (d->optind == argc) + { + if (print_errors) + fprintf (stderr, + _("%s: option requires an argument -- '%c'\n"), + argv[0], c); + + d->optopt = c; + if (optstring[0] == ':') + c = ':'; + else + c = '?'; + } + else + /* We already incremented 'optind' once; + increment it again when taking next ARGV-elt as argument. */ + d->optarg = argv[d->optind++]; + d->__nextchar = NULL; + } + } + return c; + } +} + +int +_getopt_internal (int argc, char **argv, const char *optstring, + const struct option *longopts, int *longind, int long_only, + int posixly_correct) +{ + int result; + + getopt_data.optind = optind; + getopt_data.opterr = opterr; + + result = _getopt_internal_r (argc, argv, optstring, longopts, + longind, long_only, &getopt_data, + posixly_correct); + + optind = getopt_data.optind; + optarg = getopt_data.optarg; + optopt = getopt_data.optopt; + + return result; +} + +/* glibc gets a LSB-compliant getopt and a POSIX-complaint __posix_getopt. + Standalone applications just get a POSIX-compliant getopt. + POSIX and LSB both require these functions to take 'char *const *argv' + even though this is incorrect (because of the permutation). */ +#define GETOPT_ENTRY(NAME, POSIXLY_CORRECT) \ + int \ + NAME (int argc, char *const *argv, const char *optstring) \ + { \ + return _getopt_internal (argc, (char **)argv, optstring, \ + 0, 0, 0, POSIXLY_CORRECT); \ + } + +#ifdef _LIBC +GETOPT_ENTRY(getopt, 0) +GETOPT_ENTRY(__posix_getopt, 1) +#else +GETOPT_ENTRY(getopt, 1) +#endif + + +#ifdef TEST + +/* Compile with -DTEST to make an executable for use in testing + the above definition of 'getopt'. */ + +int +main (int argc, char **argv) +{ + int c; + int digit_optind = 0; + + while (1) + { + int this_option_optind = optind ? optind : 1; + + c = getopt (argc, argv, "abc:d:0123456789"); + if (c == -1) + break; + + switch (c) + { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + if (digit_optind != 0 && digit_optind != this_option_optind) + printf ("digits occur in two different argv-elements.\n"); + digit_optind = this_option_optind; + printf ("option %c\n", c); + break; + + case 'a': + printf ("option a\n"); + break; + + case 'b': + printf ("option b\n"); + break; + + case 'c': + printf ("option c with value '%s'\n", optarg); + break; + + case '?': + break; + + default: + printf ("?? getopt returned character code 0%o ??\n", c); + } + } + + if (optind < argc) + { + printf ("non-option ARGV-elements: "); + while (optind < argc) + printf ("%s ", argv[optind++]); + printf ("\n"); + } + + exit (0); +} + +#endif /* TEST */ diff --git a/src/native/external/xz/lib/getopt.in.h b/src/native/external/xz/lib/getopt.in.h new file mode 100644 index 00000000000000..6d602c5da24c80 --- /dev/null +++ b/src/native/external/xz/lib/getopt.in.h @@ -0,0 +1,60 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ + +/* Declarations for getopt. + Copyright (C) 1989-2023 Free Software Foundation, Inc. + This file is part of gnulib. + Unlike most of the getopt implementation, it is NOT shared + with the GNU C Library, which supplies a different version of + this file. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + This file is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#ifndef _GETOPT_H + +#define _GETOPT_H 1 + +/* Standalone applications should #define __GETOPT_PREFIX to an + identifier that prefixes the external functions and variables + defined in this header. When this happens, include the + headers that might declare getopt so that they will not cause + confusion if included after this file. Then systematically rename + identifiers so that they do not collide with the system functions + and variables. Renaming avoids problems with some compilers and + linkers. */ +#if defined __GETOPT_PREFIX +# include +# include + +# ifndef _MSC_VER +# include +# endif +#endif + +/* From Gnulib's lib/arg-nonnull.h: */ +/* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools + that the values passed as arguments n, ..., m must be non-NULL pointers. + n = 1 stands for the first argument, n = 2 for the second argument etc. */ +#ifndef _GL_ARG_NONNULL +# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || defined __clang__ +# define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params)) +# else +# define _GL_ARG_NONNULL(params) +# endif +#endif + +#include +#include +#include + +#endif /* _GETOPT_H */ diff --git a/src/native/external/xz/lib/getopt1.c b/src/native/external/xz/lib/getopt1.c new file mode 100644 index 00000000000000..5cb3b913d09fa3 --- /dev/null +++ b/src/native/external/xz/lib/getopt1.c @@ -0,0 +1,163 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ + +/* getopt_long and getopt_long_only entry points for GNU getopt. + Copyright (C) 1987-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library and is also part of gnulib. + Patches to this file should be submitted to both projects. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _LIBC +# ifdef HAVE_CONFIG_H +# include +# endif +#endif + +#include "getopt.h" +#include "getopt_int.h" + +int +getopt_long (int argc, char *__getopt_argv_const *argv, const char *options, + const struct option *long_options, int *opt_index) +{ + return _getopt_internal (argc, (char **) argv, options, long_options, + opt_index, 0, 0); +} + +int +_getopt_long_r (int argc, char **argv, const char *options, + const struct option *long_options, int *opt_index, + struct _getopt_data *d) +{ + return _getopt_internal_r (argc, argv, options, long_options, opt_index, + 0, d, 0); +} + +/* Like getopt_long, but '-' as well as '--' can indicate a long option. + If an option that starts with '-' (not '--') doesn't match a long option, + but does match a short option, it is parsed as a short option + instead. */ + +int +getopt_long_only (int argc, char *__getopt_argv_const *argv, + const char *options, + const struct option *long_options, int *opt_index) +{ + return _getopt_internal (argc, (char **) argv, options, long_options, + opt_index, 1, 0); +} + +int +_getopt_long_only_r (int argc, char **argv, const char *options, + const struct option *long_options, int *opt_index, + struct _getopt_data *d) +{ + return _getopt_internal_r (argc, argv, options, long_options, opt_index, + 1, d, 0); +} + + +#ifdef TEST + +#include +#include + +int +main (int argc, char **argv) +{ + int c; + int digit_optind = 0; + + while (1) + { + int this_option_optind = optind ? optind : 1; + int option_index = 0; + static const struct option long_options[] = + { + {"add", 1, 0, 0}, + {"append", 0, 0, 0}, + {"delete", 1, 0, 0}, + {"verbose", 0, 0, 0}, + {"create", 0, 0, 0}, + {"file", 1, 0, 0}, + {0, 0, 0, 0} + }; + + c = getopt_long (argc, argv, "abc:d:0123456789", + long_options, &option_index); + if (c == -1) + break; + + switch (c) + { + case 0: + printf ("option %s", long_options[option_index].name); + if (optarg) + printf (" with arg %s", optarg); + printf ("\n"); + break; + + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + if (digit_optind != 0 && digit_optind != this_option_optind) + printf ("digits occur in two different argv-elements.\n"); + digit_optind = this_option_optind; + printf ("option %c\n", c); + break; + + case 'a': + printf ("option a\n"); + break; + + case 'b': + printf ("option b\n"); + break; + + case 'c': + printf ("option c with value '%s'\n", optarg); + break; + + case 'd': + printf ("option d with value '%s'\n", optarg); + break; + + case '?': + break; + + default: + printf ("?? getopt returned character code 0%o ??\n", c); + } + } + + if (optind < argc) + { + printf ("non-option ARGV-elements: "); + while (optind < argc) + printf ("%s ", argv[optind++]); + printf ("\n"); + } + + exit (0); +} + +#endif /* TEST */ diff --git a/src/native/external/xz/lib/getopt_int.h b/src/native/external/xz/lib/getopt_int.h new file mode 100644 index 00000000000000..2dcb5538213d9f --- /dev/null +++ b/src/native/external/xz/lib/getopt_int.h @@ -0,0 +1,120 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ + +/* Internal declarations for getopt. + Copyright (C) 1989-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library and is also part of gnulib. + Patches to this file should be submitted to both projects. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _GETOPT_INT_H +#define _GETOPT_INT_H 1 + +#include + +extern int _getopt_internal (int ___argc, char **___argv, + const char *__shortopts, + const struct option *__longopts, int *__longind, + int __long_only, int __posixly_correct); + + +/* Reentrant versions which can handle parsing multiple argument + vectors at the same time. */ + +/* Describe how to deal with options that follow non-option ARGV-elements. + + REQUIRE_ORDER means don't recognize them as options; stop option + processing when the first non-option is seen. This is what POSIX + specifies should happen. + + PERMUTE means permute the contents of ARGV as we scan, so that + eventually all the non-options are at the end. This allows options + to be given in any order, even with programs that were not written + to expect this. + + RETURN_IN_ORDER is an option available to programs that were + written to expect options and other ARGV-elements in any order + and that care about the ordering of the two. We describe each + non-option ARGV-element as if it were the argument of an option + with character code 1. + + The special argument '--' forces an end of option-scanning regardless + of the value of 'ordering'. In the case of RETURN_IN_ORDER, only + '--' can cause 'getopt' to return -1 with 'optind' != ARGC. */ + +enum __ord + { + REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER + }; + +/* Data type for reentrant functions. */ +struct _getopt_data +{ + /* These have exactly the same meaning as the corresponding global + variables, except that they are used for the reentrant + versions of getopt. */ + int optind; + int opterr; + int optopt; + char *optarg; + + /* Internal members. */ + + /* True if the internal members have been initialized. */ + int __initialized; + + /* The next char to be scanned in the option-element + in which the last option character we returned was found. + This allows us to pick up the scan where we left off. + + If this is zero, or a null string, it means resume the scan + by advancing to the next ARGV-element. */ + char *__nextchar; + + /* See __ord above. */ + enum __ord __ordering; + + /* Handle permutation of arguments. */ + + /* Describe the part of ARGV that contains non-options that have + been skipped. 'first_nonopt' is the index in ARGV of the first + of them; 'last_nonopt' is the index after the last of them. */ + + int __first_nonopt; + int __last_nonopt; +}; + +/* The initializer is necessary to set OPTIND and OPTERR to their + default values and to clear the initialization flag. */ +#define _GETOPT_DATA_INITIALIZER { 1, 1 } + +extern int _getopt_internal_r (int ___argc, char **___argv, + const char *__shortopts, + const struct option *__longopts, int *__longind, + int __long_only, struct _getopt_data *__data, + int __posixly_correct); + +extern int _getopt_long_r (int ___argc, char **___argv, + const char *__shortopts, + const struct option *__longopts, int *__longind, + struct _getopt_data *__data); + +extern int _getopt_long_only_r (int ___argc, char **___argv, + const char *__shortopts, + const struct option *__longopts, + int *__longind, + struct _getopt_data *__data); + +#endif /* getopt_int.h */ diff --git a/src/native/external/xz/m4/ax_pthread.m4 b/src/native/external/xz/m4/ax_pthread.m4 new file mode 100644 index 00000000000000..3f26da6265e82a --- /dev/null +++ b/src/native/external/xz/m4/ax_pthread.m4 @@ -0,0 +1,524 @@ +dnl SPDX-License-Identifier: GPL-3.0-or-later WITH Autoconf-exception-macro + +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_pthread.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) +# +# DESCRIPTION +# +# This macro figures out how to build C programs using POSIX threads. It +# sets the PTHREAD_LIBS output variable to the threads library and linker +# flags, and the PTHREAD_CFLAGS output variable to any special C compiler +# flags that are needed. (The user can also force certain compiler +# flags/libs to be tested by setting these environment variables.) +# +# Also sets PTHREAD_CC and PTHREAD_CXX to any special C compiler that is +# needed for multi-threaded programs (defaults to the value of CC +# respectively CXX otherwise). (This is necessary on e.g. AIX to use the +# special cc_r/CC_r compiler alias.) +# +# NOTE: You are assumed to not only compile your program with these flags, +# but also to link with them as well. For example, you might link with +# $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS +# $PTHREAD_CXX $CXXFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS +# +# If you are only building threaded programs, you may wish to use these +# variables in your default LIBS, CFLAGS, and CC: +# +# LIBS="$PTHREAD_LIBS $LIBS" +# CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +# CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" +# CC="$PTHREAD_CC" +# CXX="$PTHREAD_CXX" +# +# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant +# has a nonstandard name, this macro defines PTHREAD_CREATE_JOINABLE to +# that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX). +# +# Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the +# PTHREAD_PRIO_INHERIT symbol is defined when compiling with +# PTHREAD_CFLAGS. +# +# ACTION-IF-FOUND is a list of shell commands to run if a threads library +# is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it +# is not found. If ACTION-IF-FOUND is not specified, the default action +# will define HAVE_PTHREAD. +# +# Please let the authors know if this macro fails on any platform, or if +# you have any other suggestions or comments. This macro was based on work +# by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help +# from M. Frigo), as well as ac_pthread and hb_pthread macros posted by +# Alejandro Forero Cuervo to the autoconf macro repository. We are also +# grateful for the helpful feedback of numerous users. +# +# Updated for Autoconf 2.68 by Daniel Richard G. +# +# LICENSE +# +# Copyright (c) 2008 Steven G. Johnson +# Copyright (c) 2011 Daniel Richard G. +# Copyright (c) 2019 Marc Stevens +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 31 + +AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD]) +AC_DEFUN([AX_PTHREAD], [ +AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([AC_PROG_CC]) +AC_REQUIRE([AC_PROG_SED]) +AC_LANG_PUSH([C]) +ax_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on Tru64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test "x$PTHREAD_CFLAGS$PTHREAD_LIBS" != "x"; then + ax_pthread_save_CC="$CC" + ax_pthread_save_CFLAGS="$CFLAGS" + ax_pthread_save_LIBS="$LIBS" + AS_IF([test "x$PTHREAD_CC" != "x"], [CC="$PTHREAD_CC"]) + AS_IF([test "x$PTHREAD_CXX" != "x"], [CXX="$PTHREAD_CXX"]) + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + AC_MSG_CHECKING([for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS]) + AC_LINK_IFELSE([AC_LANG_CALL([], [pthread_join])], [ax_pthread_ok=yes]) + AC_MSG_RESULT([$ax_pthread_ok]) + if test "x$ax_pthread_ok" = "xno"; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + CC="$ax_pthread_save_CC" + CFLAGS="$ax_pthread_save_CFLAGS" + LIBS="$ax_pthread_save_LIBS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items with a "," contain both +# C compiler flags (before ",") and linker flags (after ","). Other items +# starting with a "-" are C compiler flags, and remaining items are +# library names, except for "none" which indicates that we try without +# any flags at all, and "pthread-config" which is a program returning +# the flags for the Pth emulation library. + +ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads), Tru64 +# (Note: HP C rejects this with "bad form for `-t' option") +# -pthreads: Solaris/gcc (Note: HP C also rejects) +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads and +# -D_REENTRANT too), HP C (must be checked before -lpthread, which +# is present but should not be used directly; and before -mthreads, +# because the compiler interprets this as "-mt" + "-hreads") +# -mthreads: Mingw32/gcc, Lynx/gcc +# pthread: Linux, etcetera +# --thread-safe: KAI C++ +# pthread-config: use pthread-config program (for GNU Pth library) + +case $host_os in + + freebsd*) + + # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) + # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) + + ax_pthread_flags="-kthread lthread $ax_pthread_flags" + ;; + + hpux*) + + # From the cc(1) man page: "[-mt] Sets various -D flags to enable + # multi-threading and also sets -lpthread." + + ax_pthread_flags="-mt -pthread pthread $ax_pthread_flags" + ;; + + openedition*) + + # IBM z/OS requires a feature-test macro to be defined in order to + # enable POSIX threads at all, so give the user a hint if this is + # not set. (We don't define these ourselves, as they can affect + # other portions of the system API in unpredictable ways.) + + AC_EGREP_CPP([AX_PTHREAD_ZOS_MISSING], + [ +# if !defined(_OPEN_THREADS) && !defined(_UNIX03_THREADS) + AX_PTHREAD_ZOS_MISSING +# endif + ], + [AC_MSG_WARN([IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support.])]) + ;; + + solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (N.B.: The stubs are missing + # pthread_cleanup_push, or rather a function called by this macro, + # so we could check for that, but who knows whether they'll stub + # that too in a future libc.) So we'll check first for the + # standard Solaris way of linking pthreads (-mt -lpthread). + + ax_pthread_flags="-mt,-lpthread pthread $ax_pthread_flags" + ;; +esac + +# Are we compiling with Clang? + +AC_CACHE_CHECK([whether $CC is Clang], + [ax_cv_PTHREAD_CLANG], + [ax_cv_PTHREAD_CLANG=no + # Note that Autoconf sets GCC=yes for Clang as well as GCC + if test "x$GCC" = "xyes"; then + AC_EGREP_CPP([AX_PTHREAD_CC_IS_CLANG], + [/* Note: Clang 2.7 lacks __clang_[a-z]+__ */ +# if defined(__clang__) && defined(__llvm__) + AX_PTHREAD_CC_IS_CLANG +# endif + ], + [ax_cv_PTHREAD_CLANG=yes]) + fi + ]) +ax_pthread_clang="$ax_cv_PTHREAD_CLANG" + + +# GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC) + +# Note that for GCC and Clang -pthread generally implies -lpthread, +# except when -nostdlib is passed. +# This is problematic using libtool to build C++ shared libraries with pthread: +# [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25460 +# [2] https://bugzilla.redhat.com/show_bug.cgi?id=661333 +# [3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=468555 +# To solve this, first try -pthread together with -lpthread for GCC + +AS_IF([test "x$GCC" = "xyes"], + [ax_pthread_flags="-pthread,-lpthread -pthread -pthreads $ax_pthread_flags"]) + +# Clang takes -pthread (never supported any other flag), but we'll try with -lpthread first + +AS_IF([test "x$ax_pthread_clang" = "xyes"], + [ax_pthread_flags="-pthread,-lpthread -pthread"]) + + +# The presence of a feature test macro requesting re-entrant function +# definitions is, on some systems, a strong hint that pthreads support is +# correctly enabled + +case $host_os in + darwin* | hpux* | linux* | osf* | solaris*) + ax_pthread_check_macro="_REENTRANT" + ;; + + aix*) + ax_pthread_check_macro="_THREAD_SAFE" + ;; + + *) + ax_pthread_check_macro="--" + ;; +esac +AS_IF([test "x$ax_pthread_check_macro" = "x--"], + [ax_pthread_check_cond=0], + [ax_pthread_check_cond="!defined($ax_pthread_check_macro)"]) + + +if test "x$ax_pthread_ok" = "xno"; then +for ax_pthread_try_flag in $ax_pthread_flags; do + + case $ax_pthread_try_flag in + none) + AC_MSG_CHECKING([whether pthreads work without any flags]) + ;; + + *,*) + PTHREAD_CFLAGS=`echo $ax_pthread_try_flag | sed "s/^\(.*\),\(.*\)$/\1/"` + PTHREAD_LIBS=`echo $ax_pthread_try_flag | sed "s/^\(.*\),\(.*\)$/\2/"` + AC_MSG_CHECKING([whether pthreads work with "$PTHREAD_CFLAGS" and "$PTHREAD_LIBS"]) + ;; + + -*) + AC_MSG_CHECKING([whether pthreads work with $ax_pthread_try_flag]) + PTHREAD_CFLAGS="$ax_pthread_try_flag" + ;; + + pthread-config) + AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no]) + AS_IF([test "x$ax_pthread_config" = "xno"], [continue]) + PTHREAD_CFLAGS="`pthread-config --cflags`" + PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" + ;; + + *) + AC_MSG_CHECKING([for the pthreads library -l$ax_pthread_try_flag]) + PTHREAD_LIBS="-l$ax_pthread_try_flag" + ;; + esac + + ax_pthread_save_CFLAGS="$CFLAGS" + ax_pthread_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include +# if $ax_pthread_check_cond +# error "$ax_pthread_check_macro must be defined" +# endif + static void *some_global = NULL; + static void routine(void *a) + { + /* To avoid any unused-parameter or + unused-but-set-parameter warning. */ + some_global = a; + } + static void *start_routine(void *a) { return a; }], + [pthread_t th; pthread_attr_t attr; + pthread_create(&th, 0, start_routine, 0); + pthread_join(th, 0); + pthread_attr_init(&attr); + pthread_cleanup_push(routine, 0); + pthread_cleanup_pop(0) /* ; */])], + [ax_pthread_ok=yes], + []) + + CFLAGS="$ax_pthread_save_CFLAGS" + LIBS="$ax_pthread_save_LIBS" + + AC_MSG_RESULT([$ax_pthread_ok]) + AS_IF([test "x$ax_pthread_ok" = "xyes"], [break]) + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + + +# Clang needs special handling, because older versions handle the -pthread +# option in a rather... idiosyncratic way + +if test "x$ax_pthread_clang" = "xyes"; then + + # Clang takes -pthread; it has never supported any other flag + + # (Note 1: This will need to be revisited if a system that Clang + # supports has POSIX threads in a separate library. This tends not + # to be the way of modern systems, but it's conceivable.) + + # (Note 2: On some systems, notably Darwin, -pthread is not needed + # to get POSIX threads support; the API is always present and + # active. We could reasonably leave PTHREAD_CFLAGS empty. But + # -pthread does define _REENTRANT, and while the Darwin headers + # ignore this macro, third-party headers might not.) + + # However, older versions of Clang make a point of warning the user + # that, in an invocation where only linking and no compilation is + # taking place, the -pthread option has no effect ("argument unused + # during compilation"). They expect -pthread to be passed in only + # when source code is being compiled. + # + # Problem is, this is at odds with the way Automake and most other + # C build frameworks function, which is that the same flags used in + # compilation (CFLAGS) are also used in linking. Many systems + # supported by AX_PTHREAD require exactly this for POSIX threads + # support, and in fact it is often not straightforward to specify a + # flag that is used only in the compilation phase and not in + # linking. Such a scenario is extremely rare in practice. + # + # Even though use of the -pthread flag in linking would only print + # a warning, this can be a nuisance for well-run software projects + # that build with -Werror. So if the active version of Clang has + # this misfeature, we search for an option to squash it. + + AC_CACHE_CHECK([whether Clang needs flag to prevent "argument unused" warning when linking with -pthread], + [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG], + [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown + # Create an alternate version of $ac_link that compiles and + # links in two steps (.c -> .o, .o -> exe) instead of one + # (.c -> exe), because the warning occurs only in the second + # step + ax_pthread_save_ac_link="$ac_link" + ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g' + ax_pthread_link_step=`AS_ECHO(["$ac_link"]) | sed "$ax_pthread_sed"` + ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)" + ax_pthread_save_CFLAGS="$CFLAGS" + for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do + AS_IF([test "x$ax_pthread_try" = "xunknown"], [break]) + CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS" + ac_link="$ax_pthread_save_ac_link" + AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])], + [ac_link="$ax_pthread_2step_ac_link" + AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])], + [break]) + ]) + done + ac_link="$ax_pthread_save_ac_link" + CFLAGS="$ax_pthread_save_CFLAGS" + AS_IF([test "x$ax_pthread_try" = "x"], [ax_pthread_try=no]) + ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try" + ]) + + case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in + no | unknown) ;; + *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;; + esac + +fi # $ax_pthread_clang = yes + + + +# Various other checks: +if test "x$ax_pthread_ok" = "xyes"; then + ax_pthread_save_CFLAGS="$CFLAGS" + ax_pthread_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + + # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. + AC_CACHE_CHECK([for joinable pthread attribute], + [ax_cv_PTHREAD_JOINABLE_ATTR], + [ax_cv_PTHREAD_JOINABLE_ATTR=unknown + for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], + [int attr = $ax_pthread_attr; return attr /* ; */])], + [ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break], + []) + done + ]) + AS_IF([test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xunknown" && \ + test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xPTHREAD_CREATE_JOINABLE" && \ + test "x$ax_pthread_joinable_attr_defined" != "xyes"], + [AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE], + [$ax_cv_PTHREAD_JOINABLE_ATTR], + [Define to necessary symbol if this constant + uses a non-standard name on your system.]) + ax_pthread_joinable_attr_defined=yes + ]) + + AC_CACHE_CHECK([whether more special flags are required for pthreads], + [ax_cv_PTHREAD_SPECIAL_FLAGS], + [ax_cv_PTHREAD_SPECIAL_FLAGS=no + case $host_os in + solaris*) + ax_cv_PTHREAD_SPECIAL_FLAGS="-D_POSIX_PTHREAD_SEMANTICS" + ;; + esac + ]) + AS_IF([test "x$ax_cv_PTHREAD_SPECIAL_FLAGS" != "xno" && \ + test "x$ax_pthread_special_flags_added" != "xyes"], + [PTHREAD_CFLAGS="$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS" + ax_pthread_special_flags_added=yes]) + + AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT], + [ax_cv_PTHREAD_PRIO_INHERIT], + [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], + [[int i = PTHREAD_PRIO_INHERIT; + return i;]])], + [ax_cv_PTHREAD_PRIO_INHERIT=yes], + [ax_cv_PTHREAD_PRIO_INHERIT=no]) + ]) + AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" && \ + test "x$ax_pthread_prio_inherit_defined" != "xyes"], + [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.]) + ax_pthread_prio_inherit_defined=yes + ]) + + CFLAGS="$ax_pthread_save_CFLAGS" + LIBS="$ax_pthread_save_LIBS" + + # More AIX lossage: compile with *_r variant + if test "x$GCC" != "xyes"; then + case $host_os in + aix*) + AS_CASE(["x/$CC"], + [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6], + [#handle absolute path differently from PATH based program lookup + AS_CASE(["x$CC"], + [x/*], + [ + AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"]) + AS_IF([test "x${CXX}" != "x"], [AS_IF([AS_EXECUTABLE_P([${CXX}_r])],[PTHREAD_CXX="${CXX}_r"])]) + ], + [ + AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC]) + AS_IF([test "x${CXX}" != "x"], [AC_CHECK_PROGS([PTHREAD_CXX],[${CXX}_r],[$CXX])]) + ] + ) + ]) + ;; + esac + fi +fi + +test -n "$PTHREAD_CC" || PTHREAD_CC="$CC" +test -n "$PTHREAD_CXX" || PTHREAD_CXX="$CXX" + +AC_SUBST([PTHREAD_LIBS]) +AC_SUBST([PTHREAD_CFLAGS]) +AC_SUBST([PTHREAD_CC]) +AC_SUBST([PTHREAD_CXX]) + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test "x$ax_pthread_ok" = "xyes"; then + ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1]) + : +else + ax_pthread_ok=no + $2 +fi +AC_LANG_POP +])dnl AX_PTHREAD diff --git a/src/native/external/xz/m4/getopt.m4 b/src/native/external/xz/m4/getopt.m4 new file mode 100644 index 00000000000000..9d9141b28c5841 --- /dev/null +++ b/src/native/external/xz/m4/getopt.m4 @@ -0,0 +1,70 @@ +dnl SPDX-License-Identifier: FSFULLR + +# getopt.m4 serial 49 (modified version) +dnl Copyright (C) 2002-2006, 2008-2023 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +# This version has been modified to reduce complexity since we only need +# GNU getopt_long and do not care about replacing getopt. +# +# Pass gl_replace_getopt=yes (or any non-empty value instead of "yes") as +# an argument to configure to force the use of the getopt_long replacement. + +AC_DEFUN([gl_FUNC_GETOPT_GNU], +[ + AC_REQUIRE([gl_GETOPT_CHECK_HEADERS]) + + if test -n "$gl_replace_getopt"; then + gl_GETOPT_SUBSTITUTE + fi +]) + +AC_DEFUN([gl_GETOPT_CHECK_HEADERS], +[ + if test -z "$gl_replace_getopt"; then + AC_CHECK_HEADERS([getopt.h], [], [gl_replace_getopt=yes]) + fi + + if test -z "$gl_replace_getopt"; then + AC_CHECK_FUNCS([getopt_long], [], [gl_replace_getopt=yes]) + fi + + dnl BSD getopt_long uses a way to reset option processing, that is different + dnl from GNU and Solaris (which copied the GNU behavior). We support both + dnl GNU and BSD style resetting of getopt_long(), so there's no need to use + dnl GNU getopt_long() on BSD due to different resetting style. + if test -z "$gl_replace_getopt"; then + AC_CHECK_DECL([optreset], + [AC_DEFINE([HAVE_OPTRESET], 1, + [Define to 1 if getopt.h declares extern int optreset.])], + [], [#include ]) + fi + + dnl POSIX 2008 does not specify leading '+' behavior, but see + dnl http://austingroupbugs.net/view.php?id=191 for a recommendation on + dnl the next version of POSIX. We don't use that feature, so this + dnl is not a problem for us. Thus, the respective test was removed here. + + dnl Checks for getopt handling '-' as a leading character in an option + dnl string were removed, since we also don't use that feature. + +]) + +AC_DEFUN([gl_GETOPT_SUBSTITUTE], +[ + AC_LIBOBJ([getopt]) + AC_LIBOBJ([getopt1]) + + AC_CHECK_HEADERS_ONCE([sys/cdefs.h]) + + AC_DEFINE([__GETOPT_PREFIX], [[rpl_]], + [Define to rpl_ if the getopt replacement functions and variables + should be used.]) + + GETOPT_H=getopt.h + AC_SUBST([GETOPT_H]) +]) + +AC_DEFUN([gl_GETOPT], [gl_FUNC_GETOPT_GNU]) diff --git a/src/native/external/xz/m4/posix-shell.m4 b/src/native/external/xz/m4/posix-shell.m4 new file mode 100644 index 00000000000000..4b92a425ba744d --- /dev/null +++ b/src/native/external/xz/m4/posix-shell.m4 @@ -0,0 +1,66 @@ +dnl SPDX-License-Identifier: FSFULLR + +# posix-shell.m4 +# serial 1 +dnl Copyright (C) 2007-2024 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +# Find a POSIX-conforming shell. + +# Written by Paul Eggert. + +# If a POSIX-conforming shell can be found, set POSIX_SHELL and +# PREFERABLY_POSIX_SHELL to it. If not, set POSIX_SHELL to the +# empty string and PREFERABLY_POSIX_SHELL to '/bin/sh'. + +AC_DEFUN([gl_POSIX_SHELL], +[ + AC_CACHE_CHECK([for a shell that conforms to POSIX], [gl_cv_posix_shell], + [gl_test_posix_shell_script=' + func_return () { + (exit [$]1) + } + func_success () { + func_return 0 + } + func_failure () { + func_return 1 + } + func_ret_success () { + return 0 + } + func_ret_failure () { + return 1 + } + subshell_umask_sanity () { + (umask 22; (umask 0); test $(umask) -eq 22) + } + test "[$](echo foo)" = foo && + func_success && + ! func_failure && + func_ret_success && + ! func_ret_failure && + (set x && func_ret_success y && test x = "[$]1") && + subshell_umask_sanity + ' + for gl_cv_posix_shell in \ + "$CONFIG_SHELL" "$SHELL" /bin/sh /bin/bash /bin/ksh /bin/sh5 no; do + case $gl_cv_posix_shell in + /*) + "$gl_cv_posix_shell" -c "$gl_test_posix_shell_script" 2>/dev/null \ + && break;; + esac + done]) + + if test "$gl_cv_posix_shell" != no; then + POSIX_SHELL=$gl_cv_posix_shell + PREFERABLY_POSIX_SHELL=$POSIX_SHELL + else + POSIX_SHELL= + PREFERABLY_POSIX_SHELL=/bin/sh + fi + AC_SUBST([POSIX_SHELL]) + AC_SUBST([PREFERABLY_POSIX_SHELL]) +]) diff --git a/src/native/external/xz/m4/tuklib_common.m4 b/src/native/external/xz/m4/tuklib_common.m4 new file mode 100644 index 00000000000000..c837703406cf25 --- /dev/null +++ b/src/native/external/xz/m4/tuklib_common.m4 @@ -0,0 +1,23 @@ +# SPDX-License-Identifier: 0BSD + +############################################################################# +# +# SYNOPSIS +# +# TUKLIB_COMMON +# +# DESCRIPTION +# +# Common checks for tuklib. +# +############################################################################# +# +# Author: Lasse Collin +# +############################################################################# + +AC_DEFUN_ONCE([TUKLIB_COMMON], [ +AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([AC_PROG_CC_C99]) +AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) +])dnl diff --git a/src/native/external/xz/m4/tuklib_cpucores.m4 b/src/native/external/xz/m4/tuklib_cpucores.m4 new file mode 100644 index 00000000000000..928ef3440e498c --- /dev/null +++ b/src/native/external/xz/m4/tuklib_cpucores.m4 @@ -0,0 +1,181 @@ +# SPDX-License-Identifier: 0BSD + +############################################################################# +# +# SYNOPSIS +# +# TUKLIB_CPUCORES +# +# DESCRIPTION +# +# Check how to find out the number of available CPU cores in the system. +# This information is used by tuklib_cpucores.c. +# +# Supported methods: +# - GetSystemInfo(): Windows (including Cygwin) +# - sched_getaffinity(): glibc (GNU/Linux, GNU/kFreeBSD) +# - cpuset_getaffinity(): FreeBSD +# - sysctl(): BSDs, OS/2 +# - sysconf(): GNU/Linux, Solaris, Tru64, IRIX, AIX, QNX, Cygwin (but +# GetSystemInfo() is used on Cygwin) +# - pstat_getdynamic(): HP-UX +# +############################################################################# +# +# Author: Lasse Collin +# +############################################################################# + +AC_DEFUN_ONCE([TUKLIB_CPUCORES], [ +AC_REQUIRE([TUKLIB_COMMON]) + +# sys/param.h might be needed by sys/sysctl.h. +AC_CHECK_HEADERS([sys/param.h]) + +AC_CACHE_CHECK([how to detect the number of available CPU cores], + [tuklib_cv_cpucores_method], [ + +# Maybe checking $host_os would be enough but this matches what +# tuklib_cpucores.c does. +# +# NOTE: IRIX has a compiler that doesn't error out with #error, so use +# a non-compilable text instead of #error to generate an error. +AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ +#if defined(_WIN32) || defined(__CYGWIN__) +int main(void) { return 0; } +#else +compile error +#endif +]])], [tuklib_cv_cpucores_method=special], [ + +# glibc-based systems (GNU/Linux and GNU/kFreeBSD) have sched_getaffinity(). +# The CPU_COUNT() macro was added in glibc 2.9 so we try to link the +# test program instead of merely compiling it. glibc 2.9 is old enough that +# if someone uses the code on older glibc, the fallback to sysconf() should +# be good enough. +AC_LINK_IFELSE([AC_LANG_SOURCE([[ +#include +int +main(void) +{ + cpu_set_t cpu_mask; + sched_getaffinity(0, sizeof(cpu_mask), &cpu_mask); + return CPU_COUNT(&cpu_mask); +} +]])], [tuklib_cv_cpucores_method=sched_getaffinity], [ + +# FreeBSD has both cpuset and sysctl. Look for cpuset first because +# it's a better approach. +# +# This test would match on GNU/kFreeBSD too but it would require +# -lfreebsd-glue when linking and thus in the current form this would +# fail on GNU/kFreeBSD. The above test for sched_getaffinity() matches +# on GNU/kFreeBSD so the test below should never run on that OS. +AC_LINK_IFELSE([AC_LANG_SOURCE([[ +#include +#include + +int +main(void) +{ + cpuset_t set; + cpuset_getaffinity(CPU_LEVEL_WHICH, CPU_WHICH_PID, -1, + sizeof(set), &set); + return 0; +} +]])], [tuklib_cv_cpucores_method=cpuset], [ + +# On OS/2, both sysconf() and sysctl() pass the tests in this file, +# but only sysctl() works. On QNX it's the opposite: only sysconf() works +# (although it assumes that _POSIX_SOURCE, _XOPEN_SOURCE, and _POSIX_C_SOURCE +# are undefined or alternatively _QNX_SOURCE is defined). +# +# We test sysctl() first and intentionally break the sysctl() test on QNX +# so that sysctl() is never used on QNX. +AC_LINK_IFELSE([AC_LANG_SOURCE([[ +#ifdef __QNX__ +compile error +#endif +#ifdef HAVE_SYS_PARAM_H +# include +#endif +#include +int +main(void) +{ +#ifdef HW_NCPUONLINE + /* This is preferred on OpenBSD, see tuklib_cpucores.c. */ + int name[2] = { CTL_HW, HW_NCPUONLINE }; +#else + int name[2] = { CTL_HW, HW_NCPU }; +#endif + int cpus; + size_t cpus_size = sizeof(cpus); + sysctl(name, 2, &cpus, &cpus_size, NULL, 0); + return 0; +} +]])], [tuklib_cv_cpucores_method=sysctl], [ + +AC_LINK_IFELSE([AC_LANG_SOURCE([[ +#include +int +main(void) +{ + long i; +#ifdef _SC_NPROCESSORS_ONLN + /* Many systems using sysconf() */ + i = sysconf(_SC_NPROCESSORS_ONLN); +#else + /* IRIX */ + i = sysconf(_SC_NPROC_ONLN); +#endif + return 0; +} +]])], [tuklib_cv_cpucores_method=sysconf], [ + +AC_LINK_IFELSE([AC_LANG_SOURCE([[ +#include +#include + +int +main(void) +{ + struct pst_dynamic pst; + pstat_getdynamic(&pst, sizeof(pst), 1, 0); + (void)pst.psd_proc_cnt; + return 0; +} +]])], [tuklib_cv_cpucores_method=pstat_getdynamic], [ + + tuklib_cv_cpucores_method=unknown +])])])])])])]) + +case $tuklib_cv_cpucores_method in + sched_getaffinity) + AC_DEFINE([TUKLIB_CPUCORES_SCHED_GETAFFINITY], [1], + [Define to 1 if the number of available CPU cores + can be detected with sched_getaffinity()]) + ;; + cpuset) + AC_DEFINE([TUKLIB_CPUCORES_CPUSET], [1], + [Define to 1 if the number of available CPU cores + can be detected with cpuset(2).]) + ;; + sysctl) + AC_DEFINE([TUKLIB_CPUCORES_SYSCTL], [1], + [Define to 1 if the number of available CPU cores + can be detected with sysctl().]) + ;; + sysconf) + AC_DEFINE([TUKLIB_CPUCORES_SYSCONF], [1], + [Define to 1 if the number of available CPU cores + can be detected with sysconf(_SC_NPROCESSORS_ONLN) + or sysconf(_SC_NPROC_ONLN).]) + ;; + pstat_getdynamic) + AC_DEFINE([TUKLIB_CPUCORES_PSTAT_GETDYNAMIC], [1], + [Define to 1 if the number of available CPU cores + can be detected with pstat_getdynamic().]) + ;; +esac +])dnl diff --git a/src/native/external/xz/m4/tuklib_integer.m4 b/src/native/external/xz/m4/tuklib_integer.m4 new file mode 100644 index 00000000000000..29f2c95f8b7ef2 --- /dev/null +++ b/src/native/external/xz/m4/tuklib_integer.m4 @@ -0,0 +1,260 @@ +# SPDX-License-Identifier: 0BSD + +############################################################################# +# +# SYNOPSIS +# +# TUKLIB_INTEGER +# +# DESCRIPTION +# +# Checks for tuklib_integer.h: +# - Endianness +# - Does the compiler or the operating system provide byte swapping macros +# - Does the hardware support fast unaligned access to 16-bit, 32-bit, +# and 64-bit integers +# +############################################################################# +# +# Author: Lasse Collin +# +############################################################################# + +AC_DEFUN_ONCE([TUKLIB_INTEGER], [ +AC_REQUIRE([TUKLIB_COMMON]) +AC_REQUIRE([AC_C_BIGENDIAN]) + +AC_MSG_CHECKING([if __builtin_bswap16/32/64 are supported]) +AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], + [[__builtin_bswap16(1); + __builtin_bswap32(1); + __builtin_bswap64(1);]])], +[ + AC_DEFINE([HAVE___BUILTIN_BSWAPXX], [1], + [Define to 1 if the GNU C extensions + __builtin_bswap16/32/64 are supported.]) + AC_MSG_RESULT([yes]) +], [ + AC_MSG_RESULT([no]) + + # Look for other byteswapping methods. + AC_CHECK_HEADERS([byteswap.h sys/endian.h sys/byteorder.h], [break]) + + # Even if we have byteswap.h we may lack the specific macros/functions. + if test x$ac_cv_header_byteswap_h = xyes ; then + m4_foreach([FUNC], [bswap_16,bswap_32,bswap_64], [ + AC_MSG_CHECKING([if FUNC is available]) + AC_LINK_IFELSE([AC_LANG_SOURCE([ +#include +int +main(void) +{ + FUNC[](42); + return 0; +} + ])], [ + AC_DEFINE(HAVE_[]m4_toupper(FUNC), [1], + [Define to 1 if] FUNC [is available.]) + AC_MSG_RESULT([yes]) + ], [AC_MSG_RESULT([no])]) + + ])dnl + fi +]) + +# On archs that we use tuklib_integer_strict_align() (see below), we need +# objdump to detect support for unaligned access. (Libtool needs objdump +# too, so Libtool does this same tool check as well.) +AC_CHECK_TOOL([OBJDUMP], [objdump], [false]) + +# An internal helper that attempts to detect if -mstrict-align or +# -mno-strict-align is in effect. This sets enable_unaligned_access=yes +# if compilation succeeds and the regex passed as an argument does *not* +# match the objdump output of a check program. Otherwise this sets +# enable_unaligned_access=no. +tuklib_integer_strict_align () +{ + # First guess no. + enable_unaligned_access=no + + # Force -O2 because without optimizations the memcpy() + # won't be optimized out. + tuklib_integer_saved_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -O2" + AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ + #include + unsigned int check_strict_align(const void *p) + { + unsigned int i; + memcpy(&i, p, sizeof(i)); + return i; + } + ]])], [ + # Disassemble the test function from the object file. + if $OBJDUMP -d conftest.$ac_objext > conftest.s ; then + # This function should be passed a regex that + # matches if there are instructions that load + # unsigned bytes. Such instructions indicate + # that -mstrict-align is in effect. + # + # NOTE: Use braces to avoid M4 parameter + # expansion. + if grep -- "${1}" conftest.s > /dev/null ; then + : + else + # No single-byte unsigned load + # instructions were found, + # so it seems that -mno-strict-align + # is in effect. + # Override our earlier guess. + enable_unaligned_access=yes + fi + fi + ]) + CFLAGS=$tuklib_integer_saved_CFLAGS +} + +AC_MSG_CHECKING([if unaligned memory access should be used]) +AC_ARG_ENABLE([unaligned-access], AS_HELP_STRING([--enable-unaligned-access], + [Enable if the system supports *fast* unaligned memory access + with 16-bit, 32-bit, and 64-bit integers. By default, + this is enabled on x86, x86-64, + 32/64-bit big endian PowerPC, + 64-bit little endian PowerPC, + and some ARM, ARM64, and RISC-V systems.]), + [], [enable_unaligned_access=auto]) +if test "x$enable_unaligned_access" = xauto ; then + # NOTE: There might be other architectures on which unaligned access + # is fast. + case $host_cpu in + i?86|x86_64|powerpc|powerpc64|powerpc64le) + enable_unaligned_access=yes + ;; + arm*|riscv*) + # On 32-bit ARM, GCC and Clang + # #define __ARM_FEATURE_UNALIGNED + # if and only if unaligned access is supported. + # + # RISC-V C API Specification says that if + # __riscv_misaligned_fast is defined then + # unaligned access is known to be fast. + # + # MSVC is handled as a special case: We assume that + # 32-bit ARM supports fast unaligned access. + # If MSVC gets RISC-V support then this will assume + # fast unaligned access on RISC-V too. + AC_COMPILE_IFELSE([AC_LANG_SOURCE([ + #if !defined(__ARM_FEATURE_UNALIGNED) \ + && !defined(__riscv_misaligned_fast) \ + && !defined(_MSC_VER) + compile error + #endif + int main(void) { return 0; } + ])], + [enable_unaligned_access=yes], + [enable_unaligned_access=no]) + ;; + aarch64*) + # On ARM64, Clang defines __ARM_FEATURE_UNALIGNED + # if and only if unaligned access is supported. + # However, GCC (at least up to 15.2.0) defines it + # even when using -mstrict-align, so autodetection + # with this macro doesn't work with GCC on ARM64. + # (It does work on 32-bit ARM.) See: + # + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111555 + # + # We need three checks: + # + # 1. If __ARM_FEATURE_UNALIGNED is defined and the + # compiler isn't GCC, unaligned access is enabled. + # If the compiler is MSVC, unaligned access is + # enabled even without __ARM_FEATURE_UNALIGNED. + AC_COMPILE_IFELSE([AC_LANG_SOURCE([ + #if defined(__ARM_FEATURE_UNALIGNED) \ + && (!defined(__GNUC__) \ + || defined(__clang__)) + #elif defined(_MSC_VER) + #else + compile error + #endif + int main(void) { return 0; } + ])], [enable_unaligned_access=yes]) + + # 2. If __ARM_FEATURE_UNALIGNED is not defined, + # unaligned access is disabled. + if test "x$enable_unaligned_access" = xauto ; then + AC_COMPILE_IFELSE([AC_LANG_SOURCE([ + #ifdef __ARM_FEATURE_UNALIGNED + compile error + #endif + int main(void) { return 0; } + ])], [enable_unaligned_access=no]) + fi + + # 3. Use heuristics to detect if -mstrict-align is + # in effect when building with GCC. + if test "x$enable_unaligned_access" = xauto ; then + [tuklib_integer_strict_align \ + '[[:blank:]]ldrb[[:blank:]]'] + fi + ;; + loongarch*) + # See sections 7.4, 8.1, and 8.2: + # https://github.com/loongson/la-softdev-convention/blob/v0.2/la-softdev-convention.adoc + # + # That is, desktop and server processors likely support + # unaligned access in hardware but embedded processors + # might not. GCC defaults to -mno-strict-align and so + # do majority of GNU/Linux distributions. As of + # GCC 15.2, there is no predefined macro to detect + # if -mstrict-align or -mno-strict-align is in effect. + # Use heuristics based on compiler output. + [ + tuklib_integer_strict_align \ + '[[:blank:]]ld\.bu[[:blank:]]' + ] + ;; + *) + enable_unaligned_access=no + ;; + esac +fi +if test "x$enable_unaligned_access" = xyes ; then + AC_DEFINE([TUKLIB_FAST_UNALIGNED_ACCESS], [1], [Define to 1 if + the system supports fast unaligned access to 16-bit, + 32-bit, and 64-bit integers.]) + AC_MSG_RESULT([yes]) +else + AC_MSG_RESULT([no]) +fi + +AC_MSG_CHECKING([if unsafe type punning should be used]) +AC_ARG_ENABLE([unsafe-type-punning], + AS_HELP_STRING([--enable-unsafe-type-punning], + [This introduces strict aliasing violations and may result + in broken code. However, this might improve performance in + some cases, especially with old compilers (e.g. + GCC 3 and early 4.x on x86, GCC < 6 on ARMv6 and ARMv7).]), + [], [enable_unsafe_type_punning=no]) +if test "x$enable_unsafe_type_punning" = xyes ; then + AC_DEFINE([TUKLIB_USE_UNSAFE_TYPE_PUNNING], [1], [Define to 1 to use + unsafe type punning, e.g. char *x = ...; *(int *)x = 123; + which violates strict aliasing rules and thus is + undefined behavior and might result in broken code.]) + AC_MSG_RESULT([yes]) +else + AC_MSG_RESULT([no]) +fi + +AC_MSG_CHECKING([if __builtin_assume_aligned is supported]) +AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[__builtin_assume_aligned("", 1);]])], + [ + AC_DEFINE([HAVE___BUILTIN_ASSUME_ALIGNED], [1], + [Define to 1 if the GNU C extension + __builtin_assume_aligned is supported.]) + AC_MSG_RESULT([yes]) + ], [ + AC_MSG_RESULT([no]) + ]) +])dnl diff --git a/src/native/external/xz/m4/tuklib_mbstr.m4 b/src/native/external/xz/m4/tuklib_mbstr.m4 new file mode 100644 index 00000000000000..98b1d7a3d9c50a --- /dev/null +++ b/src/native/external/xz/m4/tuklib_mbstr.m4 @@ -0,0 +1,31 @@ +# SPDX-License-Identifier: 0BSD + +############################################################################# +# +# SYNOPSIS +# +# TUKLIB_MBSTR +# +# DESCRIPTION +# +# Check if multibyte and wide character functionality is available +# for use by tuklib_mbstr_* functions. If not enough multibyte string +# support is available in the C library, the functions keep working +# with the assumption that all strings are a in single-byte character +# set without combining characters, e.g. US-ASCII or ISO-8859-*. +# +# This .m4 file and tuklib_mbstr.h are common to all tuklib_mbstr_* +# functions, but each function is put into a separate .c file so +# that it is possible to pick only what is strictly needed. +# +############################################################################# +# +# Author: Lasse Collin +# +############################################################################# + +AC_DEFUN_ONCE([TUKLIB_MBSTR], [ +AC_REQUIRE([TUKLIB_COMMON]) +AC_FUNC_MBRTOWC +AC_CHECK_FUNCS([wcwidth vasprintf]) +])dnl diff --git a/src/native/external/xz/m4/tuklib_physmem.m4 b/src/native/external/xz/m4/tuklib_physmem.m4 new file mode 100644 index 00000000000000..4bffe858a9293b --- /dev/null +++ b/src/native/external/xz/m4/tuklib_physmem.m4 @@ -0,0 +1,217 @@ +# SPDX-License-Identifier: 0BSD + +############################################################################# +# +# SYNOPSIS +# +# TUKLIB_PHYSMEM +# +# DESCRIPTION +# +# Check how to get the amount of physical memory. +# This information is used in tuklib_physmem.c. +# +# Supported methods: +# +# - Windows (including Cygwin), OS/2, DJGPP (DOS), OpenVMS, AROS, +# and QNX have operating-system specific functions. +# +# - AIX has _system_configuration.physmem. +# +# - sysconf() works on GNU/Linux and Solaris, and possibly on +# some BSDs. +# +# - BSDs use sysctl(). +# +# - Tru64 uses getsysinfo(). +# +# - HP-UX uses pstat_getstatic(). +# +# - IRIX has setinvent_r(), getinvent_r(), and endinvent_r(). +# +# - sysinfo() works on Linux/dietlibc and probably on other Linux +# systems whose libc may lack sysconf(). +# +############################################################################# +# +# Author: Lasse Collin +# +############################################################################# + +AC_DEFUN_ONCE([TUKLIB_PHYSMEM], [ +AC_REQUIRE([TUKLIB_COMMON]) + +# sys/param.h might be needed by sys/sysctl.h. +AC_CHECK_HEADERS([sys/param.h]) + +AC_CACHE_CHECK([how to detect the amount of physical memory], + [tuklib_cv_physmem_method], [ + +# Maybe checking $host_os would be enough but this matches what +# tuklib_physmem.c does. +# +# NOTE: IRIX has a compiler that doesn't error out with #error, so use +# a non-compilable text instead of #error to generate an error. +AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ +#if defined(_WIN32) || defined(__CYGWIN__) || defined(__OS2__) \ + || defined(__DJGPP__) || defined(__VMS) \ + || defined(AMIGA) || defined(__AROS__) || defined(__QNX__) +int main(void) { return 0; } +#else +compile error +#endif +]])], [tuklib_cv_physmem_method=special], [ + +# Look for AIX-specific solution before sysconf(), because the test +# for sysconf() will pass on AIX but won't actually work +# (sysconf(_SC_PHYS_PAGES) compiles but always returns -1 on AIX). +# +# NOTE: There is no need to link the check program because it's not calling +# any functions and thus implicit function declarations aren't a problem. +# The unused reference to _system_configuration.physmem might get optimized +# away, and thus the linker might not see that symbol anyway. +AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ +#include + +int +main(void) +{ + (void)_system_configuration.physmem; + return 0; +} +]])], [tuklib_cv_physmem_method=aix], [ + +AC_LINK_IFELSE([AC_LANG_SOURCE([[ +#include +int +main(void) +{ + long i; + i = sysconf(_SC_PAGESIZE); + i = sysconf(_SC_PHYS_PAGES); + return 0; +} +]])], [tuklib_cv_physmem_method=sysconf], [ + +AC_LINK_IFELSE([AC_LANG_SOURCE([[ +#ifdef HAVE_SYS_PARAM_H +# include +#endif +#include +int +main(void) +{ + int name[2] = { CTL_HW, HW_PHYSMEM }; + unsigned long mem; + size_t mem_ptr_size = sizeof(mem); + sysctl(name, 2, &mem, &mem_ptr_size, NULL, 0); + return 0; +} +]])], [tuklib_cv_physmem_method=sysctl], [ + +AC_LINK_IFELSE([AC_LANG_SOURCE([[ +#include +#include + +int +main(void) +{ + int memkb; + int start = 0; + getsysinfo(GSI_PHYSMEM, (caddr_t)&memkb, sizeof(memkb), &start); + return 0; +} +]])], [tuklib_cv_physmem_method=getsysinfo],[ + +AC_LINK_IFELSE([AC_LANG_SOURCE([[ +#include +#include + +int +main(void) +{ + struct pst_static pst; + pstat_getstatic(&pst, sizeof(pst), 1, 0); + (void)pst.physical_memory; + (void)pst.page_size; + return 0; +} +]])], [tuklib_cv_physmem_method=pstat_getstatic],[ + +AC_LINK_IFELSE([AC_LANG_SOURCE([[ +#include +int +main(void) +{ + inv_state_t *st = NULL; + setinvent_r(&st); + getinvent_r(st); + endinvent_r(st); + return 0; +} +]])], [tuklib_cv_physmem_method=getinvent_r], [ + +# This version of sysinfo() is Linux-specific. Some non-Linux systems have +# different sysinfo() so we must check $host_os. +case $host_os in + linux*) + AC_LINK_IFELSE([AC_LANG_SOURCE([[ +#include +int +main(void) +{ + struct sysinfo si; + sysinfo(&si); + return 0; +} + ]])], [ + tuklib_cv_physmem_method=sysinfo + ], [ + tuklib_cv_physmem_method=unknown + ]) + ;; + *) + tuklib_cv_physmem_method=unknown + ;; +esac +])])])])])])])]) + +case $tuklib_cv_physmem_method in + aix) + AC_DEFINE([TUKLIB_PHYSMEM_AIX], [1], + [Define to 1 if the amount of physical memory + can be detected with _system_configuration.physmem.]) + ;; + sysconf) + AC_DEFINE([TUKLIB_PHYSMEM_SYSCONF], [1], + [Define to 1 if the amount of physical memory can + be detected with sysconf(_SC_PAGESIZE) and + sysconf(_SC_PHYS_PAGES).]) + ;; + sysctl) + AC_DEFINE([TUKLIB_PHYSMEM_SYSCTL], [1], + [Define to 1 if the amount of physical memory can + be detected with sysctl().]) + ;; + getsysinfo) + AC_DEFINE([TUKLIB_PHYSMEM_GETSYSINFO], [1], + [Define to 1 if the amount of physical memory can + be detected with getsysinfo().]) + ;; + pstat_getstatic) + AC_DEFINE([TUKLIB_PHYSMEM_PSTAT_GETSTATIC], [1], + [Define to 1 if the amount of physical memory can + be detected with pstat_getstatic().]) + ;; + getinvent_r) + AC_DEFINE([TUKLIB_PHYSMEM_GETINVENT_R], [1], + [Define to 1 if the amount of physical memory + can be detected with getinvent_r().]) + ;; + sysinfo) + AC_DEFINE([TUKLIB_PHYSMEM_SYSINFO], [1], + [Define to 1 if the amount of physical memory + can be detected with Linux sysinfo().]) + ;; +esac +])dnl diff --git a/src/native/external/xz/m4/tuklib_progname.m4 b/src/native/external/xz/m4/tuklib_progname.m4 new file mode 100644 index 00000000000000..b70d063ff0dc6e --- /dev/null +++ b/src/native/external/xz/m4/tuklib_progname.m4 @@ -0,0 +1,29 @@ +# SPDX-License-Identifier: 0BSD + +############################################################################# +# +# SYNOPSIS +# +# TUKLIB_PROGNAME +# +# DESCRIPTION +# +# Put argv[0] into a global variable progname. On DOS-like systems, +# modify it so that it looks nice (no full path or .exe suffix). +# +# This .m4 file is needed allow this module to use glibc's +# program_invocation_name. +# +############################################################################# +# +# Author: Lasse Collin +# +############################################################################# + +AC_DEFUN_ONCE([TUKLIB_PROGNAME], [ +AC_REQUIRE([TUKLIB_COMMON]) +AC_CHECK_DECL([program_invocation_name], [AC_DEFINE( + [HAVE_PROGRAM_INVOCATION_NAME], [1], + [Define to 1 if 'program_invocation_name' is declared in .])], + [], [#include ]) +])dnl diff --git a/src/native/external/xz/m4/visibility.m4 b/src/native/external/xz/m4/visibility.m4 new file mode 100644 index 00000000000000..4a741c5eab3b27 --- /dev/null +++ b/src/native/external/xz/m4/visibility.m4 @@ -0,0 +1,85 @@ +dnl SPDX-License-Identifier: FSFULLR + +# visibility.m4 +# serial 9 +dnl Copyright (C) 2005, 2008, 2010-2024 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +dnl Tests whether the compiler supports the command-line option +dnl -fvisibility=hidden and the function and variable attributes +dnl __attribute__((__visibility__("hidden"))) and +dnl __attribute__((__visibility__("default"))). +dnl Does *not* test for __visibility__("protected") - which has tricky +dnl semantics (see the 'vismain' test in glibc) and does not exist e.g. on +dnl Mac OS X. +dnl Does *not* test for __visibility__("internal") - which has processor +dnl dependent semantics. +dnl Does *not* test for #pragma GCC visibility push(hidden) - which is +dnl "really only recommended for legacy code". +dnl Set the variable CFLAG_VISIBILITY. +dnl Defines and sets the variable HAVE_VISIBILITY. + +AC_DEFUN([gl_VISIBILITY], +[ + AC_REQUIRE([AC_PROG_CC]) + CFLAG_VISIBILITY= + HAVE_VISIBILITY=0 + if test -n "$GCC"; then + dnl First, check whether -Werror can be added to the command line, or + dnl whether it leads to an error because of some other option that the + dnl user has put into $CC $CFLAGS $CPPFLAGS. + AC_CACHE_CHECK([whether the -Werror option is usable], + [gl_cv_cc_vis_werror], + [gl_saved_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror" + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[]], [[]])], + [gl_cv_cc_vis_werror=yes], + [gl_cv_cc_vis_werror=no]) + CFLAGS="$gl_saved_CFLAGS" + ]) + dnl Now check whether visibility declarations are supported. + AC_CACHE_CHECK([for simple visibility declarations], + [gl_cv_cc_visibility], + [gl_saved_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -fvisibility=hidden" + dnl We use the option -Werror and a function dummyfunc, because on some + dnl platforms (Cygwin 1.7) the use of -fvisibility triggers a warning + dnl "visibility attribute not supported in this configuration; ignored" + dnl at the first function definition in every compilation unit, and we + dnl don't want to use the option in this case. + if test $gl_cv_cc_vis_werror = yes; then + CFLAGS="$CFLAGS -Werror" + fi + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[extern __attribute__((__visibility__("hidden"))) int hiddenvar; + extern __attribute__((__visibility__("default"))) int exportedvar; + extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void); + extern __attribute__((__visibility__("default"))) int exportedfunc (void); + void dummyfunc (void); + int hiddenvar; + int exportedvar; + int hiddenfunc (void) { return 51; } + int exportedfunc (void) { return 1225736919; } + void dummyfunc (void) {} + ]], + [[]])], + [gl_cv_cc_visibility=yes], + [gl_cv_cc_visibility=no]) + CFLAGS="$gl_saved_CFLAGS" + ]) + if test $gl_cv_cc_visibility = yes; then + CFLAG_VISIBILITY="-fvisibility=hidden" + HAVE_VISIBILITY=1 + fi + fi + AC_SUBST([CFLAG_VISIBILITY]) + AC_SUBST([HAVE_VISIBILITY]) + AC_DEFINE_UNQUOTED([HAVE_VISIBILITY], [$HAVE_VISIBILITY], + [Define to 1 or 0, depending whether the compiler supports simple visibility declarations.]) +]) diff --git a/src/native/external/xz/po/LINGUAS b/src/native/external/xz/po/LINGUAS new file mode 100644 index 00000000000000..67e9a8b9a78f63 --- /dev/null +++ b/src/native/external/xz/po/LINGUAS @@ -0,0 +1,25 @@ +ca +cs +da +de +eo +es +fi +fr +hr +hu +it +ka +ko +nl +pl +pt +pt_BR +ro +sr +sv +tr +uk +vi +zh_CN +zh_TW diff --git a/src/native/external/xz/po/Makevars b/src/native/external/xz/po/Makevars new file mode 100644 index 00000000000000..0d9182e40e9e70 --- /dev/null +++ b/src/native/external/xz/po/Makevars @@ -0,0 +1,91 @@ +# SPDX-License-Identifier: FSFUL + +# Makefile variables for PO directory in any package using GNU gettext. +# +# Copyright (C) 2003-2019 Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation gives +# unlimited permission to use, copy, distribute, and modify it. + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These two variables depend on the location of this directory. +subdir = po +top_builddir = .. + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = --add-location=file --no-wrap --keyword=_ --keyword=N_ '--keyword=W_:1,"This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care."' + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = The XZ Utils authors and contributors + +# This tells whether or not to prepend "GNU " prefix to the package +# name that gets inserted into the header of the $(DOMAIN).pot file. +# Possible values are "yes", "no", or empty. If it is empty, try to +# detect it automatically by scanning the files in $(top_srcdir) for +# "GNU packagename" string. +PACKAGE_GNU = no + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = + +# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt' +# context. Possible values are "yes" and "no". Set this to yes if the +# package uses functions taking also a message context, like pgettext(), or +# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument. +USE_MSGCTXT = no + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = --add-location=file --no-wrap + +# These options get passed to msginit. +# If you want to disable line wrapping when writing PO files, add +# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and +# MSGINIT_OPTIONS. +# +# Although one may need slightly wider terminal than 80 chars, it is +# much nicer to edit the output of --help when --no-wrap is set. +MSGINIT_OPTIONS = --no-wrap + +# This tells whether or not to regenerate a PO file when $(DOMAIN).pot +# has changed. Possible values are "yes" and "no". Set this to no if +# the POT file is checked in the repository and the version control +# program ignores timestamps. +PO_DEPENDS_ON_POT = yes + +# This tells whether or not to forcibly update $(DOMAIN).pot and +# regenerate PO files on "make dist". Possible values are "yes" and +# "no". Set this to no if the POT file and PO files are maintained +# externally. +# +# NOTE: The the custom "mydist" target in ../Makefile.am updates xz.pot. +# An updated xz.pot will cause the .po files to be updated too but +# only when updating would change more than the POT-Creation-Date line. +DIST_DEPENDS_ON_UPDATE_PO = no diff --git a/src/native/external/xz/po/POTFILES.in b/src/native/external/xz/po/POTFILES.in new file mode 100644 index 00000000000000..dead5ed430076b --- /dev/null +++ b/src/native/external/xz/po/POTFILES.in @@ -0,0 +1,19 @@ +# SPDX-License-Identifier: 0BSD + +# List of source files which contain translatable strings. +src/xz/args.c +src/xz/coder.c +src/xz/file_io.c +src/xz/hardware.c +src/xz/list.c +src/xz/main.c +src/xz/message.c +src/xz/mytime.c +src/xz/options.c +src/xz/sandbox.c +src/xz/signals.c +src/xz/suffix.c +src/xz/util.c +src/lzmainfo/lzmainfo.c +src/common/tuklib_exit.c +src/liblzma/common/string_conversion.c diff --git a/src/native/external/xz/po/ca.po b/src/native/external/xz/po/ca.po new file mode 100644 index 00000000000000..fe83c57afbdd40 --- /dev/null +++ b/src/native/external/xz/po/ca.po @@ -0,0 +1,1633 @@ +# SPDX-License-Identifier: 0BSD +# +# XZ Utils Catalan Translation +# Copyright (C) The XZ Utils authors and contributors +# This file is published under the BSD Zero Clause License. +# +# Jordi Mas i Hernàndez , 2022, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: xz 5.6.0-pre2\n" +"Report-Msgid-Bugs-To: xz@tukaani.org\n" +"POT-Creation-Date: 2025-01-29 20:59+0200\n" +"PO-Revision-Date: 2024-08-18 18:19+0300\n" +"Last-Translator: Jordi Mas i Hernàndez \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n==1) ? 0 : 1;\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" + +#: src/xz/args.c +#, c-format +msgid "%s: Invalid argument to --block-list" +msgstr "%s: argument no vàlid per a --block-list" + +#: src/xz/args.c +#, c-format +msgid "%s: Too many arguments to --block-list" +msgstr "%s: massa arguments per a --block-list" + +#: src/xz/args.c +#, c-format +msgid "In --block-list, block size is missing after filter chain number '%c:'" +msgstr "A --block-list, falta la mida del bloc després del número de cadena de filtres «%c:»" + +#: src/xz/args.c +msgid "0 can only be used as the last element in --block-list" +msgstr "0 només es pot utilitzar com a últim element a --block-list" + +#: src/xz/args.c +#, c-format +msgid "%s: Unknown file format type" +msgstr "%s: tipus de format de fitxer desconegut" + +#: src/xz/args.c +#, c-format +msgid "%s: Unsupported integrity check type" +msgstr "%s: tipus de comprovació d'integritat no admès" + +#: src/xz/args.c +msgid "Only one file can be specified with '--files' or '--files0'." +msgstr "Només es pot especificar un fitxer amb '--files' o '--files0'." + +#. TRANSLATORS: This is a translatable +#. string because French needs a space +#. before the colon ("%s : %s"). +#: src/xz/args.c src/xz/coder.c src/xz/file_io.c src/xz/list.c src/xz/options.c +#: src/xz/util.c +#, c-format +msgid "%s: %s" +msgstr "%s: %s" + +#: src/xz/args.c +#, c-format +msgid "The environment variable %s contains too many arguments" +msgstr "La variable d'entorn %s conté massa arguments" + +#: src/xz/args.c +msgid "Compression support was disabled at build time" +msgstr "El suport de compressió s'ha desactivat en temps de construcció" + +#: src/xz/args.c +msgid "Decompression support was disabled at build time" +msgstr "El suport de descompressió s'ha desactivat en temps de construcció" + +#: src/xz/args.c +msgid "Compression of lzip files (.lz) is not supported" +msgstr "No s'admet la compressió de fitxers lzip (.lz)" + +#: src/xz/args.c +msgid "--block-list is ignored unless compressing to the .xz format" +msgstr "--block-list s'ignora a menys que es comprimeixi al format .xz" + +#: src/xz/args.c +msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout" +msgstr "Amb --format=raw, --suffix=.SUF és necessari si no s'escriu a la sortida estàndard" + +#: src/xz/coder.c +msgid "Maximum number of filters is four" +msgstr "El nombre màxim de filtres és de quatre" + +#: src/xz/coder.c +#, c-format +msgid "Error in --filters%s=FILTERS option:" +msgstr "Error a l'opció --filters%s=FILTERS:" + +#: src/xz/coder.c +msgid "Memory usage limit is too low for the given filter setup." +msgstr "El límit d'ús de la memòria és massa baix per a la configuració del filtre indicat." + +#: src/xz/coder.c +#, c-format +msgid "filter chain %u used by --block-list but not specified with --filters%u=" +msgstr "cadena de filtres %u utilitzada per --block-list però no especificada amb --filters%u=" + +#: src/xz/coder.c +msgid "Using a preset in raw mode is discouraged." +msgstr "Es desaconsella l'ús d'un predefinit en mode RAW." + +#: src/xz/coder.c +msgid "The exact options of the presets may vary between software versions." +msgstr "Les opcions exactes dels predefinits poden variar entre versions de programari." + +#: src/xz/coder.c +msgid "The .lzma format supports only the LZMA1 filter" +msgstr "El format .lzma només admet el filtre LZMA1" + +#: src/xz/coder.c +msgid "LZMA1 cannot be used with the .xz format" +msgstr "No es pot usar LZMA1 amb el format .xz" + +#: src/xz/coder.c +#, c-format +msgid "Filter chain %u is incompatible with --flush-timeout" +msgstr "La cadena de filtres %u és incompatible amb --flush-timeout" + +#: src/xz/coder.c +msgid "Switching to single-threaded mode due to --flush-timeout" +msgstr "Es canvia al mode d'un sol fil a causa de --flush-timeout" + +#: src/xz/coder.c +#, c-format +msgid "Unsupported options in filter chain %u" +msgstr "Opcions no admeses a la cadena de filtres %u" + +#: src/xz/coder.c +#, c-format +msgid "Using up to % threads." +msgstr "S'utilitzen fins a % fils." + +#: src/xz/coder.c +msgid "Unsupported filter chain or filter options" +msgstr "Cadena de filtres o opcions de filtre no admeses" + +#: src/xz/coder.c +#, c-format +msgid "Decompression will need %s MiB of memory." +msgstr "La descompressió necessitarà %s MiB de memòria." + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to %s to not exceed the memory usage limit of %s MiB" +msgstr "S'ha reduït el nombre de fils de %s a %s per a no excedir el límit d'ús de memòria de %s MiB" + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to one. The automatic memory usage limit of %s MiB is still being exceeded. %s MiB of memory is required. Continuing anyway." +msgstr "S'ha reduït el nombre de fils de %s a un. El límit d'ús automàtic de memòria de %s MiB encara s'està excedint. Es requereix %s MiB de memòria. Es continua igualment." + +#: src/xz/coder.c +#, c-format +msgid "Switching to single-threaded mode to not exceed the memory usage limit of %s MiB" +msgstr "S'està canviant al mode d'un sol fil per a no excedir el límit d'ús de la memòria de %s MiB" + +#: src/xz/coder.c +#, 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 "S'ha ajustat la mida del diccionari LZMA%c de %s MiB a %s MiB per a no excedir el límit d'ús de memòria de %s MiB" + +#: src/xz/coder.c +#, c-format +msgid "Adjusted LZMA%c dictionary size for --filters%u from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgstr "S'ha ajustat la mida del diccionari LZMA%c per a --filters%u de %s MiB a %s MiBper a no excedir el límit d'ús de memòria de %s MiB" + +#: src/xz/coder.c +#, c-format +msgid "Error changing to filter chain %u: %s" +msgstr "S'ha produït un error en canviar a la cadena de filtres %u: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error creating a pipe: %s" +msgstr "S'ha produït un error en crear una canonada: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: poll() failed: %s" +msgstr "%s: ha fallat la funció poll(): %s" + +#. 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 +#, c-format +msgid "%s: File seems to have been moved, not removing" +msgstr "%s: sembla que el fitxer s'ha mogut, no s'elimina" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot remove: %s" +msgstr "%s: no es pot eliminar: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file owner: %s" +msgstr "%s: no es pot establir el propietari del fitxer: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file group: %s" +msgstr "%s: no es pot establir el grup de fitxers: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file permissions: %s" +msgstr "%s: no es poden establir els permisos del fitxer: %s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Closing the file failed: %s" +msgid "%s: Synchronizing the file failed: %s" +msgstr "%s: ha fallat el tancament del fitxer: %s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Closing the file failed: %s" +msgid "%s: Synchronizing the directory of the file failed: %s" +msgstr "%s: ha fallat el tancament del fitxer: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard input: %s" +msgstr "S'ha produït un error en obtenir els indicadors d'estat del fitxer de l'entrada estàndard: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a symbolic link, skipping" +msgstr "%s: és un enllaç simbòlic, s'omet" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a directory, skipping" +msgstr "%s: és un directori, s'omet" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Not a regular file, skipping" +msgstr "%s: no és un fitxer normal, s'omet" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has setuid or setgid bit set, skipping" +msgstr "%s: el fitxer té el bit de setuid o setgid, s'omet" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has sticky bit set, skipping" +msgstr "%s: el fitxer té un bit enganxós, s'omet" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Input file has more than one hard link, skipping" +msgstr "%s: el fitxer d'entrada té més d'un enllaç dur, s'omet" + +#: src/xz/file_io.c +msgid "Empty filename, skipping" +msgstr "Nom de fitxer buit, s'omet" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the status flags to standard input: %s" +msgstr "S'ha produït un error en restaurar els indicadors d'estat a l'entrada estàndard: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard output: %s" +msgstr "S'ha produït un error en obtenir els indicadors d'estat del fitxer de la sortida estàndard: %s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Closing the file failed: %s" +msgid "%s: Opening the directory failed: %s" +msgstr "%s: ha fallat el tancament del fitxer: %s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Not a regular file, skipping" +msgid "%s: Destination is not a regular file" +msgstr "%s: no és un fitxer normal, s'omet" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the O_APPEND flag to standard output: %s" +msgstr "S'ha produït un error en restaurar l'indicador O_APPEND a la sortida estàndard: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Closing the file failed: %s" +msgstr "%s: ha fallat el tancament del fitxer: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Seeking failed when trying to create a sparse file: %s" +msgstr "%s: ha fallat la cerca en intentar crear un fitxer dispers: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Read error: %s" +msgstr "%s: error de lectura: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Error seeking the file: %s" +msgstr "%s: error en cercar el fitxer: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Unexpected end of file" +msgstr "%s: fi inesperat del fitxer" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Write error: %s" +msgstr "%s: error d'escriptura: %s" + +#: src/xz/hardware.c +msgid "Disabled" +msgstr "Desactivat" + +#: src/xz/hardware.c +msgid "Amount of physical memory (RAM):" +msgstr "Quantitat de memòria física (RAM):" + +#: src/xz/hardware.c +msgid "Number of processor threads:" +msgstr "Nombre de fils del processador:" + +#: src/xz/hardware.c +msgid "Compression:" +msgstr "Compressió:" + +#: src/xz/hardware.c +msgid "Decompression:" +msgstr "Descompressió:" + +#: src/xz/hardware.c +msgid "Multi-threaded decompression:" +msgstr "Descompressió multifil:" + +#: src/xz/hardware.c +msgid "Default for -T0:" +msgstr "Predeterminat per a -T0:" + +#: src/xz/hardware.c +msgid "Hardware information:" +msgstr "Informació del maquinari:" + +#: src/xz/hardware.c +msgid "Memory usage limits:" +msgstr "Límits d'ús de la memòria:" + +#: src/xz/list.c +msgid "Streams:" +msgstr "Fluxos:" + +#: src/xz/list.c +msgid "Blocks:" +msgstr "Blocs:" + +#: src/xz/list.c +msgid "Compressed size:" +msgstr "Mida comprimida:" + +#: src/xz/list.c +msgid "Uncompressed size:" +msgstr "Mida no comprimida:" + +#: src/xz/list.c +msgid "Ratio:" +msgstr "Relació:" + +#: src/xz/list.c +msgid "Check:" +msgstr "Comprovació:" + +#: src/xz/list.c +msgid "Stream Padding:" +msgstr "Farciment del flux:" + +#: src/xz/list.c +msgid "Memory needed:" +msgstr "Memòria necessària:" + +#: src/xz/list.c +msgid "Sizes in headers:" +msgstr "Mides a les capçaleres:" + +#: src/xz/list.c +msgid "Number of files:" +msgstr "Nombre de fitxers:" + +#: src/xz/list.c +msgid "Stream" +msgstr "Flux" + +#: src/xz/list.c +msgid "Block" +msgstr "Bloc" + +#: src/xz/list.c +msgid "Blocks" +msgstr "Blocs" + +#: src/xz/list.c +msgid "CompOffset" +msgstr "CompOffset" + +#: src/xz/list.c +msgid "UncompOffset" +msgstr "UncompOffset" + +#: src/xz/list.c +msgid "CompSize" +msgstr "CompSize" + +#: src/xz/list.c +msgid "UncompSize" +msgstr "UncompSize" + +#: src/xz/list.c +msgid "TotalSize" +msgstr "TotalSize" + +#: src/xz/list.c +msgid "Ratio" +msgstr "Relació" + +#: src/xz/list.c +msgid "Check" +msgstr "Comprovació" + +#: src/xz/list.c +msgid "CheckVal" +msgstr "CheckVal" + +#: src/xz/list.c +msgid "Padding" +msgstr "Separació" + +#: src/xz/list.c +msgid "Header" +msgstr "Capçalera" + +#: src/xz/list.c +msgid "Flags" +msgstr "Senyals" + +#: src/xz/list.c +msgid "MemUsage" +msgstr "MemUsage" + +#: src/xz/list.c +msgid "Filters" +msgstr "Filtres" + +#. TRANSLATORS: Indicates that there is no integrity check. +#. This string is used in tables. In older xz version this +#. string was limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "None" +msgstr "Cap" + +#. TRANSLATORS: Indicates that integrity check name is not known, +#. but the Check ID is known (here 2). In older xz version these +#. strings were limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "Unknown-2" +msgstr "NoConeix2" + +#: src/xz/list.c +msgid "Unknown-3" +msgstr "NoConeix3" + +#: src/xz/list.c +msgid "Unknown-5" +msgstr "NoConeix5" + +#: src/xz/list.c +msgid "Unknown-6" +msgstr "NoConeix6" + +#: src/xz/list.c +msgid "Unknown-7" +msgstr "NoConeix7" + +#: src/xz/list.c +msgid "Unknown-8" +msgstr "NoConeix8" + +#: src/xz/list.c +msgid "Unknown-9" +msgstr "NoConeix9" + +#: src/xz/list.c +msgid "Unknown-11" +msgstr "NoConeix11" + +#: src/xz/list.c +msgid "Unknown-12" +msgstr "NoConeix12" + +#: src/xz/list.c +msgid "Unknown-13" +msgstr "NoConeix13" + +#: src/xz/list.c +msgid "Unknown-14" +msgstr "NoConeix14" + +#: src/xz/list.c +msgid "Unknown-15" +msgstr "NoConeix15" + +#: src/xz/list.c +#, c-format +msgid "%s: File is empty" +msgstr "%s: El fitxer està buit" + +#: src/xz/list.c +#, c-format +msgid "%s: Too small to be a valid .xz file" +msgstr "%s: Massa petit per a ser un fitxer .xz vàlid" + +#. 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 +msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" +msgstr "Strms Blocs Comprimit NoComprimit Ràtio Check Nom de fitxer" + +#: src/xz/list.c +msgid "Yes" +msgstr "Sí" + +#: src/xz/list.c +msgid "No" +msgstr "No" + +#: src/xz/list.c +#, fuzzy +#| msgid " Minimum XZ Utils version: %s\n" +msgid "Minimum XZ Utils version:" +msgstr " Versió mínima de XZ Utils: %s\n" + +#. 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 +#, c-format +msgid "%s file\n" +msgid_plural "%s files\n" +msgstr[0] "%s fitxer\n" +msgstr[1] "%s fitxers\n" + +#: src/xz/list.c +msgid "Totals:" +msgstr "Totals:" + +#: src/xz/list.c +msgid "--list works only on .xz files (--format=xz or --format=auto)" +msgstr "--list només funciona en fitxers .xz (--format=xz o --format=auto)" + +#: src/xz/list.c +msgid "Try 'lzmainfo' with .lzma files." +msgstr "Proveu «lzmainfo» amb fitxers .lzma." + +#: src/xz/list.c +msgid "--list does not support reading from standard input" +msgstr "--list no admet la lectura des de l'entrada estàndard" + +#: src/xz/main.c +#, c-format +msgid "%s: Error reading filenames: %s" +msgstr "%s: Error en llegir els noms de fitxer: %s" + +#: src/xz/main.c +#, c-format +msgid "%s: Unexpected end of input when reading filenames" +msgstr "%s: Final inesperat de l'entrada en llegir els noms de fitxer" + +#: src/xz/main.c +#, c-format +msgid "%s: Null character found when reading filenames; maybe you meant to use '--files0' instead of '--files'?" +msgstr "%s: S'ha trobat un caràcter nul en llegir els noms de fitxer. Potser volíeu utilitzar «--files0» en comptes de «--files»?" + +#: src/xz/main.c +msgid "Compression and decompression with --robot are not supported yet." +msgstr "La compressió i descompressió amb --robot encara no són admesos." + +#: src/xz/main.c +msgid "Cannot read data from standard input when reading filenames from standard input" +msgstr "No es poden llegir les dades de l'entrada estàndard en llegir els noms de fitxer de l'entrada estàndard" + +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s: " +msgstr "%s: " + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "Internal error (bug)" +msgstr "Error intern (error)" + +#: src/xz/message.c +msgid "Cannot establish signal handlers" +msgstr "No es poden establir els gestors de senyals" + +#: src/xz/message.c +msgid "No integrity check; not verifying file integrity" +msgstr "Sense comprovació d'integritat; no es verifica la integritat del fitxer" + +#: src/xz/message.c +msgid "Unsupported type of integrity check; not verifying file integrity" +msgstr "Tipus no admès de comprovació d'integritat; no es verifica la integritat del fitxer" + +#: src/xz/message.c +msgid "Memory usage limit reached" +msgstr "S'ha arribat al límit d'ús de la memòria" + +#: src/xz/message.c +msgid "File format not recognized" +msgstr "No s'ha reconegut el format del fitxer" + +#: src/xz/message.c +msgid "Unsupported options" +msgstr "Opcions no admeses" + +#: src/xz/message.c +msgid "Compressed data is corrupt" +msgstr "Les dades comprimides estan malmeses" + +#: src/xz/message.c +msgid "Unexpected end of input" +msgstr "Final inesperat de l'entrada" + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limiter is disabled." +msgstr "Es requereixen %s MiB de memòria. El limitador està desactivat." + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limit is %s." +msgstr "Es requereixen %s MiB de memòria. El límit és %s." + +#: src/xz/message.c +#, c-format +msgid "%s: Filter chain: %s\n" +msgstr "%s: Cadena de filtres: %s\n" + +#: src/xz/message.c +#, c-format +msgid "Try '%s --help' for more information." +msgstr "Proveu «%s --help» per a més informació." + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Error printing the help text (error code %d)" +msgstr "" + +#: src/xz/message.c +#, c-format +msgid "Usage: %s [OPTION]... [FILE]...\n" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "Usage: %s [OPTION]... [FILE]...\n" +#| "Compress or decompress FILEs in the .xz format.\n" +#| "\n" +msgid "Compress or decompress FILEs in the .xz format." +msgstr "" +"Ús: %s [OPCIÓ]... [FITXER]...\n" +"Comprimeix o descomprimeix FITXERS en format .xz.\n" +"\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Mandatory arguments to long options are mandatory for short options too.\n" +msgid "Mandatory arguments to long options are mandatory for short options too." +msgstr "" +"Els arguments obligatoris per a opcions llargues també són obligatoris\n" +"per a opcions curtes.\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " Operation mode:\n" +msgid "Operation mode:" +msgstr " Mode d'operació:\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Decompression:" +msgid "force compression" +msgstr "Descompressió:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Decompression:" +msgid "force decompression" +msgstr "Descompressió:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "test compressed file integrity" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "list information about .xz files" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Operation modifiers:\n" +msgid "Operation modifiers:" +msgstr "" +"\n" +" Modificadors de l'operació:\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "keep (don't delete) input files" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force overwrite of output file and (de)compress links" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Writing to standard output failed" +msgid "write to standard output and don't delete input files" +msgstr "Ha fallat l'escriptura a la sortida estàndard" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't synchronize the output file to the storage device before removing the input file" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --single-stream decompress only the first stream, and silently\n" +#| " ignore possible remaining input data" +msgid "decompress only the first stream, and silently ignore possible remaining input data" +msgstr "" +" --single-stream descomprimeix només el primer flux, i silenciosament\n" +" ignora les possibles dades d'entrada restants" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "do not create sparse files when decompressing" +msgstr "" + +#: src/xz/message.c +msgid ".SUF" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use the suffix '.SUF' on compressed files" +msgstr "" + +#: src/xz/message.c +msgid "FILE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "read filenames to process from FILE; if FILE is omitted, filenames are read from the standard input; filenames must be terminated with the newline character" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "like --files but use the null character as terminator" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Basic file format and compression options:\n" +msgid "Basic file format and compression options:" +msgstr "" +"\n" +" Opcions bàsiques de format i compressió de fitxers:\n" + +#: src/xz/message.c +msgid "FORMAT" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "file format to encode or decode; possible values are 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'" +msgstr "" + +#: src/xz/message.c +msgid "NAME" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "integrity check type: 'none' (use with caution), 'crc32', 'crc64' (default), or 'sha256'" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " --ignore-check don't verify the integrity check when decompressing" +msgid "don't verify the integrity check when decompressing" +msgstr " --ignore-check no verifiquis la comprovació d'integritat en descomprimir" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " -0 ... -9 compression preset; default is 6; take compressor *and*\n" +#| " decompressor memory usage into account before using 7-9!" +msgid "compression preset; default is 6; take compressor *and* decompressor memory usage into account before using 7-9!" +msgstr "" +" -0 ... -9 compressió predefinida; per defecte és 6; tingueu en\n" +" compte l'ús de memòria del compressor *i* del\n" +" descompressor abans d'utilitzar 7-9!" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " -e, --extreme try to improve compression ratio by using more CPU time;\n" +#| " does not affect decompressor memory requirements" +msgid "try to improve compression ratio by using more CPU time; does not affect decompressor memory requirements" +msgstr "" +" -e, --extreme intenta millorar la ràtio de compressió usant més temps\n" +" de CPU; no afecta els requisits de memòria del\n" +" descompressor" + +#. TRANSLATORS: Short for NUMBER. A longer string is fine but +#. wider than 5 columns makes --long-help a few lines longer. +#: src/xz/message.c +msgid "NUM" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " -T, --threads=NUM use at most NUM threads; the default is 0 which uses\n" +#| " as many threads as there are processor cores" +msgid "use at most NUM threads; the default is 0 which uses as many threads as there are processor cores" +msgstr "" +" -T, --threads=NUM usa com a màxim NUM fils; el valor predeterminat és 0;\n" +" que utilitza tants fils com nuclis té el processador" + +#: src/xz/message.c +msgid "SIZE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --block-size=SIZE\n" +#| " start a new .xz block after every SIZE bytes of input;\n" +#| " use this to set the block size for threaded compression" +msgid "start a new .xz block after every SIZE bytes of input; use this to set the block size for threaded compression" +msgstr "" +" --block-size=MIDA\n" +" inicia un bloc nou .xz després de cada MIDA de bytes\n" +" d'entrada; utilitzeu-ho per a establir la mida del bloc\n" +" per a la compressió amb fils" + +#: src/xz/message.c +msgid "BLOCKS" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --block-list=BLOCKS\n" +#| " start a new .xz block after the given comma-separated\n" +#| " intervals of uncompressed data; optionally, specify a\n" +#| " filter chain number (0-9) followed by a ':' before the\n" +#| " uncompressed data size" +msgid "start a new .xz block after the given comma-separated intervals of uncompressed data; optionally, specify a filter chain number (0-9) followed by a ':' before the uncompressed data size" +msgstr "" +" --block-list=BLOCS\n" +" inicia un bloc .xz nou després de la separació d'intervals\n" +" amb comes donada de dades sense comprimir; opcionalment,\n" +" especifiqueu un número de cadena de filtres (0-9) seguit\n" +" d'un «:» abans de la mida de dades sense comprimir" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --flush-timeout=TIMEOUT\n" +#| " when compressing, if more than TIMEOUT milliseconds has\n" +#| " passed since the previous flush and reading more input\n" +#| " would block, all pending data is flushed out" +msgid "when compressing, if more than NUM milliseconds has passed since the previous flush and reading more input would block, all pending data is flushed out" +msgstr "" +" --flush-timeout=TEMPS\n" +" en comprimir, si han passat més de mil·lisegons de temps\n" +" d'espera des de l'anterior fluix i llegir més entrades\n" +" blocaria, totes les dades pendents es buiden" + +#: src/xz/message.c +msgid "LIMIT" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, no-c-format +msgid "set memory usage limit for compression, decompression, threaded decompression, or all of these; LIMIT is in bytes, % of RAM, or 0 for defaults" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --no-adjust if compression settings exceed the memory usage limit,\n" +#| " give an error instead of adjusting the settings downwards" +msgid "if compression settings exceed the memory usage limit, give an error instead of adjusting the settings downwards" +msgstr "" +" --no-adjust si la configuració de compressió excedeix el límit d'ús\n" +" de memòria, dona error en lloc de reduir la configuració" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Custom filter chain for compression (alternative for using presets):" +msgid "Custom filter chain for compression (an alternative to using presets):" +msgstr "" +"\n" +" Cadena de filtres personalitzada per a la compressió (alternativa per a l'ús\n" +" de predefinits):" + +#: src/xz/message.c +msgid "FILTERS" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " --filters=FILTERS set the filter chain using the liblzma filter string\n" +#| " syntax; use --filters-help for more information" +msgid "set the filter chain using the liblzma filter string syntax; use --filters-help for more information" +msgstr "" +"\n" +" --filters=FILTERS estableix la cadena de filtres utilitzant la sintaxi\n" +" de cadena de filtres del liblzma\n" +" Useu --filters-help per a més informació" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --filters1=FILTERS ... --filters9=FILTERS\n" +#| " set additional filter chains using the liblzma filter\n" +#| " string syntax to use with --block-list" +msgid "set additional filter chains using the liblzma filter string syntax to use with --block-list" +msgstr "" +" --filters1=FILTRES ... --filters9=FILTRES\n" +" estableix cadenes de filtres addicionals utilitzant\n" +" la sintaxi de cadena del filtre liblzmava a usar amb\n" +" --block-list" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --filters-help display more information about the liblzma filter string\n" +#| " syntax and exit." +msgid "display more information about the liblzma filter string syntax and exit" +msgstr "" +" --filters-help mostra més informació sobre la sintaxi de cadena del\n" +" filtre i surt." + +#. TRANSLATORS: Short for OPTIONS. +#: src/xz/message.c +msgid "OPTS" +msgstr "" + +#. TRANSLATORS: Use semicolon (or its fullwidth form) +#. in "(valid values; default)" even if it is weird in +#. your language. There are non-translatable strings +#. that look like "(foo, bar, baz; foo)" which list +#. the supported values and the default value. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "LZMA1 or LZMA2; OPTS is a comma-separated list of zero or more of the following options (valid values; default):" +msgstr "" + +#. TRANSLATORS: Short for PRESET. A longer string is +#. fine but wider than 4 columns makes --long-help +#. one line longer. +#: src/xz/message.c +msgid "PRE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "reset options to a preset" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "dictionary size" +msgstr "" + +#. TRANSLATORS: The word "literal" in "literal context +#. bits" means how many "context bits" to use when +#. encoding literals. A literal is a single 8-bit +#. byte. It doesn't mean "literally" here. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal context bits" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal position bits" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Number of processor threads:" +msgid "number of position bits" +msgstr "Nombre de fils del processador:" + +#: src/xz/message.c +msgid "MODE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Decompression:" +msgid "compression mode" +msgstr "Descompressió:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "nice length of a match" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "match finder" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "maximum search depth; 0=automatic (default)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "x86 BCJ filter (32-bit and 64-bit)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM-Thumb BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM64 BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "PowerPC BCJ filter (big endian only)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "IA-64 (Itanium) BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "SPARC BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "RISC-V BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Valid OPTS for all BCJ filters:" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start offset for conversions (default=0)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Delta filter; valid OPTS (valid values; default):" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "distance between bytes being subtracted from each other" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Other options:\n" +msgid "Other options:" +msgstr "" +"\n" +" Altres opcions:\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "suppress warnings; specify twice to suppress errors too" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "be verbose; specify twice for even more verbose" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " -Q, --no-warn make warnings not affect the exit status" +msgid "make warnings not affect the exit status" +msgstr " -Q, --no-warn fes que els avisos no afectin l'estat de sortida" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " --robot use machine-parsable messages (useful for scripts)" +msgid "use machine-parsable messages (useful for scripts)" +msgstr "" +" --robot usa missatges analitzables per la màquina\n" +" (útil per a scripts)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --info-memory display the total amount of RAM and the currently active\n" +#| " memory usage limits, and exit" +msgid "display the total amount of RAM and the currently active memory usage limits, and exit" +msgstr "" +" --info-memory mostra la quantitat total de RAM i els límits actualment\n" +" actius d'ús de memòria, i surt" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the short help (lists only the basic options)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this long help and exit" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this short help and exit" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the long help (lists also the advanced options)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " -V, --version display the version number and exit" +msgid "display the version number and exit" +msgstr " -V, --version mostra el número de versió i surt" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, fuzzy +#| msgid "" +#| "\n" +#| "With no FILE, or when FILE is -, read standard input.\n" +msgid "With no FILE, or when FILE is -, read standard input." +msgstr "" +"\n" +"Sense FITXER, o quan el FITXER és -, es llegeix l'entrada estàndard.\n" + +#. TRANSLATORS: This message indicates the bug reporting +#. address for this package. Please add another line saying +#. "\nReport translation bugs to <...>." with the email or WWW +#. address for translation bugs. Thanks! +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, fuzzy, c-format +#| msgid "Report bugs to <%s> (in English or Finnish).\n" +msgid "Report bugs to <%s> (in English or Finnish)." +msgstr "Informa d'errors a <%s> (en anglès o finès).\n" + +#. TRANSLATORS: The first %s is the name of this software. +#. The second <%s> is an URL. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, fuzzy, c-format +#| msgid "%s home page: <%s>\n" +msgid "%s home page: <%s>" +msgstr "Pàgina inicial de %s: <%s>\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE." +msgstr "AQUESTA ÉS UNA VERSIÓ DE DESENVOLUPAMENT NO DESTINADA A L'ÚS EN PRODUCCIÓ." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy, c-format +#| msgid "" +#| "Filter chains are set using the --filters=FILTERS or\n" +#| "--filters1=FILTERS ... --filters9=FILTERS options. Each filter in the chain\n" +#| "can be separated by spaces or '--'. Alternatively a preset <0-9>[e] can be\n" +#| "specified instead of a filter chain.\n" +msgid "Filter chains are set using the --filters=FILTERS or --filters1=FILTERS ... --filters9=FILTERS options. Each filter in the chain can be separated by spaces or '--'. Alternatively a preset %s can be specified instead of a filter chain." +msgstr "" +"Les cadenes de filtres s'estableixen utilitzant --filters=FILTERS o les\n" +"opcions --filters1=FILTRES ... --filters9=FILTERS. Cada filtre de la cadena\n" +"es pot separar per espais o '--'. Alternativament pot ser un predefinit\n" +" <0-9>[e] especificat en comptes d'una cadena de filtres.\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "The supported filters and their options are:" +msgstr "Els filtres admesos i les seves opcions són:" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Options must be 'name=value' pairs separated with commas" +msgid "Options must be 'name=value' pairs separated with commas" +msgstr "%s: les opcions han de ser parelles «name=value» separades per comes" + +#: src/xz/options.c +#, c-format +msgid "%s: Invalid option name" +msgstr "%s: nom d'opció no vàlid" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Invalid option value" +msgid "Invalid option value" +msgstr "%s: el valor de l'opció no és vàlid" + +#: src/xz/options.c +#, c-format +msgid "Unsupported LZMA1/LZMA2 preset: %s" +msgstr "No s'admet el LZMA1/LZMA2 predefinit: %s" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "The sum of lc and lp must not exceed 4" +msgstr "La suma de lc i lp no ha de superar 4" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Filename has an unknown suffix, skipping" +msgstr "%s: El nom de fitxer té un sufix desconegut, s'omet" + +#: src/xz/suffix.c +#, c-format +msgid "%s: File already has '%s' suffix, skipping" +msgstr "%s: El fitxer ja té el sufix «%s», s'ometrà" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Invalid filename suffix" +msgstr "%s: El sufix del nom de fitxer no és vàlid" + +#: src/xz/util.c src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Value is not a non-negative decimal integer" +msgid "Value is not a non-negative decimal integer" +msgstr "%s: El valor no és un enter decimal no negatiu" + +#: src/xz/util.c +#, c-format +msgid "%s: Invalid multiplier suffix" +msgstr "%s: el sufix multiplicador no és vàlid" + +#: src/xz/util.c +msgid "Valid suffixes are 'KiB' (2^10), 'MiB' (2^20), and 'GiB' (2^30)." +msgstr "Els sufixos vàlids són «KiB» (2^10), «MiB» (2^20) i «GiB» (2^30)." + +#: src/xz/util.c +#, c-format +msgid "Value of the option '%s' must be in the range [%, %]" +msgstr "El valor de l'opció «%s» ha d'estar a l'interval [%, %]" + +#: src/xz/util.c +msgid "Compressed data cannot be read from a terminal" +msgstr "Les dades comprimides no es poden llegir des d'un terminal" + +#: src/xz/util.c +msgid "Compressed data cannot be written to a terminal" +msgstr "Les dades comprimides no es poden escriure en un terminal" + +#: src/lzmainfo/lzmainfo.c +#, fuzzy, c-format +#| msgid "" +#| "Usage: %s [--help] [--version] [FILE]...\n" +#| "Show information stored in the .lzma file header" +msgid "Usage: %s [--help] [--version] [FILE]...\n" +msgstr "" +"Ús: %s [--help] [--version] [FITXER]...\n" +"Mostra la informació emmagatzemada a la capçalera del fitxer .lzma" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/lzmainfo/lzmainfo.c +#, fuzzy +#| msgid "" +#| "Usage: %s [--help] [--version] [FILE]...\n" +#| "Show information stored in the .lzma file header" +msgid "Show information stored in the .lzma file header." +msgstr "" +"Ús: %s [--help] [--version] [FITXER]...\n" +"Mostra la informació emmagatzemada a la capçalera del fitxer .lzma" + +#: src/lzmainfo/lzmainfo.c +msgid "File is too small to be a .lzma file" +msgstr "El fitxer és massa petit per a ser un fitxer .xz" + +#: src/lzmainfo/lzmainfo.c +msgid "Not a .lzma file" +msgstr "No és un fitxer .lzma" + +#: src/common/tuklib_exit.c +msgid "Writing to standard output failed" +msgstr "Ha fallat l'escriptura a la sortida estàndard" + +#: src/common/tuklib_exit.c +msgid "Unknown error" +msgstr "Error desconegut" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "Unsupported options" +msgid "Unsupported preset" +msgstr "Opcions no admeses" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "Unsupported filter chain or filter options" +msgid "Unsupported flag in the preset" +msgstr "Cadena de filtres o opcions de filtre no admeses" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Invalid option name" +msgid "Unknown option name" +msgstr "%s: nom d'opció no vàlid" + +#: src/liblzma/common/string_conversion.c +msgid "Option value cannot be empty" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "Value out of range" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "This option does not support any multiplier suffixes" +msgstr "" + +#. TRANSLATORS: Don't translate the +#. suffixes "KiB", "MiB", or "GiB" +#. because a user can only specify +#. untranslated suffixes. +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Invalid multiplier suffix" +msgid "Invalid multiplier suffix (KiB, MiB, or GiB)" +msgstr "%s: el sufix multiplicador no és vàlid" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Unknown file format type" +msgid "Unknown filter name" +msgstr "%s: tipus de format de fitxer desconegut" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "LZMA1 cannot be used with the .xz format" +msgid "This filter cannot be used in the .xz format" +msgstr "No es pot usar LZMA1 amb el format .xz" + +#: src/liblzma/common/string_conversion.c +msgid "Memory allocation failed" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "Empty string is not allowed, try '6' if a default value is needed" +msgstr "" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "Maximum number of filters is four" +msgid "The maximum number of filters is four" +msgstr "El nombre màxim de filtres és de quatre" + +#: src/liblzma/common/string_conversion.c +msgid "Filter name is missing" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "Invalid filter chain ('lzma2' missing at the end?)" +msgstr "" + +#~ msgid "" +#~ " -z, --compress force compression\n" +#~ " -d, --decompress force decompression\n" +#~ " -t, --test test compressed file integrity\n" +#~ " -l, --list list information about .xz files" +#~ msgstr "" +#~ " -z, --compress força la compressió\n" +#~ " -d, --decompress força la descompressió\n" +#~ " -t, --test comprova la integritat del fitxer comprimit\n" +#~ " -l, --list informació sobre els fitxers .xz" + +#~ 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 manté (no suprimeixis) els fitxers d'entrada\n" +#~ " -f, --force força la sobreescriptura del fitxer de sortida i\n" +#~ " (des)comprimeix els enllaços\n" +#~ " -c, --stdout escriu a la sortida estàndard i no suprimeixis els\n" +#~ " fitxers d'entrada" + +#~ msgid "" +#~ " --no-sparse do not create sparse files when decompressing\n" +#~ " -S, --suffix=.SUF use the suffix '.SUF' on compressed files\n" +#~ " --files[=FILE] read filenames to process from FILE; if FILE is\n" +#~ " omitted, filenames are read from the standard input;\n" +#~ " filenames must be terminated with the newline character\n" +#~ " --files0[=FILE] like --files but use the null character as terminator" +#~ msgstr "" +#~ " --no-sparse no creïs fitxers dispersos en descomprimir\n" +#~ " -S, --suffix=.SUF usa el sufix «.SUF» en fitxers comprimits\n" +#~ " --files[=FILE] llegeix els noms de fitxer a processar des del FITXER;\n" +#~ " si s'omet, els noms de fitxer es llegeixen de l'entrada\n" +#~ " estàndard; els noms de fitxer s'han de finalitzar amb el\n" +#~ " caràcter de línia nova\n" +#~ " --files0[=FILE] com --files però usa el caràcter nul com a terminador" + +#~ msgid "" +#~ " -F, --format=FMT file format to encode or decode; possible values are\n" +#~ " 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'\n" +#~ " -C, --check=CHECK integrity check type: 'none' (use with caution),\n" +#~ " 'crc32', 'crc64' (default), or 'sha256'" +#~ msgstr "" +#~ " -F, --format=FMT fitxer de format per a codificar o descodificar; els\n" +#~ " valors possibles són «auto» (predeterminat), «xz»,\n" +#~ " «lzma», «lzip» i «raw»\n" +#~ " -C, --check=CHECK el tipus de comprovació d'integritat: «none» (useu amb\n" +#~ " precaució), «crc32», «crc64» (predeterminat), o «sha256»" + +#, no-c-format +#~ msgid "" +#~ " --memlimit-compress=LIMIT\n" +#~ " --memlimit-decompress=LIMIT\n" +#~ " --memlimit-mt-decompress=LIMIT\n" +#~ " -M, --memlimit=LIMIT\n" +#~ " set memory usage limit for compression, decompression,\n" +#~ " threaded decompression, or all of these; LIMIT is in\n" +#~ " bytes, % of RAM, or 0 for defaults" +#~ msgstr "" +#~ " --memlimit-compress=LÍMIT\n" +#~ " --memlimit-decompress=LÍMIT\n" +#~ " --memlimit-mt-decompress=LÍMIT\n" +#~ " -M, --memlimit=LÍMIT\n" +#~ " estableix el límit d'ús de memòria per a la compressió,\n" +#~ " descompressió, descompressió amb fils, o tots ells; el\n" +#~ " LÍMIT és en bytes, % de RAM, o 0 per als predeterminats" + +#~ msgid "" +#~ "\n" +#~ " --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n" +#~ " --lzma2[=OPTS] more of the following options (valid values; default):\n" +#~ " preset=PRE reset options to a preset (0-9[e])\n" +#~ " dict=NUM dictionary size (4KiB - 1536MiB; 8MiB)\n" +#~ " lc=NUM number of literal context bits (0-4; 3)\n" +#~ " lp=NUM number of literal position bits (0-4; 0)\n" +#~ " pb=NUM number of position bits (0-4; 2)\n" +#~ " mode=MODE compression mode (fast, normal; normal)\n" +#~ " nice=NUM nice length of a match (2-273; 64)\n" +#~ " mf=NAME match finder (hc3, hc4, bt2, bt3, bt4; bt4)\n" +#~ " depth=NUM maximum search depth; 0=automatic (default)" +#~ msgstr "" +#~ "\n" +#~ " --lzma1[=OPTS] LZMA1 o LZMA2; OPTS és una llista separada per comes de\n" +#~ " --lzma2[=OPTS] zero o més opcions de les següents (valors vàlids;\n" +#~ " predeterminat):\n" +#~ " preset=PRE restableix les opcions a un predefinit\n" +#~ " (0-9[e])\n" +#~ " dict=NUM mida del diccionari (4KiB - 1536MiB; 8MiB)\n" +#~ " lc=NUM nombre de bits de context literal (0-4; 3)\n" +#~ " lp=NUM nombre de bits de posició literal (0-4; 0)\n" +#~ " pb=NUM nombre de bits de posició (0-4; 2)\n" +#~ " mode=MODE mode de compressió (ràpid, normal; normal)\n" +#~ " nice=NUM longitud de coincidència (2-273; 64)\n" +#~ " mf=NAME cercador de coincidències (hc3, hc4, bt2,\n" +#~ " bt3, bt4; bt4)\n" +#~ " depth=NUM profunditat màxima de cerca; 0=automàtic\n" +#~ " (predeterminat)" + +#~ msgid "" +#~ "\n" +#~ " --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n" +#~ " --arm[=OPTS] ARM BCJ filter\n" +#~ " --armthumb[=OPTS] ARM-Thumb BCJ filter\n" +#~ " --arm64[=OPTS] ARM64 BCJ filter\n" +#~ " --powerpc[=OPTS] PowerPC BCJ filter (big endian only)\n" +#~ " --ia64[=OPTS] IA-64 (Itanium) BCJ filter\n" +#~ " --sparc[=OPTS] SPARC BCJ filter\n" +#~ " --riscv[=OPTS] RISC-V BCJ filter\n" +#~ " Valid OPTS for all BCJ filters:\n" +#~ " start=NUM start offset for conversions (default=0)" +#~ msgstr "" +#~ "\n" +#~ " --x86[=OPTS] filtre BCJ x86 (32-bit i 64-bit)\n" +#~ " --arm[=OPTS] filtre BCJ ARM\n" +#~ " --armthumb[=OPTS] filtre BCJ ARM-Thumb\n" +#~ " --arm64[=OPTS] filtre ARM64 BCJ\n" +#~ " --powerpc[=OPTS] filtre BCJ PowerPC (només endian gran)\n" +#~ " --ia64[=OPTS] filtre IA-64 (Itanium) BCJ\n" +#~ " --sparc[=OPTS] filtre BCJ SPARC\n" +#~ " --riscv[=OPTS] filtre RISC-V BCJ\n" +#~ " OPTS vàlids per a tots els filtres BCJ:\n" +#~ " start=Núm. decalatge d'inici per a les conversions\n" +#~ " (per defecte=0)" + +#~ msgid "" +#~ "\n" +#~ " --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n" +#~ " dist=NUM distance between bytes being subtracted\n" +#~ " from each other (1-256; 1)" +#~ msgstr "" +#~ "\n" +#~ " --delta[=OPTS] Filtre delta; OPT (valors vàlids; predeterminat):\n" +#~ " dist=Núm. entre bytes que es resten de\n" +#~ " l'altre (1-256; 1)" + +#~ msgid "" +#~ " -q, --quiet suppress warnings; specify twice to suppress errors too\n" +#~ " -v, --verbose be verbose; specify twice for even more verbose" +#~ msgstr "" +#~ " -q, --quiet suprimeix els avisos; especifiqueu-ho dues vegades per a\n" +#~ " suprimir també els errors\n" +#~ " -v, --verbose sigues detallat; especifiqueu dues vegades per a tenir\n" +#~ " encara més detall" + +#~ 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 mostra l'ajuda curta (només mostra les opcions bàsiques)\n" +#~ " -H, --long-help mostra aquesta ajuda llarga i surt" + +#~ 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 mostra aquesta ajuda curta i surt\n" +#~ " -H, --long-help mostra l'ajuda llarga (llista també opcions avançades)" + +#~ msgid "Failed to enable the sandbox" +#~ msgstr "No s'ha pogut habilitar l'espai aïllat" diff --git a/src/native/external/xz/po/cs.po b/src/native/external/xz/po/cs.po new file mode 100644 index 00000000000000..cd5fc2b8ba1633 --- /dev/null +++ b/src/native/external/xz/po/cs.po @@ -0,0 +1,1679 @@ +# XZ Utils Czech translation +# This file is put in the public domain. +# Marek Černocký , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: xz-utils\n" +"Report-Msgid-Bugs-To: xz@tukaani.org\n" +"POT-Creation-Date: 2025-01-29 20:59+0200\n" +"PO-Revision-Date: 2010-12-03 11:32+0100\n" +"Last-Translator: Marek Černocký \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" +"X-Poedit-Language: Czech\n" +"X-Poedit-SourceCharset: utf-8\n" + +#: src/xz/args.c +#, c-format +msgid "%s: Invalid argument to --block-list" +msgstr "" + +#: src/xz/args.c +#, c-format +msgid "%s: Too many arguments to --block-list" +msgstr "" + +#: src/xz/args.c +#, c-format +msgid "In --block-list, block size is missing after filter chain number '%c:'" +msgstr "" + +#: src/xz/args.c +msgid "0 can only be used as the last element in --block-list" +msgstr "" + +#: src/xz/args.c +#, c-format +msgid "%s: Unknown file format type" +msgstr "%s: Neznámý typ formátu souboru" + +#: src/xz/args.c +#, c-format +msgid "%s: Unsupported integrity check type" +msgstr "%s: Neznámý typ kontroly integrity" + +#: src/xz/args.c +#, fuzzy +#| msgid "Only one file can be specified with `--files' or `--files0'." +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" + +#. TRANSLATORS: This is a translatable +#. string because French needs a space +#. before the colon ("%s : %s"). +#: src/xz/args.c src/xz/coder.c src/xz/file_io.c src/xz/list.c src/xz/options.c +#: src/xz/util.c +#, c-format +msgid "%s: %s" +msgstr "" + +#: src/xz/args.c +#, c-format +msgid "The environment variable %s contains too many arguments" +msgstr "Proměnná prostředí %s obsahuje příliš mnoho argumentů" + +#: src/xz/args.c +msgid "Compression support was disabled at build time" +msgstr "" + +#: src/xz/args.c +msgid "Decompression support was disabled at build time" +msgstr "" + +#: src/xz/args.c +msgid "Compression of lzip files (.lz) is not supported" +msgstr "" + +#: src/xz/args.c +msgid "--block-list is ignored unless compressing to the .xz format" +msgstr "" + +#: src/xz/args.c +#, fuzzy +#| msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout" +msgid "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/coder.c +msgid "Maximum number of filters is four" +msgstr "Maximální počet filtrů je čtyři" + +#: src/xz/coder.c +#, c-format +msgid "Error in --filters%s=FILTERS option:" +msgstr "" + +#: src/xz/coder.c +msgid "Memory usage limit is too low for the given filter setup." +msgstr "Omezení použitelné paměti je příliš malé pro dané nastavení filtru." + +#: src/xz/coder.c +#, c-format +msgid "filter chain %u used by --block-list but not specified with --filters%u=" +msgstr "" + +#: src/xz/coder.c +msgid "Using a preset in raw mode is discouraged." +msgstr "Použití přednastavení v režimu raw je nevhodné." + +#: src/xz/coder.c +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." + +#: src/xz/coder.c +msgid "The .lzma format supports only the LZMA1 filter" +msgstr "Formát .lzma podporuje pouze filtr LZMA1" + +#: src/xz/coder.c +msgid "LZMA1 cannot be used with the .xz format" +msgstr "LZMA1 nelze použít s formátem .xz" + +#: src/xz/coder.c +#, c-format +msgid "Filter chain %u is incompatible with --flush-timeout" +msgstr "" + +#: src/xz/coder.c +msgid "Switching to single-threaded mode due to --flush-timeout" +msgstr "" + +#: src/xz/coder.c +#, fuzzy, c-format +#| msgid "Unsupported options" +msgid "Unsupported options in filter chain %u" +msgstr "Nepodporovaná volba" + +#: src/xz/coder.c +#, c-format +msgid "Using up to % threads." +msgstr "" + +#: src/xz/coder.c +msgid "Unsupported filter chain or filter options" +msgstr "Nepodporovaný omezující filtr nebo volby filtru" + +#: src/xz/coder.c +#, c-format +msgid "Decompression will need %s MiB of memory." +msgstr "Dekomprimace bude vyžadovat %s MiB paměti." + +#: src/xz/coder.c +#, fuzzy, c-format +#| msgid "Adjusted LZMA%c dictionary size from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgid "Reduced the number of threads from %s to %s 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" + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to one. The automatic memory usage limit of %s MiB is still being exceeded. %s MiB of memory is required. Continuing anyway." +msgstr "" + +#: src/xz/coder.c +#, fuzzy, c-format +#| msgid "Adjusted LZMA%c dictionary size from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgid "Switching to single-threaded mode 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" + +#: src/xz/coder.c +#, 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" + +#: src/xz/coder.c +#, fuzzy, c-format +#| msgid "Adjusted LZMA%c dictionary size from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgid "Adjusted LZMA%c dictionary size for --filters%u 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" + +#: src/xz/coder.c +#, c-format +msgid "Error changing to filter chain %u: %s" +msgstr "" + +#: src/xz/file_io.c +#, c-format +msgid "Error creating a pipe: %s" +msgstr "" + +#: src/xz/file_io.c +#, c-format +msgid "%s: poll() failed: %s" +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 +#, c-format +msgid "%s: File seems to have been moved, not removing" +msgstr "%s: Vypadá to, že soubor byl přesunut, proto nebude odstraněn" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot remove: %s" +msgstr "%s: Nelze odstranit: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file owner: %s" +msgstr "%s: Nelze nastavit vlastníka souboru: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file group: %s" +msgstr "%s: Nelze nastavit skupinu souboru: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file permissions: %s" +msgstr "%s: Nelze nastavit oprávnění souboru: %s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Closing the file failed: %s" +msgid "%s: Synchronizing the file failed: %s" +msgstr "%s: Selhalo zavření souboru: %s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Closing the file failed: %s" +msgid "%s: Synchronizing the directory of the file failed: %s" +msgstr "%s: Selhalo zavření souboru: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard input: %s" +msgstr "" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a symbolic link, skipping" +msgstr "%s: Jedná se o symbolický odkaz, vynechává se" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a directory, skipping" +msgstr "%s: Jedná se o složku, vynechává se" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Not a regular file, skipping" +msgstr "%s: Nejedná se o běžný soubor, vynechává se" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has setuid or setgid bit set, skipping" +msgstr "%s: Soubor má nastavený bit setuid nebo setgid, vynechává se" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has sticky bit set, skipping" +msgstr "%s: Soubor má nastavený bit sticky, vynechává se" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Input file has more than one hard link, skipping" +msgstr "%s: Vstupní soubor má více než jeden pevný odkaz, vynechává se" + +#: src/xz/file_io.c +msgid "Empty filename, skipping" +msgstr "Prázdný název souboru, vynechává se" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the status flags to standard input: %s" +msgstr "" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard output: %s" +msgstr "" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Closing the file failed: %s" +msgid "%s: Opening the directory failed: %s" +msgstr "%s: Selhalo zavření souboru: %s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Not a regular file, skipping" +msgid "%s: Destination is not a regular file" +msgstr "%s: Nejedná se o běžný soubor, vynechává se" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the O_APPEND flag to standard output: %s" +msgstr "Chyba při obnovení příznaku O_APPEND na standardní výstup: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Closing the file failed: %s" +msgstr "%s: Selhalo zavření souboru: %s" + +#: src/xz/file_io.c +#, 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í souboru řídké matice: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Read error: %s" +msgstr "%s: Chyba čtení: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Error seeking the file: %s" +msgstr "%s: Chyba při posunu v rámci souboru: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Unexpected end of file" +msgstr "%s: Neočekávaný konec souboru" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Write error: %s" +msgstr "%s: Chyba zápisu: %s" + +#: src/xz/hardware.c +msgid "Disabled" +msgstr "Vypnuto" + +#: src/xz/hardware.c +#, fuzzy +#| msgid "Total amount of physical memory (RAM): " +msgid "Amount of physical memory (RAM):" +msgstr "Celkové množství fyzické paměti (RAM): " + +#: src/xz/hardware.c +msgid "Number of processor threads:" +msgstr "" + +#: src/xz/hardware.c +msgid "Compression:" +msgstr "" + +#: src/xz/hardware.c +msgid "Decompression:" +msgstr "" + +#: src/xz/hardware.c +#, fuzzy +#| msgid "Memory usage limit for decompression: " +msgid "Multi-threaded decompression:" +msgstr "Omezení použitelné paměti pro dekomprimaci:" + +#: src/xz/hardware.c +msgid "Default for -T0:" +msgstr "" + +#: src/xz/hardware.c +msgid "Hardware information:" +msgstr "" + +#: src/xz/hardware.c +#, fuzzy +#| msgid "Memory usage limit reached" +msgid "Memory usage limits:" +msgstr "Dosaženo omezení použitelné paměti" + +#: src/xz/list.c +msgid "Streams:" +msgstr "" + +#: src/xz/list.c +msgid "Blocks:" +msgstr "" + +#: src/xz/list.c +#, fuzzy +#| msgid " Compressed size: %s\n" +msgid "Compressed size:" +msgstr " Komprimovaná velikost: %s\n" + +#: src/xz/list.c +#, fuzzy +#| msgid " Uncompressed size: %s\n" +msgid "Uncompressed size:" +msgstr " Nekomprimovaná velikost: %s\n" + +#: src/xz/list.c +msgid "Ratio:" +msgstr "" + +#: src/xz/list.c +msgid "Check:" +msgstr "" + +#: src/xz/list.c +#, fuzzy +#| msgid " Stream padding: %s\n" +msgid "Stream Padding:" +msgstr " Zarovnání proudu: %s\n" + +#: src/xz/list.c +#, fuzzy +#| msgid " Memory needed: %s MiB\n" +msgid "Memory needed:" +msgstr " Potřebná paměť: %s MiB\n" + +#: src/xz/list.c +#, fuzzy +#| msgid " Sizes in headers: %s\n" +msgid "Sizes in headers:" +msgstr " Velikosti v hlavičkách: %s\n" + +#: src/xz/list.c +#, fuzzy +#| msgid " Number of files: %s\n" +msgid "Number of files:" +msgstr " Počet souborů: %s\n" + +#: src/xz/list.c +msgid "Stream" +msgstr "" + +#: src/xz/list.c +msgid "Block" +msgstr "" + +#: src/xz/list.c +msgid "Blocks" +msgstr "" + +#: src/xz/list.c +msgid "CompOffset" +msgstr "" + +#: src/xz/list.c +msgid "UncompOffset" +msgstr "" + +#: src/xz/list.c +msgid "CompSize" +msgstr "" + +#: src/xz/list.c +msgid "UncompSize" +msgstr "" + +#: src/xz/list.c +#, fuzzy +#| msgid "Totals:" +msgid "TotalSize" +msgstr "Celkem:" + +#: src/xz/list.c +msgid "Ratio" +msgstr "" + +#: src/xz/list.c +msgid "Check" +msgstr "" + +#: src/xz/list.c +msgid "CheckVal" +msgstr "" + +#: src/xz/list.c +msgid "Padding" +msgstr "" + +#: src/xz/list.c +msgid "Header" +msgstr "" + +#: src/xz/list.c +msgid "Flags" +msgstr "" + +#: src/xz/list.c +msgid "MemUsage" +msgstr "" + +#: src/xz/list.c +msgid "Filters" +msgstr "" + +#. TRANSLATORS: Indicates that there is no integrity check. +#. This string is used in tables. In older xz version this +#. string was limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "None" +msgstr "žádná" + +#. TRANSLATORS: Indicates that integrity check name is not known, +#. but the Check ID is known (here 2). In older xz version these +#. strings were limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "Unknown-2" +msgstr "neznámá-2" + +#: src/xz/list.c +msgid "Unknown-3" +msgstr "neznámá-3" + +#: src/xz/list.c +msgid "Unknown-5" +msgstr "neznámá-5" + +#: src/xz/list.c +msgid "Unknown-6" +msgstr "neznámá-6" + +#: src/xz/list.c +msgid "Unknown-7" +msgstr "neznámá-7" + +#: src/xz/list.c +msgid "Unknown-8" +msgstr "neznámá-8" + +#: src/xz/list.c +msgid "Unknown-9" +msgstr "neznámá-9" + +#: src/xz/list.c +msgid "Unknown-11" +msgstr "neznámá-11" + +#: src/xz/list.c +msgid "Unknown-12" +msgstr "neznámá-12" + +#: src/xz/list.c +msgid "Unknown-13" +msgstr "neznámá-13" + +#: src/xz/list.c +msgid "Unknown-14" +msgstr "neznámá-14" + +#: src/xz/list.c +msgid "Unknown-15" +msgstr "neznámá-15" + +#: src/xz/list.c +#, c-format +msgid "%s: File is empty" +msgstr "%s: Soubor je prázdný" + +#: src/xz/list.c +#, c-format +msgid "%s: Too small to be a valid .xz file" +msgstr "%s: Je příliš malý na to, aby to mohl být platný soubor .xz" + +#. 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 +msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" +msgstr "Proud Bloky Komprim Nekomprim Poměr Kontrl Název souboru" + +#: src/xz/list.c +msgid "Yes" +msgstr "Ano" + +#: src/xz/list.c +msgid "No" +msgstr "Ne" + +#: src/xz/list.c +msgid "Minimum XZ Utils version:" +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 +#, c-format +msgid "%s file\n" +msgid_plural "%s files\n" +msgstr[0] "%s soubor\n" +msgstr[1] "%s soubory\n" +msgstr[2] "%s souborů\n" + +#: src/xz/list.c +msgid "Totals:" +msgstr "Celkem:" + +#: src/xz/list.c +msgid "--list works only on .xz files (--format=xz or --format=auto)" +msgstr "--list pracuje pouze se soubory .xz (--format=xz nebo --format=auto)" + +#: src/xz/list.c +msgid "Try 'lzmainfo' with .lzma files." +msgstr "" + +#: src/xz/list.c +msgid "--list does not support reading from standard input" +msgstr "--list nepodporuje čtení ze standardního vstupu" + +#: src/xz/main.c +#, c-format +msgid "%s: Error reading filenames: %s" +msgstr "%s: Chyba při čtení názvů souborů: %s" + +#: src/xz/main.c +#, c-format +msgid "%s: Unexpected end of input when reading filenames" +msgstr "%s: Neočekávaný konec vstupu při čtení názvů souborů" + +#: src/xz/main.c +#, fuzzy, c-format +#| msgid "%s: Null character found when reading filenames; maybe you meant to use `--files0' instead of `--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 +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 +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ů" + +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s: " +msgstr "" + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "Internal error (bug)" +msgstr "Interní chyba" + +#: src/xz/message.c +msgid "Cannot establish signal handlers" +msgstr "Nelze ustanovit ovladač signálu" + +#: src/xz/message.c +msgid "No integrity check; not verifying file integrity" +msgstr "Žádná kontrola integrity; integrita souboru se nebude ověřovat" + +#: src/xz/message.c +msgid "Unsupported type of integrity check; not verifying file integrity" +msgstr "Nepodporovaný typ kontroly integrity; integrita souboru se nebude ověřovat" + +#: src/xz/message.c +msgid "Memory usage limit reached" +msgstr "Dosaženo omezení použitelné paměti" + +#: src/xz/message.c +msgid "File format not recognized" +msgstr "Formát souboru nebyl rozpoznán" + +#: src/xz/message.c +msgid "Unsupported options" +msgstr "Nepodporovaná volba" + +#: src/xz/message.c +msgid "Compressed data is corrupt" +msgstr "Komprimovaná data jsou poškozená" + +#: src/xz/message.c +msgid "Unexpected end of input" +msgstr "Neočekávaný konec vstupu" + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limiter is disabled." +msgstr "" + +#: src/xz/message.c +#, 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 +#, c-format +msgid "%s: Filter chain: %s\n" +msgstr "%s: Omezující filtr: %s\n" + +#: src/xz/message.c +#, fuzzy, c-format +#| msgid "Try `%s --help' for more information." +msgid "Try '%s --help' for more information." +msgstr "Zkuste „%s --help“ pro více informací" + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Error printing the help text (error code %d)" +msgstr "" + +#: src/xz/message.c +#, c-format +msgid "Usage: %s [OPTION]... [FILE]...\n" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "Usage: %s [OPTION]... [FILE]...\n" +#| "Compress or decompress FILEs in the .xz format.\n" +#| "\n" +msgid "Compress or decompress FILEs in the .xz format." +msgstr "" +"Použití: %s [PŘEPÍNAČ]... [SOUBOR]...\n" +"Komprimuje nebo dekomprimuje SOUBORy ve formátu xz.\n" +"\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Mandatory arguments to long options are mandatory for short options too.\n" +msgid "Mandatory arguments to long options are mandatory for short options too." +msgstr "Povinné argumenty pro dlouhé přepínače jsou povinné rovněž pro krátké přepínače.\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " Operation mode:\n" +msgid "Operation mode:" +msgstr "Operační režim:\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Memory usage limit for decompression: " +msgid "force compression" +msgstr "Omezení použitelné paměti pro dekomprimaci:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Memory usage limit for decompression: " +msgid "force decompression" +msgstr "Omezení použitelné paměti pro dekomprimaci:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "test compressed file integrity" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "list information about .xz files" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Operation modifiers:\n" +msgid "Operation modifiers:" +msgstr "" +"\n" +"Modifikátory operací:\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "keep (don't delete) input files" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force overwrite of output file and (de)compress links" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Writing to standard output failed" +msgid "write to standard output and don't delete input files" +msgstr "Zápis do standardního výstupu selhal" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't synchronize the output file to the storage device before removing the input file" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "decompress only the first stream, and silently ignore possible remaining input data" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "do not create sparse files when decompressing" +msgstr "" + +#: src/xz/message.c +msgid ".SUF" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use the suffix '.SUF' on compressed files" +msgstr "" + +#: src/xz/message.c +msgid "FILE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "read filenames to process from FILE; if FILE is omitted, filenames are read from the standard input; filenames must be terminated with the newline character" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "like --files but use the null character as terminator" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Basic file format and compression options:\n" +msgid "Basic file format and compression options:" +msgstr "" +"\n" +"Základní přepínače pro formát souboru a komprimaci:\n" + +#: src/xz/message.c +msgid "FORMAT" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "file format to encode or decode; possible values are 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'" +msgstr "" + +#: src/xz/message.c +msgid "NAME" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "integrity check type: 'none' (use with caution), 'crc32', 'crc64' (default), or 'sha256'" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't verify the integrity check when decompressing" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " -0 ... -9 compression preset; default is 6; take compressor *and*\n" +#| " decompressor memory usage into account before using 7-9!" +msgid "compression preset; default is 6; take compressor *and* 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" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " -e, --extreme try to improve compression ratio by using more CPU time;\n" +#| " does not affect decompressor memory requirements" +msgid "try to improve compression ratio by using more CPU time; 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" + +#. TRANSLATORS: Short for NUMBER. A longer string is fine but +#. wider than 5 columns makes --long-help a few lines longer. +#: src/xz/message.c +msgid "NUM" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use at most NUM threads; the default is 0 which uses as many threads as there are processor cores" +msgstr "" + +#: src/xz/message.c +msgid "SIZE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after every SIZE bytes of input; use this to set the block size for threaded compression" +msgstr "" + +#: src/xz/message.c +msgid "BLOCKS" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after the given comma-separated intervals of uncompressed data; optionally, specify a filter chain number (0-9) followed by a ':' before the uncompressed data size" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "when compressing, if more than NUM milliseconds has passed since the previous flush and reading more input would block, all pending data is flushed out" +msgstr "" + +#: src/xz/message.c +msgid "LIMIT" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, no-c-format +msgid "set memory usage limit for compression, decompression, threaded decompression, or all of these; LIMIT is in bytes, % of RAM, or 0 for defaults" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --no-adjust if compression settings exceed the memory usage limit,\n" +#| " give an error instead of adjusting the settings downwards" +msgid "if compression settings exceed the memory usage limit, give an error instead of adjusting the settings downwards" +msgstr "" +" --no-adjust pokud nastavení komprimace přesáhne omezení použitelné\n" +" paměti, předat chybu namísto snížení nastavení" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Custom filter chain for compression (alternative for using presets):" +msgid "Custom filter chain for compression (an alternative to using presets):" +msgstr "" +"\n" +"Vlastní omezující filtr pro komprimaci (alternativa k použití přednastavených):" + +#: src/xz/message.c +msgid "FILTERS" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set the filter chain using the liblzma filter string syntax; use --filters-help for more information" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set additional filter chains using the liblzma filter string syntax to use with --block-list" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display more information about the liblzma filter string syntax and exit" +msgstr "" + +#. TRANSLATORS: Short for OPTIONS. +#: src/xz/message.c +msgid "OPTS" +msgstr "" + +#. TRANSLATORS: Use semicolon (or its fullwidth form) +#. in "(valid values; default)" even if it is weird in +#. your language. There are non-translatable strings +#. that look like "(foo, bar, baz; foo)" which list +#. the supported values and the default value. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "LZMA1 or LZMA2; OPTS is a comma-separated list of zero or more of the following options (valid values; default):" +msgstr "" + +#. TRANSLATORS: Short for PRESET. A longer string is +#. fine but wider than 4 columns makes --long-help +#. one line longer. +#: src/xz/message.c +msgid "PRE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "reset options to a preset" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "dictionary size" +msgstr "" + +#. TRANSLATORS: The word "literal" in "literal context +#. bits" means how many "context bits" to use when +#. encoding literals. A literal is a single 8-bit +#. byte. It doesn't mean "literally" here. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal context bits" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal position bits" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of position bits" +msgstr "" + +#: src/xz/message.c +msgid "MODE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " Operation mode:\n" +msgid "compression mode" +msgstr "Operační režim:\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "nice length of a match" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "match finder" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "maximum search depth; 0=automatic (default)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "x86 BCJ filter (32-bit and 64-bit)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM-Thumb BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM64 BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "PowerPC BCJ filter (big endian only)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "IA-64 (Itanium) BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "SPARC BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "RISC-V BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Valid OPTS for all BCJ filters:" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start offset for conversions (default=0)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Delta filter; valid OPTS (valid values; default):" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "distance between bytes being subtracted from each other" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Other options:\n" +msgid "Other options:" +msgstr "" +"\n" +" Ostatní přepínače:\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "suppress warnings; specify twice to suppress errors too" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "be verbose; specify twice for even more verbose" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " -Q, --no-warn make warnings not affect the exit status" +msgid "make warnings not affect the exit status" +msgstr " -Q, --no-warn způsobí, že varování neovlivní stav ukončení" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " --robot use machine-parsable messages (useful for scripts)" +msgid "use machine-parsable messages (useful for scripts)" +msgstr "" +" --robot použít strojově analyzovatelné zprávy (užitečné pro\n" +" skripty)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --info-memory display the total amount of RAM and the currently active\n" +#| " memory usage limits, and exit" +msgid "display the total amount of RAM and the currently active memory usage limits, and exit" +msgstr "" +" --info-memory zobrazit celkové množství paměti RAM a současné aktivní\n" +" omezení použitelné paměti a skončit" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the short help (lists only the basic options)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this long help and exit" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this short help and exit" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the long help (lists also the advanced options)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " -V, --version display the version number and exit" +msgid "display the version number and exit" +msgstr " -V, --version zobrazit číslo verze a skončit" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, fuzzy +#| msgid "" +#| "\n" +#| "With no FILE, or when FILE is -, read standard input.\n" +msgid "With no FILE, or when FILE is -, read standard input." +msgstr "" +"\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 +#. "\nReport translation bugs to <...>." with the email or WWW +#. address for translation bugs. Thanks! +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, fuzzy, c-format +#| msgid "Report bugs to <%s> (in English or Finnish).\n" +msgid "Report bugs to <%s> (in English or Finnish)." +msgstr "Chyby hlaste na <%s> (v angličtině nebo finštině).\n" + +#. TRANSLATORS: The first %s is the name of this software. +#. The second <%s> is an URL. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, fuzzy, c-format +#| msgid "%s home page: <%s>\n" +msgid "%s home page: <%s>" +msgstr "Domovská stránka %s: <%s>\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE." +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, c-format +msgid "Filter chains are set using the --filters=FILTERS or --filters1=FILTERS ... --filters9=FILTERS options. Each filter in the chain can be separated by spaces or '--'. Alternatively a preset %s can be specified instead of a filter chain." +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Unsupported filter chain or filter options" +msgid "The supported filters and their options are:" +msgstr "Nepodporovaný omezující filtr nebo volby filtru" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Options must be `name=value' pairs separated with commas" +msgid "Options must be 'name=value' pairs separated with commas" +msgstr "%s: Volby musí být páry „název=hodnota“ oddělené čárkami" + +#: src/xz/options.c +#, c-format +msgid "%s: Invalid option name" +msgstr "%s: Neplatný název volby" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Invalid option value" +msgid "Invalid option value" +msgstr "%s: Neplatná hodnota volby" + +#: src/xz/options.c +#, c-format +msgid "Unsupported LZMA1/LZMA2 preset: %s" +msgstr "Nepodporované přednastavení LZMA1/LZMA2: %s" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "The sum of lc and lp must not exceed 4" +msgstr "Součet lc a lp nesmí překročit hodnotu 4" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Filename has an unknown suffix, skipping" +msgstr "%s: Název souboru má neznámou příponu, vynechává se" + +#: src/xz/suffix.c +#, fuzzy, c-format +#| msgid "%s: File already has `%s' suffix, skipping" +msgid "%s: File already has '%s' suffix, skipping" +msgstr "%s: Soubor již má příponu „%s“, vynechává se" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Invalid filename suffix" +msgstr "%s: Neplatná přípona názvu souboru" + +#: src/xz/util.c src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Value is not a non-negative decimal integer" +msgid "Value is not a non-negative decimal integer" +msgstr "%s: Hodnota není nezáporné desítkové číslo" + +#: src/xz/util.c +#, c-format +msgid "%s: Invalid multiplier suffix" +msgstr "%s: Neplatná jednotka s předponou" + +#: src/xz/util.c +#, fuzzy +#| msgid "Valid suffixes are `KiB' (2^10), `MiB' (2^20), and `GiB' (2^30)." +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)." + +#: src/xz/util.c +#, fuzzy, c-format +#| msgid "Value of the option `%s' must be in the range [%, %]" +msgid "Value of the option '%s' must be in the range [%, %]" +msgstr "Hodnota volby „%s“ musí být v rozsahu [%, %]" + +#: src/xz/util.c +msgid "Compressed data cannot be read from a terminal" +msgstr "Z terminálu nelze číst komprimovaná data" + +#: src/xz/util.c +msgid "Compressed data cannot be written to a terminal" +msgstr "Do terminálu nelze zapisovat komprimovaná data" + +#: src/lzmainfo/lzmainfo.c +#, c-format +msgid "Usage: %s [--help] [--version] [FILE]...\n" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/lzmainfo/lzmainfo.c +msgid "Show information stored in the .lzma file header." +msgstr "" + +#: src/lzmainfo/lzmainfo.c +#, fuzzy +#| msgid "%s: Too small to be a valid .xz file" +msgid "File is too small to be a .lzma file" +msgstr "%s: Je příliš malý na to, aby to mohl být platný soubor .xz" + +#: src/lzmainfo/lzmainfo.c +msgid "Not a .lzma file" +msgstr "" + +#: src/common/tuklib_exit.c +msgid "Writing to standard output failed" +msgstr "Zápis do standardního výstupu selhal" + +#: src/common/tuklib_exit.c +msgid "Unknown error" +msgstr "Neznámá chyba" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "Unsupported options" +msgid "Unsupported preset" +msgstr "Nepodporovaná volba" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "Unsupported filter chain or filter options" +msgid "Unsupported flag in the preset" +msgstr "Nepodporovaný omezující filtr nebo volby filtru" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Invalid option name" +msgid "Unknown option name" +msgstr "%s: Neplatný název volby" + +#: src/liblzma/common/string_conversion.c +msgid "Option value cannot be empty" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "Value out of range" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "This option does not support any multiplier suffixes" +msgstr "" + +#. TRANSLATORS: Don't translate the +#. suffixes "KiB", "MiB", or "GiB" +#. because a user can only specify +#. untranslated suffixes. +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Invalid multiplier suffix" +msgid "Invalid multiplier suffix (KiB, MiB, or GiB)" +msgstr "%s: Neplatná jednotka s předponou" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Unknown file format type" +msgid "Unknown filter name" +msgstr "%s: Neznámý typ formátu souboru" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "LZMA1 cannot be used with the .xz format" +msgid "This filter cannot be used in the .xz format" +msgstr "LZMA1 nelze použít s formátem .xz" + +#: src/liblzma/common/string_conversion.c +msgid "Memory allocation failed" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "Empty string is not allowed, try '6' if a default value is needed" +msgstr "" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "Maximum number of filters is four" +msgid "The maximum number of filters is four" +msgstr "Maximální počet filtrů je čtyři" + +#: src/liblzma/common/string_conversion.c +msgid "Filter name is missing" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "Invalid filter chain ('lzma2' missing at the end?)" +msgstr "" + +#~ msgid "" +#~ " -z, --compress force compression\n" +#~ " -d, --decompress force decompression\n" +#~ " -t, --test test compressed file integrity\n" +#~ " -l, --list list information about .xz files" +#~ msgstr "" +#~ " -z, --compress provést komprimaci\n" +#~ " -d, --decompress provést dekomprimaci\n" +#~ " -t, --test testovat integritu komprimovaného souboru\n" +#~ " -l, --list vypsat informace o souborech .xz" + +#~ 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" + +#, fuzzy +#~| 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" +#~ msgid "" +#~ " --no-sparse do not create sparse files when decompressing\n" +#~ " -S, --suffix=.SUF use the suffix '.SUF' on compressed files\n" +#~ " --files[=FILE] read filenames to process from FILE; if FILE is\n" +#~ " omitted, filenames are read from the standard input;\n" +#~ " filenames must be terminated with the newline character\n" +#~ " --files0[=FILE] like --files but use the null character as terminator" +#~ msgstr "" +#~ " --no-sparse nevytvářet při dekomprimaci soubory řídkých matic\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" +#~ " 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" + +#, fuzzy +#~| 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'" +#~ msgid "" +#~ " -F, --format=FMT file format to encode or decode; possible values are\n" +#~ " 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'\n" +#~ " -C, --check=CHECK integrity check type: 'none' (use with caution),\n" +#~ " 'crc32', 'crc64' (default), or 'sha256'" +#~ 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" +#~ " „crc32“, „crc64“ (výchozí) nebo „sha256“" + +#, fuzzy, 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" +#~ msgid "" +#~ " --memlimit-compress=LIMIT\n" +#~ " --memlimit-decompress=LIMIT\n" +#~ " --memlimit-mt-decompress=LIMIT\n" +#~ " -M, --memlimit=LIMIT\n" +#~ " set memory usage limit for compression, decompression,\n" +#~ " threaded decompression, or all of these; LIMIT is in\n" +#~ " 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" +#~ " RAM nebo 0 pro výchozí" + +#~ msgid "" +#~ "\n" +#~ " --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n" +#~ " --lzma2[=OPTS] more of the following options (valid values; default):\n" +#~ " preset=PRE reset options to a preset (0-9[e])\n" +#~ " dict=NUM dictionary size (4KiB - 1536MiB; 8MiB)\n" +#~ " lc=NUM number of literal context bits (0-4; 3)\n" +#~ " lp=NUM number of literal position bits (0-4; 0)\n" +#~ " pb=NUM number of position bits (0-4; 2)\n" +#~ " mode=MODE compression mode (fast, normal; normal)\n" +#~ " nice=NUM nice length of a match (2-273; 64)\n" +#~ " mf=NAME match finder (hc3, hc4, bt2, bt3, bt4; bt4)\n" +#~ " depth=NUM maximum search depth; 0=automatic (default)" +#~ msgstr "" +#~ "\n" +#~ " --lzma1[=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" +#~ " depth=POČ maximální hloubka prohledávání;\n" +#~ " 0 = automaticky (výchozí)" + +#, fuzzy +#~| 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)" +#~ msgid "" +#~ "\n" +#~ " --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n" +#~ " --arm[=OPTS] ARM BCJ filter\n" +#~ " --armthumb[=OPTS] ARM-Thumb BCJ filter\n" +#~ " --arm64[=OPTS] ARM64 BCJ filter\n" +#~ " --powerpc[=OPTS] PowerPC BCJ filter (big endian only)\n" +#~ " --ia64[=OPTS] IA-64 (Itanium) BCJ filter\n" +#~ " --sparc[=OPTS] SPARC BCJ filter\n" +#~ " --riscv[=OPTS] RISC-V BCJ filter\n" +#~ " Valid OPTS for all BCJ filters:\n" +#~ " start=NUM start offset for conversions (default=0)" +#~ msgstr "" +#~ "\n" +#~ " --x86[=VOLBY] Filtr x86 BCJ (32bitový a 64bitový)\n" +#~ " --powerpc[=VOLBY] Filtr PowerPC BCJ (pouze big endian)\n" +#~ " --ia64[=VOLBY] Filtr IA64 (Itanium) BCJ\n" +#~ " --arm[=VOLBY] Filtr ARM BCJ (pouze little endian)\n" +#~ " --armthumb[=VOLBY] Filtr ARM-Thumb BCJ (pouze little endian)\n" +#~ " --sparc[=VOLBY] Filtr SPARC BCJ\n" +#~ " Platné volby pro všechny filtry BCJ:\n" +#~ " start=POČ počáteční posun pro převody (výchozí=0)" + +#~ msgid "" +#~ "\n" +#~ " --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n" +#~ " dist=NUM distance between bytes being subtracted\n" +#~ " from each other (1-256; 1)" +#~ msgstr "" +#~ "\n" +#~ " --delta[=VOLBY] Filtr Delta; platné VOLBY (platné hodnoty; výchozí):\n" +#~ " dist=POČ vzdálenost mezi bajty, které jsou odečítány\n" +#~ " jeden od druhého (1 – 256; 1)" + +#~ msgid "" +#~ " -q, --quiet suppress warnings; specify twice to suppress errors too\n" +#~ " -v, --verbose be verbose; specify twice for even more verbose" +#~ msgstr "" +#~ " -q, --quiet 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ší" + +#~ 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, --long-help zobrazit tuto úplnou nápovědu a skončit" + +#~ 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)" + +#~ msgid "Memory usage limit for compression: " +#~ msgstr "Omezení použitelné paměti pro komprimaci: " + +#, c-format +#~ msgid " Streams: %s\n" +#~ msgstr " Proudů: %s\n" + +#, c-format +#~ msgid " Blocks: %s\n" +#~ msgstr " Bloků: %s\n" + +#, c-format +#~ msgid " Ratio: %s\n" +#~ msgstr " Poměr komprimace: %s\n" + +#, c-format +#~ msgid " Check: %s\n" +#~ msgstr " Typ kontroly: %s\n" + +#~ msgid "" +#~ " Streams:\n" +#~ " Stream Blocks CompOffset UncompOffset CompSize UncompSize Ratio Check Padding" +#~ msgstr "" +#~ " Proudy:\n" +#~ " Proud Bloky KomprPozice NekomprPozice KomprVelikost NekomprVelikost Poměr Kontrola Zarovnání" + +#, c-format +#~ msgid "" +#~ " Blocks:\n" +#~ " Stream Block CompOffset UncompOffset TotalSize UncompSize Ratio Check" +#~ msgstr "" +#~ " Bloky:\n" +#~ " Proud Blok KomprPozice NekomprPozice CelkVelikost NekomprVelikost Poměr Kontrola" + +#, c-format +#~ msgid " CheckVal %*s Header Flags CompSize MemUsage Filters" +#~ msgstr " KontrHod %*s Hlavič Příznaky KomprVel PoužiPam Filtry" + +#, c-format +#~ msgid "The selected match finder requires at least nice=%" +#~ msgstr "Vybraný vyhledávač shod vyžaduje minimálně nice=%" + +#~ msgid "Limit was %s MiB, but %s MiB would have been needed" +#~ msgstr "Limit byl %s MiB, ale bylo by zapotřebí %s MiB" + +#~ msgid "%s MiB (%s bytes)\n" +#~ msgstr "%s MiB (%s bajtů)\n" + +#~ msgid "" +#~ " -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" + +#~ msgid "" +#~ " -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" + +#~ msgid "" +#~ "\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)" +#~ msgstr "" +#~ "\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)" + +#~ msgid "" +#~ "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" +#~ "%s MiB RAM a " + +#~ msgid "" +#~ "one thread.\n" +#~ "\n" +#~ msgstr "" +#~ "jedno vlákno.\n" +#~ "\n" + +#~ msgid "%s: Invalid multiplier suffix. Valid suffixes:" +#~ msgstr "%s: Neplatná přípona. Platné přípony jsou:" diff --git a/src/native/external/xz/po/da.po b/src/native/external/xz/po/da.po new file mode 100644 index 00000000000000..62bf4d3c7ce36b --- /dev/null +++ b/src/native/external/xz/po/da.po @@ -0,0 +1,1436 @@ +# Danish translation xz. +# This file is put in the public domain. +# Joe Hansen , 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: xz 5.2.4\n" +"Report-Msgid-Bugs-To: xz@tukaani.org\n" +"POT-Creation-Date: 2025-01-29 20:59+0200\n" +"PO-Revision-Date: 2019-03-04 23:08+0100\n" +"Last-Translator: Joe Hansen \n" +"Language-Team: Danish \n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: src/xz/args.c +#, c-format +msgid "%s: Invalid argument to --block-list" +msgstr "%s: Ugyldigt parameter til --block-list" + +#: src/xz/args.c +#, c-format +msgid "%s: Too many arguments to --block-list" +msgstr "%s: For mange argumenter til --block-list" + +#: src/xz/args.c +#, c-format +msgid "In --block-list, block size is missing after filter chain number '%c:'" +msgstr "" + +#: src/xz/args.c +msgid "0 can only be used as the last element in --block-list" +msgstr "0 kan kun bruges som det sidste element i --block-list" + +#: src/xz/args.c +#, c-format +msgid "%s: Unknown file format type" +msgstr "%s: Ukendt filformattype" + +#: src/xz/args.c +#, c-format +msgid "%s: Unsupported integrity check type" +msgstr "%s: Typen for integritetkontrol er ikke understøttet" + +#: src/xz/args.c +#, fuzzy +#| msgid "Only one file can be specified with `--files' or `--files0'." +msgid "Only one file can be specified with '--files' or '--files0'." +msgstr "Kun en fil kan angives med »--files« eller »--files0«." + +#. TRANSLATORS: This is a translatable +#. string because French needs a space +#. before the colon ("%s : %s"). +#: src/xz/args.c src/xz/coder.c src/xz/file_io.c src/xz/list.c src/xz/options.c +#: src/xz/util.c +#, fuzzy, c-format +#| msgid "%s: " +msgid "%s: %s" +msgstr "%s: " + +#: src/xz/args.c +#, c-format +msgid "The environment variable %s contains too many arguments" +msgstr "Miljøvariablen %s indeholder for mange argumenter" + +#: src/xz/args.c +msgid "Compression support was disabled at build time" +msgstr "Komprimeringsunderstøttelse blev deaktiveret på byggetidspunktet" + +#: src/xz/args.c +msgid "Decompression support was disabled at build time" +msgstr "Dekomprimeringsunderstøttelse blev deaktiveret på byggetidspunktet" + +#: src/xz/args.c +msgid "Compression of lzip files (.lz) is not supported" +msgstr "" + +#: src/xz/args.c +msgid "--block-list is ignored unless compressing to the .xz format" +msgstr "" + +#: src/xz/args.c +#, fuzzy +#| msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout" +msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout" +msgstr "%s: med --format=raw, --suffix=.SUF er krævet med mindre der skrives til standardud" + +#: src/xz/coder.c +msgid "Maximum number of filters is four" +msgstr "Maksimalt antal filtre er fire" + +#: src/xz/coder.c +#, c-format +msgid "Error in --filters%s=FILTERS option:" +msgstr "" + +#: src/xz/coder.c +msgid "Memory usage limit is too low for the given filter setup." +msgstr "Begræsningen for brug af hukommelse er for lav for den givne filteropsætning." + +#: src/xz/coder.c +#, c-format +msgid "filter chain %u used by --block-list but not specified with --filters%u=" +msgstr "" + +#: src/xz/coder.c +msgid "Using a preset in raw mode is discouraged." +msgstr "Det frarådes at bruge en forhåndskonfiguration i rå tilstand (raw mode)." + +#: src/xz/coder.c +msgid "The exact options of the presets may vary between software versions." +msgstr "De præcise indstillinger for forhåndskonfigurationerne kan variere mellem programversioner." + +#: src/xz/coder.c +msgid "The .lzma format supports only the LZMA1 filter" +msgstr "Formatet .lzma understøtter kun LZMA1-filteret" + +#: src/xz/coder.c +msgid "LZMA1 cannot be used with the .xz format" +msgstr "LZMA1 kan ikke bruges med .xz-formatet" + +#: src/xz/coder.c +#, fuzzy, c-format +#| msgid "The filter chain is incompatible with --flush-timeout" +msgid "Filter chain %u is incompatible with --flush-timeout" +msgstr "Filterkæden er ikke kompatibel med --flush-timeout" + +#: src/xz/coder.c +msgid "Switching to single-threaded mode due to --flush-timeout" +msgstr "Skifter til enkelt trådet tilstand på grund af --flush-timeout" + +#: src/xz/coder.c +#, fuzzy, c-format +#| msgid "Unsupported options" +msgid "Unsupported options in filter chain %u" +msgstr "Tilvalg er ikke understøttede" + +#: src/xz/coder.c +#, c-format +msgid "Using up to % threads." +msgstr "Bruger op til % tråde." + +#: src/xz/coder.c +msgid "Unsupported filter chain or filter options" +msgstr "Filterkæde eller filterindstillinger er ikke understøttet" + +#: src/xz/coder.c +#, c-format +msgid "Decompression will need %s MiB of memory." +msgstr "Dekomprimering vil kræve %s MiB hukommelse." + +#: src/xz/coder.c +#, fuzzy, c-format +#| msgid "Adjusted the number of threads from %s to %s to not exceed the memory usage limit of %s MiB" +msgid "Reduced the number of threads from %s to %s to not exceed the memory usage limit of %s MiB" +msgstr "Justerede antallet af tråde fra %s til %s for ikke at overskride begræsningen på brug af hukommelse på %s MiB" + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to one. The automatic memory usage limit of %s MiB is still being exceeded. %s MiB of memory is required. Continuing anyway." +msgstr "" + +#: src/xz/coder.c +#, fuzzy, c-format +#| msgid "Adjusted the number of threads from %s to %s to not exceed the memory usage limit of %s MiB" +msgid "Switching to single-threaded mode to not exceed the memory usage limit of %s MiB" +msgstr "Justerede antallet af tråde fra %s til %s for ikke at overskride begræsningen på brug af hukommelse på %s MiB" + +#: src/xz/coder.c +#, 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 "Justerede LZMA%c-ordbogsstørrelsen fra %s MiB til %s MiB for ikke at overskride begrænsningen på brug af hukommelse på %s MiB" + +#: src/xz/coder.c +#, fuzzy, c-format +#| msgid "Adjusted LZMA%c dictionary size from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgid "Adjusted LZMA%c dictionary size for --filters%u from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgstr "Justerede LZMA%c-ordbogsstørrelsen fra %s MiB til %s MiB for ikke at overskride begrænsningen på brug af hukommelse på %s MiB" + +#: src/xz/coder.c +#, fuzzy, c-format +#| msgid "Error creating a pipe: %s" +msgid "Error changing to filter chain %u: %s" +msgstr "Det opstod en fejl under oprettelse af en datakanal: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error creating a pipe: %s" +msgstr "Det opstod en fejl under oprettelse af en datakanal: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: poll() failed: %s" +msgstr "%s: poll() mislykkedes: %s" + +#. 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 +#, c-format +msgid "%s: File seems to have been moved, not removing" +msgstr "%s: Filen er vist blevet flyttet, sletter ikke" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot remove: %s" +msgstr "%s: Kan ikke fjerne: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file owner: %s" +msgstr "%s: Kan ikke angive filejeren: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file group: %s" +msgstr "%s: Kan ikke angive filgruppen: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file permissions: %s" +msgstr "%s: Kan ikke angive filtilladelser: %s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Closing the file failed: %s" +msgid "%s: Synchronizing the file failed: %s" +msgstr "%s: Lukning af filen fejlede: %s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Closing the file failed: %s" +msgid "%s: Synchronizing the directory of the file failed: %s" +msgstr "%s: Lukning af filen fejlede: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard input: %s" +msgstr "Der opstod en fejl under indhentelse af filstatusflag fra standardind: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a symbolic link, skipping" +msgstr "%s: Er en symbolsk henvisning, udelader" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a directory, skipping" +msgstr "%s: Er en mappe, udelader" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Not a regular file, skipping" +msgstr "%s: Er ikke en normal fil, udelader" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has setuid or setgid bit set, skipping" +msgstr "%s: Filen har setuid- eller setgid-bitsæt, udelader" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has sticky bit set, skipping" +msgstr "%s: Fil har klæbende bitsæt, udelader" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Input file has more than one hard link, skipping" +msgstr "%s: Inddatafil har mere end en hård henvisning, udelader" + +#: src/xz/file_io.c +msgid "Empty filename, skipping" +msgstr "Tomt filnavn, udelader" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the status flags to standard input: %s" +msgstr "Der opstod en fejl under gendannelse af statusflagene til standardind: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard output: %s" +msgstr "Der opstod en fejl under indhentelse af filstatusflag fra standardud: %s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Closing the file failed: %s" +msgid "%s: Opening the directory failed: %s" +msgstr "%s: Lukning af filen fejlede: %s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Not a regular file, skipping" +msgid "%s: Destination is not a regular file" +msgstr "%s: Er ikke en normal fil, udelader" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the O_APPEND flag to standard output: %s" +msgstr "Der opstod en fejl under gendannelse af flaget O_APPEND til standardud: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Closing the file failed: %s" +msgstr "%s: Lukning af filen fejlede: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Seeking failed when trying to create a sparse file: %s" +msgstr "%s: Søgning fejlede under forsøg på at oprette en tynd fil: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Read error: %s" +msgstr "%s: Læsefejl: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Error seeking the file: %s" +msgstr "%s: Der opstod en fejl under søgning efter filen: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Unexpected end of file" +msgstr "%s: Uventet filafslutning" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Write error: %s" +msgstr "%s: Skrivefejl: %s" + +#: src/xz/hardware.c +msgid "Disabled" +msgstr "Deaktiveret" + +#: src/xz/hardware.c +#, fuzzy +#| msgid "Total amount of physical memory (RAM): " +msgid "Amount of physical memory (RAM):" +msgstr "Samlet mængde fysisk hukommelse (RAM): " + +#: src/xz/hardware.c +msgid "Number of processor threads:" +msgstr "" + +#: src/xz/hardware.c +msgid "Compression:" +msgstr "" + +#: src/xz/hardware.c +msgid "Decompression:" +msgstr "" + +#: src/xz/hardware.c +#, fuzzy +#| msgid "Memory usage limit for decompression: " +msgid "Multi-threaded decompression:" +msgstr "Grænse for hukommelsesforbug til dekomprimering: " + +#: src/xz/hardware.c +msgid "Default for -T0:" +msgstr "" + +#: src/xz/hardware.c +msgid "Hardware information:" +msgstr "" + +#: src/xz/hardware.c +#, fuzzy +#| msgid "Memory usage limit reached" +msgid "Memory usage limits:" +msgstr "Begrænsning på brug af hukommelse er nået" + +#: src/xz/list.c +msgid "Streams:" +msgstr "" + +#: src/xz/list.c +msgid "Blocks:" +msgstr "" + +#: src/xz/list.c +#, fuzzy +#| msgid " Compressed size: %s\n" +msgid "Compressed size:" +msgstr " Komprimeret str.: %s\n" + +#: src/xz/list.c +#, fuzzy +#| msgid " Uncompressed size: %s\n" +msgid "Uncompressed size:" +msgstr " Ukomprimeret str.: %s\n" + +#: src/xz/list.c +msgid "Ratio:" +msgstr "" + +#: src/xz/list.c +msgid "Check:" +msgstr "" + +#: src/xz/list.c +#, fuzzy +#| msgid " Stream padding: %s\n" +msgid "Stream Padding:" +msgstr " Strømfyld: %s\n" + +#: src/xz/list.c +#, fuzzy +#| msgid " Memory needed: %s MiB\n" +msgid "Memory needed:" +msgstr " Hukommelse krævet: %s MiB\n" + +#: src/xz/list.c +#, fuzzy +#| msgid " Sizes in headers: %s\n" +msgid "Sizes in headers:" +msgstr " Størrelser i teksthoveder: %s\n" + +#: src/xz/list.c +#, fuzzy +#| msgid " Number of files: %s\n" +msgid "Number of files:" +msgstr " Antal filer: %s\n" + +#: src/xz/list.c +msgid "Stream" +msgstr "" + +#: src/xz/list.c +msgid "Block" +msgstr "" + +#: src/xz/list.c +msgid "Blocks" +msgstr "" + +#: src/xz/list.c +msgid "CompOffset" +msgstr "" + +#: src/xz/list.c +msgid "UncompOffset" +msgstr "" + +#: src/xz/list.c +msgid "CompSize" +msgstr "" + +#: src/xz/list.c +msgid "UncompSize" +msgstr "" + +#: src/xz/list.c +#, fuzzy +#| msgid "Totals:" +msgid "TotalSize" +msgstr "I alt:" + +#: src/xz/list.c +msgid "Ratio" +msgstr "" + +#: src/xz/list.c +msgid "Check" +msgstr "" + +#: src/xz/list.c +msgid "CheckVal" +msgstr "" + +#: src/xz/list.c +msgid "Padding" +msgstr "" + +#: src/xz/list.c +msgid "Header" +msgstr "" + +#: src/xz/list.c +msgid "Flags" +msgstr "" + +#: src/xz/list.c +msgid "MemUsage" +msgstr "" + +#: src/xz/list.c +msgid "Filters" +msgstr "" + +#. TRANSLATORS: Indicates that there is no integrity check. +#. This string is used in tables. In older xz version this +#. string was limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "None" +msgstr "Ingen" + +#. TRANSLATORS: Indicates that integrity check name is not known, +#. but the Check ID is known (here 2). In older xz version these +#. strings were limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "Unknown-2" +msgstr "Ukendt-2" + +#: src/xz/list.c +msgid "Unknown-3" +msgstr "Ukendt-3" + +#: src/xz/list.c +msgid "Unknown-5" +msgstr "Ukendt-5" + +#: src/xz/list.c +msgid "Unknown-6" +msgstr "Ukendt-6" + +#: src/xz/list.c +msgid "Unknown-7" +msgstr "Ukendt-7" + +#: src/xz/list.c +msgid "Unknown-8" +msgstr "Ukendt-8" + +#: src/xz/list.c +msgid "Unknown-9" +msgstr "Ukendt-9" + +#: src/xz/list.c +msgid "Unknown-11" +msgstr "Ukendt-11" + +#: src/xz/list.c +msgid "Unknown-12" +msgstr "Ukendt-12" + +#: src/xz/list.c +msgid "Unknown-13" +msgstr "Ukendt-13" + +#: src/xz/list.c +msgid "Unknown-14" +msgstr "Ukendt-14" + +#: src/xz/list.c +msgid "Unknown-15" +msgstr "Ukendt-15" + +#: src/xz/list.c +#, c-format +msgid "%s: File is empty" +msgstr "%s: Filen er tom" + +#: src/xz/list.c +#, c-format +msgid "%s: Too small to be a valid .xz file" +msgstr "%s: For lille til at være en gyldig .xz-fil" + +#. 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 +msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" +msgstr "" + +#: src/xz/list.c +msgid "Yes" +msgstr "Ja" + +#: src/xz/list.c +msgid "No" +msgstr "Nej" + +#: src/xz/list.c +#, fuzzy +#| msgid " Minimum XZ Utils version: %s\n" +msgid "Minimum XZ Utils version:" +msgstr " Minimum for XZ Utils-version: %s\n" + +#. 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 +#, c-format +msgid "%s file\n" +msgid_plural "%s files\n" +msgstr[0] "%s fil\n" +msgstr[1] "%s filer\n" + +#: src/xz/list.c +msgid "Totals:" +msgstr "I alt:" + +#: src/xz/list.c +msgid "--list works only on .xz files (--format=xz or --format=auto)" +msgstr "" + +#: src/xz/list.c +msgid "Try 'lzmainfo' with .lzma files." +msgstr "" + +#: src/xz/list.c +msgid "--list does not support reading from standard input" +msgstr "--list understøtter ikke læsning fra standardind" + +#: src/xz/main.c +#, c-format +msgid "%s: Error reading filenames: %s" +msgstr "%s: Der opstod en fejl under forsøg på læsning af filnavne: %s" + +#: src/xz/main.c +#, c-format +msgid "%s: Unexpected end of input when reading filenames" +msgstr "%s: Uventet afslutning på inddata under forsøg på læsning af filnavne" + +#: src/xz/main.c +#, c-format +msgid "%s: Null character found when reading filenames; maybe you meant to use '--files0' instead of '--files'?" +msgstr "" + +#: src/xz/main.c +msgid "Compression and decompression with --robot are not supported yet." +msgstr "Komprimering og dekomprimering med --robot er endnu ikke understøttet." + +#: src/xz/main.c +msgid "Cannot read data from standard input when reading filenames from standard input" +msgstr "" + +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s: " +msgstr "%s: " + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "Internal error (bug)" +msgstr "Intern fejl (fejl)" + +#: src/xz/message.c +msgid "Cannot establish signal handlers" +msgstr "Kan ikke etbalere signalhåndteringer" + +#: src/xz/message.c +msgid "No integrity check; not verifying file integrity" +msgstr "Ingen integritetkontrol; verificerer ikke filintegritet" + +#: src/xz/message.c +msgid "Unsupported type of integrity check; not verifying file integrity" +msgstr "" + +#: src/xz/message.c +msgid "Memory usage limit reached" +msgstr "Begrænsning på brug af hukommelse er nået" + +#: src/xz/message.c +msgid "File format not recognized" +msgstr "Filformatet blev ikke genkendt" + +#: src/xz/message.c +msgid "Unsupported options" +msgstr "Tilvalg er ikke understøttede" + +#: src/xz/message.c +msgid "Compressed data is corrupt" +msgstr "Komprimerede data er ødelagte" + +#: src/xz/message.c +msgid "Unexpected end of input" +msgstr "Uventet afslutning på inddata" + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limiter is disabled." +msgstr "%s MiB hukommelse er krævet. Begrænseren er deaktiveret." + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limit is %s." +msgstr "%s MiB hukommelse er krævet. Begrænsningen er %s." + +#: src/xz/message.c +#, c-format +msgid "%s: Filter chain: %s\n" +msgstr "%s: Filterkæde: %s\n" + +#: src/xz/message.c +#, fuzzy, c-format +#| msgid "Try `%s --help' for more information." +msgid "Try '%s --help' for more information." +msgstr "Prøv »%s --help« for yderligere information." + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Error printing the help text (error code %d)" +msgstr "" + +#: src/xz/message.c +#, c-format +msgid "Usage: %s [OPTION]... [FILE]...\n" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Compress or decompress FILEs in the .xz format." +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Mandatory arguments to long options are mandatory for short options too.\n" +msgid "Mandatory arguments to long options are mandatory for short options too." +msgstr "" +"Obligatoriske argumenter til lange tilvalg er også obligatoriske for korte\n" +"tilvalg.\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " Operation mode:\n" +msgid "Operation mode:" +msgstr " Operationstilstand:\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Memory usage limit for decompression: " +msgid "force compression" +msgstr "Grænse for hukommelsesforbug til dekomprimering: " + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Memory usage limit for decompression: " +msgid "force decompression" +msgstr "Grænse for hukommelsesforbug til dekomprimering: " + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "test compressed file integrity" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "list information about .xz files" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Operation modifiers:\n" +msgid "Operation modifiers:" +msgstr "" +"\n" +"Operationsændrere:\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "keep (don't delete) input files" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force overwrite of output file and (de)compress links" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Writing to standard output failed" +msgid "write to standard output and don't delete input files" +msgstr "Skrivning til standardud mislykkedes" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't synchronize the output file to the storage device before removing the input file" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "decompress only the first stream, and silently ignore possible remaining input data" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "do not create sparse files when decompressing" +msgstr "" + +#: src/xz/message.c +msgid ".SUF" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use the suffix '.SUF' on compressed files" +msgstr "" + +#: src/xz/message.c +msgid "FILE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "read filenames to process from FILE; if FILE is omitted, filenames are read from the standard input; filenames must be terminated with the newline character" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "like --files but use the null character as terminator" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Basic file format and compression options:" +msgstr "" + +#: src/xz/message.c +msgid "FORMAT" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "file format to encode or decode; possible values are 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'" +msgstr "" + +#: src/xz/message.c +msgid "NAME" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "integrity check type: 'none' (use with caution), 'crc32', 'crc64' (default), or 'sha256'" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't verify the integrity check when decompressing" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression preset; default is 6; take compressor *and* decompressor memory usage into account before using 7-9!" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "try to improve compression ratio by using more CPU time; does not affect decompressor memory requirements" +msgstr "" + +#. TRANSLATORS: Short for NUMBER. A longer string is fine but +#. wider than 5 columns makes --long-help a few lines longer. +#: src/xz/message.c +msgid "NUM" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use at most NUM threads; the default is 0 which uses as many threads as there are processor cores" +msgstr "" + +#: src/xz/message.c +msgid "SIZE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after every SIZE bytes of input; use this to set the block size for threaded compression" +msgstr "" + +#: src/xz/message.c +msgid "BLOCKS" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after the given comma-separated intervals of uncompressed data; optionally, specify a filter chain number (0-9) followed by a ':' before the uncompressed data size" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "when compressing, if more than NUM milliseconds has passed since the previous flush and reading more input would block, all pending data is flushed out" +msgstr "" + +#: src/xz/message.c +msgid "LIMIT" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, no-c-format +msgid "set memory usage limit for compression, decompression, threaded decompression, or all of these; LIMIT is in bytes, % of RAM, or 0 for defaults" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "if compression settings exceed the memory usage limit, give an error instead of adjusting the settings downwards" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Custom filter chain for compression (an alternative to using presets):" +msgstr "" + +#: src/xz/message.c +msgid "FILTERS" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set the filter chain using the liblzma filter string syntax; use --filters-help for more information" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set additional filter chains using the liblzma filter string syntax to use with --block-list" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display more information about the liblzma filter string syntax and exit" +msgstr "" + +#. TRANSLATORS: Short for OPTIONS. +#: src/xz/message.c +msgid "OPTS" +msgstr "" + +#. TRANSLATORS: Use semicolon (or its fullwidth form) +#. in "(valid values; default)" even if it is weird in +#. your language. There are non-translatable strings +#. that look like "(foo, bar, baz; foo)" which list +#. the supported values and the default value. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "LZMA1 or LZMA2; OPTS is a comma-separated list of zero or more of the following options (valid values; default):" +msgstr "" + +#. TRANSLATORS: Short for PRESET. A longer string is +#. fine but wider than 4 columns makes --long-help +#. one line longer. +#: src/xz/message.c +msgid "PRE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "reset options to a preset" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "dictionary size" +msgstr "" + +#. TRANSLATORS: The word "literal" in "literal context +#. bits" means how many "context bits" to use when +#. encoding literals. A literal is a single 8-bit +#. byte. It doesn't mean "literally" here. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal context bits" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal position bits" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of position bits" +msgstr "" + +#: src/xz/message.c +msgid "MODE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " Operation mode:\n" +msgid "compression mode" +msgstr " Operationstilstand:\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "nice length of a match" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "match finder" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "maximum search depth; 0=automatic (default)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "x86 BCJ filter (32-bit and 64-bit)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM-Thumb BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM64 BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "PowerPC BCJ filter (big endian only)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "IA-64 (Itanium) BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "SPARC BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "RISC-V BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Valid OPTS for all BCJ filters:" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start offset for conversions (default=0)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Delta filter; valid OPTS (valid values; default):" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "distance between bytes being subtracted from each other" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Other options:\n" +msgid "Other options:" +msgstr "" +"\n" +"Andre tilvalg:\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "suppress warnings; specify twice to suppress errors too" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "be verbose; specify twice for even more verbose" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "make warnings not affect the exit status" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " --robot use machine-parsable messages (useful for scripts)" +msgid "use machine-parsable messages (useful for scripts)" +msgstr "" +" --robot brug beskeder der kan fortolkes maskinelt (nyttigt\n" +" for skripter)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the total amount of RAM and the currently active memory usage limits, and exit" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the short help (lists only the basic options)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this long help and exit" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this short help and exit" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the long help (lists also the advanced options)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " -V, --version display the version number and exit" +msgid "display the version number and exit" +msgstr " -V, --version vis versionsnummer og afslut" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, fuzzy +#| msgid "" +#| "\n" +#| "With no FILE, or when FILE is -, read standard input.\n" +msgid "With no FILE, or when FILE is -, read standard input." +msgstr "" +"\n" +"Med ingen FIL, eller når FIL er -, læs standardind.\n" + +#. TRANSLATORS: This message indicates the bug reporting +#. address for this package. Please add another line saying +#. "\nReport translation bugs to <...>." with the email or WWW +#. address for translation bugs. Thanks! +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, fuzzy, c-format +#| msgid "Report bugs to <%s> (in English or Finnish).\n" +msgid "Report bugs to <%s> (in English or Finnish)." +msgstr "" +"Rapporter fejl til <%s> (på engelsk eller finsk).\n" +"Rapporter oversættelsesfejl til .\n" + +#. TRANSLATORS: The first %s is the name of this software. +#. The second <%s> is an URL. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, fuzzy, c-format +#| msgid "%s home page: <%s>\n" +msgid "%s home page: <%s>" +msgstr "%s hjemmeside: <%s>\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE." +msgstr "DETTE ER EN UDVIKLINGSVERSION - BRUG IKKE I PRODUKTION." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, c-format +msgid "Filter chains are set using the --filters=FILTERS or --filters1=FILTERS ... --filters9=FILTERS options. Each filter in the chain can be separated by spaces or '--'. Alternatively a preset %s can be specified instead of a filter chain." +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Unsupported filter chain or filter options" +msgid "The supported filters and their options are:" +msgstr "Filterkæde eller filterindstillinger er ikke understøttet" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Options must be `name=value' pairs separated with commas" +msgid "Options must be 'name=value' pairs separated with commas" +msgstr "%s: Tilvalg skal være »navne=værdi«-par adskilt med kommaer" + +#: src/xz/options.c +#, c-format +msgid "%s: Invalid option name" +msgstr "%s: Ugyldigt tilvalgsnavn" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Invalid option value" +msgid "Invalid option value" +msgstr "%s: Ugyldigt tilvalgsværdi" + +#: src/xz/options.c +#, c-format +msgid "Unsupported LZMA1/LZMA2 preset: %s" +msgstr "LZMA1/LZMA2-forhåndskonfiguration er ikke understøttet: %s" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "The sum of lc and lp must not exceed 4" +msgstr "Summen af lc og lp må ikke være højere end 4" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Filename has an unknown suffix, skipping" +msgstr "%s: Filnavn har ukendt endelse, udelader" + +#: src/xz/suffix.c +#, fuzzy, c-format +#| msgid "%s: File already has `%s' suffix, skipping" +msgid "%s: File already has '%s' suffix, skipping" +msgstr "%s: Filen har allrede endelsen »%s«, udelader." + +#: src/xz/suffix.c +#, c-format +msgid "%s: Invalid filename suffix" +msgstr "%s: Ugyldig filnavnendelse" + +#: src/xz/util.c src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Value is not a non-negative decimal integer" +msgid "Value is not a non-negative decimal integer" +msgstr "%s: Værdi er ikke et positivt decimalheltal" + +#: src/xz/util.c +#, c-format +msgid "%s: Invalid multiplier suffix" +msgstr "%s: Ugyldig multiplikatorendelse" + +#: src/xz/util.c +#, fuzzy +#| msgid "Valid suffixes are `KiB' (2^10), `MiB' (2^20), and `GiB' (2^30)." +msgid "Valid suffixes are 'KiB' (2^10), 'MiB' (2^20), and 'GiB' (2^30)." +msgstr "Gyldige endelser er »KiB« (2^10), »MiB« (2^20) og »GiB« (2^30)." + +#: src/xz/util.c +#, fuzzy, c-format +#| msgid "Value of the option `%s' must be in the range [%, %]" +msgid "Value of the option '%s' must be in the range [%, %]" +msgstr "Værdien for tilvalget »%s« skal være i intervallet [%, %]" + +#: src/xz/util.c +msgid "Compressed data cannot be read from a terminal" +msgstr "Komprimerede data kan ikke læses fra en terminal" + +#: src/xz/util.c +msgid "Compressed data cannot be written to a terminal" +msgstr "Komprimerede data kan ikke skrives til en terminal" + +#: src/lzmainfo/lzmainfo.c +#, c-format +msgid "Usage: %s [--help] [--version] [FILE]...\n" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/lzmainfo/lzmainfo.c +msgid "Show information stored in the .lzma file header." +msgstr "" + +#: src/lzmainfo/lzmainfo.c +#, fuzzy +#| msgid "%s: Too small to be a valid .xz file" +msgid "File is too small to be a .lzma file" +msgstr "%s: For lille til at være en gyldig .xz-fil" + +#: src/lzmainfo/lzmainfo.c +msgid "Not a .lzma file" +msgstr "" + +#: src/common/tuklib_exit.c +msgid "Writing to standard output failed" +msgstr "Skrivning til standardud mislykkedes" + +#: src/common/tuklib_exit.c +msgid "Unknown error" +msgstr "Ukendt fejl" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "Unsupported options" +msgid "Unsupported preset" +msgstr "Tilvalg er ikke understøttede" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "Unsupported filter chain or filter options" +msgid "Unsupported flag in the preset" +msgstr "Filterkæde eller filterindstillinger er ikke understøttet" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Invalid option name" +msgid "Unknown option name" +msgstr "%s: Ugyldigt tilvalgsnavn" + +#: src/liblzma/common/string_conversion.c +msgid "Option value cannot be empty" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "Value out of range" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "This option does not support any multiplier suffixes" +msgstr "" + +#. TRANSLATORS: Don't translate the +#. suffixes "KiB", "MiB", or "GiB" +#. because a user can only specify +#. untranslated suffixes. +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Invalid multiplier suffix" +msgid "Invalid multiplier suffix (KiB, MiB, or GiB)" +msgstr "%s: Ugyldig multiplikatorendelse" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Unknown file format type" +msgid "Unknown filter name" +msgstr "%s: Ukendt filformattype" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "LZMA1 cannot be used with the .xz format" +msgid "This filter cannot be used in the .xz format" +msgstr "LZMA1 kan ikke bruges med .xz-formatet" + +#: src/liblzma/common/string_conversion.c +msgid "Memory allocation failed" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "Empty string is not allowed, try '6' if a default value is needed" +msgstr "" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "Maximum number of filters is four" +msgid "The maximum number of filters is four" +msgstr "Maksimalt antal filtre er fire" + +#: src/liblzma/common/string_conversion.c +msgid "Filter name is missing" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "Invalid filter chain ('lzma2' missing at the end?)" +msgstr "" + +#~ 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 vis den korte hjælpetekst (viser kun grundlæggende\n" +#~ " tilvalg)\n" +#~ " -H, --long-help vis den lange hjælpetekst og afslut" + +#~ 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 vis den korte hjælpetekst og afslut\n" +#~ " -H, --long-help vis den lange hjælpetekst (viser også de avancerede\n" +#~ " tilvalg)" + +#~ msgid "Sandbox is disabled due to incompatible command line arguments" +#~ msgstr "Sandkassen er deaktiveret på grund af inkompatible kommandolinjeargumenter" + +#~ msgid "Sandbox was successfully enabled" +#~ msgstr "Sandkassen blev aktiveret" + +#~ msgid "Failed to enable the sandbox" +#~ msgstr "Kunne ikke aktivere sandkassen" + +#~ msgid "Memory usage limit for compression: " +#~ msgstr "Grænse for hukommelsesforbrug til komprimering: " + +#, c-format +#~ msgid " Streams: %s\n" +#~ msgstr " Strømme: %s\n" + +#, c-format +#~ msgid " Blocks: %s\n" +#~ msgstr " Blokke: %s\n" + +#, c-format +#~ msgid " Ratio: %s\n" +#~ msgstr " Pakkeforhold: %s\n" + +#, c-format +#~ msgid " Check: %s\n" +#~ msgstr " Kontrol: %s\n" + +#~ msgid "" +#~ " Streams:\n" +#~ " Stream Blocks CompOffset UncompOffset CompSize UncompSize Ratio Check Padding" +#~ msgstr "" +#~ " Strømme:\n" +#~ " Strøm Blokke KompForsk. DekompForsk. KompStr. DekompStr. Forh. Kontrol Fyld" + +#, c-format +#~ msgid "" +#~ " Blocks:\n" +#~ " Stream Block CompOffset UncompOffset TotalSize UncompSize Ratio Check" +#~ msgstr "" +#~ " Blokke:\n" +#~ " Strøm Blok KompForsk. DekompForsk. Ialtstr. DekompStr. Forh. Kontrol" + +#, c-format +#~ msgid " CheckVal %*s Header Flags CompSize MemUsage Filters" +#~ msgstr " KontrolVær %*sTeksth Flag Kompstr. HukForb. Filtre" + +#, c-format +#~ msgid "The selected match finder requires at least nice=%" +#~ msgstr "Den valgte matchfinder kræver mindst nice=%" diff --git a/src/native/external/xz/po/de.po b/src/native/external/xz/po/de.po new file mode 100644 index 00000000000000..0acc225ef02239 --- /dev/null +++ b/src/native/external/xz/po/de.po @@ -0,0 +1,1267 @@ +# SPDX-License-Identifier: 0BSD +# +# German translation for xz. +# This file is published under the BSD Zero Clause License. +# André Noll , 2010. +# Anna Henningsen , 2015. +# Mario Blättermann , 2019, 2022-2025. +msgid "" +msgstr "" +"Project-Id-Version: xz 5.7.1-dev1\n" +"Report-Msgid-Bugs-To: xz@tukaani.org\n" +"POT-Creation-Date: 2025-01-29 20:59+0200\n" +"PO-Revision-Date: 2025-01-26 11:02+0100\n" +"Last-Translator: Mario Blättermann \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 24.12.1\n" + +#: src/xz/args.c +#, c-format +msgid "%s: Invalid argument to --block-list" +msgstr "%s: Ungültiges Argument für --block-list" + +#: src/xz/args.c +#, c-format +msgid "%s: Too many arguments to --block-list" +msgstr "%s: Zu viele Argumente für --block-list" + +#: src/xz/args.c +#, c-format +msgid "In --block-list, block size is missing after filter chain number '%c:'" +msgstr "In --block-list fehlt die Blockgröße nach der Filterkettennummer »%c:«" + +#: src/xz/args.c +msgid "0 can only be used as the last element in --block-list" +msgstr "0 kann nur das letzte Element in --block-list sein" + +#: src/xz/args.c +#, c-format +msgid "%s: Unknown file format type" +msgstr "%s: Unbekanntes Dateiformat" + +#: src/xz/args.c +#, c-format +msgid "%s: Unsupported integrity check type" +msgstr "%s: Integritätsprüfungstyp nicht unterstützt" + +#: src/xz/args.c +msgid "Only one file can be specified with '--files' or '--files0'." +msgstr "Nur eine Datei kann als Argument für »--files« oder »--files0« angegeben werden." + +#. TRANSLATORS: This is a translatable +#. string because French needs a space +#. before the colon ("%s : %s"). +#: src/xz/args.c src/xz/coder.c src/xz/file_io.c src/xz/list.c src/xz/options.c +#: src/xz/util.c +#, c-format +msgid "%s: %s" +msgstr "%s: %s" + +#: src/xz/args.c +#, c-format +msgid "The environment variable %s contains too many arguments" +msgstr "Die Umgebungsvariable %s enthält zu viele Argumente" + +#: src/xz/args.c +msgid "Compression support was disabled at build time" +msgstr "Die Unterstützung für Kompression wurde zum Zeitpunkt der Erstellung deaktiviert" + +#: src/xz/args.c +msgid "Decompression support was disabled at build time" +msgstr "Die Unterstützung für Dekompression wurde zum Zeitpunkt der Erstellung deaktiviert" + +#: src/xz/args.c +msgid "Compression of lzip files (.lz) is not supported" +msgstr "Kompression von lzip-Dateien (.lz) wird nicht unterstützt" + +#: src/xz/args.c +msgid "--block-list is ignored unless compressing to the .xz format" +msgstr "--block-list wird ignoriert, außer wenn in das .xz-Format komprimiert wird" + +#: src/xz/args.c +msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout" +msgstr "Mit --format=raw ist --suffix=.SUF notwendig, falls nicht in die Standardausgabe geschrieben wird" + +#: src/xz/coder.c +msgid "Maximum number of filters is four" +msgstr "Maximal vier Filter möglich" + +#: src/xz/coder.c +#, c-format +msgid "Error in --filters%s=FILTERS option:" +msgstr "Fehler in der Option --filters%s=FILTER:" + +#: src/xz/coder.c +msgid "Memory usage limit is too low for the given filter setup." +msgstr "Die Speicherbedarfsbegrenzung ist für die gegebene Filter-Konfiguration zu niedrig." + +#: src/xz/coder.c +#, c-format +msgid "filter chain %u used by --block-list but not specified with --filters%u=" +msgstr "Filterkette %u wird von --block-list verwendet, wurde aber nicht mit --filters%u= angegeben" + +#: src/xz/coder.c +msgid "Using a preset in raw mode is discouraged." +msgstr "Verwendung einer Voreinstellung im Roh-Modus wird nicht empfohlen." + +#: src/xz/coder.c +msgid "The exact options of the presets may vary between software versions." +msgstr "Die genauen Optionen der Voreinstellung können zwischen Softwareversionen variieren." + +#: src/xz/coder.c +msgid "The .lzma format supports only the LZMA1 filter" +msgstr "Das .lzma-Format unterstützt nur den LZMA1-Filter" + +#: src/xz/coder.c +msgid "LZMA1 cannot be used with the .xz format" +msgstr "LZMA1 kann nicht mit dem .xz-Format verwendet werden" + +#: src/xz/coder.c +#, c-format +msgid "Filter chain %u is incompatible with --flush-timeout" +msgstr "Die Filterkette %u ist inkompatibel zu --flush-timeout" + +#: src/xz/coder.c +msgid "Switching to single-threaded mode due to --flush-timeout" +msgstr "Wegen --flush-timeout wird auf den Einzelthread-Modus umgeschaltet" + +#: src/xz/coder.c +#, c-format +msgid "Unsupported options in filter chain %u" +msgstr "Nicht unterstützte Optionen in Filterkette %u" + +#: src/xz/coder.c +#, c-format +msgid "Using up to % threads." +msgstr "Bis zu % Threads werden benutzt." + +#: src/xz/coder.c +msgid "Unsupported filter chain or filter options" +msgstr "Filterkette oder Filteroptionen werden nicht unterstützt" + +#: src/xz/coder.c +#, c-format +msgid "Decompression will need %s MiB of memory." +msgstr "Dekompression wird %s MiB Speicher brauchen." + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to %s to not exceed the memory usage limit of %s MiB" +msgstr "Anzahl der Threads wurde von %s auf %s reduziert, um die Speicherbedarfsbegrenzung von %s MiB nicht zu übersteigen" + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to one. The automatic memory usage limit of %s MiB is still being exceeded. %s MiB of memory is required. Continuing anyway." +msgstr "Anzahl der Threads wurde von %s auf einen reduziert. Die automatische Begrenzung des Speicherverbrauchs auf %s MiB wird immer noch überschritten. %s MiB an Speicher sind erforderlich. Es wird dennoch fortgesetzt." + +#: src/xz/coder.c +#, c-format +msgid "Switching to single-threaded mode to not exceed the memory usage limit of %s MiB" +msgstr "Es wurde in den Einzelthread-Modus gewechselt, um die Speicherbedarfsbegrenzung von %s MiB nicht zu übersteigen" + +#: src/xz/coder.c +#, 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 "Die LZMA%c-Wörterbuchgröße wurde von %s MiB auf %s MiB angepasst, um die Speicherbedarfsbegrenzung von %s MiB nicht zu übersteigen" + +#: src/xz/coder.c +#, c-format +msgid "Adjusted LZMA%c dictionary size for --filters%u from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgstr "Die LZMA%c-Wörterbuchgröße für --filters%u wurde von %s MiB auf %s MiB angepasst, um die Speicherbedarfsbegrenzung von %s MiB nicht zu übersteigen" + +#: src/xz/coder.c +#, c-format +msgid "Error changing to filter chain %u: %s" +msgstr "Fehler beim Wechsel zur Filterkette %u: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error creating a pipe: %s" +msgstr "Fehler beim Erzeugen der Pipeline: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: poll() failed: %s" +msgstr "%s: poll() ist fehlgeschlagen: %s" + +#. 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 +#, c-format +msgid "%s: File seems to have been moved, not removing" +msgstr "%s: Datei scheint verschoben worden zu sein, daher wird sie nicht gelöscht" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot remove: %s" +msgstr "%s: Löschen nicht möglich: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file owner: %s" +msgstr "%s: Dateieigentümer kann nicht gesetzt werden: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file group: %s" +msgstr "%s: Dateigruppe kann nicht gesetzt werden: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file permissions: %s" +msgstr "%s: Zugriffsrechte können nicht gesetzt werden: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Synchronizing the file failed: %s" +msgstr "%s: Fehler beim Synchronisieren der Datei: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Synchronizing the directory of the file failed: %s" +msgstr "%s: Fehler beim Synchronisieren des Verzeichnisses der Datei: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard input: %s" +msgstr "Dateistatus-Markierungen können nicht aus der Standardeingabe ermittelt werden: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a symbolic link, skipping" +msgstr "%s: Ist ein symbolischer Link, wird übersprungen" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a directory, skipping" +msgstr "%s: Ist ein Verzeichnis, wird übersprungen" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Not a regular file, skipping" +msgstr "%s: Keine reguläre Datei, wird übersprungen" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has setuid or setgid bit set, skipping" +msgstr "%s: Datei hat das setuid- oder setgid-Bit gesetzt, wird übersprungen" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has sticky bit set, skipping" +msgstr "%s: Datei hat sticky-Bit gesetzt, wird übersprungen" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Input file has more than one hard link, skipping" +msgstr "%s: Eingabedatei hat mehr als einen harten Link, wird übersprungen" + +#: src/xz/file_io.c +msgid "Empty filename, skipping" +msgstr "Leerer Dateiname, wird übersprungen" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the status flags to standard input: %s" +msgstr "Fehler beim Wiederherstellen der Status-Markierungen für die Standardeingabe: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard output: %s" +msgstr "Status-Markierungen der Standardausgabe können nicht ermittelt werden: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Opening the directory failed: %s" +msgstr "%s: Fehler beim Öffnen des Verzeichnisses: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Destination is not a regular file" +msgstr "%s: Ziel ist keine reguläre Datei" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the O_APPEND flag to standard output: %s" +msgstr "Fehler beim Wiederherstellen der O_APPEND-Markierungen für die Standardausgabe: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Closing the file failed: %s" +msgstr "%s: Fehler beim Schließen der Datei: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Seeking failed when trying to create a sparse file: %s" +msgstr "%s: Positionierungsfehler beim Versuch, eine Sparse-Datei (dünnbesetzte Datei) zu erzeugen: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Read error: %s" +msgstr "%s: Lesefehler: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Error seeking the file: %s" +msgstr "%s: Fehler beim Durchsuchen der Datei: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Unexpected end of file" +msgstr "%s: Unerwartetes Ende der Datei" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Write error: %s" +msgstr "%s: Schreibfehler: %s" + +#: src/xz/hardware.c +msgid "Disabled" +msgstr "Deaktiviert" + +#: src/xz/hardware.c +msgid "Amount of physical memory (RAM):" +msgstr "Gesamtmenge physischer Speicher (RAM):" + +#: src/xz/hardware.c +msgid "Number of processor threads:" +msgstr "Anzahl der Prozessor-Threads:" + +#: src/xz/hardware.c +msgid "Compression:" +msgstr "Kompression:" + +#: src/xz/hardware.c +msgid "Decompression:" +msgstr "Dekompression:" + +#: src/xz/hardware.c +msgid "Multi-threaded decompression:" +msgstr "Multithread-Dekompression:" + +#: src/xz/hardware.c +msgid "Default for -T0:" +msgstr "Vorgabe für -T0:" + +#: src/xz/hardware.c +msgid "Hardware information:" +msgstr "Hardware-Information:" + +#: src/xz/hardware.c +msgid "Memory usage limits:" +msgstr "Speicherbedarfsbegrenzung:" + +#: src/xz/list.c +msgid "Streams:" +msgstr "Datenströme:" + +#: src/xz/list.c +msgid "Blocks:" +msgstr "Blöcke:" + +#: src/xz/list.c +msgid "Compressed size:" +msgstr "Größe komprimiert:" + +#: src/xz/list.c +msgid "Uncompressed size:" +msgstr "Größe unkomprimiert:" + +#: src/xz/list.c +msgid "Ratio:" +msgstr "Verhältnis:" + +#: src/xz/list.c +msgid "Check:" +msgstr "Prüfung:" + +#: src/xz/list.c +msgid "Stream Padding:" +msgstr "Datenstromauffüllung:" + +#: src/xz/list.c +msgid "Memory needed:" +msgstr "Benötigter Speicher:" + +#: src/xz/list.c +msgid "Sizes in headers:" +msgstr "Größe in Köpfen:" + +#: src/xz/list.c +msgid "Number of files:" +msgstr "Anzahl Dateien:" + +#: src/xz/list.c +msgid "Stream" +msgstr "Datenstrom" + +#: src/xz/list.c +msgid "Block" +msgstr "Block" + +#: src/xz/list.c +msgid "Blocks" +msgstr "Blöcke" + +#: src/xz/list.c +msgid "CompOffset" +msgstr "KompVers" + +#: src/xz/list.c +msgid "UncompOffset" +msgstr "UnkompVers" + +#: src/xz/list.c +msgid "CompSize" +msgstr "KompGröße" + +#: src/xz/list.c +msgid "UncompSize" +msgstr "UnkompGröße" + +#: src/xz/list.c +msgid "TotalSize" +msgstr "Gesamt" + +#: src/xz/list.c +msgid "Ratio" +msgstr "Verhältnis" + +#: src/xz/list.c +msgid "Check" +msgstr "Prüfung" + +#: src/xz/list.c +msgid "CheckVal" +msgstr "Prüfwert" + +#: src/xz/list.c +msgid "Padding" +msgstr "Auffüllung" + +#: src/xz/list.c +msgid "Header" +msgstr "Kopf" + +#: src/xz/list.c +msgid "Flags" +msgstr "Flags" + +#: src/xz/list.c +msgid "MemUsage" +msgstr "SpeichVerb" + +#: src/xz/list.c +msgid "Filters" +msgstr "Filter" + +#. TRANSLATORS: Indicates that there is no integrity check. +#. This string is used in tables. In older xz version this +#. string was limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "None" +msgstr "Keine" + +#. TRANSLATORS: Indicates that integrity check name is not known, +#. but the Check ID is known (here 2). In older xz version these +#. strings were limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "Unknown-2" +msgstr "Unbek.2" + +#: src/xz/list.c +msgid "Unknown-3" +msgstr "Unbek.3" + +#: src/xz/list.c +msgid "Unknown-5" +msgstr "Unbek.5" + +#: src/xz/list.c +msgid "Unknown-6" +msgstr "Unbek.6" + +#: src/xz/list.c +msgid "Unknown-7" +msgstr "Unbek.7" + +#: src/xz/list.c +msgid "Unknown-8" +msgstr "Unbek.8" + +#: src/xz/list.c +msgid "Unknown-9" +msgstr "Unbek.9" + +#: src/xz/list.c +msgid "Unknown-11" +msgstr "Unbek.11" + +#: src/xz/list.c +msgid "Unknown-12" +msgstr "Unbek.12" + +#: src/xz/list.c +msgid "Unknown-13" +msgstr "Unbek.13" + +#: src/xz/list.c +msgid "Unknown-14" +msgstr "Unbek.14" + +#: src/xz/list.c +msgid "Unknown-15" +msgstr "Unbek.15" + +#: src/xz/list.c +#, c-format +msgid "%s: File is empty" +msgstr "%s: Datei ist leer" + +#: src/xz/list.c +#, c-format +msgid "%s: Too small to be a valid .xz file" +msgstr "%s: Zu klein, um eine gültige .xz-Datei zu sein" + +#. 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 +msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" +msgstr " Str. Blöcke Kompr. Unkompr. Verh. Check Dateiname" + +#: src/xz/list.c +msgid "Yes" +msgstr "Ja" + +#: src/xz/list.c +msgid "No" +msgstr "Nein" + +#: src/xz/list.c +msgid "Minimum XZ Utils version:" +msgstr "Minimal erforderliche XZ Utils-Version:" + +#. 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 +#, c-format +msgid "%s file\n" +msgid_plural "%s files\n" +msgstr[0] "%s Datei\n" +msgstr[1] "%s Dateien\n" + +#: src/xz/list.c +msgid "Totals:" +msgstr "Gesamt:" + +#: src/xz/list.c +msgid "--list works only on .xz files (--format=xz or --format=auto)" +msgstr "--list funktioniert nur mit .xz-Dateien (--format=xz oder --format=auto)" + +#: src/xz/list.c +msgid "Try 'lzmainfo' with .lzma files." +msgstr "Versuchen Sie »lzmainfo« mit .lzma-Dateien." + +#: src/xz/list.c +msgid "--list does not support reading from standard input" +msgstr "--list unterstützt kein Lesen aus der Standardeingabe" + +#: src/xz/main.c +#, c-format +msgid "%s: Error reading filenames: %s" +msgstr "%s: Fehler beim Lesen der Dateinamen: %s" + +#: src/xz/main.c +#, c-format +msgid "%s: Unexpected end of input when reading filenames" +msgstr "%s: Unerwartetes Ende der Eingabe beim Lesen der Dateinamen" + +#: src/xz/main.c +#, c-format +msgid "%s: Null character found when reading filenames; maybe you meant to use '--files0' instead of '--files'?" +msgstr "%s: Null-Zeichen beim Lesen der Dateinamen gefunden; meinten Sie »--files0« statt »--files«?" + +#: src/xz/main.c +msgid "Compression and decompression with --robot are not supported yet." +msgstr "Kompression und Dekompression mit --robot wird noch nicht unterstützt." + +#: src/xz/main.c +msgid "Cannot read data from standard input when reading filenames from standard input" +msgstr "Lesen der Daten aus der Standardeingabe ist nicht möglich, wenn die Dateinamen auch aus der Standardeingabe gelesen werden" + +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s: " +msgstr "%s: " + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "Internal error (bug)" +msgstr "Interner Fehler (Bug)" + +#: src/xz/message.c +msgid "Cannot establish signal handlers" +msgstr "Signalroutine kann nicht gesetzt werden" + +#: src/xz/message.c +msgid "No integrity check; not verifying file integrity" +msgstr "Keine Integritätsprüfung; Integrität der Datei wird nicht überprüft" + +#: src/xz/message.c +msgid "Unsupported type of integrity check; not verifying file integrity" +msgstr "Typ der Integritätsprüfung wird nicht unterstützt; Integrität der Datei wird nicht überprüft" + +#: src/xz/message.c +msgid "Memory usage limit reached" +msgstr "Speicherbedarfsbegrenzung erreicht" + +#: src/xz/message.c +msgid "File format not recognized" +msgstr "Dateiformat nicht erkannt" + +#: src/xz/message.c +msgid "Unsupported options" +msgstr "Optionen nicht unterstützt" + +#: src/xz/message.c +msgid "Compressed data is corrupt" +msgstr "Komprimierte Daten sind beschädigt" + +#: src/xz/message.c +msgid "Unexpected end of input" +msgstr "Unerwartetes Ende der Eingabe" + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limiter is disabled." +msgstr "%s MiB Speicher wird benötigt. Die Begrenzung ist deaktiviert." + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limit is %s." +msgstr "%s MiB Speicher wird benötigt. Die Begrenzung ist %s." + +#: src/xz/message.c +#, c-format +msgid "%s: Filter chain: %s\n" +msgstr "%s: Filterkette: %s\n" + +#: src/xz/message.c +#, c-format +msgid "Try '%s --help' for more information." +msgstr "Versuchen Sie »%s --help« für mehr Informationen." + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Error printing the help text (error code %d)" +msgstr "Fehler bei der Ausgabe des Hilfetextes (Fehlercode %d)" + +#: src/xz/message.c +#, c-format +msgid "Usage: %s [OPTION]... [FILE]...\n" +msgstr "Aufruf: %s [OPTION] … [DATEI] …\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Compress or decompress FILEs in the .xz format." +msgstr "Komprimiert oder dekomprimiert .xz-DATEI(EN)." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Mandatory arguments to long options are mandatory for short options too." +msgstr "" +"Obligatorische Argumente für lange Optionen sind auch für kurze Optionen\n" +"zwingend." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Operation mode:" +msgstr "Aktionsmodus:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force compression" +msgstr "Kompression erzwingen" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force decompression" +msgstr "Dekompression erzwingen" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "test compressed file integrity" +msgstr "Integrität der komprimierten Datei überprüfen" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "list information about .xz files" +msgstr "Informationen zu .xz-Dateien auflisten" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Operation modifiers:" +msgstr "Aktionsmodifikatoren:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "keep (don't delete) input files" +msgstr "Eingabedateien beibehalten (nicht löschen)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force overwrite of output file and (de)compress links" +msgstr "Überschreiben der Ausgabedatei erzwingen und Links (de)komprimieren" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "write to standard output and don't delete input files" +msgstr "In die Standardausgabe schreiben und die Eingabedateien nicht löschen" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't synchronize the output file to the storage device before removing the input file" +msgstr "Ausgabedatei nicht auf dem Speichergerät synchronisieren, bevor die Eingabedatei gelöscht wird" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "decompress only the first stream, and silently ignore possible remaining input data" +msgstr "Nur den ersten Datenstrom dekomprimieren und stillschweigend mögliche weitere Eingabedaten ignorieren" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "do not create sparse files when decompressing" +msgstr "Beim Dekomprimieren keine Sparse-Dateien erzeugen" + +#: src/xz/message.c +msgid ".SUF" +msgstr ".END" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use the suffix '.SUF' on compressed files" +msgstr "».END« als Endung für komprimierte Dateien benutzen" + +#: src/xz/message.c +msgid "FILE" +msgstr "DATEI" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "read filenames to process from FILE; if FILE is omitted, filenames are read from the standard input; filenames must be terminated with the newline character" +msgstr "Zu verarbeitende Dateinamen aus DATEI lesen; falls keine DATEI angegeben wurde, werden Dateinamen aus der Standardeingabe gelesen. Dateinamen müssen durch einen Zeilenumbruch voneinander getrennt werden" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "like --files but use the null character as terminator" +msgstr "Wie --files, aber das Null-Zeichen wird als Trenner benutzt" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Basic file format and compression options:" +msgstr "Grundlegende Optionen für Dateiformat und Kompression:" + +#: src/xz/message.c +msgid "FORMAT" +msgstr "FORMAT" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "file format to encode or decode; possible values are 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'" +msgstr "Dateiformat zur Kodierung oder Dekodierung; mögliche Werte sind »auto« (Voreinstellung), »xz«, »lzma«, »lzip« und »raw«" + +#: src/xz/message.c +msgid "NAME" +msgstr "NAME" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "integrity check type: 'none' (use with caution), 'crc32', 'crc64' (default), or 'sha256'" +msgstr "Typ der Integritätsprüfung: »none« (Vorsicht!), »crc32«, »crc64« (Voreinstellung) oder »sha256«" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't verify the integrity check when decompressing" +msgstr "Integritätsprüfung beim Dekomprimieren nicht ausführen" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression preset; default is 6; take compressor *and* decompressor memory usage into account before using 7-9!" +msgstr "Kompressionseinstellung; Voreinstellung ist 6. Beachten Sie den Speicherbedarf des Kompressors *und* des Dekompressors, wenn Sie 7-9 benutzen!" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "try to improve compression ratio by using more CPU time; does not affect decompressor memory requirements" +msgstr "Versuchen, durch stärkere CPU-Auslastung das Kompressionsverhältnis zu verbessern. Dies beeinflusst nicht den Speicherbedarf des Dekompressors." + +#. TRANSLATORS: Short for NUMBER. A longer string is fine but +#. wider than 5 columns makes --long-help a few lines longer. +#: src/xz/message.c +msgid "NUM" +msgstr "ANZAHL" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use at most NUM threads; the default is 0 which uses as many threads as there are processor cores" +msgstr "Höchstens die angegebene ANZAHL Threads erzeugen; die Voreinstellung ist 0, wobei so viele Threads erzeugt werden, wie Prozessorkerne vorhanden sind" + +#: src/xz/message.c +msgid "SIZE" +msgstr "GRÖẞE" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after every SIZE bytes of input; use this to set the block size for threaded compression" +msgstr "Einen neuen .xz-Block nach der angegebenen GRÖẞE der Eingabe in Bytes beginnen; benutzen Sie diese Option, um die Blockgröße für die Kompression mit mehreren Threads zu setzen" + +#: src/xz/message.c +msgid "BLOCKS" +msgstr "BLÖCKE" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after the given comma-separated intervals of uncompressed data; optionally, specify a filter chain number (0-9) followed by a ':' before the uncompressed data size" +msgstr "Einen neuen .xz-Block gemäß der angegebenen, durch Kommata getrennten Intervalle an unkomprimierten Daten beginnen; optional kann eine Filterkettennummer (0-9) angegeben werden, gefolgt von einem »:« und der unkomprimierten Datengröße" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "when compressing, if more than NUM milliseconds has passed since the previous flush and reading more input would block, all pending data is flushed out" +msgstr "Wenn beim Komprimieren mehr als die angegebene ANZAHL an Millisekunden seit der letzten Leerungsaktion vergangen ist und das Lesen von zusätzlichen Eingabedaten den Prozess blockieren würde, dann werden alle noch ausstehenden Daten geschrieben" + +#: src/xz/message.c +msgid "LIMIT" +msgstr "BEGRENZUNG" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, no-c-format +msgid "set memory usage limit for compression, decompression, threaded decompression, or all of these; LIMIT is in bytes, % of RAM, or 0 for defaults" +msgstr "Speicherbedarfsbegrenzung für Kompression, Dekompression oder beides setzen; die BEGRENZUNG wird in Bytes oder als Prozentsatz RAM angegeben. Geben Sie 0 an, um die Grundeinstellungen zu verwenden." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "if compression settings exceed the memory usage limit, give an error instead of adjusting the settings downwards" +msgstr "Wenn die Kompressionseinstellungen die Speicherbedarfsbegrenzung übersteigen, wird ein Fehler ausgegeben, statt die Einstellungen nach unten anzupassen." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Custom filter chain for compression (an alternative to using presets):" +msgstr "Benutzerdefinierte Filterkette für Kompression (alternativ zur Verwendung von Voreinstellungen):" + +#: src/xz/message.c +msgid "FILTERS" +msgstr "FILTER" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set the filter chain using the liblzma filter string syntax; use --filters-help for more information" +msgstr "Die Filterkette anhand der Liblzma-Filterkettensyntax setzen; mit --filters-help erhalten Sie weitere Informationen" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set additional filter chains using the liblzma filter string syntax to use with --block-list" +msgstr "Zusätzliche Filter anhand der Liblzma-Filterkettensyntax setzen, die mit --block-list verwendet werden sollen" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display more information about the liblzma filter string syntax and exit" +msgstr "Weitere Informationen über die Liblzma-Filterkettensyntax anzeigen und beenden." + +#. TRANSLATORS: Short for OPTIONS. +#: src/xz/message.c +msgid "OPTS" +msgstr "OPTIONEN" + +#. TRANSLATORS: Use semicolon (or its fullwidth form) +#. in "(valid values; default)" even if it is weird in +#. your language. There are non-translatable strings +#. that look like "(foo, bar, baz; foo)" which list +#. the supported values and the default value. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "LZMA1 or LZMA2; OPTS is a comma-separated list of zero or more of the following options (valid values; default):" +msgstr "LZMA1 oder LZMA2; OPTIONEN ist eine durch Kommata getrennte Liste bestehend aus den folgenden Optionen (zulässige Werte; Voreinstellung):" + +#. TRANSLATORS: Short for PRESET. A longer string is +#. fine but wider than 4 columns makes --long-help +#. one line longer. +#: src/xz/message.c +msgid "PRE" +msgstr "ZAHL" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "reset options to a preset" +msgstr "Optionen auf Voreinstellungsstufe zurücksetzen" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "dictionary size" +msgstr "Wörterbuchgröße" + +#. TRANSLATORS: The word "literal" in "literal context +#. bits" means how many "context bits" to use when +#. encoding literals. A literal is a single 8-bit +#. byte. It doesn't mean "literally" here. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal context bits" +msgstr "Anzahl der Literal-Kontext-Bits" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal position bits" +msgstr "Anzahl der Literal-Positions-Bits" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of position bits" +msgstr "Anzahl der Positions-Bits" + +#: src/xz/message.c +msgid "MODE" +msgstr "MODUS" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression mode" +msgstr "Kompressionsmodus" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "nice length of a match" +msgstr "Nice-Länge eines Treffers" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "match finder" +msgstr "Algorithmus zum Auffinden von Übereinstimmungen" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "maximum search depth; 0=automatic (default)" +msgstr "Maximale Suchtiefe; 0=automatisch (Voreinstellung)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "x86 BCJ filter (32-bit and 64-bit)" +msgstr "x86 BCJ-Filter (32-bit und 64-bit)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM BCJ filter" +msgstr "ARM-BCJ-Filter" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM-Thumb BCJ filter" +msgstr "ARM-Thumb-BCJ-Filter" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM64 BCJ filter" +msgstr "ARM64-BCJ-Filter" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "PowerPC BCJ filter (big endian only)" +msgstr "PowerPC-BCJ-Filter (nur Big Endian)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "IA-64 (Itanium) BCJ filter" +msgstr "IA64-(Itanium-)BCJ-Filter" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "SPARC BCJ filter" +msgstr "SPARC-BCJ-Filter" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "RISC-V BCJ filter" +msgstr "RISC-V-BCJ-Filter" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Valid OPTS for all BCJ filters:" +msgstr "Zulässige Optionen für alle BCJ-Filter:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start offset for conversions (default=0)" +msgstr "Startversatz für Konversion (Voreinstellung=0)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Delta filter; valid OPTS (valid values; default):" +msgstr "Delta-Filter; zulässige Optionen (gültige Werte; Voreinstellung):" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "distance between bytes being subtracted from each other" +msgstr "Abstand zwischen den Bytes, die voneinander subtrahiert werden" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Other options:" +msgstr "Andere Optionen:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "suppress warnings; specify twice to suppress errors too" +msgstr "Warnungen unterdrücken; wird diese Option zweimal angegeben, werden auch Fehlermeldungen unterdrückt" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "be verbose; specify twice for even more verbose" +msgstr "Ausführlicher Modus; wird diese Option zweimal angegeben, erfolgen noch ausführlichere Ausgaben" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "make warnings not affect the exit status" +msgstr "Warnungen verändern nicht den Exit-Status" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use machine-parsable messages (useful for scripts)" +msgstr "Maschinenlesbare Meldungen ausgeben (nützlich für Skripte)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the total amount of RAM and the currently active memory usage limits, and exit" +msgstr "Gesamtspeicher (RAM) sowie die gegenwärtig aktive Speicherbedarfsbegrenzung anzeigen und das Programm beenden" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the short help (lists only the basic options)" +msgstr "Kurze Hilfe anzeigen (zeigt nur die grundlegenden Optionen)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this long help and exit" +msgstr "Diese lange Hilfe anzeigen und das Programm beenden" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this short help and exit" +msgstr "Diese kurze Hilfe anzeigen und das Programm beenden" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the long help (lists also the advanced options)" +msgstr "Die lange Hilfe (und damit auch fortgeschrittene Optionen) anzeigen" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the version number and exit" +msgstr "Versionsnummer anzeigen und beenden" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "With no FILE, or when FILE is -, read standard input." +msgstr "Wenn DATEI nicht angegeben wurde oder DATEI gleich - ist, dann wird aus der Standardeingabe gelesen." + +#. TRANSLATORS: This message indicates the bug reporting +#. address for this package. Please add another line saying +#. "\nReport translation bugs to <...>." with the email or WWW +#. address for translation bugs. Thanks! +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Report bugs to <%s> (in English or Finnish)." +msgstr "Melden Sie Fehler an <%s> (auf Englisch oder Finnisch)." + +#. TRANSLATORS: The first %s is the name of this software. +#. The second <%s> is an URL. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s home page: <%s>" +msgstr "%s-Homepage: <%s>" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE." +msgstr "DIES IST EINE NICHT FÜR DEN PRODUKTIVBETRIEB GEEIGNETE ENTWICKLERVERSION." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, c-format +msgid "Filter chains are set using the --filters=FILTERS or --filters1=FILTERS ... --filters9=FILTERS options. Each filter in the chain can be separated by spaces or '--'. Alternatively a preset %s can be specified instead of a filter chain." +msgstr "Filterketten werden durch Setzen der Optionen --filters=FILTER oder --filters1=FILTER … --filters9=FILTER definiert. Die Filter können innerhalb der Kette durch Leerzeichen oder »--« getrennt werden. Alternativ kann eine Voreinstellung %s anstelle einer Filterkette verwendet werden." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "The supported filters and their options are:" +msgstr "Folgende Filterkettem und Filteroptionen werden unterstützt:" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "Options must be 'name=value' pairs separated with commas" +msgstr "Optionen müssen in der Form »Name=Wert« gegeben werden, getrennt durch Kommata" + +#: src/xz/options.c +#, c-format +msgid "%s: Invalid option name" +msgstr "%s: Ungültiger Optionsname" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "Invalid option value" +msgstr "Ungültiger Optionswert" + +#: src/xz/options.c +#, c-format +msgid "Unsupported LZMA1/LZMA2 preset: %s" +msgstr "LZMA1/LZMA2-Voreinstellung wird nicht unterstützt: %s" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "The sum of lc and lp must not exceed 4" +msgstr "Die Summe aus lc und lp darf höchstens 4 sein" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Filename has an unknown suffix, skipping" +msgstr "%s: Dateiname hat unbekanntes Suffix, wird übersprungen" + +#: src/xz/suffix.c +#, c-format +msgid "%s: File already has '%s' suffix, skipping" +msgstr "%s: Datei hat bereits das Suffix »%s«, wird übersprungen" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Invalid filename suffix" +msgstr "%s: Ungültige Dateiendung" + +#: src/xz/util.c src/liblzma/common/string_conversion.c +msgid "Value is not a non-negative decimal integer" +msgstr "Wert ist keine nicht-negative dezimale Ganzzahl" + +#: src/xz/util.c +#, c-format +msgid "%s: Invalid multiplier suffix" +msgstr "%s: Ungültige Einheit" + +#: src/xz/util.c +msgid "Valid suffixes are 'KiB' (2^10), 'MiB' (2^20), and 'GiB' (2^30)." +msgstr "Gültige Einheiten sind »KiB« (2^10), »MiB« (2^20) und »GiB« (2^30)." + +#: src/xz/util.c +#, c-format +msgid "Value of the option '%s' must be in the range [%, %]" +msgstr "Wert der Option »%s« muss im Bereich [%, %] sein" + +#: src/xz/util.c +msgid "Compressed data cannot be read from a terminal" +msgstr "Komprimierte Daten können nicht vom Terminal gelesen werden" + +#: src/xz/util.c +msgid "Compressed data cannot be written to a terminal" +msgstr "Komprimierte Daten können nicht auf das Terminal geschrieben werden" + +#: src/lzmainfo/lzmainfo.c +#, c-format +msgid "Usage: %s [--help] [--version] [FILE]...\n" +msgstr "Aufruf: %s [--help] [--version] [DATEI] …\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/lzmainfo/lzmainfo.c +msgid "Show information stored in the .lzma file header." +msgstr "Im .lzma-Dateikopf gespeicherte Informationen anzeigen." + +#: src/lzmainfo/lzmainfo.c +msgid "File is too small to be a .lzma file" +msgstr "Die Datei ist zu klein, um eine .lzma-Datei zu sein" + +#: src/lzmainfo/lzmainfo.c +msgid "Not a .lzma file" +msgstr "Keine .lzma-Datei" + +#: src/common/tuklib_exit.c +msgid "Writing to standard output failed" +msgstr "Schreiben in die Standardausgabe fehlgeschlagen" + +#: src/common/tuklib_exit.c +msgid "Unknown error" +msgstr "Unbekannter Fehler" + +#: src/liblzma/common/string_conversion.c +msgid "Unsupported preset" +msgstr "Voreinstellung wird nicht unterstützt" + +#: src/liblzma/common/string_conversion.c +msgid "Unsupported flag in the preset" +msgstr "Nicht unterstützter Schalter in der Voreinstellung" + +#: src/liblzma/common/string_conversion.c +msgid "Unknown option name" +msgstr "Unbekannter Optionsname" + +#: src/liblzma/common/string_conversion.c +msgid "Option value cannot be empty" +msgstr "Optionswert darf nicht leer sein" + +#: src/liblzma/common/string_conversion.c +msgid "Value out of range" +msgstr "Wert ist außerhalb des zulässigen Bereichs" + +#: src/liblzma/common/string_conversion.c +msgid "This option does not support any multiplier suffixes" +msgstr "Diese Option unterstützt keine Einheiten-Endungen" + +#. TRANSLATORS: Don't translate the +#. suffixes "KiB", "MiB", or "GiB" +#. because a user can only specify +#. untranslated suffixes. +#: src/liblzma/common/string_conversion.c +msgid "Invalid multiplier suffix (KiB, MiB, or GiB)" +msgstr "Ungültige Einheit (KiB, MiB oder GiB)" + +#: src/liblzma/common/string_conversion.c +msgid "Unknown filter name" +msgstr "Unbekannter Filtername" + +#: src/liblzma/common/string_conversion.c +msgid "This filter cannot be used in the .xz format" +msgstr "Dieser Filter kann nicht im .xz-Format verwendet werden" + +#: src/liblzma/common/string_conversion.c +msgid "Memory allocation failed" +msgstr "Speicherzuweisung ist fehlgeschlagen" + +#: src/liblzma/common/string_conversion.c +msgid "Empty string is not allowed, try '6' if a default value is needed" +msgstr "Leere Zeichenkette ist nicht erlaubt; versuchen Sie »6«, wenn der Vorgabewert erwünscht ist" + +#: src/liblzma/common/string_conversion.c +msgid "The maximum number of filters is four" +msgstr "Maximal vier Filter sind möglich" + +#: src/liblzma/common/string_conversion.c +msgid "Filter name is missing" +msgstr "Filtername fehlt" + +#: src/liblzma/common/string_conversion.c +msgid "Invalid filter chain ('lzma2' missing at the end?)" +msgstr "Unzulässige Filterkette (»lzma2« fehlt am Ende?)" diff --git a/src/native/external/xz/po/eo.po b/src/native/external/xz/po/eo.po new file mode 100644 index 00000000000000..8be31c52e10811 --- /dev/null +++ b/src/native/external/xz/po/eo.po @@ -0,0 +1,1627 @@ +# SPDX-License-Identifier: 0BSD +# +# Esperanto translations for xz package. +# This file is published under the BSD Zero Clause License. +# Keith Bowes , 2019, 2023–2024. +# +msgid "" +msgstr "" +"Project-Id-Version: xz 5.6.0-pre2\n" +"Report-Msgid-Bugs-To: xz@tukaani.org\n" +"POT-Creation-Date: 2025-01-29 20:59+0200\n" +"PO-Revision-Date: 2024-02-24 00:16-0500\n" +"Last-Translator: Keith Bowes \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: src/xz/args.c +#, c-format +msgid "%s: Invalid argument to --block-list" +msgstr "%s: Nevalida parametro por --block-list" + +#: src/xz/args.c +#, c-format +msgid "%s: Too many arguments to --block-list" +msgstr "%s: Tro da argumentoj por --block-list" + +#: src/xz/args.c +#, c-format +msgid "In --block-list, block size is missing after filter chain number '%c:'" +msgstr "En --block-list, la blokgrando mankas post numero de la filtrila ĉeno '%c:'" + +#: src/xz/args.c +msgid "0 can only be used as the last element in --block-list" +msgstr "0 povas nur esti uzata kiel la lasta elemento en --block-list" + +#: src/xz/args.c +#, c-format +msgid "%s: Unknown file format type" +msgstr "%s: Nekonata dosierformata tipo" + +#: src/xz/args.c +#, c-format +msgid "%s: Unsupported integrity check type" +msgstr "%s: Nekomprenata tipo de integra kontrolo" + +#: src/xz/args.c +msgid "Only one file can be specified with '--files' or '--files0'." +msgstr "Nur unu dosiero estas specifebla per '--files' aŭ '--files0'." + +#. TRANSLATORS: This is a translatable +#. string because French needs a space +#. before the colon ("%s : %s"). +#: src/xz/args.c src/xz/coder.c src/xz/file_io.c src/xz/list.c src/xz/options.c +#: src/xz/util.c +#, c-format +msgid "%s: %s" +msgstr "%s: %s" + +#: src/xz/args.c +#, c-format +msgid "The environment variable %s contains too many arguments" +msgstr "La medivariablo %s enhavas troajn argumentojn" + +#: src/xz/args.c +msgid "Compression support was disabled at build time" +msgstr "Rego de kunpremado estas malaktivigita dum muntotempo" + +#: src/xz/args.c +msgid "Decompression support was disabled at build time" +msgstr "Rego de malkunpremado estas malaktivigita dum muntotempo" + +#: src/xz/args.c +msgid "Compression of lzip files (.lz) is not supported" +msgstr "Ne povas kunpremi lzip-dosierojn (.lz)" + +#: src/xz/args.c +msgid "--block-list is ignored unless compressing to the .xz format" +msgstr "--block-list estas ignorata se ne kunpremas al la formato .xz" + +#: src/xz/args.c +msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout" +msgstr "Kun --format=raw, --suffix=.SUF estas postulata se ne skribi al la ĉefeligujo" + +#: src/xz/coder.c +msgid "Maximum number of filters is four" +msgstr "Maksimuma nombra da filtriloj estas kvar" + +#: src/xz/coder.c +#, c-format +msgid "Error in --filters%s=FILTERS option:" +msgstr "Erora en la --filters%s=FILTRILOJ elekto:" + +#: src/xz/coder.c +msgid "Memory usage limit is too low for the given filter setup." +msgstr "Memoruzada limigo estas tro malgranda por la donita filtrila elekto." + +#: src/xz/coder.c +#, c-format +msgid "filter chain %u used by --block-list but not specified with --filters%u=" +msgstr "filtrila ĉeno %u uzata de --block-list sed ne specifita per --filters%u=" + +#: src/xz/coder.c +msgid "Using a preset in raw mode is discouraged." +msgstr "Uzi aprioraĵon en kruda reĝimo estas malkonsilinda." + +#: src/xz/coder.c +msgid "The exact options of the presets may vary between software versions." +msgstr "La ĝustaj elektoj de la aprioraĵoj povas varii inter programoj eldonoj." + +#: src/xz/coder.c +msgid "The .lzma format supports only the LZMA1 filter" +msgstr "La .lzma-formato komprenas sole la filtrilon LZMA1" + +#: src/xz/coder.c +msgid "LZMA1 cannot be used with the .xz format" +msgstr "LZMA ne estas uzebla por la .xz-formato" + +#: src/xz/coder.c +#, c-format +msgid "Filter chain %u is incompatible with --flush-timeout" +msgstr "La filtrila ĉeno %u estas nekongrua kun --flush-timeout" + +#: src/xz/coder.c +msgid "Switching to single-threaded mode due to --flush-timeout" +msgstr "Ŝanĝas al unufadena reĝimo pro --flush-timeout" + +#: src/xz/coder.c +#, c-format +msgid "Unsupported options in filter chain %u" +msgstr "Nekomprenataj elektoj en filtrila ĉeno %u" + +#: src/xz/coder.c +#, c-format +msgid "Using up to % threads." +msgstr "Uzas ĝis % fadenoj" + +#: src/xz/coder.c +msgid "Unsupported filter chain or filter options" +msgstr "Nekomprenata filtrila ĉeno aŭ filtrilaj elektoj" + +#: src/xz/coder.c +#, c-format +msgid "Decompression will need %s MiB of memory." +msgstr "Malkunpremado postulos %s megabajtojn da memoro." + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to %s to not exceed the memory usage limit of %s MiB" +msgstr "Malpliigis la nombron da fadenoj de %s ĝis %s por ne superi la memoruzadan limigo de %s megabajtoj" + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to one. The automatic memory usage limit of %s MiB is still being exceeded. %s MiB of memory is required. Continuing anyway." +msgstr "Malpliigis la nombron da fadenoj de %s ĝis unu. La aŭtomata memoruzada limigo de %s megabajtoj ankoraŭ estas superata. %s megabajtoj da memoro estas postulata. Senkonsidere daŭrigas." + +#: src/xz/coder.c +#, c-format +msgid "Switching to single-threaded mode to not exceed the memory usage limit of %s MiB" +msgstr "Ŝanĝas al unufadena reĝimo por ne superi la memoruzadan limigon de %s megabajtoj" + +#: src/xz/coder.c +#, 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 "Alĝŭstigis vortara grando de LZMA%c de %s megabajtoj ĝis %s megabajtoj por ne superi la memoruzadan limigon de %s megabajtoj" + +#: src/xz/coder.c +#, c-format +msgid "Adjusted LZMA%c dictionary size for --filters%u from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgstr "Alĝustigis vortara grando de LZMA%c por --filters%u de %s megabajtoj ĝis %s megabajtoj por ne superi la memoruzadan limigon de %s megabajtoj" + +#: src/xz/coder.c +#, c-format +msgid "Error changing to filter chain %u: %s" +msgstr "Eraro dum ŝanĝiĝo al filtrila ĉeno %u: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error creating a pipe: %s" +msgstr "Eraro dum krei dukton: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: poll() failed: %s" +msgstr "%s: poll() malsukcesis: %s" + +#. 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 +#, c-format +msgid "%s: File seems to have been moved, not removing" +msgstr "%s: Dosiero ŝajne estis movita, ne forigos" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot remove: %s" +msgstr "%s: Ne eblas forigi: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file owner: %s" +msgstr "%s: Ne eblas agordi la dosieran estron: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file group: %s" +msgstr "%s: Ne eblas agordi la dosieran grupon: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file permissions: %s" +msgstr "%s: Ne eblas agordi la dosierajn atingopermesojn: %s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Closing the file failed: %s" +msgid "%s: Synchronizing the file failed: %s" +msgstr "%s: Fermo de la dosiero malsukcesis: %s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Closing the file failed: %s" +msgid "%s: Synchronizing the directory of the file failed: %s" +msgstr "%s: Fermo de la dosiero malsukcesis: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard input: %s" +msgstr "Eraro dum atingi la dosierstatajn flagojn de ĉefenigujon: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a symbolic link, skipping" +msgstr "%s: Estas simbola ligilo, preterpasas" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a directory, skipping" +msgstr "%s: Estas dosierujo, preterpasas" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Not a regular file, skipping" +msgstr "%s: Ne regula dosiero, preterpasas" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has setuid or setgid bit set, skipping" +msgstr "%s: Dosiero havas setuid- aŭ setgid-biton, preterpasas" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has sticky bit set, skipping" +msgstr "%s: Dosiero havas glueman biton, preterpasas" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Input file has more than one hard link, skipping" +msgstr "%s: Enmeta dosiero havas pli ol rektan ligilon, preterpasas" + +#: src/xz/file_io.c +msgid "Empty filename, skipping" +msgstr "Malplena dosiero, preterpasas" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the status flags to standard input: %s" +msgstr "Eraro dum restarigi la statajn flagojn de la ĉefenigujo: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard output: %s" +msgstr "Eraro dum atingi la dosierstatajn flagojn el la ĉefenigujo: %s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Closing the file failed: %s" +msgid "%s: Opening the directory failed: %s" +msgstr "%s: Fermo de la dosiero malsukcesis: %s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Not a regular file, skipping" +msgid "%s: Destination is not a regular file" +msgstr "%s: Ne regula dosiero, preterpasas" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the O_APPEND flag to standard output: %s" +msgstr "Eraro dum restarigi la flagon O_APPEND de la ĉefenigujo: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Closing the file failed: %s" +msgstr "%s: Fermo de la dosiero malsukcesis: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Seeking failed when trying to create a sparse file: %s" +msgstr "%s: Serĉado malsukcesis dum provi krei maldensan dosieron: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Read error: %s" +msgstr "%s: Legeraro: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Error seeking the file: %s" +msgstr "%s: Eraro dum serĉi la dosieron: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Unexpected end of file" +msgstr "%s: Neatendita dosierfino" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Write error: %s" +msgstr "%s: Skriberaro: %s" + +#: src/xz/hardware.c +msgid "Disabled" +msgstr "Malaktiva" + +#: src/xz/hardware.c +msgid "Amount of physical memory (RAM):" +msgstr "Kiomo da efektiva memoro (ĉefmemoro)" + +#: src/xz/hardware.c +msgid "Number of processor threads:" +msgstr "Nombro da procesoraj fadenoj:" + +#: src/xz/hardware.c +msgid "Compression:" +msgstr "Kunpremo:" + +#: src/xz/hardware.c +msgid "Decompression:" +msgstr "Malkunmpreno:" + +#: src/xz/hardware.c +msgid "Multi-threaded decompression:" +msgstr "Plurfadena malkunpremado:" + +#: src/xz/hardware.c +msgid "Default for -T0:" +msgstr "Aprioraĵo por -T0:" + +#: src/xz/hardware.c +msgid "Hardware information:" +msgstr "Aparataro-informoj:" + +#: src/xz/hardware.c +msgid "Memory usage limits:" +msgstr "Memoruzada limigoj:" + +#: src/xz/list.c +msgid "Streams:" +msgstr "Fluoj:" + +#: src/xz/list.c +msgid "Blocks:" +msgstr "Blokoj:" + +#: src/xz/list.c +msgid "Compressed size:" +msgstr "Kunpremita grando:" + +#: src/xz/list.c +msgid "Uncompressed size:" +msgstr "Nekunpremita grando:" + +#: src/xz/list.c +msgid "Ratio:" +msgstr "Proporcio:" + +#: src/xz/list.c +msgid "Check:" +msgstr "Kontrolo:" + +#: src/xz/list.c +msgid "Stream Padding:" +msgstr "Fluo-remburo:" + +#: src/xz/list.c +msgid "Memory needed:" +msgstr "Memoro postulata:" + +#: src/xz/list.c +msgid "Sizes in headers:" +msgstr "Grandoj en ĉapoj:" + +#: src/xz/list.c +msgid "Number of files:" +msgstr "Nombro da dosieroj:" + +#: src/xz/list.c +msgid "Stream" +msgstr "Fluo" + +#: src/xz/list.c +msgid "Block" +msgstr "Bloko" + +#: src/xz/list.c +msgid "Blocks" +msgstr "Blokoj" + +#: src/xz/list.c +msgid "CompOffset" +msgstr "KunpMsam" + +#: src/xz/list.c +msgid "UncompOffset" +msgstr "MKunMSam" + +#: src/xz/list.c +msgid "CompSize" +msgstr "Kunpgrando" + +#: src/xz/list.c +msgid "UncompSize" +msgstr "Mkunpgrando" + +#: src/xz/list.c +msgid "TotalSize" +msgstr "KiomGrando" + +#: src/xz/list.c +msgid "Ratio" +msgstr "Proporcio" + +#: src/xz/list.c +msgid "Check" +msgstr "Kontrolo" + +#: src/xz/list.c +msgid "CheckVal" +msgstr "KontVal" + +#: src/xz/list.c +msgid "Padding" +msgstr "Remburo" + +#: src/xz/list.c +msgid "Header" +msgstr "Ĉapo" + +#: src/xz/list.c +msgid "Flags" +msgstr "Flago" + +#: src/xz/list.c +msgid "MemUsage" +msgstr "Memuzado" + +#: src/xz/list.c +msgid "Filters" +msgstr "Filtriloj" + +#. TRANSLATORS: Indicates that there is no integrity check. +#. This string is used in tables. In older xz version this +#. string was limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "None" +msgstr "Nenio" + +#. TRANSLATORS: Indicates that integrity check name is not known, +#. but the Check ID is known (here 2). In older xz version these +#. strings were limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "Unknown-2" +msgstr "Nekonata-2" + +#: src/xz/list.c +msgid "Unknown-3" +msgstr "Nekonata-3" + +#: src/xz/list.c +msgid "Unknown-5" +msgstr "Nekonata-5" + +#: src/xz/list.c +msgid "Unknown-6" +msgstr "Nekonata-6" + +#: src/xz/list.c +msgid "Unknown-7" +msgstr "Nekonata-7" + +#: src/xz/list.c +msgid "Unknown-8" +msgstr "Nekonata-8" + +#: src/xz/list.c +msgid "Unknown-9" +msgstr "Nekonata-9" + +#: src/xz/list.c +msgid "Unknown-11" +msgstr "Nekonata-11" + +#: src/xz/list.c +msgid "Unknown-12" +msgstr "Nekonata-12" + +#: src/xz/list.c +msgid "Unknown-13" +msgstr "Nekonata-13" + +#: src/xz/list.c +msgid "Unknown-14" +msgstr "Nekonata-14" + +#: src/xz/list.c +msgid "Unknown-15" +msgstr "Nekonata-15" + +#: src/xz/list.c +#, c-format +msgid "%s: File is empty" +msgstr "%s: Dosiero malplenas" + +#: src/xz/list.c +#, c-format +msgid "%s: Too small to be a valid .xz file" +msgstr "%s: Tro malgranda por esti valida .xz-dosiero" + +#. 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 +msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" +msgstr "Fluoj Blokoj Kunpremita Nekunpremita Propor Kontrol Dosiernomo" + +#: src/xz/list.c +msgid "Yes" +msgstr "Jes" + +#: src/xz/list.c +msgid "No" +msgstr "Ne" + +#: src/xz/list.c +#, fuzzy +#| msgid " Minimum XZ Utils version: %s\n" +msgid "Minimum XZ Utils version:" +msgstr " Minimuma eldono de XZ Utils: %s\n" + +#. 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 +#, c-format +msgid "%s file\n" +msgid_plural "%s files\n" +msgstr[0] "%s dosiero\n" +msgstr[1] "%s dosieroj\n" + +#: src/xz/list.c +msgid "Totals:" +msgstr "Sumoj:" + +#: src/xz/list.c +msgid "--list works only on .xz files (--format=xz or --format=auto)" +msgstr "--list funkcias nur por .xz-dosierojn (--format=xz aŭ --format=auto)" + +#: src/xz/list.c +msgid "Try 'lzmainfo' with .lzma files." +msgstr "Provi la programon 'lzmainfo' por .lzma-dosieroj." + +#: src/xz/list.c +msgid "--list does not support reading from standard input" +msgstr "--list ne regas legadon el la ĉefenigujo" + +#: src/xz/main.c +#, c-format +msgid "%s: Error reading filenames: %s" +msgstr "%s: Eraro dum legi dosiernomojn: %s" + +#: src/xz/main.c +#, c-format +msgid "%s: Unexpected end of input when reading filenames" +msgstr "%s: Neatendita fino de enigo dum legi dosiernomojn" + +#: src/xz/main.c +#, c-format +msgid "%s: Null character found when reading filenames; maybe you meant to use '--files0' instead of '--files'?" +msgstr "%s: Nula signo trovita dum legi dosiernomojn; eble vi celis uzi la parametron '--files0' anstataŭ '--files'" + +#: src/xz/main.c +msgid "Compression and decompression with --robot are not supported yet." +msgstr "Kunpremo kaj malkunmpremo per --robot ankoraŭ ne estas regataj." + +#: src/xz/main.c +msgid "Cannot read data from standard input when reading filenames from standard input" +msgstr "Ne eblas legi datumojn el la ĉefenigujo dum legi dosiernomojn el la ĉefenigujo" + +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s: " +msgstr "%s: " + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "Internal error (bug)" +msgstr "Interna programeraro" + +#: src/xz/message.c +msgid "Cannot establish signal handlers" +msgstr "Ne eblas establi signalajn traktilojn" + +#: src/xz/message.c +msgid "No integrity check; not verifying file integrity" +msgstr "Neniu integra kontrolo; ne certigos dosieran integron" + +#: src/xz/message.c +msgid "Unsupported type of integrity check; not verifying file integrity" +msgstr "Nekomprenata tipo de integra kontrolo; ne certigos dosieran integron" + +#: src/xz/message.c +msgid "Memory usage limit reached" +msgstr "Memoruzada limigo atingita" + +#: src/xz/message.c +msgid "File format not recognized" +msgstr "Dosierformato ne rekonata" + +#: src/xz/message.c +msgid "Unsupported options" +msgstr "Nekomprenataj elektoj" + +#: src/xz/message.c +msgid "Compressed data is corrupt" +msgstr "Kunpremitaj datumoj estas koruptaj" + +#: src/xz/message.c +msgid "Unexpected end of input" +msgstr "Neatendita fino de enigo" + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limiter is disabled." +msgstr "%s megabajtoj da memoro estas postulataj. La limigilo estas malaktiva." + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limit is %s." +msgstr "%s megabajtoj da memoro estas postulata. La limigo estas %s." + +#: src/xz/message.c +#, c-format +msgid "%s: Filter chain: %s\n" +msgstr "%s: Filtrila ĉeno: %s\n" + +#: src/xz/message.c +#, c-format +msgid "Try '%s --help' for more information." +msgstr "'%s --help' por pliaj informaj." + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Error printing the help text (error code %d)" +msgstr "" + +#: src/xz/message.c +#, c-format +msgid "Usage: %s [OPTION]... [FILE]...\n" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "Usage: %s [OPTION]... [FILE]...\n" +#| "Compress or decompress FILEs in the .xz format.\n" +#| "\n" +msgid "Compress or decompress FILEs in the .xz format." +msgstr "" +"Uzmaniero: %s [ELEKTO].. [DOSIERO]...\n" +"Kunpremi aŭ malkunpremi DOSIEROjN laŭ la .xz-formato.\n" +"\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Mandatory arguments to long options are mandatory for short options too.\n" +msgid "Mandatory arguments to long options are mandatory for short options too." +msgstr "" +"Devigitaj parametroj por longaj elektoj estas ankaŭ devigitaj por\n" +"mallongaj elektoj.\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " Operation mode:\n" +msgid "Operation mode:" +msgstr " Operacia reĝimo:\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Decompression:" +msgid "force compression" +msgstr "Malkunmpreno:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Decompression:" +msgid "force decompression" +msgstr "Malkunmpreno:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "test compressed file integrity" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "list information about .xz files" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Operation modifiers:\n" +msgid "Operation modifiers:" +msgstr "" +"\n" +" Operacia modifiloj:\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "keep (don't delete) input files" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force overwrite of output file and (de)compress links" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Writing to standard output failed" +msgid "write to standard output and don't delete input files" +msgstr "Skribi al la ĉefeligujo malsukcesis" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't synchronize the output file to the storage device before removing the input file" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --single-stream decompress only the first stream, and silently\n" +#| " ignore possible remaining input data" +msgid "decompress only the first stream, and silently ignore possible remaining input data" +msgstr "" +" --single-stream\n" +" malkunpremi nur la unuan fluon kaj silente\n" +" ignori eventualajn ceterajn enigajn datumojn" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "do not create sparse files when decompressing" +msgstr "" + +#: src/xz/message.c +msgid ".SUF" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use the suffix '.SUF' on compressed files" +msgstr "" + +#: src/xz/message.c +msgid "FILE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "read filenames to process from FILE; if FILE is omitted, filenames are read from the standard input; filenames must be terminated with the newline character" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "like --files but use the null character as terminator" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Basic file format and compression options:\n" +msgid "Basic file format and compression options:" +msgstr "" +"\n" +" Bazaj dosierformataj kaj kunpremaj elektoj:\n" + +#: src/xz/message.c +msgid "FORMAT" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "file format to encode or decode; possible values are 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'" +msgstr "" + +#: src/xz/message.c +msgid "NAME" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "integrity check type: 'none' (use with caution), 'crc32', 'crc64' (default), or 'sha256'" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " --ignore-check don't verify the integrity check when decompressing" +msgid "don't verify the integrity check when decompressing" +msgstr " --ignore-check ne certigi la integran kontrolon dum malkunpremo" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " -0 ... -9 compression preset; default is 6; take compressor *and*\n" +#| " decompressor memory usage into account before using 7-9!" +msgid "compression preset; default is 6; take compressor *and* decompressor memory usage into account before using 7-9!" +msgstr "" +" -0 ... -9 kunpremnivelo; apriore 6; pripensu memoruzadon antaŭ ol\n" +" uzi la nivelojn 7-9!" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " -e, --extreme try to improve compression ratio by using more CPU time;\n" +#| " does not affect decompressor memory requirements" +msgid "try to improve compression ratio by using more CPU time; does not affect decompressor memory requirements" +msgstr "" +" -e, --extreme provi plibonigi kunpreman proporcion per uzado de\n" +" ĉefprocesoran tempon; ne influas la memorajn postulojn\n" +" de malkunpremo" + +#. TRANSLATORS: Short for NUMBER. A longer string is fine but +#. wider than 5 columns makes --long-help a few lines longer. +#: src/xz/message.c +msgid "NUM" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " -T, --threads=NUM use at most NUM threads; the default is 0 which uses\n" +#| " as many threads as there are processor cores" +msgid "use at most NUM threads; the default is 0 which uses as many threads as there are processor cores" +msgstr "" +" -T, --threads=NOMBRO\n" +" uzi maksimume NOMBRO da fadenoj; apriore 0, kiu\n" +" uzas fadenojn samnombrajn kiel procesorajn kernojn" + +#: src/xz/message.c +msgid "SIZE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --block-size=SIZE\n" +#| " start a new .xz block after every SIZE bytes of input;\n" +#| " use this to set the block size for threaded compression" +msgid "start a new .xz block after every SIZE bytes of input; use this to set the block size for threaded compression" +msgstr "" +" --block-size=GRANDO\n" +" komenci novan .xz-blokon post ĉiu GRANDO bajtoj da enigo;\n" +" uzi por agordi la blokan grandon por kunfadena kunpremo" + +#: src/xz/message.c +msgid "BLOCKS" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --block-list=BLOCKS\n" +#| " start a new .xz block after the given comma-separated\n" +#| " intervals of uncompressed data; optionally, specify a\n" +#| " filter chain number (0-9) followed by a ':' before the\n" +#| " uncompressed data size" +msgid "start a new .xz block after the given comma-separated intervals of uncompressed data; optionally, specify a filter chain number (0-9) followed by a ':' before the uncompressed data size" +msgstr "" +" --block-list=BLOKOJ\n" +" komenci novan .xz-blokon post la donitajn intertempojn de\n" +" nekunpremitaj datumoj, apartigataj de komoj. Laŭvole\n" +" specifi numero (0-9) de filtrila ĉeno kaj poste ':' antaŭ\n" +" la malkunpremita datuma grando" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --flush-timeout=TIMEOUT\n" +#| " when compressing, if more than TIMEOUT milliseconds has\n" +#| " passed since the previous flush and reading more input\n" +#| " would block, all pending data is flushed out" +msgid "when compressing, if more than NUM milliseconds has passed since the previous flush and reading more input would block, all pending data is flushed out" +msgstr "" +" --flush-timeout=TEMPOLIMO\n" +" dum kunpremo se pli ol TEMPOLIMO milisekundoj\n" +" okazis post la antaŭan elbufrigo kaj legi pliajn enigojn\n" +" paŭzigus, ĉiuj atendataj datumoj estas elbufrigataj" + +#: src/xz/message.c +msgid "LIMIT" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, no-c-format +msgid "set memory usage limit for compression, decompression, threaded decompression, or all of these; LIMIT is in bytes, % of RAM, or 0 for defaults" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --no-adjust if compression settings exceed the memory usage limit,\n" +#| " give an error instead of adjusting the settings downwards" +msgid "if compression settings exceed the memory usage limit, give an error instead of adjusting the settings downwards" +msgstr "" +" --no-adjust se kunprema agordo superas la memoruzadan limigon\n" +" montri eraron anstataŭ malgrandigi la agordaĵon" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Custom filter chain for compression (alternative for using presets):" +msgid "Custom filter chain for compression (an alternative to using presets):" +msgstr "" +"\n" +" Propra filtrila ĉeno por kunpremo (alternativaj por uzi antaŭagordaĵon):" + +#: src/xz/message.c +msgid "FILTERS" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " --filters=FILTERS set the filter chain using the liblzma filter string\n" +#| " syntax; use --filters-help for more information" +msgid "set the filter chain using the liblzma filter string syntax; use --filters-help for more information" +msgstr "" +"\n" +" --filters=FILTRILOJ agordi la filtrilan ĉenan uzanta la sintakso de la\n" +" lzma-filtrila ĉeno. --filters-help or pliaj informoj" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --filters1=FILTERS ... --filters9=FILTERS\n" +#| " set additional filter chains using the liblzma filter\n" +#| " string syntax to use with --block-list" +msgid "set additional filter chains using the liblzma filter string syntax to use with --block-list" +msgstr "" +" --filters=FILTRILOJ ... --filters9=FILTRILOJ\n" +" agordi aldonajn filtrilajn ĉenojn por uzi kun\n" +" --block-list per la sintakso de liblzma-filtrila ĉeno" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --filters-help display more information about the liblzma filter string\n" +#| " syntax and exit." +msgid "display more information about the liblzma filter string syntax and exit" +msgstr "" +" --filters-help montri pliajn informojn pri la sintakso de la\n" +" liblzma-filtrila ĉeno kaj poste eliri." + +#. TRANSLATORS: Short for OPTIONS. +#: src/xz/message.c +msgid "OPTS" +msgstr "" + +#. TRANSLATORS: Use semicolon (or its fullwidth form) +#. in "(valid values; default)" even if it is weird in +#. your language. There are non-translatable strings +#. that look like "(foo, bar, baz; foo)" which list +#. the supported values and the default value. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "LZMA1 or LZMA2; OPTS is a comma-separated list of zero or more of the following options (valid values; default):" +msgstr "" + +#. TRANSLATORS: Short for PRESET. A longer string is +#. fine but wider than 4 columns makes --long-help +#. one line longer. +#: src/xz/message.c +msgid "PRE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "reset options to a preset" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "dictionary size" +msgstr "" + +#. TRANSLATORS: The word "literal" in "literal context +#. bits" means how many "context bits" to use when +#. encoding literals. A literal is a single 8-bit +#. byte. It doesn't mean "literally" here. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal context bits" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal position bits" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Number of processor threads:" +msgid "number of position bits" +msgstr "Nombro da procesoraj fadenoj:" + +#: src/xz/message.c +msgid "MODE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Decompression:" +msgid "compression mode" +msgstr "Malkunmpreno:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "nice length of a match" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "match finder" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "maximum search depth; 0=automatic (default)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "x86 BCJ filter (32-bit and 64-bit)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM-Thumb BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM64 BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "PowerPC BCJ filter (big endian only)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "IA-64 (Itanium) BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "SPARC BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "RISC-V BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Valid OPTS for all BCJ filters:" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start offset for conversions (default=0)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Delta filter; valid OPTS (valid values; default):" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "distance between bytes being subtracted from each other" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Other options:\n" +msgid "Other options:" +msgstr "" +"\n" +" Aliaj elektoj:\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "suppress warnings; specify twice to suppress errors too" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "be verbose; specify twice for even more verbose" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " -Q, --no-warn make warnings not affect the exit status" +msgid "make warnings not affect the exit status" +msgstr " -Q, --no-warn avertoj ne influu la eliran staton" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " --robot use machine-parsable messages (useful for scripts)" +msgid "use machine-parsable messages (useful for scripts)" +msgstr " --robot uzi mesaĝojn facile analizeblaj per skriptoj" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --info-memory display the total amount of RAM and the currently active\n" +#| " memory usage limits, and exit" +msgid "display the total amount of RAM and the currently active memory usage limits, and exit" +msgstr "" +" --info-memory montri la totalan kiomon de la ĉefmemoro kaj la nune\n" +" aktivaj memoruzadaj limigoj, kaj finiĝi" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the short help (lists only the basic options)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this long help and exit" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this short help and exit" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the long help (lists also the advanced options)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " -V, --version display the version number and exit" +msgid "display the version number and exit" +msgstr " -V, --version montri la eldonan numeron kaj finiĝi" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, fuzzy +#| msgid "" +#| "\n" +#| "With no FILE, or when FILE is -, read standard input.\n" +msgid "With no FILE, or when FILE is -, read standard input." +msgstr "" +"\n" +"Kun neniu DOSIERO aŭ kiam DOSIERO estas -, legi el la ĉefenigujo.\n" + +#. TRANSLATORS: This message indicates the bug reporting +#. address for this package. Please add another line saying +#. "\nReport translation bugs to <...>." with the email or WWW +#. address for translation bugs. Thanks! +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, fuzzy, c-format +#| msgid "Report bugs to <%s> (in English or Finnish).\n" +msgid "Report bugs to <%s> (in English or Finnish)." +msgstr "Raporti programerarojn al <%s> (en la angla aŭ la suoma).\n" + +#. TRANSLATORS: The first %s is the name of this software. +#. The second <%s> is an URL. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, fuzzy, c-format +#| msgid "%s home page: <%s>\n" +msgid "%s home page: <%s>" +msgstr "%s ĉefpaĝo: <%s>\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE." +msgstr "ĈI TIU ESTAS DISVOLVA REDAKCIO, NE CELATA POR ĈIUTAGA UZADO." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy, c-format +#| msgid "" +#| "Filter chains are set using the --filters=FILTERS or\n" +#| "--filters1=FILTERS ... --filters9=FILTERS options. Each filter in the chain\n" +#| "can be separated by spaces or '--'. Alternatively a preset <0-9>[e] can be\n" +#| "specified instead of a filter chain.\n" +msgid "Filter chains are set using the --filters=FILTERS or --filters1=FILTERS ... --filters9=FILTERS options. Each filter in the chain can be separated by spaces or '--'. Alternatively a preset %s can be specified instead of a filter chain." +msgstr "" +"Filtrilaj ĉenoj estas agorditaj per la elektoj --filters=FIILTRILOJ aŭ\n" +"--filters1=FILTRILOJ ... --filters9=FILTRILOJ. Ĉiu filtrilo en la ĉeno\n" +"estas apartigebla per spacetoj aŭ '--'. Alternative antaŭargordo <0-9>[e]\n" +"anstataŭ filtrila ĉeno estas specifebla.\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "The supported filters and their options are:" +msgstr "La komprenataj filtriloj aŭ filtrilaj elektoj estas:" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Options must be 'name=value' pairs separated with commas" +msgid "Options must be 'name=value' pairs separated with commas" +msgstr "%s: Elektoj devas esti paroj de 'name=value', apartigitaj per komoj" + +#: src/xz/options.c +#, c-format +msgid "%s: Invalid option name" +msgstr "%s: Nevalida elekto-nomo" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Invalid option value" +msgid "Invalid option value" +msgstr "%s: Nevalida elekto-valoro" + +#: src/xz/options.c +#, c-format +msgid "Unsupported LZMA1/LZMA2 preset: %s" +msgstr "Nevalida LZMA1/LZMA2 antaŭagordaĵo: %s" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "The sum of lc and lp must not exceed 4" +msgstr "La sumo de lc kaj lp devas ne esti pli ol 4" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Filename has an unknown suffix, skipping" +msgstr "%s: Dosiernomo havas nekonatan sufikson, preterpasas" + +#: src/xz/suffix.c +#, c-format +msgid "%s: File already has '%s' suffix, skipping" +msgstr "%s: Dosiero jam havas la sufikson '%s', preterpasas" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Invalid filename suffix" +msgstr "%s: Nevalida dosiernoma sufikso" + +#: src/xz/util.c src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Value is not a non-negative decimal integer" +msgid "Value is not a non-negative decimal integer" +msgstr "%s: Valoro ne estas nenegativa dekuma entjero" + +#: src/xz/util.c +#, c-format +msgid "%s: Invalid multiplier suffix" +msgstr "%s: Nevalida multiplika sufikso" + +#: src/xz/util.c +msgid "Valid suffixes are 'KiB' (2^10), 'MiB' (2^20), and 'GiB' (2^30)." +msgstr "Validaj sufiksoj estas 'KiB' (2^10), 'MiB' (2^20) kaj 'GiB' (2^30)." + +#: src/xz/util.c +#, c-format +msgid "Value of the option '%s' must be in the range [%, %]" +msgstr "Valoro de la elekto '%s' devas esti inkluzive inter % kaj %" + +#: src/xz/util.c +msgid "Compressed data cannot be read from a terminal" +msgstr "Kunpremitaj datumoj ne povas esti ligataj de terminalo" + +#: src/xz/util.c +msgid "Compressed data cannot be written to a terminal" +msgstr "Kunpremitaj datumoj ne povas esti skribataj al terminalo" + +#: src/lzmainfo/lzmainfo.c +#, fuzzy, c-format +#| msgid "" +#| "Usage: %s [--help] [--version] [FILE]...\n" +#| "Show information stored in the .lzma file header" +msgid "Usage: %s [--help] [--version] [FILE]...\n" +msgstr "" +"Uzmaniero: %s [--help] [--version] [DOSIERO]...\n" +"Montri informojn konservitaj en la .lzma-dosiera ĉapo" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/lzmainfo/lzmainfo.c +#, fuzzy +#| msgid "" +#| "Usage: %s [--help] [--version] [FILE]...\n" +#| "Show information stored in the .lzma file header" +msgid "Show information stored in the .lzma file header." +msgstr "" +"Uzmaniero: %s [--help] [--version] [DOSIERO]...\n" +"Montri informojn konservitaj en la .lzma-dosiera ĉapo" + +#: src/lzmainfo/lzmainfo.c +msgid "File is too small to be a .lzma file" +msgstr "Dosiero malgrandas por esti .lzma-dosiero" + +#: src/lzmainfo/lzmainfo.c +msgid "Not a .lzma file" +msgstr "Ne .lzma-dosiero" + +#: src/common/tuklib_exit.c +msgid "Writing to standard output failed" +msgstr "Skribi al la ĉefeligujo malsukcesis" + +#: src/common/tuklib_exit.c +msgid "Unknown error" +msgstr "Nekonata eraro" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "Unsupported options" +msgid "Unsupported preset" +msgstr "Nekomprenataj elektoj" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "Unsupported filter chain or filter options" +msgid "Unsupported flag in the preset" +msgstr "Nekomprenata filtrila ĉeno aŭ filtrilaj elektoj" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Invalid option name" +msgid "Unknown option name" +msgstr "%s: Nevalida elekto-nomo" + +#: src/liblzma/common/string_conversion.c +msgid "Option value cannot be empty" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "Value out of range" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "This option does not support any multiplier suffixes" +msgstr "" + +#. TRANSLATORS: Don't translate the +#. suffixes "KiB", "MiB", or "GiB" +#. because a user can only specify +#. untranslated suffixes. +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Invalid multiplier suffix" +msgid "Invalid multiplier suffix (KiB, MiB, or GiB)" +msgstr "%s: Nevalida multiplika sufikso" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Unknown file format type" +msgid "Unknown filter name" +msgstr "%s: Nekonata dosierformata tipo" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "LZMA1 cannot be used with the .xz format" +msgid "This filter cannot be used in the .xz format" +msgstr "LZMA ne estas uzebla por la .xz-formato" + +#: src/liblzma/common/string_conversion.c +msgid "Memory allocation failed" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "Empty string is not allowed, try '6' if a default value is needed" +msgstr "" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "Maximum number of filters is four" +msgid "The maximum number of filters is four" +msgstr "Maksimuma nombra da filtriloj estas kvar" + +#: src/liblzma/common/string_conversion.c +msgid "Filter name is missing" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "Invalid filter chain ('lzma2' missing at the end?)" +msgstr "" + +#~ msgid "" +#~ " -z, --compress force compression\n" +#~ " -d, --decompress force decompression\n" +#~ " -t, --test test compressed file integrity\n" +#~ " -l, --list list information about .xz files" +#~ msgstr "" +#~ " -z, --compress eldevigi kunpremon\n" +#~ " -d, --decompress eldevigi malkunpremon\n" +#~ " -t, --test certigi la integron de kunpremitan dosieron\n" +#~ " -l, --list listigi informojn pri .xz-dosierojn" + +#~ 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 ne forigi enigajn dosierojn\n" +#~ " -f, --force eldevigi anstataŭigi eligajn dosierojn kaj\n" +#~ " (mal)kunpmremajn ligilojn \n" +#~ " -c, --stdout skribi al la ĉefeligujo kaj ne forigi enigajn dosierojn" + +#~ msgid "" +#~ " --no-sparse do not create sparse files when decompressing\n" +#~ " -S, --suffix=.SUF use the suffix '.SUF' on compressed files\n" +#~ " --files[=FILE] read filenames to process from FILE; if FILE is\n" +#~ " omitted, filenames are read from the standard input;\n" +#~ " filenames must be terminated with the newline character\n" +#~ " --files0[=FILE] like --files but use the null character as terminator" +#~ msgstr "" +#~ " --no-sparse ne krei maldensajn dosierojn dum malkunpremiĝo\n" +#~ " -S, --suffix=.SUF uzi la sufikson '.SUF' ĉe kunpremataj dosieroj\n" +#~ " --files[=DOSIERO]\n" +#~ " legi dosiernomojn traktotajn el DOSIERO; se DOSIERO estas\n" +#~ " forlasita, dosiernomoj estas legataj el la ĉefenigujo;\n" +#~ " dosiernomojn devas finigi novlinia signo\n" +#~ " --files0[=DOSIERO]\n" +#~ " kiel --files sed uzi la nulan signon por finigi" + +#~ msgid "" +#~ " -F, --format=FMT file format to encode or decode; possible values are\n" +#~ " 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'\n" +#~ " -C, --check=CHECK integrity check type: 'none' (use with caution),\n" +#~ " 'crc32', 'crc64' (default), or 'sha256'" +#~ msgstr "" +#~ "h -F, --format=FMT dosierformato kodota aŭ malkodata; validaj valoroj estas\n" +#~ " 'auto' (apriora), 'xz', 'lzma', 'lzip' kaj 'raw'\n" +#~ " -C, --check=KONT tipo de integra kontrolo: 'none' (estu atentema),\n" +#~ " 'crc32', 'crc64' (apriora) aŭ 'sha256'" + +#, no-c-format +#~ msgid "" +#~ " --memlimit-compress=LIMIT\n" +#~ " --memlimit-decompress=LIMIT\n" +#~ " --memlimit-mt-decompress=LIMIT\n" +#~ " -M, --memlimit=LIMIT\n" +#~ " set memory usage limit for compression, decompression,\n" +#~ " threaded decompression, or all of these; LIMIT is in\n" +#~ " bytes, % of RAM, or 0 for defaults" +#~ msgstr "" +#~ " --memlimit-compress=LIMIGO\n" +#~ " --memlimit-decompress=LIMIGO\n" +#~ " --memlimit-mt-decompress=LIMIGO\n" +#~ " -M, --memlimit=LIMO\n" +#~ " agordi memoruzadon por kunpremo, malkunpremo,\n" +#~ " kunfadena kunpmero aŭ ĉiuj el tiuj; LIMIGO estas\n" +#~ " laŭ bajtoj, % da ĉefmemoro, aŭ 0 por aprioraĵoj" + +#~ msgid "" +#~ "\n" +#~ " --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n" +#~ " --lzma2[=OPTS] more of the following options (valid values; default):\n" +#~ " preset=PRE reset options to a preset (0-9[e])\n" +#~ " dict=NUM dictionary size (4KiB - 1536MiB; 8MiB)\n" +#~ " lc=NUM number of literal context bits (0-4; 3)\n" +#~ " lp=NUM number of literal position bits (0-4; 0)\n" +#~ " pb=NUM number of position bits (0-4; 2)\n" +#~ " mode=MODE compression mode (fast, normal; normal)\n" +#~ " nice=NUM nice length of a match (2-273; 64)\n" +#~ " mf=NAME match finder (hc3, hc4, bt2, bt3, bt4; bt4)\n" +#~ " depth=NUM maximum search depth; 0=automatic (default)" +#~ msgstr "" +#~ "\n" +#~ " --lzma1[=ELEKTOJ] LZMA1 aŭ LZMA2; OPTS estas listo de nul aŭ pliaj\n" +#~ " --lzma2[=ELEKTOJ] de la jenaj elektoj (validaj valoroj; apriora),\n" +#~ " apartigataj de komoj:\n" +#~ " preset=ANT restarigi agordon al antaŭagordaĵon (0-9[e])\n" +#~ " dict=NOM vortara grando (4 kilobajtoj - 1536\n" +#~ " megabajtoj; 8 megabajtoj)\n" +#~ " lc=NOM nombro da laŭvortaj kuntekstaj bitoj\n" +#~ " (0-4; 3)\n" +#~ " lp=NOM nombro da laŭvortaj poziciaj bitoj (0-4; 0)\n" +#~ " pb=NOM nombro da poziciaj bitoj (0-4; 2)\n" +#~ " mode=REĜI kunprema reĝimo (fast, normal; normal)\n" +#~ " nice=NOM bona longo de kongruaĵo (2-273; 64)\n" +#~ " mf=NOMO kongruaĵa trovilo (hc3, hc4, bt2, bt3, bt4;\n" +#~ " bt4)\n" +#~ " depth=NUM maksimuma profundo de serĉo; 0=aŭtomata\n" +#~ " (apriore)" + +#~ msgid "" +#~ "\n" +#~ " --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n" +#~ " --arm[=OPTS] ARM BCJ filter\n" +#~ " --armthumb[=OPTS] ARM-Thumb BCJ filter\n" +#~ " --arm64[=OPTS] ARM64 BCJ filter\n" +#~ " --powerpc[=OPTS] PowerPC BCJ filter (big endian only)\n" +#~ " --ia64[=OPTS] IA-64 (Itanium) BCJ filter\n" +#~ " --sparc[=OPTS] SPARC BCJ filter\n" +#~ " --riscv[=OPTS] RISC-V BCJ filter\n" +#~ " Valid OPTS for all BCJ filters:\n" +#~ " start=NUM start offset for conversions (default=0)" +#~ msgstr "" +#~ "\n" +#~ " --x86[=ELEKTOJ] x86-BCJ-filtrilo (32-bita kaj 64-bita)\n" +#~ " --arm[=ELEKTOJ] ARM-BCJ-filtrilo\n" +#~ " --armthumb[=ELEKTOJ]\n" +#~ " ARM-Thumb-BCJ-filtrilo\n" +#~ " --arm64[=OPTS] ARM64-BCJ-filtrilo\n" +#~ " --powerpc[=ELEKTOJ] PowerPC-BCJ-filtrilo (nur pezkomenca)\n" +#~ " --ia64[=ELEKTOJ] IA-64 (Itanium)-BCJ-filtrilo\n" +#~ " --sparc[=ELEKTOJ] SPARC-BCJ-filtrilo\n" +#~ " --riscv[=ELEKTOJ] RISC-V_BCJ-filtrilo\n" +#~ " Validaj ELEKTOJ por ĉiuj BCJ-filters:\n" +#~ " start=NOMBRO komenca deŝovo por konvertoj (apriore 0)" + +#~ msgid "" +#~ "\n" +#~ " --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n" +#~ " dist=NUM distance between bytes being subtracted\n" +#~ " from each other (1-256; 1)" +#~ msgstr "" +#~ "\n" +#~ " --delta[=ELEKTOJ] Delta filtriloj; validaj valoroj:\n" +#~ " dist=NOMBRO distanco inter bajtoj subtrahataj de unu\n" +#~ " la alia (1-256; 1)" + +#~ msgid "" +#~ " -q, --quiet suppress warnings; specify twice to suppress errors too\n" +#~ " -v, --verbose be verbose; specify twice for even more verbose" +#~ msgstr "" +#~ " -q, --quiet silentigi avertojn; uzu dufoje por ankaŭ silentigi erarojn\n" +#~ " -v, --verbose eligi superfluajn informojn; uzu dufoje por pliigi la\n" +#~ " superfluecon" + +#~ 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 montri la mallongan helpon (listigas nur la bazajn\n" +#~ " elektojn)\n" +#~ " -H, --long-help montri la longan helpon kaj finiĝi" + +#~ 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 montri ĉi tiun mallongan helpon kaj finiĝi\n" +#~ " -H, --long-help montri la longan helpon (listigas ankaŭ la altnivelajn\n" +#~ " elektojn)" + +#~ msgid "Failed to enable the sandbox" +#~ msgstr "Malsukcesis aktivigi la sablujon" diff --git a/src/native/external/xz/po/es.po b/src/native/external/xz/po/es.po new file mode 100644 index 00000000000000..6009d3dd08057d --- /dev/null +++ b/src/native/external/xz/po/es.po @@ -0,0 +1,1266 @@ +# SPDX-License-Identifier: 0BSD +# +# Spanish translation for xz-5.8.0-pre1. +# Copyright (C) 2024, 2025 The XZ Utils authors and contributors +# This file is published under the BSD Zero Clause License. +# Cristian Othón Martínez Vera , 2022, 2023, 2024, 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: xz 5.8.0-pre1\n" +"Report-Msgid-Bugs-To: xz@tukaani.org\n" +"POT-Creation-Date: 2025-01-29 20:59+0200\n" +"PO-Revision-Date: 2025-05-14 14:23-0600\n" +"Last-Translator: Cristian Othón Martínez Vera \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: src/xz/args.c +#, c-format +msgid "%s: Invalid argument to --block-list" +msgstr "%s: Argumento inválido para --block-list" + +#: src/xz/args.c +#, c-format +msgid "%s: Too many arguments to --block-list" +msgstr "%s: Demasiados argumentos para --block-list" + +#: src/xz/args.c +#, c-format +msgid "In --block-list, block size is missing after filter chain number '%c:'" +msgstr "En --block-list, falta el tamaño de bloque después del número de cadena de filtros '%c:'" + +#: src/xz/args.c +msgid "0 can only be used as the last element in --block-list" +msgstr "0 solo se puede usar como el último elemento en --block-list" + +#: src/xz/args.c +#, c-format +msgid "%s: Unknown file format type" +msgstr "%s: Tipo de formato de fichero desconocido" + +#: src/xz/args.c +#, c-format +msgid "%s: Unsupported integrity check type" +msgstr "%s: No se admite el tipo de verificación de integridad" + +#: src/xz/args.c +msgid "Only one file can be specified with '--files' or '--files0'." +msgstr "Solo se puede especificar un fichero con '--files' o '--files0'." + +#. TRANSLATORS: This is a translatable +#. string because French needs a space +#. before the colon ("%s : %s"). +#: src/xz/args.c src/xz/coder.c src/xz/file_io.c src/xz/list.c src/xz/options.c +#: src/xz/util.c +#, c-format +msgid "%s: %s" +msgstr "%s: %s" + +#: src/xz/args.c +#, c-format +msgid "The environment variable %s contains too many arguments" +msgstr "La variable de ambiente %s contiene demasiados argumentos" + +#: src/xz/args.c +msgid "Compression support was disabled at build time" +msgstr "Se desactivó el soporte para compresión en el momento de compilación" + +#: src/xz/args.c +msgid "Decompression support was disabled at build time" +msgstr "Se desactivó el soporte para descompresión en el momento de compilación" + +#: src/xz/args.c +msgid "Compression of lzip files (.lz) is not supported" +msgstr "No se admite la compresión de ficheros lzip (.lz)" + +#: src/xz/args.c +msgid "--block-list is ignored unless compressing to the .xz format" +msgstr "--block-list se descarta a menos que se comprima con el formato .xz" + +#: src/xz/args.c +msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout" +msgstr "Con --format=raw, se requiere --suffix=.SUF a menos que se escriba a la salida estándar" + +#: src/xz/coder.c +msgid "Maximum number of filters is four" +msgstr "El número máximo de filtros es cuatro" + +#: src/xz/coder.c +#, c-format +msgid "Error in --filters%s=FILTERS option:" +msgstr "Error en la opción --filters%s=FILTROS:" + +#: src/xz/coder.c +msgid "Memory usage limit is too low for the given filter setup." +msgstr "El límite de uso de memoria es demasiado bajo para la configuración de filtros dada." + +#: src/xz/coder.c +#, c-format +msgid "filter chain %u used by --block-list but not specified with --filters%u=" +msgstr "la cadena de filtros %u es usada por --block-list pero no se especifica con --filters%u=" + +#: src/xz/coder.c +msgid "Using a preset in raw mode is discouraged." +msgstr "No se recomienda un modo predeterminado en modo crudo." + +#: src/xz/coder.c +msgid "The exact options of the presets may vary between software versions." +msgstr "El número exacto de las opciones predeterminadas puede variar entre versiones del software." + +#: src/xz/coder.c +msgid "The .lzma format supports only the LZMA1 filter" +msgstr "El formato .lzma solamente admite el filtro LZMA1" + +#: src/xz/coder.c +msgid "LZMA1 cannot be used with the .xz format" +msgstr "No se puede usar LZMA1 con el formato .xz" + +#: src/xz/coder.c +#, c-format +msgid "Filter chain %u is incompatible with --flush-timeout" +msgstr "La cadena de filtros %u es incompatible con --flush-timeout" + +#: src/xz/coder.c +msgid "Switching to single-threaded mode due to --flush-timeout" +msgstr "Se cambia al modo de un solo hilo debido a --flush-timeout" + +#: src/xz/coder.c +#, c-format +msgid "Unsupported options in filter chain %u" +msgstr "Opciones sin soporte en la cadena de filtros %u" + +#: src/xz/coder.c +#, c-format +msgid "Using up to % threads." +msgstr "Se usan hasta % hilos." + +#: src/xz/coder.c +msgid "Unsupported filter chain or filter options" +msgstr "No se admiten las opciones de cadena de filtros o de filtro" + +#: src/xz/coder.c +#, c-format +msgid "Decompression will need %s MiB of memory." +msgstr "La descompresión necesitará %s MiB de memoria." + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to %s to not exceed the memory usage limit of %s MiB" +msgstr "Se reduce el número de hilos de %s a %s para no exceder el límite de uso de memoria de %s MiB" + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to one. The automatic memory usage limit of %s MiB is still being exceeded. %s MiB of memory is required. Continuing anyway." +msgstr "Se reduce el número de hilos de %s a uno. Aún se está excediendo el límite automático de uso de memoria de %s MiB. Se requieren %s MiB de memoria. Continúa de cualquier manera." + +#: src/xz/coder.c +#, c-format +msgid "Switching to single-threaded mode to not exceed the memory usage limit of %s MiB" +msgstr "Se ajusta al modo de un solo hilo para no exceder el límite de uso de memoria de %s MiB" + +#: src/xz/coder.c +#, 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 "Se ajusta el tamaño del diccionario LZMA%c de %s MiB a %s MiB para no exceder el límite de uso de memoria de %s MiB" + +#: src/xz/coder.c +#, c-format +msgid "Adjusted LZMA%c dictionary size for --filters%u from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgstr "Se ajusta el tamaño del diccionario LZMA%c para --filters%u de %s MiB a %s MiB para no exceder el límite de uso de memoria de %s MiB" + +#: src/xz/coder.c +#, c-format +msgid "Error changing to filter chain %u: %s" +msgstr "Error al cambiar a la cadena de filtros %u: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error creating a pipe: %s" +msgstr "Error al crear una tubería: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: poll() failed: %s" +msgstr "%s: falló poll(): %s" + +#. 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 +#, c-format +msgid "%s: File seems to have been moved, not removing" +msgstr "%s: Al parecer se movió el fichero, no se borra" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot remove: %s" +msgstr "%s: No se puede borrar: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file owner: %s" +msgstr "%s: No se puede establecer el propietario del fichero: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file group: %s" +msgstr "%s: No se puede establecer el grupo del fichero: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file permissions: %s" +msgstr "%s: No se pueden establecer los permisos del fichero: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Synchronizing the file failed: %s" +msgstr "%s: Falló al sincronizar el fichero: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Synchronizing the directory of the file failed: %s" +msgstr "%s: Falló al sincronizar el directorio del fichero: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard input: %s" +msgstr "Error al obtener la opciones de estado de fichero de la entrada estándar: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a symbolic link, skipping" +msgstr "%s: Es un enlace simbólico, se salta" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a directory, skipping" +msgstr "%s: Es un directorio, se salta" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Not a regular file, skipping" +msgstr "%s: No es un fichero regular, se salta" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has setuid or setgid bit set, skipping" +msgstr "%s: El fichero tiene el bit setuid o setgid activo, se salta" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has sticky bit set, skipping" +msgstr "%s: El fichero tiene el bit sticky activo, se salta" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Input file has more than one hard link, skipping" +msgstr "%s: El fichero de entrada tiene más de un enlace duro, se salta" + +#: src/xz/file_io.c +msgid "Empty filename, skipping" +msgstr "Nombre de fichero vacío, se salta" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the status flags to standard input: %s" +msgstr "Error al restaurar las opciones de estado en la entrada estándar: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard output: %s" +msgstr "Error al obtener las opciones de estado de fichero de la entrada estándar: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Opening the directory failed: %s" +msgstr "%s: Falló al abrir el directorio: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Destination is not a regular file" +msgstr "%s: El destino no es un fichero regular" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the O_APPEND flag to standard output: %s" +msgstr "Error al restaurar la opción O_APPEND a la salida estándar: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Closing the file failed: %s" +msgstr "%s: Falló al cerrar el fichero: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Seeking failed when trying to create a sparse file: %s" +msgstr "%s: Falló la búsqueda al tratar de crear un fichero disperso: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Read error: %s" +msgstr "%s: Error de lectura: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Error seeking the file: %s" +msgstr "%s: Error al buscar en el fichero: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Unexpected end of file" +msgstr "%s: Fin de fichero inesperado" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Write error: %s" +msgstr "%s: Error de escritura: %s" + +#: src/xz/hardware.c +msgid "Disabled" +msgstr "Desactivado" + +#: src/xz/hardware.c +msgid "Amount of physical memory (RAM):" +msgstr "Cantidad total de memoria física (RAM):" + +#: src/xz/hardware.c +msgid "Number of processor threads:" +msgstr "Número de hilos de procesador:" + +#: src/xz/hardware.c +msgid "Compression:" +msgstr "Compresión" + +#: src/xz/hardware.c +msgid "Decompression:" +msgstr "Descompresión:" + +#: src/xz/hardware.c +msgid "Multi-threaded decompression:" +msgstr "Descompresión multihilos:" + +#: src/xz/hardware.c +msgid "Default for -T0:" +msgstr "Por omisión para -T0:" + +#: src/xz/hardware.c +msgid "Hardware information:" +msgstr "Información de hardware:" + +#: src/xz/hardware.c +msgid "Memory usage limits:" +msgstr "Límites de uso de memoria:" + +#: src/xz/list.c +msgid "Streams:" +msgstr "Flujos:" + +#: src/xz/list.c +msgid "Blocks:" +msgstr "Bloques:" + +#: src/xz/list.c +msgid "Compressed size:" +msgstr "Tamaño comprimido:" + +#: src/xz/list.c +msgid "Uncompressed size:" +msgstr "Tamaño sin comprimir:" + +#: src/xz/list.c +msgid "Ratio:" +msgstr "Tasa:" + +#: src/xz/list.c +msgid "Check:" +msgstr "Verificación:" + +#: src/xz/list.c +msgid "Stream Padding:" +msgstr "Relleno de flujo:" + +#: src/xz/list.c +msgid "Memory needed:" +msgstr "Memoria requerida:" + +#: src/xz/list.c +msgid "Sizes in headers:" +msgstr "Tamaños en cabeceras:" + +#: src/xz/list.c +msgid "Number of files:" +msgstr "Número de ficheros:" + +#: src/xz/list.c +msgid "Stream" +msgstr "Flujo" + +#: src/xz/list.c +msgid "Block" +msgstr "Bloque" + +#: src/xz/list.c +msgid "Blocks" +msgstr "Bloques" + +#: src/xz/list.c +msgid "CompOffset" +msgstr "DesplComp" + +#: src/xz/list.c +msgid "UncompOffset" +msgstr "DesplDescomp" + +#: src/xz/list.c +msgid "CompSize" +msgstr "TamComp" + +#: src/xz/list.c +msgid "UncompSize" +msgstr "TamDescomp" + +#: src/xz/list.c +msgid "TotalSize" +msgstr "TamTotal" + +#: src/xz/list.c +msgid "Ratio" +msgstr "Tasa" + +#: src/xz/list.c +msgid "Check" +msgstr "Verif" + +#: src/xz/list.c +msgid "CheckVal" +msgstr "ValVerif" + +#: src/xz/list.c +msgid "Padding" +msgstr "Relleno" + +#: src/xz/list.c +msgid "Header" +msgstr "Cabecera" + +#: src/xz/list.c +msgid "Flags" +msgstr "Opciones" + +#: src/xz/list.c +msgid "MemUsage" +msgstr "UsoMem" + +#: src/xz/list.c +msgid "Filters" +msgstr "Filtros" + +#. TRANSLATORS: Indicates that there is no integrity check. +#. This string is used in tables. In older xz version this +#. string was limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "None" +msgstr "Ninguno" + +#. TRANSLATORS: Indicates that integrity check name is not known, +#. but the Check ID is known (here 2). In older xz version these +#. strings were limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "Unknown-2" +msgstr "Descon-2" + +#: src/xz/list.c +msgid "Unknown-3" +msgstr "Descon-3" + +#: src/xz/list.c +msgid "Unknown-5" +msgstr "Descon-5" + +#: src/xz/list.c +msgid "Unknown-6" +msgstr "Descon-6" + +#: src/xz/list.c +msgid "Unknown-7" +msgstr "Descon-7" + +#: src/xz/list.c +msgid "Unknown-8" +msgstr "Descon-8" + +#: src/xz/list.c +msgid "Unknown-9" +msgstr "Descon-9" + +#: src/xz/list.c +msgid "Unknown-11" +msgstr "Descon-11" + +#: src/xz/list.c +msgid "Unknown-12" +msgstr "Descon-12" + +#: src/xz/list.c +msgid "Unknown-13" +msgstr "Descon-13" + +#: src/xz/list.c +msgid "Unknown-14" +msgstr "Descon-14" + +#: src/xz/list.c +msgid "Unknown-15" +msgstr "Descon-15" + +#: src/xz/list.c +#, c-format +msgid "%s: File is empty" +msgstr "%s: El fichero está vacío" + +#: src/xz/list.c +#, c-format +msgid "%s: Too small to be a valid .xz file" +msgstr "%s: Demasiado pequeño para ser un fichero .xz válido" + +#. 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 +msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" +msgstr "Flujos Bloques Comprimido Sin-Comprimir Tasa Verif Nombre-Fichero" + +#: src/xz/list.c +msgid "Yes" +msgstr "Sí" + +#: src/xz/list.c +msgid "No" +msgstr "No" + +#: src/xz/list.c +msgid "Minimum XZ Utils version:" +msgstr "Versión mínima de Herramientas XZ:" + +#. 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 +#, c-format +msgid "%s file\n" +msgid_plural "%s files\n" +msgstr[0] "%s fichero\n" +msgstr[1] "%s ficheros\n" + +#: src/xz/list.c +msgid "Totals:" +msgstr "Totales:" + +#: src/xz/list.c +msgid "--list works only on .xz files (--format=xz or --format=auto)" +msgstr "--list solo funciona con ficheros .xz (--format=xz o --format=auto)" + +#: src/xz/list.c +msgid "Try 'lzmainfo' with .lzma files." +msgstr "Pruebe 'lzmainfo' con ficheros .lzma." + +#: src/xz/list.c +msgid "--list does not support reading from standard input" +msgstr "--list no admite leer de la entrada estándar" + +#: src/xz/main.c +#, c-format +msgid "%s: Error reading filenames: %s" +msgstr "%s: Error al leer nombres de fichero: %s" + +#: src/xz/main.c +#, c-format +msgid "%s: Unexpected end of input when reading filenames" +msgstr "%s: Fin de entrada inesperada al leer nombres de fichero" + +#: src/xz/main.c +#, c-format +msgid "%s: Null character found when reading filenames; maybe you meant to use '--files0' instead of '--files'?" +msgstr "%s: Se encontraron caracteres nulos al leer nombres de ficheros. ¿Tal vez quería usar '--files0' en lugar de '--files'?" + +#: src/xz/main.c +msgid "Compression and decompression with --robot are not supported yet." +msgstr "Aún no se admite la compresión y descompresión con --robot." + +#: src/xz/main.c +msgid "Cannot read data from standard input when reading filenames from standard input" +msgstr "No se pueden leer datos de la entrada estándar cuando se leen nombres de fichero de la entrada estándar" + +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s: " +msgstr "%s: " + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "Internal error (bug)" +msgstr "Error interno (bug)" + +#: src/xz/message.c +msgid "Cannot establish signal handlers" +msgstr "No se pueden establecer los manejadores de señales" + +#: src/xz/message.c +msgid "No integrity check; not verifying file integrity" +msgstr "No hay revisión de integridad; no se verifica la integridad del fichero" + +#: src/xz/message.c +msgid "Unsupported type of integrity check; not verifying file integrity" +msgstr "No se admite el tipo de revisión de integridad; no se verifica la integridad del fichero" + +#: src/xz/message.c +msgid "Memory usage limit reached" +msgstr "Se alcanzó el límite de uso de memoria" + +#: src/xz/message.c +msgid "File format not recognized" +msgstr "No se reconoce el formato del fichero" + +#: src/xz/message.c +msgid "Unsupported options" +msgstr "Opciones sin soporte" + +#: src/xz/message.c +msgid "Compressed data is corrupt" +msgstr "Los datos comprimidos están corruptos" + +#: src/xz/message.c +msgid "Unexpected end of input" +msgstr "Fin de entrada inesperado" + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limiter is disabled." +msgstr "Se requieren %s MiB de memoria. Se desactiva el limitador." + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limit is %s." +msgstr "Se requieren %s MiB de memoria. El límite es %s." + +#: src/xz/message.c +#, c-format +msgid "%s: Filter chain: %s\n" +msgstr "%s: Cadena de filtro: %s\n" + +#: src/xz/message.c +#, c-format +msgid "Try '%s --help' for more information." +msgstr "Pruebe '%s --help' para obtener más información." + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Error printing the help text (error code %d)" +msgstr "Error al mostrar el texto de ayuda (código de error %d)" + +#: src/xz/message.c +#, c-format +msgid "Usage: %s [OPTION]... [FILE]...\n" +msgstr "Uso: %s [OPCIÓN]... [FICHERO]...\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Compress or decompress FILEs in the .xz format." +msgstr "Comprime o descomprime FICHEROs en el formato .xz." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Mandatory arguments to long options are mandatory for short options too." +msgstr "Los argumentos obligatorios para las opciones largas también son obligatorios para las opciones cortas." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Operation mode:" +msgstr "Modo de operación:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force compression" +msgstr "fuerza la compresión" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force decompression" +msgstr "fuerza la descompresión" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "test compressed file integrity" +msgstr "prueba la integridad del fichero comprimido" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "list information about .xz files" +msgstr "muestra la información acerca de los ficheros .xz" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Operation modifiers:" +msgstr "Modificadores de operación:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "keep (don't delete) input files" +msgstr "conserva (no borra) los ficheros de entrada" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force overwrite of output file and (de)compress links" +msgstr "fuerza la sobreescritura del fichero de salida y (des)comprime enlaces" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "write to standard output and don't delete input files" +msgstr "escribe a la salida estándar y no borra los ficheros de entrada" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't synchronize the output file to the storage device before removing the input file" +msgstr "no sincroniza el fichero de salida con el dispositivo de almacenamiento antes de borrar el fichero de entrada" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "decompress only the first stream, and silently ignore possible remaining input data" +msgstr "solo descomprime el primer flujo, y descarta silenciosamente los posibles datos de entrada restantes" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "do not create sparse files when decompressing" +msgstr "no crea archivos temporales al descomprimir" + +#: src/xz/message.c +msgid ".SUF" +msgstr ".SUF" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use the suffix '.SUF' on compressed files" +msgstr "usa el sufijo '.SUF' para los ficheros comprimidos" + +#: src/xz/message.c +msgid "FILE" +msgstr "FICHERO" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "read filenames to process from FILE; if FILE is omitted, filenames are read from the standard input; filenames must be terminated with the newline character" +msgstr "lee los nombres de fichero a procesar del FICHERO; si se omite el FICHERO, los nombres de fichero se leen de la entrada estándar; los nombres de fichero deber de terminar con el carácter de línea nueva" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "like --files but use the null character as terminator" +msgstr "como --files pero usa el carácter nulo como terminador" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Basic file format and compression options:" +msgstr "Opciones básicas de compresión y formato de fichero:" + +#: src/xz/message.c +msgid "FORMAT" +msgstr "FORMATO" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "file format to encode or decode; possible values are 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'" +msgstr "formato de fichero para codificar o decodificar; los valores posibles son 'auto' (por defecto), 'xz', 'lzma', 'lzip', y 'raw'" + +#: src/xz/message.c +msgid "NAME" +msgstr "NOMBRE" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "integrity check type: 'none' (use with caution), 'crc32', 'crc64' (default), or 'sha256'" +msgstr "tipo de verificación de integridad: 'none' (usar con cuidado), 'crc32', 'crc64' (por defecto), o 'sha256'" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't verify the integrity check when decompressing" +msgstr "no hace la verificación de integridad al descomprimir" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression preset; default is 6; take compressor *and* decompressor memory usage into account before using 7-9!" +msgstr "valor predefinido de compresión; por defecto es 6. ¡Considere el compresor *y* el uso de memoria del compresor antes de usar 7-9!" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "try to improve compression ratio by using more CPU time; does not affect decompressor memory requirements" +msgstr "trata de mejorar la razón de compresión usando más tiempo de procesamiento; no afecta los requisitos de memoria del descompresor" + +#. TRANSLATORS: Short for NUMBER. A longer string is fine but +#. wider than 5 columns makes --long-help a few lines longer. +#: src/xz/message.c +msgid "NUM" +msgstr "NÚM" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use at most NUM threads; the default is 0 which uses as many threads as there are processor cores" +msgstr "usa como máximo NÚM hilos; por defecto es 0, el cual usa tantos hilos como hayan núcleos de procesador" + +#: src/xz/message.c +msgid "SIZE" +msgstr "TAMAÑO" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after every SIZE bytes of input; use this to set the block size for threaded compression" +msgstr "inicia un nuevo bloque .xz después de cada TAMAÑO bytes de entrada; use esta opción para establecer el tamaño de bloque para la compresión con hilos" + +#: src/xz/message.c +msgid "BLOCKS" +msgstr "BLOQUES" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after the given comma-separated intervals of uncompressed data; optionally, specify a filter chain number (0-9) followed by a ':' before the uncompressed data size" +msgstr "inicia un nuevo bloque .xz después de cada intervalo dado, separado por comas, de datos sin comprimir; opcionalmente, especifica un número de cadena de filtros (0-9) a continuación de ':' antes del tamaño de los datos sin comprimir" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "when compressing, if more than NUM milliseconds has passed since the previous flush and reading more input would block, all pending data is flushed out" +msgstr "al comprimir, si pasaron más de NÚM milisegundos desde el último descarte y la lectura de más entrada produciría un bloqueo, todos los datos pendientes son descartados" + +#: src/xz/message.c +msgid "LIMIT" +msgstr "LÍMITE" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, no-c-format +msgid "set memory usage limit for compression, decompression, threaded decompression, or all of these; LIMIT is in bytes, % of RAM, or 0 for defaults" +msgstr "define el límite de uso de memoria para compresión, descompresión, descompresión con hilos, o todos los anteriores; el LÍMITE es en bytes, % de RAM, o 0 para valores por defecto" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "if compression settings exceed the memory usage limit, give an error instead of adjusting the settings downwards" +msgstr "si la configuración de compresión excede el límite de uso de memoria, muestra un error en lugar de ajustar los valores hacia abajo" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Custom filter chain for compression (an alternative to using presets):" +msgstr "Cadena de filtros personal para compresión (alternativa a usar valores predefinidos):" + +#: src/xz/message.c +msgid "FILTERS" +msgstr "FILTROS" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set the filter chain using the liblzma filter string syntax; use --filters-help for more information" +msgstr "define la cadena de filtros usando la sintaxis de la cadena de filtros liblzma; use --filters-help para obtener más información" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set additional filter chains using the liblzma filter string syntax to use with --block-list" +msgstr "define cadenas de filtros adicionales usando la sintaxis de cadena de filtros liblzma para usar con --block-list" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display more information about the liblzma filter string syntax and exit" +msgstr "muestra más información acerca de la sintaxis de cadenas de filtros liblzma y termina" + +#. TRANSLATORS: Short for OPTIONS. +#: src/xz/message.c +msgid "OPTS" +msgstr "OPCS" + +#. TRANSLATORS: Use semicolon (or its fullwidth form) +#. in "(valid values; default)" even if it is weird in +#. your language. There are non-translatable strings +#. that look like "(foo, bar, baz; foo)" which list +#. the supported values and the default value. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "LZMA1 or LZMA2; OPTS is a comma-separated list of zero or more of the following options (valid values; default):" +msgstr "LZMA1 o LZMA2: OPCS es una lista separada por comas de cero o más de las siguientes opciones (valores válidos; por defecto):" + +#. TRANSLATORS: Short for PRESET. A longer string is +#. fine but wider than 4 columns makes --long-help +#. one line longer. +#: src/xz/message.c +msgid "PRE" +msgstr "PRE" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "reset options to a preset" +msgstr "cambia las opciones al valor predefinido" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "dictionary size" +msgstr "tamaño de diccionario" + +#. TRANSLATORS: The word "literal" in "literal context +#. bits" means how many "context bits" to use when +#. encoding literals. A literal is a single 8-bit +#. byte. It doesn't mean "literally" here. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal context bits" +msgstr "número de bits de contexto literal" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal position bits" +msgstr "número de bits de posición literal" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of position bits" +msgstr "número de bits de posición" + +#: src/xz/message.c +msgid "MODE" +msgstr "MODO" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression mode" +msgstr "modo de descompresión" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "nice length of a match" +msgstr "longitud aceptada de una coincidencia" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "match finder" +msgstr "buscador de coincidencias" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "maximum search depth; 0=automatic (default)" +msgstr "profundidad máxima de búsqueda; 0=automática (por defecto)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "x86 BCJ filter (32-bit and 64-bit)" +msgstr "filtro BCJ de x86 (32-bit y 64-bit)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM BCJ filter" +msgstr "filtro BCJ de ARM" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM-Thumb BCJ filter" +msgstr "filtro BCJ de ARM-Thumb" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM64 BCJ filter" +msgstr "filtro BCJ de ARM64" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "PowerPC BCJ filter (big endian only)" +msgstr "filtro BCJ de PowerPC (sólo big endian)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "IA-64 (Itanium) BCJ filter" +msgstr "filtro BCJ de IA-64 (Itanium)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "SPARC BCJ filter" +msgstr "filtro BCJ de Sparc" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "RISC-V BCJ filter" +msgstr "filtro BCJ de RISC-V" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Valid OPTS for all BCJ filters:" +msgstr "OPCS válidas para todos los filtros BCJ:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start offset for conversions (default=0)" +msgstr "desplazamiento de inicio para las conversiones (por defecto=0)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Delta filter; valid OPTS (valid values; default):" +msgstr "Delta de filtro; OPCS válidas (valores válidos; por defecto):" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "distance between bytes being subtracted from each other" +msgstr "distancia entre bytes que se restan unos de otros" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Other options:" +msgstr "Otras opciones:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "suppress warnings; specify twice to suppress errors too" +msgstr "suprime los avisos; especificar dos veces para suprimir también los errores" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "be verbose; specify twice for even more verbose" +msgstr "descriptivo; especificar dos veces para ser aún más descriptivo" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "make warnings not affect the exit status" +msgstr "los avisos no afectan el estado de la salida" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use machine-parsable messages (useful for scripts)" +msgstr "usa mensajes analizables por máquina (útil para scripts)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the total amount of RAM and the currently active memory usage limits, and exit" +msgstr "muestra la cantidad total de RAM y los límites de uso de memoria activos, y termina" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the short help (lists only the basic options)" +msgstr "muestra la ayuda corta (sólo muestra las opciones básicas)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this long help and exit" +msgstr "muestra esta ayuda larga y termina" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this short help and exit" +msgstr "muestra esta ayuda corta y termina" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the long help (lists also the advanced options)" +msgstr "muestra la ayuda larga (también muestra las opciones avanzadas)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the version number and exit" +msgstr "muestra el número de versión y termina" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "With no FILE, or when FILE is -, read standard input." +msgstr "Sin FICHEROs, o cuando el FICHERO es -, lee la entrada estándar." + +#. TRANSLATORS: This message indicates the bug reporting +#. address for this package. Please add another line saying +#. "\nReport translation bugs to <...>." with the email or WWW +#. address for translation bugs. Thanks! +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Report bugs to <%s> (in English or Finnish)." +msgstr "" +"Reporte errores a <%s> (en inglés o finlandés).\n" +"Reporte errores de traducción al español a ." + +#. TRANSLATORS: The first %s is the name of this software. +#. The second <%s> is an URL. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s home page: <%s>" +msgstr "Sitio web de %s: <%s>" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE." +msgstr "ESTA ES UNA VERSIÓN EN DESARROLLO Y NO ESTÁ LISTA PARA USO EN PRODUCCIÓN." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, c-format +msgid "Filter chains are set using the --filters=FILTERS or --filters1=FILTERS ... --filters9=FILTERS options. Each filter in the chain can be separated by spaces or '--'. Alternatively a preset %s can be specified instead of a filter chain." +msgstr "Las cadenas de filtros se definen usando las opciones --filters=FILTROS o --filters1=FILTROS ... --filters9=FILTROS. Cada filtro en la cadena se puede separar con espacios o '--'. Alternativamente, se puede especificar un valor predeterminado %s en lugar de una cadena de filtro." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "The supported filters and their options are:" +msgstr "Los filtros admitidos y sus opciones son:" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "Options must be 'name=value' pairs separated with commas" +msgstr "Las opciones deben ser pares 'nombre=valor' separadas por comas" + +#: src/xz/options.c +#, c-format +msgid "%s: Invalid option name" +msgstr "%s: Nombre de opción inválido" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "Invalid option value" +msgstr "Valor de opción inválido" + +#: src/xz/options.c +#, c-format +msgid "Unsupported LZMA1/LZMA2 preset: %s" +msgstr "No se admite el valor predefinido LZMA1/LZMA2: %s" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "The sum of lc and lp must not exceed 4" +msgstr "La suma de lc y lp no debe exceder 4" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Filename has an unknown suffix, skipping" +msgstr "%s: El nombre de fichero tiene un sufijo desconocido, se salta" + +#: src/xz/suffix.c +#, c-format +msgid "%s: File already has '%s' suffix, skipping" +msgstr "%s: El fichero ya tiene un sufijo '%s', se salta" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Invalid filename suffix" +msgstr "%s: Sufijo de nombre de fichero inválido" + +#: src/xz/util.c src/liblzma/common/string_conversion.c +msgid "Value is not a non-negative decimal integer" +msgstr "El valor no es un entero decimal no-negativo" + +#: src/xz/util.c +#, c-format +msgid "%s: Invalid multiplier suffix" +msgstr "%s: Sufijo multiplicador inválido" + +#: src/xz/util.c +msgid "Valid suffixes are 'KiB' (2^10), 'MiB' (2^20), and 'GiB' (2^30)." +msgstr "Los sufijos válidos son 'KiB' (2^10), 'MiB' (2^20), y 'GiB' (2^30)." + +#: src/xz/util.c +#, c-format +msgid "Value of the option '%s' must be in the range [%, %]" +msgstr "El valor de la opción '%s' debe estar en el intervalo [%, %]" + +#: src/xz/util.c +msgid "Compressed data cannot be read from a terminal" +msgstr "No se pueden leer datos comprimidos de una terminal" + +#: src/xz/util.c +msgid "Compressed data cannot be written to a terminal" +msgstr "No se pueden escribir datos comprimidos a una terminal" + +#: src/lzmainfo/lzmainfo.c +#, c-format +msgid "Usage: %s [--help] [--version] [FILE]...\n" +msgstr "Uso: %s [--help] [--version] [FICHERO]...\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/lzmainfo/lzmainfo.c +msgid "Show information stored in the .lzma file header." +msgstr "Muestra información almacenada en la cabecera del fichero .lzma" + +#: src/lzmainfo/lzmainfo.c +msgid "File is too small to be a .lzma file" +msgstr "El fichero es demasiado pequeño para ser un fichero .lzma" + +#: src/lzmainfo/lzmainfo.c +msgid "Not a .lzma file" +msgstr "No es un fichero .lzma" + +#: src/common/tuklib_exit.c +msgid "Writing to standard output failed" +msgstr "Falló la escritura a la salida estándar" + +#: src/common/tuklib_exit.c +msgid "Unknown error" +msgstr "Error desconocido" + +#: src/liblzma/common/string_conversion.c +msgid "Unsupported preset" +msgstr "Opción sin soporte" + +#: src/liblzma/common/string_conversion.c +msgid "Unsupported flag in the preset" +msgstr "Opción sin soporte en el valor predefinido" + +#: src/liblzma/common/string_conversion.c +msgid "Unknown option name" +msgstr "Nombre de opción inválido" + +#: src/liblzma/common/string_conversion.c +msgid "Option value cannot be empty" +msgstr "El valor de la opción no puede estar vacío" + +#: src/liblzma/common/string_conversion.c +msgid "Value out of range" +msgstr "Valor fuera de intervalo" + +#: src/liblzma/common/string_conversion.c +msgid "This option does not support any multiplier suffixes" +msgstr "Esta opción no admite ningún sufijo multiplicador" + +#. TRANSLATORS: Don't translate the +#. suffixes "KiB", "MiB", or "GiB" +#. because a user can only specify +#. untranslated suffixes. +#: src/liblzma/common/string_conversion.c +msgid "Invalid multiplier suffix (KiB, MiB, or GiB)" +msgstr "Sufijo multiplicador inválido (KiB, MiB, o GiB)" + +#: src/liblzma/common/string_conversion.c +msgid "Unknown filter name" +msgstr "Nombre de filtro desconocido" + +#: src/liblzma/common/string_conversion.c +msgid "This filter cannot be used in the .xz format" +msgstr "Este filtro no se puede usar en el formato .xz" + +#: src/liblzma/common/string_conversion.c +msgid "Memory allocation failed" +msgstr "Falló el alojamiento de memoria" + +#: src/liblzma/common/string_conversion.c +msgid "Empty string is not allowed, try '6' if a default value is needed" +msgstr "No se permite una cadena vacía, pruebe con '6' si se requiere un valor por defecto" + +#: src/liblzma/common/string_conversion.c +msgid "The maximum number of filters is four" +msgstr "El número máximo de filtros es cuatro" + +#: src/liblzma/common/string_conversion.c +msgid "Filter name is missing" +msgstr "Falta el nombre del filtro" + +#: src/liblzma/common/string_conversion.c +msgid "Invalid filter chain ('lzma2' missing at the end?)" +msgstr "Cadena de filtro inválida (¿falta 'lzma2' al final?)" diff --git a/src/native/external/xz/po/fi.po b/src/native/external/xz/po/fi.po new file mode 100644 index 00000000000000..6fff2f8ef8cd3c --- /dev/null +++ b/src/native/external/xz/po/fi.po @@ -0,0 +1,1266 @@ +# SPDX-License-Identifier: 0BSD +# +# Finnish translations for xz package +# Suomenkielinen käännös xz-paketille. +# This file is published under the BSD Zero Clause License. +# Lauri Nurmi , 2019, 2020, 2022, 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: xz 5.7.1-dev1\n" +"Report-Msgid-Bugs-To: xz@tukaani.org\n" +"POT-Creation-Date: 2025-01-29 20:59+0200\n" +"PO-Revision-Date: 2025-01-29 21:57+0200\n" +"Last-Translator: Lauri Nurmi \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"X-Generator: Poedit 3.5\n" + +#: src/xz/args.c +#, c-format +msgid "%s: Invalid argument to --block-list" +msgstr "%s: Virheellinen argumentti valitsimelle --block-list" + +#: src/xz/args.c +#, c-format +msgid "%s: Too many arguments to --block-list" +msgstr "%s: Liian monta argumenttia valitsimelle --block-list" + +#: src/xz/args.c +#, c-format +msgid "In --block-list, block size is missing after filter chain number '%c:'" +msgstr "Valitsimen --block-list yhteydessä lohkon koko puuttuu suodinketjun numeron '%c:' jälkeen" + +#: src/xz/args.c +msgid "0 can only be used as the last element in --block-list" +msgstr "0 kelpaa vain viimeiseksi alkioksi valitsimen --block-list kanssa" + +#: src/xz/args.c +#, c-format +msgid "%s: Unknown file format type" +msgstr "%s: Tuntematon tiedostomuototyyppi" + +#: src/xz/args.c +#, c-format +msgid "%s: Unsupported integrity check type" +msgstr "%s: Eheystarkistuksen tyyppiä ei tueta" + +#: src/xz/args.c +msgid "Only one file can be specified with '--files' or '--files0'." +msgstr "Vain yksi tiedosto voidaan antaa valitsimille ”--files” ja ”--files0”." + +#. TRANSLATORS: This is a translatable +#. string because French needs a space +#. before the colon ("%s : %s"). +#: src/xz/args.c src/xz/coder.c src/xz/file_io.c src/xz/list.c src/xz/options.c +#: src/xz/util.c +#, c-format +msgid "%s: %s" +msgstr "%s: %s" + +#: src/xz/args.c +#, c-format +msgid "The environment variable %s contains too many arguments" +msgstr "Ympäristömuuttuja %s sisältää liian monta argumenttia" + +#: src/xz/args.c +msgid "Compression support was disabled at build time" +msgstr "Tiivistämistuki on poistettu käytöstä käännösaikana" + +#: src/xz/args.c +msgid "Decompression support was disabled at build time" +msgstr "Purkutuki on poistettu käytöstä käännösaikana" + +#: src/xz/args.c +msgid "Compression of lzip files (.lz) is not supported" +msgstr "Lzip-tiedostojen (.lz) tiivistämistä ei tueta" + +#: src/xz/args.c +msgid "--block-list is ignored unless compressing to the .xz format" +msgstr "--block-list jätetään huomiotta, ellei olla tiivistämässä .xz-muotoon" + +#: src/xz/args.c +msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout" +msgstr "--format=raw vaatii, että --suffix=.PÄÄTE on annettu, ellei kirjoiteta vakiotulosteeseen" + +#: src/xz/coder.c +msgid "Maximum number of filters is four" +msgstr "Suodattimien enimmäismäärä on neljä" + +#: src/xz/coder.c +#, c-format +msgid "Error in --filters%s=FILTERS option:" +msgstr "Virhe --filters%s=SUOTIMET-asetuksessa:" + +#: src/xz/coder.c +msgid "Memory usage limit is too low for the given filter setup." +msgstr "Muistinkäytön raja on liian matala valituille suotimille." + +#: src/xz/coder.c +#, c-format +msgid "filter chain %u used by --block-list but not specified with --filters%u=" +msgstr "--block-list käyttää suodinketjua %u, jota ei ole määritelty --filters%u=:lla" + +#: src/xz/coder.c +msgid "Using a preset in raw mode is discouraged." +msgstr "Esiasetusten käyttö raw-tilassa ei ole suositeltavaa." + +#: src/xz/coder.c +msgid "The exact options of the presets may vary between software versions." +msgstr "Esiasetusten tarkat asetukset saattavat vaihdella ohjelmistoversioiden välillä." + +#: src/xz/coder.c +msgid "The .lzma format supports only the LZMA1 filter" +msgstr ".lzma-muoto tukee vain LZMA1-suodinta" + +#: src/xz/coder.c +msgid "LZMA1 cannot be used with the .xz format" +msgstr "LZMA1:tä ei voi käyttää .xz-muodon kanssa" + +#: src/xz/coder.c +#, c-format +msgid "Filter chain %u is incompatible with --flush-timeout" +msgstr "Suodinketju %u on yhteensopimaton valitsimen --flush-timeout kanssa" + +#: src/xz/coder.c +msgid "Switching to single-threaded mode due to --flush-timeout" +msgstr "Vaihdetaan yksisäikeiseen tilaan valitsimen --flush-timeout vuoksi" + +#: src/xz/coder.c +#, c-format +msgid "Unsupported options in filter chain %u" +msgstr "Ei-tuettuja asetuksia suodinketjussa %u" + +#: src/xz/coder.c +#, c-format +msgid "Using up to % threads." +msgstr "Käytetään enintään % säiettä." + +#: src/xz/coder.c +msgid "Unsupported filter chain or filter options" +msgstr "Ei-tuetut suodinketjun tai suotimen asetukset" + +#: src/xz/coder.c +#, c-format +msgid "Decompression will need %s MiB of memory." +msgstr "Purkaminen vaatii %s MiB muistia." + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to %s to not exceed the memory usage limit of %s MiB" +msgstr "Pudotettiin säikeiden määrä %s säikeestä %s:een, jottei ylitettäisi %s MiB:n rajaa muistinkäytölle" + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to one. The automatic memory usage limit of %s MiB is still being exceeded. %s MiB of memory is required. Continuing anyway." +msgstr "Pudotettiin säikeiden määrä %s säikeestä yhteen. Automaattinen %s MiB:n raja muistinkäytölle ylittyy silti. Vaaditaan %s MiB muistia. Jatketaan kaikesta huolimatta." + +#: src/xz/coder.c +#, c-format +msgid "Switching to single-threaded mode to not exceed the memory usage limit of %s MiB" +msgstr "Siirrytään yhden säikeen tilaan, jottei ylitettäisi %s MiB:n rajaa muistinkäytölle" + +#: src/xz/coder.c +#, 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 "Pudotettiin LZMA%c-sanaston koko %s MiB:stä %s MiB:hen, jottei ylitettäisi %s MiB:n rajaa muistinkäytölle" + +#: src/xz/coder.c +#, c-format +msgid "Adjusted LZMA%c dictionary size for --filters%u from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgstr "Pudotettiin LZMA%c-sanaston koko --filter%u:lle %s MiB:stä %s MiB:hen, jottei ylitettäisi %s MiB:n rajaa muistinkäytölle" + +#: src/xz/coder.c +#, c-format +msgid "Error changing to filter chain %u: %s" +msgstr "Virhe vaihdettaessa suodinketjuun %u: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error creating a pipe: %s" +msgstr "Virhe putkea luodessa: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: poll() failed: %s" +msgstr "%s: poll()-kutsu epäonnistui: %s" + +#. 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 +#, c-format +msgid "%s: File seems to have been moved, not removing" +msgstr "%s: Tiedosto on nähtävästi siirretty, ei poisteta" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot remove: %s" +msgstr "%s: Ei voi poistaa: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file owner: %s" +msgstr "%s: Tiedoston omistajaa ei voi asettaa: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file group: %s" +msgstr "%s: Tiedoston ryhmää ei voi asettaa: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file permissions: %s" +msgstr "%s: Tiedoston oikeuksia ei voi asettaa: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Synchronizing the file failed: %s" +msgstr "%s: Tiedoston synkronointi epäonnistui: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Synchronizing the directory of the file failed: %s" +msgstr "%s: Tiedoston hakemiston synkronointi epäonnistui: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard input: %s" +msgstr "Virhe tiedoston tilalippujen noutamisessa vakiosyötteelle: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a symbolic link, skipping" +msgstr "%s: On symbolinen linkki, ohitetaan" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a directory, skipping" +msgstr "%s: On hakemisto, ohitetaan" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Not a regular file, skipping" +msgstr "%s: Ei ole tavallinen tiedosto, ohitetaan" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has setuid or setgid bit set, skipping" +msgstr "%s: Tiedostolla on setuid- tai setgid-bitti, ohitetaan" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has sticky bit set, skipping" +msgstr "%s: Tiedostolla on sticky-bitti, ohitetaan" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Input file has more than one hard link, skipping" +msgstr "%s: Syötetiedostoon on yli yksi kova linkki, ohitetaan" + +#: src/xz/file_io.c +msgid "Empty filename, skipping" +msgstr "Tyhjä tiedostonimi, ohitetaan" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the status flags to standard input: %s" +msgstr "Virhe tilalippujen palauttamisessa vakiosyötteelle: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard output: %s" +msgstr "Virhe tiedoston tilalippujen noutamisessa vakiotulosteelle: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Opening the directory failed: %s" +msgstr "%s: Hakemiston avaaminen epäonnistui: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Destination is not a regular file" +msgstr "%s: Kohde ei ole tavallinen tiedosto" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the O_APPEND flag to standard output: %s" +msgstr "Virhe O_APPEND-lipun palauttamisessa vakiosyötteelle: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Closing the file failed: %s" +msgstr "%s: Tiedoston sulkeminen epäonnistui: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Seeking failed when trying to create a sparse file: %s" +msgstr "%s: Siirtyminen epäonnistui yritettäessä luoda hajanaista tiedostoa: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Read error: %s" +msgstr "%s: Lukuvirhe: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Error seeking the file: %s" +msgstr "%s: Virhe tiedostossa siirtymisessä: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Unexpected end of file" +msgstr "%s: Odottamaton tiedoston loppu" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Write error: %s" +msgstr "%s: Kirjoitusvirhe: %s" + +#: src/xz/hardware.c +msgid "Disabled" +msgstr "Pois käytöstä" + +#: src/xz/hardware.c +msgid "Amount of physical memory (RAM):" +msgstr "Fyysisen muistin kokonaismäärä (RAM):" + +#: src/xz/hardware.c +msgid "Number of processor threads:" +msgstr "Suoritinsäikeiden määrä:" + +#: src/xz/hardware.c +msgid "Compression:" +msgstr "Tiivistys:" + +#: src/xz/hardware.c +msgid "Decompression:" +msgstr "Purku:" + +#: src/xz/hardware.c +msgid "Multi-threaded decompression:" +msgstr "Monisäikeinen purku:" + +#: src/xz/hardware.c +msgid "Default for -T0:" +msgstr "-T0:n oletusarvo:" + +#: src/xz/hardware.c +msgid "Hardware information:" +msgstr "Laitteiston tiedot:" + +#: src/xz/hardware.c +msgid "Memory usage limits:" +msgstr "Muistinkäytön rajat:" + +#: src/xz/list.c +msgid "Streams:" +msgstr "Virrat:" + +#: src/xz/list.c +msgid "Blocks:" +msgstr "Lohkot:" + +#: src/xz/list.c +msgid "Compressed size:" +msgstr "Tiivistetty koko:" + +#: src/xz/list.c +msgid "Uncompressed size:" +msgstr "Tiivistämätön koko:" + +#: src/xz/list.c +msgid "Ratio:" +msgstr "Suhde:" + +#: src/xz/list.c +msgid "Check:" +msgstr "Tarkistus:" + +#: src/xz/list.c +msgid "Stream Padding:" +msgstr "Virran tasaus:" + +#: src/xz/list.c +msgid "Memory needed:" +msgstr "Tarvittava muisti:" + +#: src/xz/list.c +msgid "Sizes in headers:" +msgstr "Koot otsakkeissa:" + +#: src/xz/list.c +msgid "Number of files:" +msgstr "Tiedostojen määrä:" + +#: src/xz/list.c +msgid "Stream" +msgstr "Virta" + +#: src/xz/list.c +msgid "Block" +msgstr "Lohko" + +#: src/xz/list.c +msgid "Blocks" +msgstr "Lohkot" + +#: src/xz/list.c +msgid "CompOffset" +msgstr "TiivSiirr." + +#: src/xz/list.c +msgid "UncompOffset" +msgstr "Tv:tönSiirr." + +#: src/xz/list.c +msgid "CompSize" +msgstr "TiivKoko" + +#: src/xz/list.c +msgid "UncompSize" +msgstr "Tv:tönKoko" + +#: src/xz/list.c +msgid "TotalSize" +msgstr "Yht.Koko" + +#: src/xz/list.c +msgid "Ratio" +msgstr "Suhde" + +#: src/xz/list.c +msgid "Check" +msgstr "Tark." + +#: src/xz/list.c +msgid "CheckVal" +msgstr "Tark.arvo" + +#: src/xz/list.c +msgid "Padding" +msgstr "Tasaus" + +#: src/xz/list.c +msgid "Header" +msgstr "Otsake" + +#: src/xz/list.c +msgid "Flags" +msgstr "Liput" + +#: src/xz/list.c +msgid "MemUsage" +msgstr "Muist.käyt." + +#: src/xz/list.c +msgid "Filters" +msgstr "Suodattimet" + +#. TRANSLATORS: Indicates that there is no integrity check. +#. This string is used in tables. In older xz version this +#. string was limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "None" +msgstr "Ei mitään" + +#. TRANSLATORS: Indicates that integrity check name is not known, +#. but the Check ID is known (here 2). In older xz version these +#. strings were limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "Unknown-2" +msgstr "Tuntematon-2" + +#: src/xz/list.c +msgid "Unknown-3" +msgstr "Tuntematon-3" + +#: src/xz/list.c +msgid "Unknown-5" +msgstr "Tuntematon-5" + +#: src/xz/list.c +msgid "Unknown-6" +msgstr "Tuntematon-6" + +#: src/xz/list.c +msgid "Unknown-7" +msgstr "Tuntematon-7" + +#: src/xz/list.c +msgid "Unknown-8" +msgstr "Tuntematon-8" + +#: src/xz/list.c +msgid "Unknown-9" +msgstr "Tuntematon-9" + +#: src/xz/list.c +msgid "Unknown-11" +msgstr "Tuntematon-11" + +#: src/xz/list.c +msgid "Unknown-12" +msgstr "Tuntematon-12" + +#: src/xz/list.c +msgid "Unknown-13" +msgstr "Tuntematon-13" + +#: src/xz/list.c +msgid "Unknown-14" +msgstr "Tuntematon-14" + +#: src/xz/list.c +msgid "Unknown-15" +msgstr "Tuntematon-15" + +#: src/xz/list.c +#, c-format +msgid "%s: File is empty" +msgstr "%s: Tiedosto on tyhjä" + +#: src/xz/list.c +#, c-format +msgid "%s: Too small to be a valid .xz file" +msgstr "%s: Liian pieni kelvolliseksi .xz-tiedostoksi" + +#. 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 +msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" +msgstr "Virrat Lohkot Tiivist. Tiivistämätön Suhde Tark. Tiedostonimi" + +#: src/xz/list.c +msgid "Yes" +msgstr "Kyllä" + +#: src/xz/list.c +msgid "No" +msgstr "Ei" + +#: src/xz/list.c +msgid "Minimum XZ Utils version:" +msgstr "XZ Utilsin vähimmäisversio:" + +#. 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 +#, c-format +msgid "%s file\n" +msgid_plural "%s files\n" +msgstr[0] "%s tiedosto\n" +msgstr[1] "%s tiedostoa\n" + +#: src/xz/list.c +msgid "Totals:" +msgstr "Yhteensä:" + +#: src/xz/list.c +msgid "--list works only on .xz files (--format=xz or --format=auto)" +msgstr "--list toimii vain .xz-tiedostoille (--format=xz tai --format=auto)" + +#: src/xz/list.c +msgid "Try 'lzmainfo' with .lzma files." +msgstr "Kokeile ”lzmainfo”-komento .lzma-tiedostoille." + +#: src/xz/list.c +msgid "--list does not support reading from standard input" +msgstr "--list ei tue lukemista vakiosyötteestä" + +#: src/xz/main.c +#, c-format +msgid "%s: Error reading filenames: %s" +msgstr "%s: Virhe luettaessa tiedostonimiä: %s" + +#: src/xz/main.c +#, c-format +msgid "%s: Unexpected end of input when reading filenames" +msgstr "%s: Odottamaton syötteen loppu tiedostonimiä luettaessa" + +#: src/xz/main.c +#, c-format +msgid "%s: Null character found when reading filenames; maybe you meant to use '--files0' instead of '--files'?" +msgstr "%s: Nul-merkki kohdattiin tiedostonimiä lukiessa; oliko tarkoitus antaa valitsin ”--files0” eikä ”--files”?" + +#: src/xz/main.c +msgid "Compression and decompression with --robot are not supported yet." +msgstr "Tiivistys ja purku --robot -valitsimen kanssa eivät ole vielä tuettuja." + +#: src/xz/main.c +msgid "Cannot read data from standard input when reading filenames from standard input" +msgstr "Dataa ei voi lukea vakiosyötteestä kun tiedostonimiä luetaan vakiosyötteestä" + +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s: " +msgstr "%s: " + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "Internal error (bug)" +msgstr "Sisäinen virhe (ohjelmistovika)" + +#: src/xz/message.c +msgid "Cannot establish signal handlers" +msgstr "Signaalinkäsittelimiä ei voi muodostaa" + +#: src/xz/message.c +msgid "No integrity check; not verifying file integrity" +msgstr "Ei eheystarkastusta; ei varmenneta tiedoston eheyttä" + +#: src/xz/message.c +msgid "Unsupported type of integrity check; not verifying file integrity" +msgstr "Ei-tuettu eheystarkastuksen tyyppi; ei varmenneta tiedoston eheyttä" + +#: src/xz/message.c +msgid "Memory usage limit reached" +msgstr "Muistinkäytön raja saavutettu" + +#: src/xz/message.c +msgid "File format not recognized" +msgstr "Tiedostomuotoa ei tunnistettu" + +#: src/xz/message.c +msgid "Unsupported options" +msgstr "Ei-tuetut asetukset" + +#: src/xz/message.c +msgid "Compressed data is corrupt" +msgstr "Tiivistetty data on turmeltunut" + +#: src/xz/message.c +msgid "Unexpected end of input" +msgstr "Odottamaton syötteen loppu" + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limiter is disabled." +msgstr "%s MiB muistia vaaditaan. Rajoitin on poistettu käytöstä." + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limit is %s." +msgstr "%s MiB muistia vaaditaan. Raja on %s." + +#: src/xz/message.c +#, c-format +msgid "%s: Filter chain: %s\n" +msgstr "%s: Suodinketju: %s\n" + +#: src/xz/message.c +#, c-format +msgid "Try '%s --help' for more information." +msgstr "Komento ”%s --help” antaa lisää tietoa." + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Error printing the help text (error code %d)" +msgstr "Virhe tulostettaessa ohjetekstiä (virhekoodi %d)" + +#: src/xz/message.c +#, c-format +msgid "Usage: %s [OPTION]... [FILE]...\n" +msgstr "Käyttö: %s [VALITSIN]... [TIEDOSTO]...\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Compress or decompress FILEs in the .xz format." +msgstr "Tiivistä tai pura .xz-muotoisia TIEDOSTOja." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Mandatory arguments to long options are mandatory for short options too." +msgstr "Pitkien valitsinten pakolliset argumentit ovat pakollisia myös lyhyille." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Operation mode:" +msgstr " Toimintatila:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force compression" +msgstr "pakota tiivistys" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force decompression" +msgstr "pakota purku" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "test compressed file integrity" +msgstr "testaa tiivistetyn tiedoston eheys" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "list information about .xz files" +msgstr "näytä tietoa .xz-tiedostoista" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Operation modifiers:" +msgstr "Toimintomääreet:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "keep (don't delete) input files" +msgstr "säilytä syötetiedostot (älä poista)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force overwrite of output file and (de)compress links" +msgstr "pakota tulostiedostojen ylikirjoitus ja pura/tiivistä linkit" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "write to standard output and don't delete input files" +msgstr "kirjoita vakiotulosteeseen äläkä poista syötetiedostoja" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't synchronize the output file to the storage device before removing the input file" +msgstr "älä synkronoi tulostiedostoa tallennuslaitteelle ennen syötetiedoston poistamista" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "decompress only the first stream, and silently ignore possible remaining input data" +msgstr "pura vain ensimmäinen virta, ja ohita hiljaisesti mahdollinen jäljellä oleva syötedata" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "do not create sparse files when decompressing" +msgstr "älä luo hajanaisia tiedostoja purettaessa" + +#: src/xz/message.c +msgid ".SUF" +msgstr ".PÄÄTE" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use the suffix '.SUF' on compressed files" +msgstr "käytä ”.PÄÄTE”-päätettä tiivistetyille tiedostoille" + +#: src/xz/message.c +msgid "FILE" +msgstr "TIED" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "read filenames to process from FILE; if FILE is omitted, filenames are read from the standard input; filenames must be terminated with the newline character" +msgstr "lue käsiteltävät tiedostonimet TIEDostosta; jos TIED jätetään antamatta, tiedostonimet luetaan vakiosyötteestä; tiedostonimet on päätettävä rivinvaihtomerkillä" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "like --files but use the null character as terminator" +msgstr "kuten --files mutta käytä päättämiseen nul-merkkiä" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Basic file format and compression options:" +msgstr "Tiedostomuodon ja tiivistyksen perusasetukset:" + +#: src/xz/message.c +msgid "FORMAT" +msgstr "MUOTO" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "file format to encode or decode; possible values are 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'" +msgstr "tuotettava tai luettava tiedostomuoto; vaihtoehdot ovat ”auto” (oletus), ”xz”, ”lzma”, ”lzip” ja ”raw”" + +#: src/xz/message.c +msgid "NAME" +msgstr "NIMI" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "integrity check type: 'none' (use with caution), 'crc32', 'crc64' (default), or 'sha256'" +msgstr "eheystarkastuksen tyyppi: ”none” (käytä varoen), ”crc32”, ”crc64” (oletus) tai ”sha256”" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't verify the integrity check when decompressing" +msgstr "älä suorita eheystarkastusta purettaessa" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression preset; default is 6; take compressor *and* decompressor memory usage into account before using 7-9!" +msgstr "tiivistyksen esiasetus; oletus on 6; ota tiivistyksen *ja* purun muistinkäyttö huomioon ennen arvojen 7–9 käyttämistä!" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "try to improve compression ratio by using more CPU time; does not affect decompressor memory requirements" +msgstr "yritä parantaa tiivistyssuhdetta käyttämällä enemmän suoritinaikaa; ei vaikuta purkimen muistivaatimuksiin" + +#. TRANSLATORS: Short for NUMBER. A longer string is fine but +#. wider than 5 columns makes --long-help a few lines longer. +#: src/xz/message.c +msgid "NUM" +msgstr "MÄÄRÄ" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use at most NUM threads; the default is 0 which uses as many threads as there are processor cores" +msgstr "käytä enintään MÄÄRÄä säiettä; oletus on 0, jolloin käytetään suoritinytimien määrän verran säikeitä" + +#: src/xz/message.c +msgid "SIZE" +msgstr "KOKO" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after every SIZE bytes of input; use this to set the block size for threaded compression" +msgstr "aloita uusi .xz-lohko aina KOKO syötetavun jälkeen; käytä tätä säikeistetyn tiivistyksen lohkokoon asettamiseen" + +#: src/xz/message.c +msgid "BLOCKS" +msgstr "LOHKOT" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after the given comma-separated intervals of uncompressed data; optionally, specify a filter chain number (0-9) followed by a ':' before the uncompressed data size" +msgstr "aloita uusi .xz-lohko pilkuin erotettujen tiivistämättömän datan välien jälkeen; vaihtoehtoisesti anna suodatinketjun numeron (0–9) ja sen jälkeen ”:” ennen tiivistämättömän datan kokoa" + +# to block: salpautua? kuulostaako hyvältä? +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "when compressing, if more than NUM milliseconds has passed since the previous flush and reading more input would block, all pending data is flushed out" +msgstr "jos tiivistettäessä on kulunut yli MÄÄRÄ ms edellisestä huuhtomisesta ja syötteen lukemisen jatkaminen salpautuisi, kaikki odottava data huuhdellaan" + +#: src/xz/message.c +msgid "LIMIT" +msgstr "RAJA" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, no-c-format +msgid "set memory usage limit for compression, decompression, threaded decompression, or all of these; LIMIT is in bytes, % of RAM, or 0 for defaults" +msgstr "aseta muistinkäytön raja tiivistykselle, purkamiselle, säikeistetylle purkamisella tai näille kaikille; RAJA on tavuja, %-osuus RAM-muistista tai 0 oletusarvoille" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "if compression settings exceed the memory usage limit, give an error instead of adjusting the settings downwards" +msgstr "jos tiivistysasetukset ylittävät muistinkäytön rajan, anna virhe äläkä pudota asetuksia alaspäin" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Custom filter chain for compression (an alternative to using presets):" +msgstr "Mukautettu suodinketju tiivistykselle (vaihtoehto esiasetuksille):" + +#: src/xz/message.c +msgid "FILTERS" +msgstr "SUOTIMET" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set the filter chain using the liblzma filter string syntax; use --filters-help for more information" +msgstr "aseta suodinketju käyttäen libzma:n suodinsyntaksia; lisätietoja valitsimella --filters-help" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set additional filter chains using the liblzma filter string syntax to use with --block-list" +msgstr "aseta lisäsuodinketjuja käyttäen libzma:n suodinsyntaksia --block-list:in kanssa käytettäväksi" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display more information about the liblzma filter string syntax and exit" +msgstr "näytä lisätietoa liblzma:n suodinsyntaksista ja poistu" + +#. TRANSLATORS: Short for OPTIONS. +#: src/xz/message.c +msgid "OPTS" +msgstr "ASET" + +#. TRANSLATORS: Use semicolon (or its fullwidth form) +#. in "(valid values; default)" even if it is weird in +#. your language. There are non-translatable strings +#. that look like "(foo, bar, baz; foo)" which list +#. the supported values and the default value. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "LZMA1 or LZMA2; OPTS is a comma-separated list of zero or more of the following options (valid values; default):" +msgstr "LZMA1 tai LZMA2; ASET on pilkuilla erotettu lista nollasta tai useammasta seuraavasta asetuksesta (kelvolliset arvot; oletus):" + +#. TRANSLATORS: Short for PRESET. A longer string is +#. fine but wider than 4 columns makes --long-help +#. one line longer. +#: src/xz/message.c +msgid "PRE" +msgstr "ESI" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "reset options to a preset" +msgstr "palauta asetukset esiasetukseen" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "dictionary size" +msgstr "sanaston koko" + +#. TRANSLATORS: The word "literal" in "literal context +#. bits" means how many "context bits" to use when +#. encoding literals. A literal is a single 8-bit +#. byte. It doesn't mean "literally" here. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal context bits" +msgstr "literaalien kontekstibittien määrä" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal position bits" +msgstr "literaalien sijaintibittien määrä" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of position bits" +msgstr "sijaintibittien määrä" + +#: src/xz/message.c +msgid "MODE" +msgstr "TILA" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression mode" +msgstr "tiivistystila" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "nice length of a match" +msgstr "täsmäävyyden kiva pituus" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "match finder" +msgstr "täsmäävyydenetsin" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "maximum search depth; 0=automatic (default)" +msgstr "enimmäishakusyvyys; 0=automaattinen (oletus)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "x86 BCJ filter (32-bit and 64-bit)" +msgstr "x86 BCJ -suodin (32- ja 64-bittinen)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM BCJ filter" +msgstr "ARM BCJ -suodin" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM-Thumb BCJ filter" +msgstr "ARM-Thumb BJC -suodin" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM64 BCJ filter" +msgstr "ARM64 BCJ -suodin" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "PowerPC BCJ filter (big endian only)" +msgstr "PowerPC BCJ -suodin (vain big endian)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "IA-64 (Itanium) BCJ filter" +msgstr "IA-64 (Itanium) BCJ -suodin" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "SPARC BCJ filter" +msgstr "SPARC BCJ -suodin" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "RISC-V BCJ filter" +msgstr "RISC-V BCJ -suodin" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Valid OPTS for all BCJ filters:" +msgstr "Kelvolliset ASETukset kaikille BJC-suotimille:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start offset for conversions (default=0)" +msgstr "muunnosten aloitussiirtymä (oletus=0)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Delta filter; valid OPTS (valid values; default):" +msgstr "Delta-suodin; kelvolliset ASETukset (kelvolliset arvot; oletus):" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "distance between bytes being subtracted from each other" +msgstr "toisistaan vähennettävien tavujen välinen etäisyys" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Other options:" +msgstr "Muut asetukset:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "suppress warnings; specify twice to suppress errors too" +msgstr "vaienna varoitukset; kahdesti antamalla myös virheet" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "be verbose; specify twice for even more verbose" +msgstr "ole lavea; kahdesti antamalla vieläkin laveampi" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "make warnings not affect the exit status" +msgstr "älkööt varoitukset vaikuttako paluuarvoon" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use machine-parsable messages (useful for scripts)" +msgstr "käytä koneluettavia viestejä (sopii skripteihin)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the total amount of RAM and the currently active memory usage limits, and exit" +msgstr "näytä RAM-muistin kokonaismäärä sekä parhaillaan vallitsevat muistinkäytön rajat, ja poistu" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the short help (lists only the basic options)" +msgstr "näytä lyhyt ohje (kertoo vain perusasetukset)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this long help and exit" +msgstr "näytä tämä pitkä ohje ja poistu" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this short help and exit" +msgstr "näytä tämä lyhyt ohje ja poistu" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the long help (lists also the advanced options)" +msgstr "näytä pitkä ohje (kertoo myös lisäasetukset)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the version number and exit" +msgstr "näytä versionumero ja poistu" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "With no FILE, or when FILE is -, read standard input." +msgstr "Jos TIEDOSTOa ei ole annettu, tai se on -, luetaan vakiosyötettä." + +#. TRANSLATORS: This message indicates the bug reporting +#. address for this package. Please add another line saying +#. "\nReport translation bugs to <...>." with the email or WWW +#. address for translation bugs. Thanks! +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Report bugs to <%s> (in English or Finnish)." +msgstr "Ilmoita ohjelmistovioista (suomeksi) osoitteeseen <%s>." + +#. TRANSLATORS: The first %s is the name of this software. +#. The second <%s> is an URL. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s home page: <%s>" +msgstr "%s -kotisivu: <%s>" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE." +msgstr "TÄMÄ ON KEHITYSVERSIO, JOTA EI OLE TARKOITETTU TUOTANTOKÄYTTÖÖN." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, c-format +msgid "Filter chains are set using the --filters=FILTERS or --filters1=FILTERS ... --filters9=FILTERS options. Each filter in the chain can be separated by spaces or '--'. Alternatively a preset %s can be specified instead of a filter chain." +msgstr "Suodinketjut asetetaan käyttämällä valitsinta --filters=SUOTIMET tai --filters1=SUOTIMET ... --filters9=SUOTIMET. Kukin ketjun suodin voidaan erottaa välilyönneillä tai ”--”:lla. Vaihtoehtoisesti suodinketjun sijaan voidaan antaa esiasetus %s." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "The supported filters and their options are:" +msgstr "Tuetut suotimet ja niiden asetukset ovat:" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "Options must be 'name=value' pairs separated with commas" +msgstr "Valitsinten on oltava pilkuilla eroteltuja ”nimi=arvo”-pareja" + +#: src/xz/options.c +#, c-format +msgid "%s: Invalid option name" +msgstr "%s: Virheellinen asetuksen nimi" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "Invalid option value" +msgstr "Virheellinen asetuksen arvo" + +#: src/xz/options.c +#, c-format +msgid "Unsupported LZMA1/LZMA2 preset: %s" +msgstr "Ei-tuettu LZMA1/LZMA2-esiasetus: %s" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "The sum of lc and lp must not exceed 4" +msgstr "lc:n ja lp:n summa ei saa olla yli 4" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Filename has an unknown suffix, skipping" +msgstr "%s: Tiedostonimen pääte on tuntematon, ohitetaan" + +#: src/xz/suffix.c +#, c-format +msgid "%s: File already has '%s' suffix, skipping" +msgstr "%s: Tiedostolla on jo ”%s”-pääte, ohitetaan" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Invalid filename suffix" +msgstr "%s: Virheellinen tiedostonimen pääte" + +#: src/xz/util.c src/liblzma/common/string_conversion.c +msgid "Value is not a non-negative decimal integer" +msgstr "Arvo ei ole ei ole epänegatiivinen kymmenkantainen kokonaisluku" + +#: src/xz/util.c +#, c-format +msgid "%s: Invalid multiplier suffix" +msgstr "%s: Tuntematon kerroin" + +#: src/xz/util.c +msgid "Valid suffixes are 'KiB' (2^10), 'MiB' (2^20), and 'GiB' (2^30)." +msgstr "Kelvolliset kertoimet ovat ”KiB” (2¹⁰), ”MiB” (2²⁰) ja ”GiB” (2³⁰)." + +#: src/xz/util.c +#, c-format +msgid "Value of the option '%s' must be in the range [%, %]" +msgstr "Valitsimen ”%s” arvon on oltava välillä [%, %]" + +#: src/xz/util.c +msgid "Compressed data cannot be read from a terminal" +msgstr "Tiivistettyä dataa ei voi lukea päätteestä" + +#: src/xz/util.c +msgid "Compressed data cannot be written to a terminal" +msgstr "Tiivistettyä dataa ei voi kirjoittaa päätteeseen" + +#: src/lzmainfo/lzmainfo.c +#, c-format +msgid "Usage: %s [--help] [--version] [FILE]...\n" +msgstr "Käyttö: %s [--help] [--version] [TIEDOSTO]...\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/lzmainfo/lzmainfo.c +msgid "Show information stored in the .lzma file header." +msgstr "Näytä .lzma-tiedosto-otsakkeeseen tallennettu tieto." + +#: src/lzmainfo/lzmainfo.c +msgid "File is too small to be a .lzma file" +msgstr "Liian pieni kelvolliseksi .xz-tiedostoksi" + +#: src/lzmainfo/lzmainfo.c +msgid "Not a .lzma file" +msgstr "Ei .lzma-tiedosto" + +#: src/common/tuklib_exit.c +msgid "Writing to standard output failed" +msgstr "Vakiotulosteeseen kirjoitus epäonnistui" + +#: src/common/tuklib_exit.c +msgid "Unknown error" +msgstr "Tuntematon virhe" + +#: src/liblzma/common/string_conversion.c +msgid "Unsupported preset" +msgstr "Ei-tuettu esiasetus" + +#: src/liblzma/common/string_conversion.c +msgid "Unsupported flag in the preset" +msgstr "Ei-tuettu lippu esiasetuksessa" + +#: src/liblzma/common/string_conversion.c +msgid "Unknown option name" +msgstr "Tuntematon asetuksen nimi" + +#: src/liblzma/common/string_conversion.c +msgid "Option value cannot be empty" +msgstr "Valitsimen arvo ei voi olla tyhjä" + +#: src/liblzma/common/string_conversion.c +msgid "Value out of range" +msgstr "Arvo sallitun välin ulkopuolella" + +#: src/liblzma/common/string_conversion.c +msgid "This option does not support any multiplier suffixes" +msgstr "Tämä asetus ei tue kertoimia" + +#. TRANSLATORS: Don't translate the +#. suffixes "KiB", "MiB", or "GiB" +#. because a user can only specify +#. untranslated suffixes. +#: src/liblzma/common/string_conversion.c +msgid "Invalid multiplier suffix (KiB, MiB, or GiB)" +msgstr "Virheellinen kerroin (KiB, MiB tai GiB)" + +#: src/liblzma/common/string_conversion.c +msgid "Unknown filter name" +msgstr "Tuntematon suotimen nimi" + +#: src/liblzma/common/string_conversion.c +msgid "This filter cannot be used in the .xz format" +msgstr "Tätä suodinta ei voi käyttää .xz-muodon kanssa" + +#: src/liblzma/common/string_conversion.c +msgid "Memory allocation failed" +msgstr "Muistinvaraus epäonnistui" + +#: src/liblzma/common/string_conversion.c +msgid "Empty string is not allowed, try '6' if a default value is needed" +msgstr "Tyhjä merkkijono ei ole sallittu, kokeile arvoa ”6”, jos oletusarvoa tarvitaan" + +#: src/liblzma/common/string_conversion.c +msgid "The maximum number of filters is four" +msgstr "Suodattimien enimmäismäärä on neljä" + +#: src/liblzma/common/string_conversion.c +msgid "Filter name is missing" +msgstr "Suotimen nimi puuttuu" + +#: src/liblzma/common/string_conversion.c +msgid "Invalid filter chain ('lzma2' missing at the end?)" +msgstr "Virheellinen suodinketju (puuttuuko ”lzma2” lopusta?)" diff --git a/src/native/external/xz/po/fr.po b/src/native/external/xz/po/fr.po new file mode 100644 index 00000000000000..5c899b175150f9 --- /dev/null +++ b/src/native/external/xz/po/fr.po @@ -0,0 +1,1668 @@ +# XZ Utils French Translation +# This file is put in the public domain. +# Adrien Nader , 2011-2014. +# Stéphane Aulery , 2019-2023. +# +msgid "" +msgstr "" +"Project-Id-Version: xz-5.4.4-pre1\n" +"Report-Msgid-Bugs-To: xz@tukaani.org\n" +"POT-Creation-Date: 2025-01-29 20:59+0200\n" +"PO-Revision-Date: 2023-12-19 04:12+0100\n" +"Last-Translator: Stéphane Aulery \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"Plural-Forms: nplurals=2; plural=(n==1) ? 0 : 1;\n" + +#: src/xz/args.c +#, c-format +msgid "%s: Invalid argument to --block-list" +msgstr "%s : argument de l'option --block-list invalide" + +#: src/xz/args.c +#, c-format +msgid "%s: Too many arguments to --block-list" +msgstr "%s : trop d'arguments pour l'option --block-list" + +#: src/xz/args.c +#, c-format +msgid "In --block-list, block size is missing after filter chain number '%c:'" +msgstr "" + +#: src/xz/args.c +msgid "0 can only be used as the last element in --block-list" +msgstr "0 peut seulement être utilisé en dernier élément de --block-list" + +#: src/xz/args.c +#, c-format +msgid "%s: Unknown file format type" +msgstr "%s : Format de fichier inconnu" + +#: src/xz/args.c +#, c-format +msgid "%s: Unsupported integrity check type" +msgstr "%s : Type de vérification d'intégrité inconnu" + +#: src/xz/args.c +#, fuzzy +#| msgid "Only one file can be specified with `--files' or `--files0'." +msgid "Only one file can be specified with '--files' or '--files0'." +msgstr "Un seul fichier peut être spécifié avec `--files' ou `--files0'." + +#. TRANSLATORS: This is a translatable +#. string because French needs a space +#. before the colon ("%s : %s"). +#: src/xz/args.c src/xz/coder.c src/xz/file_io.c src/xz/list.c src/xz/options.c +#: src/xz/util.c +#, fuzzy, c-format +#| msgid "%s: " +msgid "%s: %s" +msgstr "%s : " + +#: src/xz/args.c +#, c-format +msgid "The environment variable %s contains too many arguments" +msgstr "La variable d'environnement %s contient trop d'arguments" + +#: src/xz/args.c +msgid "Compression support was disabled at build time" +msgstr "Le support de la compression à était désactivé lors de la compilaton" + +#: src/xz/args.c +msgid "Decompression support was disabled at build time" +msgstr "Le support de la décompression a été désactivé lors de la compilation" + +#: src/xz/args.c +msgid "Compression of lzip files (.lz) is not supported" +msgstr "" + +#: src/xz/args.c +msgid "--block-list is ignored unless compressing to the .xz format" +msgstr "" + +#: src/xz/args.c +#, fuzzy +#| msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout" +msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout" +msgstr "%s : Avec --format=raw, --suffix=.SUF est nécessaire sauf lors de l'écriture vers stdout" + +#: src/xz/coder.c +msgid "Maximum number of filters is four" +msgstr "Le nombre maximal de filtres est quatre" + +#: src/xz/coder.c +#, c-format +msgid "Error in --filters%s=FILTERS option:" +msgstr "" + +#: src/xz/coder.c +msgid "Memory usage limit is too low for the given filter setup." +msgstr "La limite d'utilisation mémoire est trop basse pour la configuration de filtres donnée." + +#: src/xz/coder.c +#, c-format +msgid "filter chain %u used by --block-list but not specified with --filters%u=" +msgstr "" + +#: src/xz/coder.c +msgid "Using a preset in raw mode is discouraged." +msgstr "Utiliser un préréglage en mode `raw' est déconseillé." + +#: src/xz/coder.c +msgid "The exact options of the presets may vary between software versions." +msgstr "Le détail des préréglages peut varier entre différentes versions du logiciel." + +#: src/xz/coder.c +msgid "The .lzma format supports only the LZMA1 filter" +msgstr "Le format .lzma ne prend en charge que le filtre LZMA1" + +#: src/xz/coder.c +msgid "LZMA1 cannot be used with the .xz format" +msgstr "Le filtre LZMA1 ne peut être utilisé avec le format .xz" + +#: src/xz/coder.c +#, fuzzy, c-format +#| msgid "The filter chain is incompatible with --flush-timeout" +msgid "Filter chain %u is incompatible with --flush-timeout" +msgstr "La Chaine de filtre est incompatible avec --flush-timeout" + +#: src/xz/coder.c +msgid "Switching to single-threaded mode due to --flush-timeout" +msgstr "Bascule en mode mono-processus à cause de --flush-timeout" + +#: src/xz/coder.c +#, fuzzy, c-format +#| msgid "Unsupported options" +msgid "Unsupported options in filter chain %u" +msgstr "Options non prises en charge" + +#: src/xz/coder.c +#, c-format +msgid "Using up to % threads." +msgstr "Jusqu'à % threads seront utilisés." + +#: src/xz/coder.c +msgid "Unsupported filter chain or filter options" +msgstr "Enchaînement ou options de filtres non pris en charge" + +#: src/xz/coder.c +#, c-format +msgid "Decompression will need %s MiB of memory." +msgstr "La décompression nécessitera %s MiB de mémoire." + +#: src/xz/coder.c +#, fuzzy, c-format +msgid "Reduced the number of threads from %s to %s to not exceed the memory usage limit of %s MiB" +msgstr "Nombre de threads réduit de %s à %s pour ne pas dépasser la limite d'utilisation mémoire de %s MiB" + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to one. The automatic memory usage limit of %s MiB is still being exceeded. %s MiB of memory is required. Continuing anyway." +msgstr "" + +#: src/xz/coder.c +#, fuzzy, c-format +msgid "Switching to single-threaded mode to not exceed the memory usage limit of %s MiB" +msgstr "Nombre de threads réduit de %s à %s pour ne pas dépasser la limite d'utilisation mémoire de %s MiB" + +#: src/xz/coder.c +#, 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 "Taille du dictionnaire LZMA%c réduite de %s MiB à %s MiB pour ne pas dépasser la limite d'utilisation mémoire de %s MiB" + +#: src/xz/coder.c +#, fuzzy, c-format +#| msgid "Adjusted LZMA%c dictionary size from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgid "Adjusted LZMA%c dictionary size for --filters%u from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgstr "Taille du dictionnaire LZMA%c réduite de %s MiB à %s MiB pour ne pas dépasser la limite d'utilisation mémoire de %s MiB" + +#: src/xz/coder.c +#, fuzzy, c-format +#| msgid "Error creating a pipe: %s" +msgid "Error changing to filter chain %u: %s" +msgstr "Impossible de créer un tube anonyme (pipe) : %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error creating a pipe: %s" +msgstr "Impossible de créer un tube anonyme (pipe) : %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: poll() failed: %s" +msgstr "%s : L'appel à la fonction poll() a échoué : %s" + +#. 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 +#, c-format +msgid "%s: File seems to have been moved, not removing" +msgstr "%s : Le fichier a apparemment été déplacé, suppression annulée" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot remove: %s" +msgstr "%s : Impossible de supprimer : %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file owner: %s" +msgstr "%s : Impossible de modifier le propriétaire du fichier : %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file group: %s" +msgstr "%s : Impossible de modifier le groupe propriétaire du fichier : %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file permissions: %s" +msgstr "%s : Impossible de modifier les permissions du fichier : %s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Closing the file failed: %s" +msgid "%s: Synchronizing the file failed: %s" +msgstr "%s : Impossible de fermer le fichier : %s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Closing the file failed: %s" +msgid "%s: Synchronizing the directory of the file failed: %s" +msgstr "%s : Impossible de fermer le fichier : %s" + +# Note from translator on "file status flags". +# The following entry is kept un-translated on purpose. It is difficult to +# translate and should only happen in exceptional circumstances which means +# that translating would: +# - lose some of the meaning +# - make it more difficult to look up in search engines; it might happen one in +# a million times, if we dilute the error message in 20 languages, it will be +# almost impossible to find an explanation and support for the error. +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard input: %s" +msgstr "Echec de la lecture du drapeau d'état du fichier depuis la sortie standard : %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a symbolic link, skipping" +msgstr "%s est un lien symbolique : ignoré" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a directory, skipping" +msgstr "%s est un répertoire : ignoré" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Not a regular file, skipping" +msgstr "%s n'est pas un fichier régulier : ignoré" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has setuid or setgid bit set, skipping" +msgstr "%s : Le fichier possède les bits `setuid' ou `setgid' : ignoré" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has sticky bit set, skipping" +msgstr "%s : Le fichier possède le bit `sticky' : ignoré" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Input file has more than one hard link, skipping" +msgstr "%s : Le fichier d'entrée a plus d'un lien matériel : ignoré" + +#: src/xz/file_io.c +msgid "Empty filename, skipping" +msgstr "Nom de fichier vide, ignoré" + +# See note from translator above titled "file status flags". +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the status flags to standard input: %s" +msgstr "Erreur de restauration du drapeau d'état de l'entrée standard : %s" + +# See note from translator above titled "file status flags". +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard output: %s" +msgstr "Erreur de lecture du drapeau d'état du fichier depuis la sortie standard : %s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Closing the file failed: %s" +msgid "%s: Opening the directory failed: %s" +msgstr "%s : Impossible de fermer le fichier : %s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Not a regular file, skipping" +msgid "%s: Destination is not a regular file" +msgstr "%s n'est pas un fichier régulier : ignoré" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the O_APPEND flag to standard output: %s" +msgstr "Impossible de rétablir le drapeau O_APPEND sur la sortie standard : %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Closing the file failed: %s" +msgstr "%s : Impossible de fermer le fichier : %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Seeking failed when trying to create a sparse file: %s" +msgstr "%s : Impossible de se déplacer dans le fichier pour créer un 'sparse file' : %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Read error: %s" +msgstr "%s : Erreur d'écriture : %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Error seeking the file: %s" +msgstr "%s : Impossible de se déplacer dans le fichier : %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Unexpected end of file" +msgstr "%s : Fin de fichier inattendue" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Write error: %s" +msgstr "%s : Erreur d'écriture : %s" + +#: src/xz/hardware.c +msgid "Disabled" +msgstr "Désactivé" + +#: src/xz/hardware.c +#, fuzzy +msgid "Amount of physical memory (RAM):" +msgstr "Quantité totale de mémoire physique (RAM) : " + +#: src/xz/hardware.c +msgid "Number of processor threads:" +msgstr "" + +#: src/xz/hardware.c +msgid "Compression:" +msgstr "" + +#: src/xz/hardware.c +msgid "Decompression:" +msgstr "" + +#: src/xz/hardware.c +#, fuzzy +msgid "Multi-threaded decompression:" +msgstr "Limite d'utilisation pour la décompression : " + +#: src/xz/hardware.c +msgid "Default for -T0:" +msgstr "" + +#: src/xz/hardware.c +msgid "Hardware information:" +msgstr "" + +#: src/xz/hardware.c +#, fuzzy +msgid "Memory usage limits:" +msgstr "Limite d'utilisation mémoire atteinte" + +#: src/xz/list.c +msgid "Streams:" +msgstr "" + +#: src/xz/list.c +msgid "Blocks:" +msgstr "" + +#: src/xz/list.c +#, fuzzy +msgid "Compressed size:" +msgstr " Taille données avec compression : %s\n" + +#: src/xz/list.c +#, fuzzy +msgid "Uncompressed size:" +msgstr " Taille données sans compression : %s\n" + +#: src/xz/list.c +msgid "Ratio:" +msgstr "" + +#: src/xz/list.c +msgid "Check:" +msgstr "" + +#: src/xz/list.c +#, fuzzy +msgid "Stream Padding:" +msgstr " Octets de rembourrage du flux : %s\n" + +#: src/xz/list.c +#, fuzzy +msgid "Memory needed:" +msgstr " Mémoire nécessaire : %s MiB\n" + +#: src/xz/list.c +#, fuzzy +msgid "Sizes in headers:" +msgstr " Tailles stockées dans l'en-tête : %s\n" + +#: src/xz/list.c +#, fuzzy +msgid "Number of files:" +msgstr " Nombre de fichiers : %s\n" + +#: src/xz/list.c +msgid "Stream" +msgstr "" + +#: src/xz/list.c +msgid "Block" +msgstr "" + +#: src/xz/list.c +msgid "Blocks" +msgstr "" + +#: src/xz/list.c +msgid "CompOffset" +msgstr "" + +#: src/xz/list.c +msgid "UncompOffset" +msgstr "" + +#: src/xz/list.c +msgid "CompSize" +msgstr "" + +#: src/xz/list.c +msgid "UncompSize" +msgstr "" + +#: src/xz/list.c +#, fuzzy +msgid "TotalSize" +msgstr "Totaux :" + +#: src/xz/list.c +msgid "Ratio" +msgstr "" + +#: src/xz/list.c +msgid "Check" +msgstr "" + +#: src/xz/list.c +msgid "CheckVal" +msgstr "" + +#: src/xz/list.c +msgid "Padding" +msgstr "" + +#: src/xz/list.c +msgid "Header" +msgstr "" + +#: src/xz/list.c +msgid "Flags" +msgstr "" + +#: src/xz/list.c +msgid "MemUsage" +msgstr "" + +#: src/xz/list.c +msgid "Filters" +msgstr "" + +#. TRANSLATORS: Indicates that there is no integrity check. +#. This string is used in tables. In older xz version this +#. string was limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "None" +msgstr "Aucune" + +#. TRANSLATORS: Indicates that integrity check name is not known, +#. but the Check ID is known (here 2). In older xz version these +#. strings were limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "Unknown-2" +msgstr "Inconnue-2" + +#: src/xz/list.c +msgid "Unknown-3" +msgstr "Inconnue-3" + +#: src/xz/list.c +msgid "Unknown-5" +msgstr "Inconnue-5" + +#: src/xz/list.c +msgid "Unknown-6" +msgstr "Inconnue-6" + +#: src/xz/list.c +msgid "Unknown-7" +msgstr "Inconnue-7" + +#: src/xz/list.c +msgid "Unknown-8" +msgstr "Inconnue-8" + +#: src/xz/list.c +msgid "Unknown-9" +msgstr "Inconnue-9" + +#: src/xz/list.c +msgid "Unknown-11" +msgstr "Inconnue-11" + +#: src/xz/list.c +msgid "Unknown-12" +msgstr "Inconnue-12" + +#: src/xz/list.c +msgid "Unknown-13" +msgstr "Inconnue-13" + +#: src/xz/list.c +msgid "Unknown-14" +msgstr "Inconnue-14" + +#: src/xz/list.c +msgid "Unknown-15" +msgstr "Inconnue-15" + +#: src/xz/list.c +#, c-format +msgid "%s: File is empty" +msgstr "%s : Le fichier est vide" + +#: src/xz/list.c +#, c-format +msgid "%s: Too small to be a valid .xz file" +msgstr "%s : Trop petit pour être un fichier xz valide." + +#. 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 +msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" +msgstr "Flux Blocs Compressé Décompressé Ratio Vérif. Nom de fichier" + +#: src/xz/list.c +msgid "Yes" +msgstr "Oui" + +#: src/xz/list.c +msgid "No" +msgstr "Non" + +#: src/xz/list.c +#, fuzzy +#| msgid " Minimum XZ Utils version: %s\n" +msgid "Minimum XZ Utils version:" +msgstr " Version minimale de XZ Utils : %s\n" + +#. 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 +#, c-format +msgid "%s file\n" +msgid_plural "%s files\n" +msgstr[0] "%s fichier\n" +msgstr[1] "%s fichiers\n" + +#: src/xz/list.c +msgid "Totals:" +msgstr "Totaux :" + +#: src/xz/list.c +msgid "--list works only on .xz files (--format=xz or --format=auto)" +msgstr "--list ne marche que sur les fichiers .xz (--format=xz ou --format=auto)" + +#: src/xz/list.c +msgid "Try 'lzmainfo' with .lzma files." +msgstr "" + +#: src/xz/list.c +msgid "--list does not support reading from standard input" +msgstr "--list est incompatible avec la lecture sur l'entrée standard" + +#: src/xz/main.c +#, c-format +msgid "%s: Error reading filenames: %s" +msgstr "%s : Erreur lors de la lecture des noms de fichiers : %s" + +#: src/xz/main.c +#, c-format +msgid "%s: Unexpected end of input when reading filenames" +msgstr "%s : Fin des données inattendue lors de la lecture des noms de fichiers" + +#: src/xz/main.c +#, fuzzy, c-format +#| msgid "%s: Null character found when reading filenames; maybe you meant to use `--files0' instead of `--files'?" +msgid "%s: Null character found when reading filenames; maybe you meant to use '--files0' instead of '--files'?" +msgstr "%s : Caractère NULL détecté lors de la lecture des noms de fichiers ; peut-être pensiez-vous à `--files0' plutot qu'a `--files' ?" + +#: src/xz/main.c +msgid "Compression and decompression with --robot are not supported yet." +msgstr "La compression et la décompression ne marchent pas encore avec --robot." + +#: src/xz/main.c +msgid "Cannot read data from standard input when reading filenames from standard input" +msgstr "Impossible de lire à la fois les données et les noms de fichiers depuis l'entrée standard" + +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s: " +msgstr "%s : " + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "Internal error (bug)" +msgstr "Erreur interne (bug)" + +#: src/xz/message.c +msgid "Cannot establish signal handlers" +msgstr "Impossible d'installer le gestionnaire de signaux" + +#: src/xz/message.c +msgid "No integrity check; not verifying file integrity" +msgstr "Pas de données de vérification d'intégrité ; vérification non effectuée" + +#: src/xz/message.c +msgid "Unsupported type of integrity check; not verifying file integrity" +msgstr "Méthode de vérification d'intégrité non prise en charge ; vérification non effectuée" + +#: src/xz/message.c +msgid "Memory usage limit reached" +msgstr "Limite d'utilisation mémoire atteinte" + +#: src/xz/message.c +msgid "File format not recognized" +msgstr "Format de fichier inconnu" + +#: src/xz/message.c +msgid "Unsupported options" +msgstr "Options non prises en charge" + +#: src/xz/message.c +msgid "Compressed data is corrupt" +msgstr "Les données compressées sont corrompues" + +#: src/xz/message.c +msgid "Unexpected end of input" +msgstr "Fin des données inattendue " + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limiter is disabled." +msgstr "%s MiB de mémoire sont nécessaires. La limite est désactivée." + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limit is %s." +msgstr "%s MiB de mémoire sont nécessaires, la limite étant %s." + +#: src/xz/message.c +#, c-format +msgid "%s: Filter chain: %s\n" +msgstr "%s : Enchaînement de filtres : %s\n" + +#: src/xz/message.c +#, fuzzy, c-format +#| msgid "Try `%s --help' for more information." +msgid "Try '%s --help' for more information." +msgstr "Éxécutez `%s --help' pour obtenir davantage d'informations." + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Error printing the help text (error code %d)" +msgstr "" + +#: src/xz/message.c +#, c-format +msgid "Usage: %s [OPTION]... [FILE]...\n" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "Usage: %s [OPTION]... [FILE]...\n" +#| "Compress or decompress FILEs in the .xz format.\n" +#| "\n" +msgid "Compress or decompress FILEs in the .xz format." +msgstr "" +"Utilisation : %s [OPTION]... [FICHIER]...\n" +"Compresse ou decompresse FICHIER(s) au format .xz.\n" +"\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Mandatory arguments to long options are mandatory for short options too.\n" +msgid "Mandatory arguments to long options are mandatory for short options too." +msgstr "" +"Les arguments obligatoires pour les options longues le sont aussi pour les\n" +"options courtes.\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " Operation mode:\n" +msgid "Operation mode:" +msgstr " Mode d'opération :\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +msgid "force compression" +msgstr "Limite d'utilisation pour la décompression : " + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +msgid "force decompression" +msgstr "Limite d'utilisation pour la décompression : " + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "test compressed file integrity" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "list information about .xz files" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Operation modifiers:\n" +msgid "Operation modifiers:" +msgstr "" +"\n" +" Modificateurs :\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "keep (don't delete) input files" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force overwrite of output file and (de)compress links" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Writing to standard output failed" +msgid "write to standard output and don't delete input files" +msgstr "Impossible d'écrire vers la sortie standard" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't synchronize the output file to the storage device before removing the input file" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --single-stream decompress only the first stream, and silently\n" +#| " ignore possible remaining input data" +msgid "decompress only the first stream, and silently ignore possible remaining input data" +msgstr "" +" --single-stream décompresser uniquement le premier flux et ignorer\n" +" silencieusement les données éventuellement restantes" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "do not create sparse files when decompressing" +msgstr "" + +#: src/xz/message.c +msgid ".SUF" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use the suffix '.SUF' on compressed files" +msgstr "" + +#: src/xz/message.c +msgid "FILE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "read filenames to process from FILE; if FILE is omitted, filenames are read from the standard input; filenames must be terminated with the newline character" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "like --files but use the null character as terminator" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Basic file format and compression options:\n" +msgid "Basic file format and compression options:" +msgstr "" +"\n" +" Options basiques de format de fichier et de compression :\n" + +#: src/xz/message.c +msgid "FORMAT" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "file format to encode or decode; possible values are 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'" +msgstr "" + +#: src/xz/message.c +msgid "NAME" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "integrity check type: 'none' (use with caution), 'crc32', 'crc64' (default), or 'sha256'" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " --ignore-check don't verify the integrity check when decompressing" +msgid "don't verify the integrity check when decompressing" +msgstr "" +" --ignore-check ne pas vérifier l'intégrité des données lors de\n" +" la décompression" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " -0 ... -9 compression preset; default is 6; take compressor *and*\n" +#| " decompressor memory usage into account before using 7-9!" +msgid "compression preset; default is 6; take compressor *and* decompressor memory usage into account before using 7-9!" +msgstr "" +" -0 ... -9 préréglage de compression : 6 par défaut ; pensez à\n" +" l'utilisation mémoire du compresseur *et* du décompresseur\n" +" avant d'utiliser 7, 8 ou 9 !" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " -e, --extreme try to improve compression ratio by using more CPU time;\n" +#| " does not affect decompressor memory requirements" +msgid "try to improve compression ratio by using more CPU time; does not affect decompressor memory requirements" +msgstr "" +" -e, --extreme essayer d'améliorer la compression en utilisant davantage\n" +" de temps processeur ;\n" +" n'affecte pas les besoins mémoire du décompresseur" + +#. TRANSLATORS: Short for NUMBER. A longer string is fine but +#. wider than 5 columns makes --long-help a few lines longer. +#: src/xz/message.c +msgid "NUM" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " -T, --threads=NUM use at most NUM threads; the default is 1; set to 0\n" +#| " to use as many threads as there are processor cores" +msgid "use at most NUM threads; the default is 0 which uses as many threads as there are processor cores" +msgstr "" +" -T, --threads=NB créer au plus NB fils de compression (1 par défault) ; la\n" +" valeur 0 est spéciale et équivaut au nombre de processeurs\n" +" de la machine" + +#: src/xz/message.c +msgid "SIZE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --block-size=SIZE\n" +#| " start a new .xz block after every SIZE bytes of input;\n" +#| " use this to set the block size for threaded compression" +msgid "start a new .xz block after every SIZE bytes of input; use this to set the block size for threaded compression" +msgstr "" +" --block-size=TAILLE\n" +" débuter un bloc XZ après chaque TAILLE octets de données\n" +" d'entrée ; ce réglage sert pour la compression paralléle" + +#: src/xz/message.c +msgid "BLOCKS" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --block-list=SIZES\n" +#| " start a new .xz block after the given comma-separated\n" +#| " intervals of uncompressed data" +msgid "start a new .xz block after the given comma-separated intervals of uncompressed data; optionally, specify a filter chain number (0-9) followed by a ':' before the uncompressed data size" +msgstr "" +" --block-list=TAILLES\n" +" débuter des blocs XZ après les TAILLES octets de données\n" +" spécifiées avec des virgules pour séparateur" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --flush-timeout=TIMEOUT\n" +#| " when compressing, if more than TIMEOUT milliseconds has\n" +#| " passed since the previous flush and reading more input\n" +#| " would block, all pending data is flushed out" +msgid "when compressing, if more than NUM milliseconds has passed since the previous flush and reading more input would block, all pending data is flushed out" +msgstr "" +" --flush-timeout=TIMEOUT\n" +" pendant la compression, si plus de TIMEOUT ms ont passées\n" +" depuis le dernier flush et que la lecture est bloquée,\n" +" toutes les données en attente sont écrites" + +#: src/xz/message.c +msgid "LIMIT" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, no-c-format +msgid "set memory usage limit for compression, decompression, threaded decompression, or all of these; LIMIT is in bytes, % of RAM, or 0 for defaults" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --no-adjust if compression settings exceed the memory usage limit,\n" +#| " give an error instead of adjusting the settings downwards" +msgid "if compression settings exceed the memory usage limit, give an error instead of adjusting the settings downwards" +msgstr "" +" --no-adjust si les réglages de compression dépassent la limite\n" +" d'utilisation mémoire, renvoyer une erreur plutôt que de\n" +" diminuer les réglages" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Custom filter chain for compression (alternative for using presets):" +msgid "Custom filter chain for compression (an alternative to using presets):" +msgstr "" +"\n" +" Chaîne de filtres de compression personnalisée (en lieu des préréglages) :" + +#: src/xz/message.c +msgid "FILTERS" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set the filter chain using the liblzma filter string syntax; use --filters-help for more information" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set additional filter chains using the liblzma filter string syntax to use with --block-list" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display more information about the liblzma filter string syntax and exit" +msgstr "" + +#. TRANSLATORS: Short for OPTIONS. +#: src/xz/message.c +msgid "OPTS" +msgstr "" + +#. TRANSLATORS: Use semicolon (or its fullwidth form) +#. in "(valid values; default)" even if it is weird in +#. your language. There are non-translatable strings +#. that look like "(foo, bar, baz; foo)" which list +#. the supported values and the default value. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "LZMA1 or LZMA2; OPTS is a comma-separated list of zero or more of the following options (valid values; default):" +msgstr "" + +#. TRANSLATORS: Short for PRESET. A longer string is +#. fine but wider than 4 columns makes --long-help +#. one line longer. +#: src/xz/message.c +msgid "PRE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "reset options to a preset" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "dictionary size" +msgstr "" + +#. TRANSLATORS: The word "literal" in "literal context +#. bits" means how many "context bits" to use when +#. encoding literals. A literal is a single 8-bit +#. byte. It doesn't mean "literally" here. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal context bits" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal position bits" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of position bits" +msgstr "" + +#: src/xz/message.c +msgid "MODE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " Operation mode:\n" +msgid "compression mode" +msgstr " Mode d'opération :\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "nice length of a match" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "match finder" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "maximum search depth; 0=automatic (default)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "x86 BCJ filter (32-bit and 64-bit)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM-Thumb BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM64 BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "PowerPC BCJ filter (big endian only)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "IA-64 (Itanium) BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "SPARC BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "RISC-V BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Valid OPTS for all BCJ filters:" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start offset for conversions (default=0)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Delta filter; valid OPTS (valid values; default):" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "distance between bytes being subtracted from each other" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Other options:\n" +msgid "Other options:" +msgstr "" +"\n" +" Autres options :\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "suppress warnings; specify twice to suppress errors too" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "be verbose; specify twice for even more verbose" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " -Q, --no-warn make warnings not affect the exit status" +msgid "make warnings not affect the exit status" +msgstr " -Q, --no-warn les avertissements ne modifient pas le code de sortie" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " --robot use machine-parsable messages (useful for scripts)" +msgid "use machine-parsable messages (useful for scripts)" +msgstr "" +" --robot utiliser des messages lisibles par un programme\n" +" (utile pour les scripts)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --info-memory display the total amount of RAM and the currently active\n" +#| " memory usage limits, and exit" +msgid "display the total amount of RAM and the currently active memory usage limits, and exit" +msgstr "" +" --info-memory afficher la quantité totale de RAM ainsi que la limite\n" +" actuelle d'utilisation mémoire puis quitter" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the short help (lists only the basic options)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this long help and exit" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this short help and exit" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the long help (lists also the advanced options)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " -V, --version display the version number and exit" +msgid "display the version number and exit" +msgstr " -V, --version afficher le numéro de version puis quitter" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, fuzzy +#| msgid "" +#| "\n" +#| "With no FILE, or when FILE is -, read standard input.\n" +msgid "With no FILE, or when FILE is -, read standard input." +msgstr "" +"\n" +"Sans FILE ou quand FILE est -, lire l'entrée standard.\n" + +#. TRANSLATORS: This message indicates the bug reporting +#. address for this package. Please add another line saying +#. "\nReport translation bugs to <...>." with the email or WWW +#. address for translation bugs. Thanks! +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, fuzzy, c-format +#| msgid "Report bugs to <%s> (in English or Finnish).\n" +msgid "Report bugs to <%s> (in English or Finnish)." +msgstr "" +"Signaler les bogues à <%s> (en anglais ou en finnois).\n" +"Signaler les bogues de traduction à .\n" + +#. TRANSLATORS: The first %s is the name of this software. +#. The second <%s> is an URL. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, fuzzy, c-format +#| msgid "%s home page: <%s>\n" +msgid "%s home page: <%s>" +msgstr "Page du projet %s : <%s>\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE." +msgstr "CECI EST UNE VERSION DE DEVELOPPEMENT QUI NE DOIT PAS ÊTRE UTILISEE EN PRODUCTION." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, c-format +msgid "Filter chains are set using the --filters=FILTERS or --filters1=FILTERS ... --filters9=FILTERS options. Each filter in the chain can be separated by spaces or '--'. Alternatively a preset %s can be specified instead of a filter chain." +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Unsupported filter chain or filter options" +msgid "The supported filters and their options are:" +msgstr "Enchaînement ou options de filtres non pris en charge" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Options must be `name=value' pairs separated with commas" +msgid "Options must be 'name=value' pairs separated with commas" +msgstr "%s: Les options doivent être des paires `nom=valeur' séparées par des virgules" + +#: src/xz/options.c +#, c-format +msgid "%s: Invalid option name" +msgstr "%s : Nom d'option invalide" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Invalid option value" +msgid "Invalid option value" +msgstr "%s : Valeur d'option invalide" + +#: src/xz/options.c +#, c-format +msgid "Unsupported LZMA1/LZMA2 preset: %s" +msgstr "Préréglage LZMA1/LZMA2 non reconnu : %s" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "The sum of lc and lp must not exceed 4" +msgstr "La somme de lc et lp ne doit pas dépasser 4" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Filename has an unknown suffix, skipping" +msgstr "%s : Le fichier a un suffixe inconnu, ignoré" + +#: src/xz/suffix.c +#, fuzzy, c-format +#| msgid "%s: File already has `%s' suffix, skipping" +msgid "%s: File already has '%s' suffix, skipping" +msgstr "%s : Le fichier a déjà le suffixe '%s', ignoré" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Invalid filename suffix" +msgstr "%s: Suffixe de nom de fichier invalide" + +#: src/xz/util.c src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Value is not a non-negative decimal integer" +msgid "Value is not a non-negative decimal integer" +msgstr "%s : La valeur n'est pas un entier décimal non négatif" + +#: src/xz/util.c +#, c-format +msgid "%s: Invalid multiplier suffix" +msgstr "%s : Suffixe multiplicateur invalide" + +#: src/xz/util.c +#, fuzzy +#| msgid "Valid suffixes are `KiB' (2^10), `MiB' (2^20), and `GiB' (2^30)." +msgid "Valid suffixes are 'KiB' (2^10), 'MiB' (2^20), and 'GiB' (2^30)." +msgstr "Les suffixes valides sont 'KiB' (2^10), 'MiB' (2^20) et 'GiB' (2^30)." + +#: src/xz/util.c +#, fuzzy, c-format +#| msgid "Value of the option `%s' must be in the range [%, %]" +msgid "Value of the option '%s' must be in the range [%, %]" +msgstr "La valeur de l'option '%s' doit être inclue entre % et %" + +#: src/xz/util.c +msgid "Compressed data cannot be read from a terminal" +msgstr "Les données compressées ne peuvent pas être lues depuis un terminal" + +#: src/xz/util.c +msgid "Compressed data cannot be written to a terminal" +msgstr "Les données compressées ne peuvent pas être écrites dans un terminal" + +#: src/lzmainfo/lzmainfo.c +#, c-format +msgid "Usage: %s [--help] [--version] [FILE]...\n" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/lzmainfo/lzmainfo.c +msgid "Show information stored in the .lzma file header." +msgstr "" + +#: src/lzmainfo/lzmainfo.c +#, fuzzy +#| msgid "%s: Too small to be a valid .xz file" +msgid "File is too small to be a .lzma file" +msgstr "%s : Trop petit pour être un fichier xz valide." + +#: src/lzmainfo/lzmainfo.c +msgid "Not a .lzma file" +msgstr "" + +#: src/common/tuklib_exit.c +msgid "Writing to standard output failed" +msgstr "Impossible d'écrire vers la sortie standard" + +#: src/common/tuklib_exit.c +msgid "Unknown error" +msgstr "Erreur inconnue" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "Unsupported options" +msgid "Unsupported preset" +msgstr "Options non prises en charge" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "Unsupported filter chain or filter options" +msgid "Unsupported flag in the preset" +msgstr "Enchaînement ou options de filtres non pris en charge" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Invalid option name" +msgid "Unknown option name" +msgstr "%s : Nom d'option invalide" + +#: src/liblzma/common/string_conversion.c +msgid "Option value cannot be empty" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "Value out of range" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "This option does not support any multiplier suffixes" +msgstr "" + +#. TRANSLATORS: Don't translate the +#. suffixes "KiB", "MiB", or "GiB" +#. because a user can only specify +#. untranslated suffixes. +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Invalid multiplier suffix" +msgid "Invalid multiplier suffix (KiB, MiB, or GiB)" +msgstr "%s : Suffixe multiplicateur invalide" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Unknown file format type" +msgid "Unknown filter name" +msgstr "%s : Format de fichier inconnu" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "LZMA1 cannot be used with the .xz format" +msgid "This filter cannot be used in the .xz format" +msgstr "Le filtre LZMA1 ne peut être utilisé avec le format .xz" + +#: src/liblzma/common/string_conversion.c +msgid "Memory allocation failed" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "Empty string is not allowed, try '6' if a default value is needed" +msgstr "" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "Maximum number of filters is four" +msgid "The maximum number of filters is four" +msgstr "Le nombre maximal de filtres est quatre" + +#: src/liblzma/common/string_conversion.c +msgid "Filter name is missing" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "Invalid filter chain ('lzma2' missing at the end?)" +msgstr "" + +#~ msgid "" +#~ " -z, --compress force compression\n" +#~ " -d, --decompress force decompression\n" +#~ " -t, --test test compressed file integrity\n" +#~ " -l, --list list information about .xz files" +#~ msgstr "" +#~ " -z, --compress forcer le mode compression\n" +#~ " -d, --decompress forcer le mode décompression\n" +#~ " -t, --test tester l'intégrité du fichier compressé\n" +#~ " -l, --list lister les informations sur les fichiers .xz" + +#~ 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 ne pas supprimer les fichiers d'entrée\n" +#~ " -f, --force forcer l'écrasement éventuel du fichier de sortie et\n" +#~ " (dé)compresser les liens symboliques\n" +#~ " -c, --stdout écrire sur la sortie standard et ne pas supprimer les\n" +#~ " fichiers d'entrée" + +#, fuzzy +#~| 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" +#~ msgid "" +#~ " --no-sparse do not create sparse files when decompressing\n" +#~ " -S, --suffix=.SUF use the suffix '.SUF' on compressed files\n" +#~ " --files[=FILE] read filenames to process from FILE; if FILE is\n" +#~ " omitted, filenames are read from the standard input;\n" +#~ " filenames must be terminated with the newline character\n" +#~ " --files0[=FILE] like --files but use the null character as terminator" +#~ msgstr "" +#~ " --no-sparse ne pas créer de 'sparse file' lors de la décompression\n" +#~ " -S, --suffix=.SUF utiliser le suffixe `.SUF' pour les fichiers compressés\n" +#~ " --files[=FILE] lire les fichiers sur lesquels opérer depuis FILE ; si\n" +#~ " FILE est omis, ceux-ci sont lus depuis l'entrée standard\n" +#~ " et doivent être suivis d'un caractère retour à la ligne\n" +#~ " --files0[=FILE] comme --files mais avec un caractère null comme séparateur" + +#, fuzzy +#~ msgid "" +#~ " -F, --format=FMT file format to encode or decode; possible values are\n" +#~ " 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'\n" +#~ " -C, --check=CHECK integrity check type: 'none' (use with caution),\n" +#~ " 'crc32', 'crc64' (default), or 'sha256'" +#~ msgstr "" +#~ " -F, --format=FMT format du fichier à encoder ou décoder ; sont acceptés :\n" +#~ " `auto' (par défaut), `xz', `lzma' et `raw'\n" +#~ " -C, --check=CHECK type de vérification d'intégrité : `none' (à utiliser avec\n" +#~ " précaution), `crc32', `crc64' (par défaut) ou `sha256'" + +#, fuzzy, no-c-format +#~ msgid "" +#~ " --memlimit-compress=LIMIT\n" +#~ " --memlimit-decompress=LIMIT\n" +#~ " --memlimit-mt-decompress=LIMIT\n" +#~ " -M, --memlimit=LIMIT\n" +#~ " set memory usage limit for compression, decompression,\n" +#~ " threaded decompression, or all of these; LIMIT is in\n" +#~ " bytes, % of RAM, or 0 for defaults" +#~ msgstr "" +#~ " --memlimit-compress=LIMIT\n" +#~ " --memlimit-decompress=LIMIT\n" +#~ " -M, --memlimit=LIMIT\n" +#~ " règle la limite d'utilisation mémoire pour la compression,\n" +#~ " décompression ou les deux ; LIMIT est en octets,\n" +#~ " pourcentage de RAM, ou 0 pour la valeur par défaut" + +#~ msgid "" +#~ "\n" +#~ " --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n" +#~ " --lzma2[=OPTS] more of the following options (valid values; default):\n" +#~ " preset=PRE reset options to a preset (0-9[e])\n" +#~ " dict=NUM dictionary size (4KiB - 1536MiB; 8MiB)\n" +#~ " lc=NUM number of literal context bits (0-4; 3)\n" +#~ " lp=NUM number of literal position bits (0-4; 0)\n" +#~ " pb=NUM number of position bits (0-4; 2)\n" +#~ " mode=MODE compression mode (fast, normal; normal)\n" +#~ " nice=NUM nice length of a match (2-273; 64)\n" +#~ " mf=NAME match finder (hc3, hc4, bt2, bt3, bt4; bt4)\n" +#~ " depth=NUM maximum search depth; 0=automatic (default)" +#~ msgstr "" +#~ "\n" +#~ " --lzma1[=OPTS] LZMA1/2 ; OPTS est une liste d'options parmi les suivantes\n" +#~ " --lzma2[=OPTS] (entre parenthèses : valeurs valides et par défaut) :\n" +#~ " preset=PRE remettre les options à un préréglage (0-9[e])\n" +#~ " dict=NUM taille dictionnaire (4KiB - 1536MiB ; 8MiB)\n" +#~ " lc=NUM nombre de 'literal context bits' (0-4 ; 3)\n" +#~ " lp=NUM nombre de 'literal position bits' (0-4 ; 0)\n" +#~ " pb=NUM nombre de 'position bits' (0-4 ; 2)\n" +#~ " mode=MODE mode de compression (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 profondeur de recherche maximale ;\n" +#~ " 0=automatique (par défaut)" + +#, fuzzy +#~ msgid "" +#~ "\n" +#~ " --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n" +#~ " --arm[=OPTS] ARM BCJ filter\n" +#~ " --armthumb[=OPTS] ARM-Thumb BCJ filter\n" +#~ " --arm64[=OPTS] ARM64 BCJ filter\n" +#~ " --powerpc[=OPTS] PowerPC BCJ filter (big endian only)\n" +#~ " --ia64[=OPTS] IA-64 (Itanium) BCJ filter\n" +#~ " --sparc[=OPTS] SPARC BCJ filter\n" +#~ " --riscv[=OPTS] RISC-V BCJ filter\n" +#~ " Valid OPTS for all BCJ filters:\n" +#~ " start=NUM start offset for conversions (default=0)" +#~ msgstr "" +#~ "\n" +#~ " --x86[=OPTS] filtre BCJ x86 (32-bit et 64-bit)\n" +#~ " --powerpc[=OPTS] filtre BCJ PowerPC ('big endian' uniquement)\n" +#~ " --ia64[=OPTS] filtre BCJ IA-64 (Itanium)\n" +#~ " --arm[=OPTS] filtre BCJ ARM ('little endian' uniquement)\n" +#~ " --armthumb[=OPTS] filtre BCJ ARM-Thumb ('little endian' uniquement)\n" +#~ " --sparc[=OPTS] filtre BCJ SPARC\n" +#~ " OPTS valides pour tous les filtres BCJ :\n" +#~ " start=NUM position de début de la conversion (défaut=0)" + +#~ msgid "" +#~ "\n" +#~ " --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n" +#~ " dist=NUM distance between bytes being subtracted\n" +#~ " from each other (1-256; 1)" +#~ msgstr "" +#~ "\n" +#~ " --delta[=OPTS] Filtre delta ; OPTS valides (vals. valides ; par défaut) :\n" +#~ " dist=NUM distance entre les octets soustraits les\n" +#~ " uns aux autres (1-256 ; 1)" + +#~ msgid "" +#~ " -q, --quiet suppress warnings; specify twice to suppress errors too\n" +#~ " -v, --verbose be verbose; specify twice for even more verbose" +#~ msgstr "" +#~ " -q, --quiet masquer les avertissements ; spécifier deux fois pour\n" +#~ " aussi masquer les erreurs\n" +#~ " -v, --verbose être bavard ; spécifier deux fois pour l'être davantage" + +#~ 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 afficher l'aide courte (ne liste que les options de base)\n" +#~ " -H, --long-help afficher l'aide longue (ceci) puis quitter" + +#~ 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 afficher l'aide courte (ceci) puis quitter\n" +#~ " -H, --long-help afficher l'aide longue (liste aussi les options avancées)" + +#~ msgid "Failed to enable the sandbox" +#~ msgstr "Echec de l'activation de la sandboxe" + +#~ msgid "The selected match finder requires at least nice=%" +#~ msgstr "Le `match finder' choisi nécessite au moins nice=%" + +#~ msgid "Sandbox is disabled due to incompatible command line arguments" +#~ msgstr "La sandbox est désactivée car elle est incompatible avec les arguments passés" + +#~ msgid "Sandbox was successfully enabled" +#~ msgstr "La sandboxe a été activée avec succès" + +#~ msgid "Memory usage limit for compression: " +#~ msgstr "Limite d'utilisation pour la compression : " + +#~ msgid " Streams: %s\n" +#~ msgstr " Flux : %s\n" + +#~ msgid " Blocks: %s\n" +#~ msgstr " Blocs : %s\n" + +#~ msgid " Ratio: %s\n" +#~ msgstr " Ratio : %s\n" + +#~ msgid " Check: %s\n" +#~ msgstr " Vérification : %s\n" + +#~ msgid "" +#~ " Streams:\n" +#~ " Stream Blocks CompOffset UncompOffset CompSize UncompSize Ratio Check Padding" +#~ msgstr "" +#~ " Flux :\n" +#~ " Flux Blocs PositionComp PositionDécomp TailleComp TailleDécomp Ratio Vérif. Bourrage" + +#~ msgid "" +#~ " Blocks:\n" +#~ " Stream Block CompOffset UncompOffset TotalSize UncompSize Ratio Check" +#~ msgstr "" +#~ " Blocs :\n" +#~ " Flux Bloc PositionComp PositionDécomp TailleTot TailleDécomp Ratio Vérif." + +#~ msgid " CheckVal %*s Header Flags CompSize MemUsage Filters" +#~ msgstr " ValVérif %*sEn-tête Drapeaux TailleComp UtilMém Filtres" + +#~ msgid "Error setting O_NONBLOCK on standard input: %s" +#~ msgstr "Impossible d'établir le drapeau O_NONBLOCK sur la sortie standard : %s" + +#~ msgid "Error setting O_NONBLOCK on standard output: %s" +#~ msgstr "Impossible d'activer le drapeau O_NONBLOCK sur la sortie standard : %s" diff --git a/src/native/external/xz/po/hr.po b/src/native/external/xz/po/hr.po new file mode 100644 index 00000000000000..d26fec94fb550f --- /dev/null +++ b/src/native/external/xz/po/hr.po @@ -0,0 +1,1271 @@ +# SPDX-License-Identifier: 0BSD +# +# Croatian messages for xz. +# Hrvatski prijevod poruka XZ paketa +# This file is published under the BSD Zero Clause License. +# Copyright (C) The XZ Utils authors and contributors +# +# Božidar Putanec , 2020-2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: xz 5.8.0-pre1\n" +"Report-Msgid-Bugs-To: xz@tukaani.org\n" +"POT-Creation-Date: 2025-01-29 20:59+0200\n" +"PO-Revision-Date: 2025-03-26 21:00-0700\n" +"Last-Translator: Božidar Putanec \n" +"Language-Team: Croatian \n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"X-Generator: vim9.1\n" + +#: src/xz/args.c +#, c-format +msgid "%s: Invalid argument to --block-list" +msgstr "%s: nevaljani argument za --block-list" + +#: src/xz/args.c +#, c-format +msgid "%s: Too many arguments to --block-list" +msgstr "%s: Previše argumenata za --block-list" + +#: src/xz/args.c +#, c-format +msgid "In --block-list, block size is missing after filter chain number '%c:'" +msgstr "Uz '--block-list' nedostaje veličina bloka iza broja lanca filtra '%c:'" + +#: src/xz/args.c +msgid "0 can only be used as the last element in --block-list" +msgstr "za '--block-list' može se koristiti '0' samo kao posljednji element" + +#: src/xz/args.c +#, c-format +msgid "%s: Unknown file format type" +msgstr "%s: Nepoznata vrsta formata datoteke" + +#: src/xz/args.c +#, c-format +msgid "%s: Unsupported integrity check type" +msgstr "%s: Nepodržani način (tip) provjere integriteta" + +#: src/xz/args.c +msgid "Only one file can be specified with '--files' or '--files0'." +msgstr "Samo jedna datoteka može biti specificirana s '--files' ili '--files0'." + +#. TRANSLATORS: This is a translatable +#. string because French needs a space +#. before the colon ("%s : %s"). +#: src/xz/args.c src/xz/coder.c src/xz/file_io.c src/xz/list.c src/xz/options.c +#: src/xz/util.c +#, c-format +msgid "%s: %s" +msgstr "%s: %s" + +#: src/xz/args.c +#, c-format +msgid "The environment variable %s contains too many arguments" +msgstr "Varijabla okruženja '%s' sadrži previše argumenata" + +#: src/xz/args.c +msgid "Compression support was disabled at build time" +msgstr "Podrška za kompresiju bila je onemogućena tijekom kompilacije" + +#: src/xz/args.c +msgid "Decompression support was disabled at build time" +msgstr "Podrška za dekompresiju bila je onemogućena tijekom kompilacije" + +#: src/xz/args.c +msgid "Compression of lzip files (.lz) is not supported" +msgstr "Kompresija LZIP datoteka (.lz) nije podržana" + +#: src/xz/args.c +msgid "--block-list is ignored unless compressing to the .xz format" +msgstr "'--block-list' je zanemaren (vrijedi samo za komprimiranje u .xz format)" + +#: src/xz/args.c +msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout" +msgstr "Uz opciju '--format=raw', '--suffix=.EXT' je nužan (osim ako ne piše na standardni izlaz)" + +#: src/xz/coder.c +msgid "Maximum number of filters is four" +msgstr "Maksimalni broj filtara je četiri" + +#: src/xz/coder.c +#, c-format +msgid "Error in --filters%s=FILTERS option:" +msgstr "Greška u opciji '--filters%s=FILTRI':" + +#: src/xz/coder.c +msgid "Memory usage limit is too low for the given filter setup." +msgstr "Za danu postavku filtara treba više memorije (granica upotrebe memorije je preniska)" + +#: src/xz/coder.c +#, c-format +msgid "filter chain %u used by --block-list but not specified with --filters%u=" +msgstr "lanac filtra %u koristi se za '--block-list', ali nije naveden s '--filters%u='" + +#: src/xz/coder.c +msgid "Using a preset in raw mode is discouraged." +msgstr "Ne preporučuje se koristiti početne (preset) postavke u sirovom načinu rada." + +#: src/xz/coder.c +msgid "The exact options of the presets may vary between software versions." +msgstr "Točne opcije početnih (preset) postavki mogu se razlikovati ovisno od verzije do verzije softvera." + +#: src/xz/coder.c +msgid "The .lzma format supports only the LZMA1 filter" +msgstr "Samo LZMA1 filtar podržava format .lzma" + +#: src/xz/coder.c +msgid "LZMA1 cannot be used with the .xz format" +msgstr "Ne može se koristi LZMA1 s .xz formatom" + +#: src/xz/coder.c +#, c-format +msgid "Filter chain %u is incompatible with --flush-timeout" +msgstr "Lanac filtra %u nije kompatibilan s '--flush-timeout'" + +#: src/xz/coder.c +msgid "Switching to single-threaded mode due to --flush-timeout" +msgstr "Prelazimo na način rada s jednom dretvom zbog '--flush-timeout'" + +#: src/xz/coder.c +#, c-format +msgid "Unsupported options in filter chain %u" +msgstr "Nepodržane opcije u lancu filtra %u" + +#: src/xz/coder.c +#, c-format +msgid "Using up to % threads." +msgstr "Koristimo do % dretvi." + +#: src/xz/coder.c +msgid "Unsupported filter chain or filter options" +msgstr "Nepodržani lanac filtara ili opcija filtara" + +#: src/xz/coder.c +#, c-format +msgid "Decompression will need %s MiB of memory." +msgstr "Za dekompresiju će trebati %s MiB memorije." + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to %s to not exceed the memory usage limit of %s MiB" +msgstr "Smanjen je broj dretvi od %s na %s da ne prekorači granicu upotrebe memorije od %s MiB" + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to one. The automatic memory usage limit of %s MiB is still being exceeded. %s MiB of memory is required. Continuing anyway." +msgstr "Smanjen je broj od %s na jednu dretvu, ali granica od %s MiB automatske upotrebe memorije još uvijek je prekoračena. Potrebno je %s MiB memorije. Ipak nastavljamo dalje." + +#: src/xz/coder.c +#, c-format +msgid "Switching to single-threaded mode to not exceed the memory usage limit of %s MiB" +msgstr "Prelazimo na način rada s jednom dretvom da ne prekoračimo granicu upotrebe memorije od %s MiB" + +#: src/xz/coder.c +#, 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 "Veličina LZMA%c rječnika prilagođena je od %s na %s da se ne prekorači granica upotrebe memorije od %s MiB" + +#: src/xz/coder.c +#, c-format +msgid "Adjusted LZMA%c dictionary size for --filters%u from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgstr "Veličina LZMA%c rječnika prilagođena je za '--filters%u' od %s na %s da ne prekorači granicu upotrebe memorije od %s MiB" + +#: src/xz/coder.c +#, c-format +msgid "Error changing to filter chain %u: %s" +msgstr "Greška pri prebacivanju na lanac filtra %u: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error creating a pipe: %s" +msgstr "Greška pri stvaranju cijevi: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: poll() failed: %s" +msgstr "%s: poll() nije uspjela: %s" + +#. 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 +#, c-format +msgid "%s: File seems to have been moved, not removing" +msgstr "%s: Izgleda da je datoteka premještena -- nije izbrisana" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot remove: %s" +msgstr "Brisanje %s nije moguće: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file owner: %s" +msgstr "%s: Nije moguće promijeniti vlasnika datoteke: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file group: %s" +msgstr "%s: Nije moguće promijeniti grupu datoteke: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file permissions: %s" +msgstr "%s: Nije moguće postaviti prava dostupa datoteci: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Synchronizing the file failed: %s" +msgstr "%s: Nije uspjelo sinkronizirati datoteku: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Synchronizing the directory of the file failed: %s" +msgstr "%s: Nije uspjelo sinkronizirati direktorij datoteke: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard input: %s" +msgstr "Greška pri pokušaju dobivanja oznaka statusa datoteke iz standardnog ulaza: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a symbolic link, skipping" +msgstr "%s: To je simbolična poveznica -- preskočeno" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a directory, skipping" +msgstr "%s: To je direktorij -- preskočeno" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Not a regular file, skipping" +msgstr "%s: To nije regularna datoteka -- preskočeno" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has setuid or setgid bit set, skipping" +msgstr "%s: Datoteka ima postavljen SETUID- ili SETGID bit -- preskočeno" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has sticky bit set, skipping" +msgstr "%s: Datoteka ima postavljen ljepljivi bit -- preskočeno" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Input file has more than one hard link, skipping" +msgstr "%s: Ulazna datoteka ima više od jednog tvrdog linka -- preskočeno" + +#: src/xz/file_io.c +msgid "Empty filename, skipping" +msgstr "Prazna datoteka -- preskočeno" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the status flags to standard input: %s" +msgstr "Greška pri vraćanju statusnih flags na standardni ulaz: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard output: %s" +msgstr "Greška pri dobivanju oznaka statusa datoteke iz standardnog izlaza: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Opening the directory failed: %s" +msgstr "%s: Nije uspjelo otvoriti direktorij: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Destination is not a regular file" +msgstr "%s: Odredište nije obična datoteka" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the O_APPEND flag to standard output: %s" +msgstr "Greška pri vraćanju 'O_APPEND' oznaka na standardni izlaz: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Closing the file failed: %s" +msgstr "%s: Nije uspjelo zatvoriti datoteku: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Seeking failed when trying to create a sparse file: %s" +msgstr "%s: 'Seeking' (traženje) nije uspjelo pri pokušaju stvaranja raštrkane datoteke: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Read error: %s" +msgstr "%s: Greška pri čitanju: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Error seeking the file: %s" +msgstr "%s: Greška pri 'seeking' (traženju) datoteke: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Unexpected end of file" +msgstr "%s: Neočekivani kraj datoteke" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Write error: %s" +msgstr "%s: Greška pri pisanju: %s" + +#: src/xz/hardware.c +msgid "Disabled" +msgstr "Onemogućeno" + +#: src/xz/hardware.c +msgid "Amount of physical memory (RAM):" +msgstr "Količina fizičke memorije (RAM):" + +#: src/xz/hardware.c +msgid "Number of processor threads:" +msgstr "Broj dretvi procesora:" + +#: src/xz/hardware.c +msgid "Compression:" +msgstr "Kompresija:" + +#: src/xz/hardware.c +msgid "Decompression:" +msgstr "Dekompresija:" + +#: src/xz/hardware.c +msgid "Multi-threaded decompression:" +msgstr "Dekompresija s više dretvi:" + +#: src/xz/hardware.c +msgid "Default for -T0:" +msgstr "Zadano za -T0:" + +#: src/xz/hardware.c +msgid "Hardware information:" +msgstr "Informacije o hardveru:" + +#: src/xz/hardware.c +msgid "Memory usage limits:" +msgstr "Granica za korištenje memorije:" + +#: src/xz/list.c +msgid "Streams:" +msgstr "Tokovi:" + +#: src/xz/list.c +msgid "Blocks:" +msgstr "Blokovi:" + +#: src/xz/list.c +msgid "Compressed size:" +msgstr "Komprimirana veličina:" + +#: src/xz/list.c +msgid "Uncompressed size:" +msgstr "Dekomprimirana veličina:" + +#: src/xz/list.c +msgid "Ratio:" +msgstr "Omjer:" + +#: src/xz/list.c +msgid "Check:" +msgstr "Kontrola:" + +#: src/xz/list.c +msgid "Stream Padding:" +msgstr "Dopuna toka:" + +#: src/xz/list.c +msgid "Memory needed:" +msgstr "Potrebna memorija:" + +#: src/xz/list.c +msgid "Sizes in headers:" +msgstr "Veličine u zaglavljima:" + +#: src/xz/list.c +msgid "Number of files:" +msgstr "Količina datoteka:" + +#: src/xz/list.c +msgid "Stream" +msgstr "Tok" + +#: src/xz/list.c +msgid "Block" +msgstr "Blok" + +#: src/xz/list.c +msgid "Blocks" +msgstr "Blokovi" + +#: src/xz/list.c +msgid "CompOffset" +msgstr "KomprOdmak" + +#: src/xz/list.c +msgid "UncompOffset" +msgstr "DekomprOdmak" + +#: src/xz/list.c +msgid "CompSize" +msgstr "KomprVeličina" + +#: src/xz/list.c +msgid "UncompSize" +msgstr "DekomprVeličina" + +#: src/xz/list.c +msgid "TotalSize" +msgstr "TotalVeličina" + +#: src/xz/list.c +msgid "Ratio" +msgstr "Omjer" + +#: src/xz/list.c +msgid "Check" +msgstr "Kontrola" + +#: src/xz/list.c +msgid "CheckVal" +msgstr "KontrVrijedn" + +#: src/xz/list.c +msgid "Padding" +msgstr "Dopuna" + +#: src/xz/list.c +msgid "Header" +msgstr "Zaglavlje" + +#: src/xz/list.c +msgid "Flags" +msgstr "Flags" + +#: src/xz/list.c +msgid "MemUsage" +msgstr "MemUpotreba" + +#: src/xz/list.c +msgid "Filters" +msgstr "Filtri" + +#. TRANSLATORS: Indicates that there is no integrity check. +#. This string is used in tables. In older xz version this +#. string was limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "None" +msgstr "Nijedan" + +#. TRANSLATORS: Indicates that integrity check name is not known, +#. but the Check ID is known (here 2). In older xz version these +#. strings were limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "Unknown-2" +msgstr "Nepoznat-2" + +#: src/xz/list.c +msgid "Unknown-3" +msgstr "Nepoznat-3" + +#: src/xz/list.c +msgid "Unknown-5" +msgstr "Nepoznat-5" + +#: src/xz/list.c +msgid "Unknown-6" +msgstr "Nepoznat-6" + +#: src/xz/list.c +msgid "Unknown-7" +msgstr "Nepoznat-7" + +#: src/xz/list.c +msgid "Unknown-8" +msgstr "Nepoznat-8" + +#: src/xz/list.c +msgid "Unknown-9" +msgstr "Nepoznat-9" + +#: src/xz/list.c +msgid "Unknown-11" +msgstr "Nepoznat-11" + +#: src/xz/list.c +msgid "Unknown-12" +msgstr "Nepoznat-12" + +#: src/xz/list.c +msgid "Unknown-13" +msgstr "Nepoznat-13" + +#: src/xz/list.c +msgid "Unknown-14" +msgstr "Nepoznat-14" + +#: src/xz/list.c +msgid "Unknown-15" +msgstr "Nepoznat-15" + +#: src/xz/list.c +#, c-format +msgid "%s: File is empty" +msgstr "%s: Datoteka je prazna" + +#: src/xz/list.c +#, c-format +msgid "%s: Too small to be a valid .xz file" +msgstr "%s: Datoteka je premala da bude valjana .xz datoteka" + +#. 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 +msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" +msgstr " Tok Blok Komprimirano Dekomprimir Omjer Kontr Datoteka" + +#: src/xz/list.c +msgid "Yes" +msgstr "Da" + +#: src/xz/list.c +msgid "No" +msgstr "Ne" + +#: src/xz/list.c +msgid "Minimum XZ Utils version:" +msgstr "Minimalna verzija programa XZ:" + +#. 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 +#, c-format +msgid "%s file\n" +msgid_plural "%s files\n" +msgstr[0] "%s datoteka\n" +msgstr[1] "%s datoteke\n" +msgstr[2] "%s datoteka\n" + +#: src/xz/list.c +msgid "Totals:" +msgstr "Ukupno:" + +#: src/xz/list.c +msgid "--list works only on .xz files (--format=xz or --format=auto)" +msgstr "'--list' radi samo sa .xz datoteke (--format=xz ili --format=auto)" + +#: src/xz/list.c +msgid "Try 'lzmainfo' with .lzma files." +msgstr "Pokušajte s ‘lzmainfo’ s .lzma datotekama." + +#: src/xz/list.c +msgid "--list does not support reading from standard input" +msgstr "'--list' ne podržava čitanje iz standardnog izlaza" + +#: src/xz/main.c +#, c-format +msgid "%s: Error reading filenames: %s" +msgstr "%s: Greška pri čitanju datoteka: %s" + +#: src/xz/main.c +#, c-format +msgid "%s: Unexpected end of input when reading filenames" +msgstr "%s: Neočekivani kraj ulaznih podataka tijekom čitanja imena datoteka" + +#: src/xz/main.c +#, c-format +msgid "%s: Null character found when reading filenames; maybe you meant to use '--files0' instead of '--files'?" +msgstr "%s: Prazni NULA-znak pronađen pri čitanju imena datoteka; možda ste mislili koristiti '--files0' umjesto '--files'?" + +#: src/xz/main.c +msgid "Compression and decompression with --robot are not supported yet." +msgstr "Komprimiranje i dekomprimiranje s '--robot' još nije podržano." + +#: src/xz/main.c +msgid "Cannot read data from standard input when reading filenames from standard input" +msgstr "Nije moguće čitati podatke iz standardnog ulaza dok se čitaju imena datoteka iz standardnog ulaza" + +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s: " +msgstr "%s: " + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "Internal error (bug)" +msgstr "Interna greška (bug)" + +#: src/xz/message.c +msgid "Cannot establish signal handlers" +msgstr "Nije moguće uspostaviti rukovatelje signala" + +#: src/xz/message.c +msgid "No integrity check; not verifying file integrity" +msgstr "Nema provjere integriteta -- ne provjeravamo integritet datoteke" + +#: src/xz/message.c +msgid "Unsupported type of integrity check; not verifying file integrity" +msgstr "Nepodržani tip provjere integriteta -- ne provjeravamo integritet datoteke" + +#: src/xz/message.c +msgid "Memory usage limit reached" +msgstr "Dostignuta je granica za upotrebu memorije" + +#: src/xz/message.c +msgid "File format not recognized" +msgstr "Format datoteke nije prepoznat" + +#: src/xz/message.c +msgid "Unsupported options" +msgstr "Nepodržane opcije" + +#: src/xz/message.c +msgid "Compressed data is corrupt" +msgstr "Komprimirani podaci su oštećeni" + +#: src/xz/message.c +msgid "Unexpected end of input" +msgstr "Neočekivani kraj ulaznih podataka" + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limiter is disabled." +msgstr "%s Potrebno je MiB memorije. Ograničenja su onemogućena." + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limit is %s." +msgstr "%s Potrebno je MiB memorije. Ograničenje je %s." + +#: src/xz/message.c +#, c-format +msgid "%s: Filter chain: %s\n" +msgstr "%s: Lanac filtara: %s\n" + +#: src/xz/message.c +#, c-format +msgid "Try '%s --help' for more information." +msgstr "Pokušajte s '%s --help’ za pomoć i više informacija." + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Error printing the help text (error code %d)" +msgstr "Greška prilikom ispisa teksta pomoći (kod greške %d)" + +#: src/xz/message.c +#, c-format +msgid "Usage: %s [OPTION]... [FILE]...\n" +msgstr "Uporaba: %s [OPCIJA...][DATOTEKA...]\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Compress or decompress FILEs in the .xz format." +msgstr "Komprimira ili dekomprimira DATOTEKE u .xz formatu." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Mandatory arguments to long options are mandatory for short options too." +msgstr "Obvezni argumenti za duge opcije, obvezni su i za kratke opcije." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Operation mode:" +msgstr "Način rada:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force compression" +msgstr "prisilna kompresija" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force decompression" +msgstr "prisilna dekompresija" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "test compressed file integrity" +msgstr "provjera integriteta komprimirane datoteke" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "list information about .xz files" +msgstr "prikaz informacija o .xz datotekama" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Operation modifiers:" +msgstr "Modifikatori načina rada:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "keep (don't delete) input files" +msgstr "sprema ulazne datoteke (ne brisati ih)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force overwrite of output file and (de)compress links" +msgstr "prisilno piše preko izlazne datoteke i (de)komprimira linkove" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "write to standard output and don't delete input files" +msgstr "ispiše na standardni izlaz i zadrži ulazne datoteke" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't synchronize the output file to the storage device before removing the input file" +msgstr "ne sinkronizira izlaznu datoteku s uređajem za pohranu podataka dok ne izbriše ulaznu datoteku" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "decompress only the first stream, and silently ignore possible remaining input data" +msgstr "dekomprimira samo prvi tok i tiho ignorira moguće preostale ulazne podatke" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "do not create sparse files when decompressing" +msgstr "ne stvara raspršene datoteke kad komprimira" + +#: src/xz/message.c +msgid ".SUF" +msgstr ".EXT" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use the suffix '.SUF' on compressed files" +msgstr "koristi sufiks '.EXT' na komprimiranim datotekama" + +#: src/xz/message.c +msgid "FILE" +msgstr "DATOTEKA" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "read filenames to process from FILE; if FILE is omitted, filenames are read from the standard input; filenames must be terminated with the newline character" +msgstr "imena datoteka koje treba obraditi čita iz DATOTEKA; ako DATOTEKA nije navedena, imena datoteka čita iz standardnog ulaza; svako ime datoteke mora završiti sa znakom novog retka (newline)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "like --files but use the null character as terminator" +msgstr "kao '--files', ali s NULA-znakom (null character, Unicode U+0000) kao završetak imena" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Basic file format and compression options:" +msgstr "Osnovni format datoteke i opcije za kompresiju:" + +#: src/xz/message.c +msgid "FORMAT" +msgstr "FORMAT" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "file format to encode or decode; possible values are 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'" +msgstr "format datoteke za kodiranje ili dekodiranje; moguće vrijednosti su 'auto' (zadano), 'xz', 'lzma', 'lzip' i 'raw'" + +#: src/xz/message.c +msgid "NAME" +msgstr "IME" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "integrity check type: 'none' (use with caution), 'crc32', 'crc64' (default), or 'sha256'" +msgstr "vrsta provjere integriteta: 'none' (koristite s oprezom), 'crc32', 'crc64' (zadano) ili 'sha256'" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't verify the integrity check when decompressing" +msgstr "ne verificira provjeru integriteta pri dekompresiji" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression preset; default is 6; take compressor *and* decompressor memory usage into account before using 7-9!" +msgstr "početna postavka kompresije (zadano je 6); razmotrite upotrebu memorije za komprimiranje *i* dekomprimiranje prije upotrebe 7-9!" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "try to improve compression ratio by using more CPU time; does not affect decompressor memory requirements" +msgstr "pokuša poboljšati omjer kompresije koristeći više vremena procesora (CPU); ne utječe na potrebnu memoriju za dekompresiju" + +#. TRANSLATORS: Short for NUMBER. A longer string is fine but +#. wider than 5 columns makes --long-help a few lines longer. +#: src/xz/message.c +msgid "NUM" +msgstr "BROJ" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use at most NUM threads; the default is 0 which uses as many threads as there are processor cores" +msgstr "koristi maksimalno ovaj BROJ dretvi; zadano je 0, što znači da koristi toliko dretvi, koliko procesor ima jezgri" + +#: src/xz/message.c +msgid "SIZE" +msgstr "VELIČINA" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after every SIZE bytes of input; use this to set the block size for threaded compression" +msgstr "započne novi .xz blok nakon svakih toliko (\"VELIČINA) bajtova ulaznih bajtova; to koristite da postavite veličinu bloka za kompresiju s nekoliko dretvi (tokova)" + +#: src/xz/message.c +msgid "BLOCKS" +msgstr "BLOKOVI" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after the given comma-separated intervals of uncompressed data; optionally, specify a filter chain number (0-9) followed by a ':' before the uncompressed data size" +msgstr "započne novi .xz block nakon te veličina (BLOKOVI) nekomprimiranih podataka odvojenih zarezima; opcionalno, navedite lance filtra broj (0-9) iza kojeg slijedi ':' a prije veličine nekomprimiranih podataka" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "when compressing, if more than NUM milliseconds has passed since the previous flush and reading more input would block, all pending data is flushed out" +msgstr "ako se pri komprimiranju potroši više od NUM milisekundi od prethodnog pražnjenja, a daljnje čitanje bi blokiralo ulaz, isprazni sve podatke na čekanju" + +#: src/xz/message.c +msgid "LIMIT" +msgstr "OGRANIČENJE" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, no-c-format +msgid "set memory usage limit for compression, decompression, threaded decompression, or all of these; LIMIT is in bytes, % of RAM, or 0 for defaults" +msgstr "postavi ograničenje na količinu memorije za kompresiju, dekompresiju, dekompresiju s dretvama, ili za sve to; OGRANIČENJE je u bajtovima, % od RAM-a, ili 0 za zadano" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "if compression settings exceed the memory usage limit, give an error instead of adjusting the settings downwards" +msgstr "ako dane postavke kompresije prekorače ograničenje upotrebe memorije, završi s greškom umjesto da prilagodi postavke shodno ograničenju memorije" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Custom filter chain for compression (an alternative to using presets):" +msgstr "Prilagođeni lanac filtra za kompresiju (alternativa korištenju početnih postavki):" + +#: src/xz/message.c +msgid "FILTERS" +msgstr "FILTRI" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set the filter chain using the liblzma filter string syntax; use --filters-help for more information" +msgstr "postavi lanac filtra koristeći liblzma filtar string sintaksu; upotrebite '--filters-help' za više informacija" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set additional filter chains using the liblzma filter string syntax to use with --block-list" +msgstr "postavite dodatne lance filtra koristeći liblzma filtar sintaksu s '--block-list'" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display more information about the liblzma filter string syntax and exit" +msgstr "pokaže više informacija za liblzma filtar sintaksu" + +#. TRANSLATORS: Short for OPTIONS. +#: src/xz/message.c +msgid "OPTS" +msgstr "OPCIJE" + +#. TRANSLATORS: Use semicolon (or its fullwidth form) +#. in "(valid values; default)" even if it is weird in +#. your language. There are non-translatable strings +#. that look like "(foo, bar, baz; foo)" which list +#. the supported values and the default value. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "LZMA1 or LZMA2; OPTS is a comma-separated list of zero or more of the following options (valid values; default):" +msgstr "LZMA1 ili LZMA2; OPCIJE je lista od nula ili više, zarezom odvojenih opcija (valjane vrijednosti; zadano):" + +#. TRANSLATORS: Short for PRESET. A longer string is +#. fine but wider than 4 columns makes --long-help +#. one line longer. +#: src/xz/message.c +msgid "PRE" +msgstr "PočP" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "reset options to a preset" +msgstr "vrati opcije na početne postavke" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "dictionary size" +msgstr "veličina rječnika" + +#. TRANSLATORS: The word "literal" in "literal context +#. bits" means how many "context bits" to use when +#. encoding literals. A literal is a single 8-bit +#. byte. It doesn't mean "literally" here. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal context bits" +msgstr "broj kontekstnih bitova po bajtu" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal position bits" +msgstr "broj pozicijskih bitova po bajtu" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of position bits" +msgstr "broj pozicijskih bitova" + +#: src/xz/message.c +msgid "MODE" +msgstr "NAČIN" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression mode" +msgstr "način kompresije" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "nice length of a match" +msgstr "lijepa duljina podudaranja" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "match finder" +msgstr "tražilica podudaranja" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "maximum search depth; 0=automatic (default)" +msgstr "maksimalna dubina traženja; 0=automatic (zadano)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "x86 BCJ filter (32-bit and 64-bit)" +msgstr "x86 BCJ filtar (32-bit and 64-bit)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM BCJ filter" +msgstr "ARM BCJ filtar" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM-Thumb BCJ filter" +msgstr "ARM-Thumb BCJ filtar" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM64 BCJ filter" +msgstr "ARM64 BCJ filtar" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "PowerPC BCJ filter (big endian only)" +msgstr "PowerPC BCJ filtar (samo veliki endian)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "IA-64 (Itanium) BCJ filter" +msgstr "IA-64 (Itanium) BCJ filtar" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "SPARC BCJ filter" +msgstr "SPARC BCJ filtar" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "RISC-V BCJ filter" +msgstr "RISC-V BCJ filtar" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Valid OPTS for all BCJ filters:" +msgstr "Valid OPTS za sve BCJ filtre:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start offset for conversions (default=0)" +msgstr "početni pomak za konverzije (zadano=0)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Delta filter; valid OPTS (valid values; default):" +msgstr "Delta filtar; valjane OPCIJE (valjane vrijednosti; zadano:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "distance between bytes being subtracted from each other" +msgstr "razmak između bajtova koji se oduzimaju jedan od drugog" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Other options:" +msgstr "Ostale opcije:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "suppress warnings; specify twice to suppress errors too" +msgstr "potisne upozorenja; navedite dva puta da potisnete i pogreške" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "be verbose; specify twice for even more verbose" +msgstr "objašnjava što radi; navedite dva put za još više informacija" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "make warnings not affect the exit status" +msgstr "upozorenja nemaju utjecaja na izlazni status" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use machine-parsable messages (useful for scripts)" +msgstr "koristite poruke za računalnu obradu (korisno za skripte)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the total amount of RAM and the currently active memory usage limits, and exit" +msgstr "pokaže ukupnu količinu RAM-a i trenutno aktivna ograničenja korištenja memorije, pa iziđe" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the short help (lists only the basic options)" +msgstr "ispiše kratku pomoć (popis osnovnih opcija)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this long help and exit" +msgstr "ispiše ovu opširnu pomoć i iziđe" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this short help and exit" +msgstr "ispiše ovu kratku pomoć i iziđe" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the long help (lists also the advanced options)" +msgstr "ispiše opširnu pomoć (također i popis naprednih opcija)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the version number and exit" +msgstr "pokaže informacije o inačici" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "With no FILE, or when FILE is -, read standard input." +msgstr "Ako DATOTEKA nije navedena ili je '-' (crtica), čita standardni ulaz." + +#. TRANSLATORS: This message indicates the bug reporting +#. address for this package. Please add another line saying +#. "\nReport translation bugs to <...>." with the email or WWW +#. address for translation bugs. Thanks! +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Report bugs to <%s> (in English or Finnish)." +msgstr "" +"Greške prijavite na <%s> (na engleskom ili finskom).\n" +"Prijavite greške u prijevodu na ." + +#. TRANSLATORS: The first %s is the name of this software. +#. The second <%s> is an URL. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s home page: <%s>" +msgstr "%s matična mrežna stranica: <%s>" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE." +msgstr "OVO JE RAZVOJNA INAČICA I NIJE NAMIJENJENA ZA PROIZVODNJU." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, c-format +msgid "Filter chains are set using the --filters=FILTERS or --filters1=FILTERS ... --filters9=FILTERS options. Each filter in the chain can be separated by spaces or '--'. Alternatively a preset %s can be specified instead of a filter chain." +msgstr "Lanci filtara postavljaju se pomoću '--filters=FILTERS' ili '--filters1=FILTERS ... --filters9=FILTERS' opcije. Svaki filter u lancu može biti odvojen s razmakom ili s '--' (dvije crtice). Alternativno, početna postavka %s može biti navedena umjesto lanca filtra." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "The supported filters and their options are:" +msgstr "Podržani filtri i njihove opcije su:" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "Options must be 'name=value' pairs separated with commas" +msgstr "Opcije moraju biti parovi 'name=value' odvojeni zarezima" + +#: src/xz/options.c +#, c-format +msgid "%s: Invalid option name" +msgstr "%s: Nevaljano ime opcije" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "Invalid option value" +msgstr "Nevaljana vrijednost opcije" + +#: src/xz/options.c +#, c-format +msgid "Unsupported LZMA1/LZMA2 preset: %s" +msgstr "Nepodržana LZMA1/LZMA2 početna postavka: %s" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "The sum of lc and lp must not exceed 4" +msgstr "Zbroj lc i lp ne smije biti veći od 4" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Filename has an unknown suffix, skipping" +msgstr "%s: Ime datoteke nema poznatu ekstenziju, preskačemo" + +#: src/xz/suffix.c +#, c-format +msgid "%s: File already has '%s' suffix, skipping" +msgstr "%s: Datoteka već ima '%s' ekstenziju, preskačemo" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Invalid filename suffix" +msgstr "%s: Nevaljana ekstenzija u imenu datoteke" + +#: src/xz/util.c src/liblzma/common/string_conversion.c +msgid "Value is not a non-negative decimal integer" +msgstr "Vrijednost nije nula ili pozitivni dekadski cijeli broj" + +#: src/xz/util.c +#, c-format +msgid "%s: Invalid multiplier suffix" +msgstr "%s: Nevaljani sufiks-množitelj" + +#: src/xz/util.c +msgid "Valid suffixes are 'KiB' (2^10), 'MiB' (2^20), and 'GiB' (2^30)." +msgstr "Valjani sufiks-množitelji su 'KiB' (2^10), 'MiB' (2^20), i 'GiB' (2^30)." + +#: src/xz/util.c +#, c-format +msgid "Value of the option '%s' must be in the range [%, %]" +msgstr "Vrijednost opcije '%s' mora biti u rasponu [%, %]" + +#: src/xz/util.c +msgid "Compressed data cannot be read from a terminal" +msgstr "Nije moguće čitati komprimirane podatke iz terminala" + +#: src/xz/util.c +msgid "Compressed data cannot be written to a terminal" +msgstr "Nije moguće pisati komprimirane podatke na terminal" + +#: src/lzmainfo/lzmainfo.c +#, c-format +msgid "Usage: %s [--help] [--version] [FILE]...\n" +msgstr "Uporaba: %s [--help] [--version] [DATOTEKA...]\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/lzmainfo/lzmainfo.c +msgid "Show information stored in the .lzma file header." +msgstr "Pokaže informacije pohranjene u zaglavlju datoteke .lzma." + +#: src/lzmainfo/lzmainfo.c +msgid "File is too small to be a .lzma file" +msgstr "Datoteka je premala da bude .lzma datoteka" + +#: src/lzmainfo/lzmainfo.c +msgid "Not a .lzma file" +msgstr "To nije .lzma datoteka" + +#: src/common/tuklib_exit.c +msgid "Writing to standard output failed" +msgstr "Pisanje na standardni izlaz nije uspjelo" + +#: src/common/tuklib_exit.c +msgid "Unknown error" +msgstr "Nepoznata greška" + +#: src/liblzma/common/string_conversion.c +msgid "Unsupported preset" +msgstr "Nepodržane početne opcije" + +#: src/liblzma/common/string_conversion.c +msgid "Unsupported flag in the preset" +msgstr "Nepodržani flag u početnoj opciji" + +#: src/liblzma/common/string_conversion.c +msgid "Unknown option name" +msgstr "Nevaljano ime opcije" + +#: src/liblzma/common/string_conversion.c +msgid "Option value cannot be empty" +msgstr "Vrijednost opcije ne može biti prazna" + +#: src/liblzma/common/string_conversion.c +msgid "Value out of range" +msgstr "Vrijednost je izvan granica" + +#: src/liblzma/common/string_conversion.c +msgid "This option does not support any multiplier suffixes" +msgstr "Ova opcija ne podržava upotrebu sufiks-množitelja" + +#. TRANSLATORS: Don't translate the +#. suffixes "KiB", "MiB", or "GiB" +#. because a user can only specify +#. untranslated suffixes. +#: src/liblzma/common/string_conversion.c +msgid "Invalid multiplier suffix (KiB, MiB, or GiB)" +msgstr "Nevaljani sufiks-množitelj (KiB, MiB, or GiB)" + +#: src/liblzma/common/string_conversion.c +msgid "Unknown filter name" +msgstr "Nepoznato ime filtra" + +#: src/liblzma/common/string_conversion.c +msgid "This filter cannot be used in the .xz format" +msgstr "Ovaj filtar ne može se koristi u .xz formatu" + +#: src/liblzma/common/string_conversion.c +msgid "Memory allocation failed" +msgstr "Dodjela memorije nije uspjela" + +#: src/liblzma/common/string_conversion.c +msgid "Empty string is not allowed, try '6' if a default value is needed" +msgstr "Prazan string nije dopušten, pokušajte s '6' ako je potrebna zadana vrijednost" + +#: src/liblzma/common/string_conversion.c +msgid "The maximum number of filters is four" +msgstr "Maksimalni broj filtara je četiri" + +#: src/liblzma/common/string_conversion.c +msgid "Filter name is missing" +msgstr "Nema imena filtra" + +#: src/liblzma/common/string_conversion.c +msgid "Invalid filter chain ('lzma2' missing at the end?)" +msgstr "Nevaljani lanac filtra (nema 'lzma2’ na kraju)?" diff --git a/src/native/external/xz/po/hu.po b/src/native/external/xz/po/hu.po new file mode 100644 index 00000000000000..937f6cfece5c69 --- /dev/null +++ b/src/native/external/xz/po/hu.po @@ -0,0 +1,1673 @@ +# SPDX-License-Identifier: 0BSD +# +# Hungarian translation for xz. +# This file is published under the BSD Zero Clause License. +# +# Meskó Balázs , 2019, 2022, 2024. +msgid "" +msgstr "" +"Project-Id-Version: xz 5.6.0-pre2\n" +"Report-Msgid-Bugs-To: xz@tukaani.org\n" +"POT-Creation-Date: 2025-01-29 20:59+0200\n" +"PO-Revision-Date: 2024-02-17 18:35+0100\n" +"Last-Translator: Meskó Balázs \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"plural-forms: nplurals=2; plural=(n != 1);\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"X-Generator: Poedit 3.4\n" + +#: src/xz/args.c +#, c-format +msgid "%s: Invalid argument to --block-list" +msgstr "%s: Érvénytelen argumentum a --block-list kapcsolóhoz" + +#: src/xz/args.c +#, c-format +msgid "%s: Too many arguments to --block-list" +msgstr "%s: Túl sok argumentum a --block-list kapcsolóhoz" + +#: src/xz/args.c +#, c-format +msgid "In --block-list, block size is missing after filter chain number '%c:'" +msgstr "A --block-list kapcsolónál hiányzik a blokkméret a(z) „%c:” szűrőláncszám után" + +#: src/xz/args.c +msgid "0 can only be used as the last element in --block-list" +msgstr "A 0 csak utolsó elemként használható a --block-list kapcsolónál" + +#: src/xz/args.c +#, c-format +msgid "%s: Unknown file format type" +msgstr "%s: Ismeretlen fájlformátumtípus" + +#: src/xz/args.c +#, c-format +msgid "%s: Unsupported integrity check type" +msgstr "%s: Nem támogatott integritás-ellenőrzési típus" + +#: src/xz/args.c +msgid "Only one file can be specified with '--files' or '--files0'." +msgstr "Csak egy fájl adható meg a „--files” vagy „--files0” kapcsolóknál." + +#. TRANSLATORS: This is a translatable +#. string because French needs a space +#. before the colon ("%s : %s"). +#: src/xz/args.c src/xz/coder.c src/xz/file_io.c src/xz/list.c src/xz/options.c +#: src/xz/util.c +#, c-format +msgid "%s: %s" +msgstr "%s: %s" + +#: src/xz/args.c +#, c-format +msgid "The environment variable %s contains too many arguments" +msgstr "A(z) %s környezeti változó túl sok argumentumot tartalmaz" + +#: src/xz/args.c +msgid "Compression support was disabled at build time" +msgstr "A tömörítési támogatás ki lett kapcsolva fordítási időben" + +#: src/xz/args.c +msgid "Decompression support was disabled at build time" +msgstr "A kibontási támogatás ki lett kapcsolva fordítási időben" + +#: src/xz/args.c +msgid "Compression of lzip files (.lz) is not supported" +msgstr "Az lzip-fájlok (.lz) tömörítése nem támogatott" + +#: src/xz/args.c +msgid "--block-list is ignored unless compressing to the .xz format" +msgstr "A --block-list kapcsoló csak .xz formátum esetén van figyelembe véve" + +#: src/xz/args.c +msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout" +msgstr "A --format=raw esetén a --suffix=.SUF szükséges, hacsak nem a szabványosra kimenetre ír" + +#: src/xz/coder.c +msgid "Maximum number of filters is four" +msgstr "A szűrők legnagyobb száma négy" + +#: src/xz/coder.c +#, c-format +msgid "Error in --filters%s=FILTERS option:" +msgstr "Hiba a --filters%s=SZŰRŐK kapcsolóban:" + +#: src/xz/coder.c +msgid "Memory usage limit is too low for the given filter setup." +msgstr "A memóriahasználat túl alacsony a megadott szűrőbeállításokhoz." + +#: src/xz/coder.c +#, c-format +msgid "filter chain %u used by --block-list but not specified with --filters%u=" +msgstr "A --block-list használja a(z) %u. szűrőláncot, de az nincs megadva a --filters%u= kapcsolóval" + +#: src/xz/coder.c +msgid "Using a preset in raw mode is discouraged." +msgstr "Az előbeállítások használata nyers módban nem javasolt." + +#: src/xz/coder.c +msgid "The exact options of the presets may vary between software versions." +msgstr "Az előbeállítások pontos beállításai különbözhetnek a szoftververziók között." + +#: src/xz/coder.c +msgid "The .lzma format supports only the LZMA1 filter" +msgstr "Az .lzma formátum csak az LZMA1 szűrőt támogatja" + +#: src/xz/coder.c +msgid "LZMA1 cannot be used with the .xz format" +msgstr "Az LZMA1 nem használható az .xz formátummal" + +#: src/xz/coder.c +#, c-format +msgid "Filter chain %u is incompatible with --flush-timeout" +msgstr "A(z) %u. szűrőlánc nem kompatibilis a --flush-timeout kapcsolóval" + +#: src/xz/coder.c +msgid "Switching to single-threaded mode due to --flush-timeout" +msgstr "Egyszálú módra váltás a --flush-timeout kapcsoló miatt" + +#: src/xz/coder.c +#, c-format +msgid "Unsupported options in filter chain %u" +msgstr "Nem támogatott kapcsolók a(z) %u szűrőláncban" + +#: src/xz/coder.c +#, c-format +msgid "Using up to % threads." +msgstr "Legfeljebb % szál használata." + +#: src/xz/coder.c +msgid "Unsupported filter chain or filter options" +msgstr "Nem támogatott szűrőlánc vagy szűrőkapcsolók" + +#: src/xz/coder.c +#, c-format +msgid "Decompression will need %s MiB of memory." +msgstr "A kibontáshoz %s MiB memória szükséges." + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to %s to not exceed the memory usage limit of %s MiB" +msgstr "A szálak számának csökkentése erről: %s, erre: %s, hogy ne lépje túl a(z) %s MiB-os korlátot" + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to one. The automatic memory usage limit of %s MiB is still being exceeded. %s MiB of memory is required. Continuing anyway." +msgstr "A szálak számának csökkentése erről: %s, egyre. A(z) %s MiB-os automatikus memóriahasználati korlát így is túl lett lépve. %s MiB memória szükséges. Ennek ellenére folytatás mindenképpen." + +#: src/xz/coder.c +#, c-format +msgid "Switching to single-threaded mode to not exceed the memory usage limit of %s MiB" +msgstr "Egyszálú módra váltás, hogy ne lépje túl a(z) %s MiB-os memóriahasználati korlátot" + +#: src/xz/coder.c +#, 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 "Az LZMA%c szótár méretének módosítása erről: %s MiB, erre: %s MiB, hogy ne lépje túl a(z) %s MiB-os korlátot" + +#: src/xz/coder.c +#, c-format +msgid "Adjusted LZMA%c dictionary size for --filters%u from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgstr "A --filters%2$u szűrőhöz tartozó LZMA%1$c szótár méretének módosítása %3$s MiB-ról %4$s MiB-ra, hogy ne lépje túl a(z) %5$s MiB-os korlátot" + +#: src/xz/coder.c +#, c-format +msgid "Error changing to filter chain %u: %s" +msgstr "Hiba a(z) %u. szűrőlánc létrehozásakor: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error creating a pipe: %s" +msgstr "Hiba a csővezeték létrehozásakor: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: poll() failed: %s" +msgstr "%s: poll() sikertelen: %s" + +#. 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 +#, c-format +msgid "%s: File seems to have been moved, not removing" +msgstr "%s: Úgy tűnik, hogy a fájl át lett helyezve, nincs eltávolítás" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot remove: %s" +msgstr "%s: Nem távolítható el: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file owner: %s" +msgstr "%s: A fájl tulajdonosa nem adható meg: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file group: %s" +msgstr "%s: A fájl csoportja nem adható meg: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file permissions: %s" +msgstr "%s: A fájl jogosultságai nem adhatók meg: %s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Closing the file failed: %s" +msgid "%s: Synchronizing the file failed: %s" +msgstr "%s: A fájl lezárása sikertelen: %s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Closing the file failed: %s" +msgid "%s: Synchronizing the directory of the file failed: %s" +msgstr "%s: A fájl lezárása sikertelen: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard input: %s" +msgstr "Hiba a fájl állapotjelzőinek lekérdezésekor a szabványos bemenetről: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a symbolic link, skipping" +msgstr "%s: Szimbolikus link, kihagyás" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a directory, skipping" +msgstr "%s: Könyvtár, kihagyás" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Not a regular file, skipping" +msgstr "%s: Nem szabályos fájl, kihagyás" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has setuid or setgid bit set, skipping" +msgstr "%s: A fájlon setuid vagy setgid bit van beállítva, kihagyás" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has sticky bit set, skipping" +msgstr "%s: A fájlon sticky bit van beállítva, kihagyás" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Input file has more than one hard link, skipping" +msgstr "%s: A bemeneti fájlhoz több mint egy hard link tartozik, kihagyás" + +#: src/xz/file_io.c +msgid "Empty filename, skipping" +msgstr "Üres fájlnév, kihagyás" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the status flags to standard input: %s" +msgstr "Hiba a fájl állapotjelzőinek visszaállításakor a szabványos bemenetre: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard output: %s" +msgstr "Hiba a fájl állapotjelzőinek lekérdezésekor a szabványos kimenetről: %s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Closing the file failed: %s" +msgid "%s: Opening the directory failed: %s" +msgstr "%s: A fájl lezárása sikertelen: %s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Not a regular file, skipping" +msgid "%s: Destination is not a regular file" +msgstr "%s: Nem szabályos fájl, kihagyás" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the O_APPEND flag to standard output: %s" +msgstr "Hiba az O_APPEND visszaállításakor a szabványos kimenetre: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Closing the file failed: %s" +msgstr "%s: A fájl lezárása sikertelen: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Seeking failed when trying to create a sparse file: %s" +msgstr "%s: A pozícionálás sikertelen a ritka fájl létrehozásának kísérletekor: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Read error: %s" +msgstr "%s: Olvasási hiba: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Error seeking the file: %s" +msgstr "%s: Hiba a fájlban pozícionáláskor: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Unexpected end of file" +msgstr "%s: Váratlan fájlvég" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Write error: %s" +msgstr "%s: Írási hiba: %s" + +#: src/xz/hardware.c +msgid "Disabled" +msgstr "Letiltva" + +#: src/xz/hardware.c +msgid "Amount of physical memory (RAM):" +msgstr "Fizikai memória (RAM) mennyisége:" + +#: src/xz/hardware.c +msgid "Number of processor threads:" +msgstr "Processzorszálak száma:" + +#: src/xz/hardware.c +msgid "Compression:" +msgstr "Tömörítés:" + +#: src/xz/hardware.c +msgid "Decompression:" +msgstr "Kibontás:" + +#: src/xz/hardware.c +msgid "Multi-threaded decompression:" +msgstr "Többszálás kibontás:" + +#: src/xz/hardware.c +msgid "Default for -T0:" +msgstr "A -T0 alapértelmezése:" + +#: src/xz/hardware.c +msgid "Hardware information:" +msgstr "Hardverjellemzők:" + +#: src/xz/hardware.c +msgid "Memory usage limits:" +msgstr "Memóriahasználat korlátja:" + +#: src/xz/list.c +msgid "Streams:" +msgstr "Adatfolyamok:" + +#: src/xz/list.c +msgid "Blocks:" +msgstr "Blokkok:" + +#: src/xz/list.c +msgid "Compressed size:" +msgstr "Tömörített méret:" + +#: src/xz/list.c +msgid "Uncompressed size:" +msgstr "Kibontott méret:" + +#: src/xz/list.c +msgid "Ratio:" +msgstr "Arány:" + +#: src/xz/list.c +msgid "Check:" +msgstr "Ellenőrzés:" + +#: src/xz/list.c +msgid "Stream Padding:" +msgstr "Adatfolyam kerete:" + +#: src/xz/list.c +msgid "Memory needed:" +msgstr "Szükséges memória:" + +#: src/xz/list.c +msgid "Sizes in headers:" +msgstr "Méretek a fejlécekben:" + +#: src/xz/list.c +msgid "Number of files:" +msgstr "Fájlok száma:" + +#: src/xz/list.c +msgid "Stream" +msgstr "Adatfolyam" + +#: src/xz/list.c +msgid "Block" +msgstr "Blokk" + +#: src/xz/list.c +msgid "Blocks" +msgstr "Blokkok" + +#: src/xz/list.c +msgid "CompOffset" +msgstr "Tömörített eltolás" + +#: src/xz/list.c +msgid "UncompOffset" +msgstr "Kibontott eltolás" + +#: src/xz/list.c +msgid "CompSize" +msgstr "Tömörített méret" + +#: src/xz/list.c +msgid "UncompSize" +msgstr "Kibontott méret" + +#: src/xz/list.c +msgid "TotalSize" +msgstr "Teljes méret" + +#: src/xz/list.c +msgid "Ratio" +msgstr "Arány" + +#: src/xz/list.c +msgid "Check" +msgstr "Ellenőrzés" + +#: src/xz/list.c +msgid "CheckVal" +msgstr "Ellenőrzőérték" + +#: src/xz/list.c +msgid "Padding" +msgstr "Keret" + +#: src/xz/list.c +msgid "Header" +msgstr "Fejléc" + +#: src/xz/list.c +msgid "Flags" +msgstr "Jelzők" + +#: src/xz/list.c +msgid "MemUsage" +msgstr "Memóriahasználat" + +#: src/xz/list.c +msgid "Filters" +msgstr "Szűrők" + +#. TRANSLATORS: Indicates that there is no integrity check. +#. This string is used in tables. In older xz version this +#. string was limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "None" +msgstr "Nincs" + +#. TRANSLATORS: Indicates that integrity check name is not known, +#. but the Check ID is known (here 2). In older xz version these +#. strings were limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "Unknown-2" +msgstr "Névtelen-2" + +#: src/xz/list.c +msgid "Unknown-3" +msgstr "Névtelen-3" + +#: src/xz/list.c +msgid "Unknown-5" +msgstr "Névtelen-5" + +#: src/xz/list.c +msgid "Unknown-6" +msgstr "Névtelen-6" + +#: src/xz/list.c +msgid "Unknown-7" +msgstr "Névtelen-7" + +#: src/xz/list.c +msgid "Unknown-8" +msgstr "Névtelen-8" + +#: src/xz/list.c +msgid "Unknown-9" +msgstr "Névtelen-9" + +#: src/xz/list.c +msgid "Unknown-11" +msgstr "Névtelen-11" + +#: src/xz/list.c +msgid "Unknown-12" +msgstr "Névtelen-12" + +#: src/xz/list.c +msgid "Unknown-13" +msgstr "Névtelen-13" + +#: src/xz/list.c +msgid "Unknown-14" +msgstr "Névtelen-14" + +#: src/xz/list.c +msgid "Unknown-15" +msgstr "Névtelen-15" + +#: src/xz/list.c +#, c-format +msgid "%s: File is empty" +msgstr "%s: A fájl üres" + +#: src/xz/list.c +#, c-format +msgid "%s: Too small to be a valid .xz file" +msgstr "%s: Túl kicsi, hogy érvényes .xz fájl legyen" + +#. 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 +msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" +msgstr "Folyam Blokkok Tömörített Kibontott Arány Ellenőrzés Fájlnév" + +#: src/xz/list.c +msgid "Yes" +msgstr "Igen" + +#: src/xz/list.c +msgid "No" +msgstr "Nem" + +#: src/xz/list.c +#, fuzzy +#| msgid " Minimum XZ Utils version: %s\n" +msgid "Minimum XZ Utils version:" +msgstr " Legkisebb XZ Utils verzió: %s\n" + +#. 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 +#, c-format +msgid "%s file\n" +msgid_plural "%s files\n" +msgstr[0] "%s fájl\n" +msgstr[1] "%s fájl\n" + +#: src/xz/list.c +msgid "Totals:" +msgstr "Összesen:" + +#: src/xz/list.c +msgid "--list works only on .xz files (--format=xz or --format=auto)" +msgstr "A --list csak .xz fájlokkal működik (--format=xz vagy --format=auto)" + +#: src/xz/list.c +msgid "Try 'lzmainfo' with .lzma files." +msgstr "Az „lzmainfo” kipróbálása az .lzma fájlok esetén." + +#: src/xz/list.c +msgid "--list does not support reading from standard input" +msgstr "A --list nem támogatja a szabványos bemenetről beolvasást" + +#: src/xz/main.c +#, c-format +msgid "%s: Error reading filenames: %s" +msgstr "%s: Hiba a fájlnevek olvasásakor: %s" + +#: src/xz/main.c +#, c-format +msgid "%s: Unexpected end of input when reading filenames" +msgstr "%s: A bemenet váratlanul véget ért a fájlnevek olvasásakor" + +#: src/xz/main.c +#, c-format +msgid "%s: Null character found when reading filenames; maybe you meant to use '--files0' instead of '--files'?" +msgstr "%s: Null karakter található a fájlnevek olvasásakor; talán a „--files0” kapcsolóra gondolt a „--files” helyett?" + +#: src/xz/main.c +msgid "Compression and decompression with --robot are not supported yet." +msgstr "A tömörítés és kibontás még nem támogatott a --robot kapcsolóval." + +#: src/xz/main.c +msgid "Cannot read data from standard input when reading filenames from standard input" +msgstr "Az adatok nem olvashatók be a szabványos bemenetről a fájlnevek olvasásakor" + +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s: " +msgstr "%s: " + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "Internal error (bug)" +msgstr "Belső hiba (bug)" + +#: src/xz/message.c +msgid "Cannot establish signal handlers" +msgstr "A szignálkezelők nem hozhatók létre" + +#: src/xz/message.c +msgid "No integrity check; not verifying file integrity" +msgstr "Nincs integritás-ellenőrzés; a fájl épsége nem lesz ellenőrizve" + +#: src/xz/message.c +msgid "Unsupported type of integrity check; not verifying file integrity" +msgstr "Nem támogatott integritás-ellenőrzési típus; a fájl épsége nem lesz ellenőrizve" + +#: src/xz/message.c +msgid "Memory usage limit reached" +msgstr "Memóriahasználat korlátja elérve" + +#: src/xz/message.c +msgid "File format not recognized" +msgstr "A fájlformátum nem felismert" + +#: src/xz/message.c +msgid "Unsupported options" +msgstr "Nem támogatott kapcsolók" + +#: src/xz/message.c +msgid "Compressed data is corrupt" +msgstr "A tömörített adatok megsérültek" + +#: src/xz/message.c +msgid "Unexpected end of input" +msgstr "A bemenet váratlanul véget ért" + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limiter is disabled." +msgstr "%s MiB memória szükséges. A korlátozás letiltva." + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limit is %s." +msgstr "%s MiB memória szükséges. A korlát %s." + +#: src/xz/message.c +#, c-format +msgid "%s: Filter chain: %s\n" +msgstr "%s: Szűrőlánc: %s\n" + +#: src/xz/message.c +#, c-format +msgid "Try '%s --help' for more information." +msgstr "További információkért adja ki a következő parancsot: „%s --help”." + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Error printing the help text (error code %d)" +msgstr "" + +#: src/xz/message.c +#, c-format +msgid "Usage: %s [OPTION]... [FILE]...\n" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "Usage: %s [OPTION]... [FILE]...\n" +#| "Compress or decompress FILEs in the .xz format.\n" +#| "\n" +msgid "Compress or decompress FILEs in the .xz format." +msgstr "" +"Használat: %s [KAPCSOLÓ]... [FÁJL]...\n" +".xz formátumú FÁJLok tömörítése vagy kibontása.\n" +"\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Mandatory arguments to long options are mandatory for short options too.\n" +msgid "Mandatory arguments to long options are mandatory for short options too." +msgstr "A hosszú kapcsolók kötelező argumentumai a rövid kapcsolók esetén is kötelezők.\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " Operation mode:\n" +msgid "Operation mode:" +msgstr " Működési mód:\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Decompression:" +msgid "force compression" +msgstr "Kibontás:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Decompression:" +msgid "force decompression" +msgstr "Kibontás:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "test compressed file integrity" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "list information about .xz files" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Operation modifiers:\n" +msgid "Operation modifiers:" +msgstr "" +"\n" +" Műveleti módosítók:\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "keep (don't delete) input files" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force overwrite of output file and (de)compress links" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Writing to standard output failed" +msgid "write to standard output and don't delete input files" +msgstr "A szabványos kimenetre írás sikertelen" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't synchronize the output file to the storage device before removing the input file" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --single-stream decompress only the first stream, and silently\n" +#| " ignore possible remaining input data" +msgid "decompress only the first stream, and silently ignore possible remaining input data" +msgstr "" +" --single-stream csak az első adatfolyam kibontása, és a\n" +" lehetséges hátralévő bemeneti adatok mellőzése" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "do not create sparse files when decompressing" +msgstr "" + +#: src/xz/message.c +msgid ".SUF" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use the suffix '.SUF' on compressed files" +msgstr "" + +#: src/xz/message.c +msgid "FILE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "read filenames to process from FILE; if FILE is omitted, filenames are read from the standard input; filenames must be terminated with the newline character" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "like --files but use the null character as terminator" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Basic file format and compression options:\n" +msgid "Basic file format and compression options:" +msgstr "" +"\n" +" Alapvető fájlformátum és tömörítési beállítások:\n" + +#: src/xz/message.c +msgid "FORMAT" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "file format to encode or decode; possible values are 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'" +msgstr "" + +#: src/xz/message.c +msgid "NAME" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "integrity check type: 'none' (use with caution), 'crc32', 'crc64' (default), or 'sha256'" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " --ignore-check don't verify the integrity check when decompressing" +msgid "don't verify the integrity check when decompressing" +msgstr " --ignore-check kibontáskor ne ellenőrizze az épséget" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " -0 ... -9 compression preset; default is 6; take compressor *and*\n" +#| " decompressor memory usage into account before using 7-9!" +msgid "compression preset; default is 6; take compressor *and* decompressor memory usage into account before using 7-9!" +msgstr "" +" -0 ... -9 tömörítési előbeállítás; alapértelmezett a 6;\n" +" a 7-9 használata előtt vegye figyelembe a tömörítő\n" +" *és* kibontó memóriahasználatát!" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " -e, --extreme try to improve compression ratio by using more CPU time;\n" +#| " does not affect decompressor memory requirements" +msgid "try to improve compression ratio by using more CPU time; does not affect decompressor memory requirements" +msgstr "" +" -e, --extreme a tömörítési arány javítási kísérlete több CPU-idő\n" +" használatával; nincs hatással a kibontó memóriaigényére" + +#. TRANSLATORS: Short for NUMBER. A longer string is fine but +#. wider than 5 columns makes --long-help a few lines longer. +#: src/xz/message.c +msgid "NUM" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " -T, --threads=NUM use at most NUM threads; the default is 0 which uses\n" +#| " as many threads as there are processor cores" +msgid "use at most NUM threads; the default is 0 which uses as many threads as there are processor cores" +msgstr "" +" -T, --threads=SZÁM legfeljebb ennyi szál használata; alapértelmezett a 0,\n" +" amely annyi szálat használ, amennyi processzormag áll\n" +" rendelkezésre" + +#: src/xz/message.c +msgid "SIZE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --block-size=SIZE\n" +#| " start a new .xz block after every SIZE bytes of input;\n" +#| " use this to set the block size for threaded compression" +msgid "start a new .xz block after every SIZE bytes of input; use this to set the block size for threaded compression" +msgstr "" +" --block-size=MÉRET\n" +" új .xz blokk indítása minden MÉRETnyi bájt bemenet után;\n" +" a többszálas tömörítés blokkméretének megadásához" + +#: src/xz/message.c +msgid "BLOCKS" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --block-list=BLOCKS\n" +#| " start a new .xz block after the given comma-separated\n" +#| " intervals of uncompressed data; optionally, specify a\n" +#| " filter chain number (0-9) followed by a ':' before the\n" +#| " uncompressed data size" +msgid "start a new .xz block after the given comma-separated intervals of uncompressed data; optionally, specify a filter chain number (0-9) followed by a ':' before the uncompressed data size" +msgstr "" +" --block-list=BLOKKOK\n" +" új .xz blokk indítása a vesszőkkel felsorolva megadott\n" +" méretű tömörítetlen adatszakaszok után; a tömörítetlen\n" +" adatok mérete előtt egy szűrőláncszám (0-9) is megadható\n" +" egy „:” karakter közbeiktatásával" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --flush-timeout=TIMEOUT\n" +#| " when compressing, if more than TIMEOUT milliseconds has\n" +#| " passed since the previous flush and reading more input\n" +#| " would block, all pending data is flushed out" +msgid "when compressing, if more than NUM milliseconds has passed since the previous flush and reading more input would block, all pending data is flushed out" +msgstr "" +" --flush-timeout=IDŐTÚLLÉPÉS\n" +" tömörítéskor, ha több mint IDŐTÚLLÉPÉS ezredmásodperc\n" +" telt el az előző kiírástól, és a bemenetolvasás\n" +" blokkolna, akkor minden adat ki lesz írva" + +#: src/xz/message.c +msgid "LIMIT" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, no-c-format +msgid "set memory usage limit for compression, decompression, threaded decompression, or all of these; LIMIT is in bytes, % of RAM, or 0 for defaults" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --no-adjust if compression settings exceed the memory usage limit,\n" +#| " give an error instead of adjusting the settings downwards" +msgid "if compression settings exceed the memory usage limit, give an error instead of adjusting the settings downwards" +msgstr "" +" --no-adjust ha a tömörítési beállítások túllépik a memóriahasználati\n" +" korlátot, akkor hibát fog adni a beállítások lefelé\n" +" állítása helyett" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Custom filter chain for compression (alternative for using presets):" +msgid "Custom filter chain for compression (an alternative to using presets):" +msgstr "" +"\n" +" Egyéni szűrőlánc a tömörítéshez (alternatíva az előbeállításokra):" + +#: src/xz/message.c +msgid "FILTERS" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " --filters=FILTERS set the filter chain using the liblzma filter string\n" +#| " syntax; use --filters-help for more information" +msgid "set the filter chain using the liblzma filter string syntax; use --filters-help for more information" +msgstr "" +"\n" +" --filters=SZŰRŐK a szűrőlánc beállítása liblzma szűrőformátummal;\n" +" további információkért lásd a --filters-help kapcsolót" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --filters1=FILTERS ... --filters9=FILTERS\n" +#| " set additional filter chains using the liblzma filter\n" +#| " string syntax to use with --block-list" +msgid "set additional filter chains using the liblzma filter string syntax to use with --block-list" +msgstr "" +" --filters1=SZŰRŐK ... --filters9=SZŰRŐK\n" +" további szűrőláncok beállítása liblzma formátummal a\n" +" --block-list kapcsolóhoz" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --filters-help display more information about the liblzma filter string\n" +#| " syntax and exit." +msgid "display more information about the liblzma filter string syntax and exit" +msgstr "" +" --filters-help további információk megjelenítése a libzma\n" +" szűrőformátumról, majd kilépés." + +#. TRANSLATORS: Short for OPTIONS. +#: src/xz/message.c +msgid "OPTS" +msgstr "" + +#. TRANSLATORS: Use semicolon (or its fullwidth form) +#. in "(valid values; default)" even if it is weird in +#. your language. There are non-translatable strings +#. that look like "(foo, bar, baz; foo)" which list +#. the supported values and the default value. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "LZMA1 or LZMA2; OPTS is a comma-separated list of zero or more of the following options (valid values; default):" +msgstr "" + +#. TRANSLATORS: Short for PRESET. A longer string is +#. fine but wider than 4 columns makes --long-help +#. one line longer. +#: src/xz/message.c +msgid "PRE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "reset options to a preset" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "dictionary size" +msgstr "" + +#. TRANSLATORS: The word "literal" in "literal context +#. bits" means how many "context bits" to use when +#. encoding literals. A literal is a single 8-bit +#. byte. It doesn't mean "literally" here. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal context bits" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal position bits" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Number of processor threads:" +msgid "number of position bits" +msgstr "Processzorszálak száma:" + +#: src/xz/message.c +msgid "MODE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Decompression:" +msgid "compression mode" +msgstr "Kibontás:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "nice length of a match" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "match finder" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "maximum search depth; 0=automatic (default)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "x86 BCJ filter (32-bit and 64-bit)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM-Thumb BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM64 BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "PowerPC BCJ filter (big endian only)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "IA-64 (Itanium) BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "SPARC BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "RISC-V BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Valid OPTS for all BCJ filters:" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start offset for conversions (default=0)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Delta filter; valid OPTS (valid values; default):" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "distance between bytes being subtracted from each other" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Other options:\n" +msgid "Other options:" +msgstr "" +"\n" +" Egyéb kapcsolók:\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "suppress warnings; specify twice to suppress errors too" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "be verbose; specify twice for even more verbose" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " -Q, --no-warn make warnings not affect the exit status" +msgid "make warnings not affect the exit status" +msgstr "" +" -Q, --no-warn a figyelmeztetések nem befolyásolják a kilépési\n" +" állapotkódot" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " --robot use machine-parsable messages (useful for scripts)" +msgid "use machine-parsable messages (useful for scripts)" +msgstr "" +" --robot géppel értelmezhető üzenetek használata\n" +" (parancsfájlok esetén hasznos)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --info-memory display the total amount of RAM and the currently active\n" +#| " memory usage limits, and exit" +msgid "display the total amount of RAM and the currently active memory usage limits, and exit" +msgstr "" +" --info-memory az összes RAM mennyiségének és a jelenlegi\n" +" memóriahasználati korlátok megjelenítése, és kilépés" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the short help (lists only the basic options)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this long help and exit" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this short help and exit" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the long help (lists also the advanced options)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " -V, --version display the version number and exit" +msgid "display the version number and exit" +msgstr " -V, --version a verziószám kiírása és kilépés" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, fuzzy +#| msgid "" +#| "\n" +#| "With no FILE, or when FILE is -, read standard input.\n" +msgid "With no FILE, or when FILE is -, read standard input." +msgstr "" +"\n" +"FÁJL nélkül, vagy ha a FÁJL -, olvasás a szabványos bemenetről.\n" + +#. TRANSLATORS: This message indicates the bug reporting +#. address for this package. Please add another line saying +#. "\nReport translation bugs to <...>." with the email or WWW +#. address for translation bugs. Thanks! +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, fuzzy, c-format +#| msgid "Report bugs to <%s> (in English or Finnish).\n" +msgid "Report bugs to <%s> (in English or Finnish)." +msgstr "Ide jelentse a hibákat: <%s> (angolul vagy finnül).\n" + +#. TRANSLATORS: The first %s is the name of this software. +#. The second <%s> is an URL. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, fuzzy, c-format +#| msgid "%s home page: <%s>\n" +msgid "%s home page: <%s>" +msgstr "%s honlap: <%s>\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE." +msgstr "EZ EGY FEJLESZTŐI VÁLTOZAT, NEM ÉLES HASZNÁLATRA SZÁNT." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy, c-format +#| msgid "" +#| "Filter chains are set using the --filters=FILTERS or\n" +#| "--filters1=FILTERS ... --filters9=FILTERS options. Each filter in the chain\n" +#| "can be separated by spaces or '--'. Alternatively a preset <0-9>[e] can be\n" +#| "specified instead of a filter chain.\n" +msgid "Filter chains are set using the --filters=FILTERS or --filters1=FILTERS ... --filters9=FILTERS options. Each filter in the chain can be separated by spaces or '--'. Alternatively a preset %s can be specified instead of a filter chain." +msgstr "" +"A szűrőláncokat a --filters=SZŰRŐK vagy a\n" +"--filters1=SZŰRŐK ... --filters9=SZŰRŐK kapcsolókkal lehet megadni. A láncban\n" +"szereplő egyes szűrőket szóközökkel vagy „--” karakterekkel kell elválasztani.\n" +"Illetve egy <0-9>[e] előbeállítás is megadható szűrőlánc helyett.\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "The supported filters and their options are:" +msgstr "A támogatott szűrők és azok kapcsolói a következők:" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Options must be 'name=value' pairs separated with commas" +msgid "Options must be 'name=value' pairs separated with commas" +msgstr "%s: A kapcsolóknak vesszőkkel elválasztott „név=érték” pároknak kell lenniük" + +#: src/xz/options.c +#, c-format +msgid "%s: Invalid option name" +msgstr "%s: Érvénytelen kapcsolónév" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Invalid option value" +msgid "Invalid option value" +msgstr "%s: Érvénytelen kapcsolóérték" + +#: src/xz/options.c +#, c-format +msgid "Unsupported LZMA1/LZMA2 preset: %s" +msgstr "Nem támogatott LZMA1/LZMA2 előbeállítás: %s" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "The sum of lc and lp must not exceed 4" +msgstr "Az lc és lp összege nem haladhatja meg a 4-et" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Filename has an unknown suffix, skipping" +msgstr "%s: A fájlnév utótagja ismeretlen, kihagyás" + +#: src/xz/suffix.c +#, c-format +msgid "%s: File already has '%s' suffix, skipping" +msgstr "%s: A fájlnak már van „%s” utótagja, kihagyás" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Invalid filename suffix" +msgstr "%s: Érvénytelen fájlnév utótag" + +#: src/xz/util.c src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Value is not a non-negative decimal integer" +msgid "Value is not a non-negative decimal integer" +msgstr "%s: Az érték nem nemnegatív decimális egész szám" + +#: src/xz/util.c +#, c-format +msgid "%s: Invalid multiplier suffix" +msgstr "%s: Érvénytelen szorzó utótag" + +#: src/xz/util.c +msgid "Valid suffixes are 'KiB' (2^10), 'MiB' (2^20), and 'GiB' (2^30)." +msgstr "Az érvényes utótagok: „KiB” (2^10), „MiB” (2^20) és „GiB” (2^30)." + +#: src/xz/util.c +#, c-format +msgid "Value of the option '%s' must be in the range [%, %]" +msgstr "A(z) „%s” kapcsoló értékének a(z) [%, %] tartományban kell lennie" + +#: src/xz/util.c +msgid "Compressed data cannot be read from a terminal" +msgstr "A tömörített adatokat nem lehet beolvasni a terminálból" + +#: src/xz/util.c +msgid "Compressed data cannot be written to a terminal" +msgstr "A tömörített adatokat nem lehet kiírni a terminálba" + +#: src/lzmainfo/lzmainfo.c +#, fuzzy, c-format +#| msgid "" +#| "Usage: %s [--help] [--version] [FILE]...\n" +#| "Show information stored in the .lzma file header" +msgid "Usage: %s [--help] [--version] [FILE]...\n" +msgstr "" +"Használat: %s [--help] [--version] [FÁJL]…\n" +"Az .lzma fájl fejlécében tárolt információk megjelenítése" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/lzmainfo/lzmainfo.c +#, fuzzy +#| msgid "" +#| "Usage: %s [--help] [--version] [FILE]...\n" +#| "Show information stored in the .lzma file header" +msgid "Show information stored in the .lzma file header." +msgstr "" +"Használat: %s [--help] [--version] [FÁJL]…\n" +"Az .lzma fájl fejlécében tárolt információk megjelenítése" + +#: src/lzmainfo/lzmainfo.c +msgid "File is too small to be a .lzma file" +msgstr "A fájl túl kicsi, hogy érvényes .lzma fájl legyen" + +#: src/lzmainfo/lzmainfo.c +msgid "Not a .lzma file" +msgstr "Nem .lzma fájl" + +#: src/common/tuklib_exit.c +msgid "Writing to standard output failed" +msgstr "A szabványos kimenetre írás sikertelen" + +#: src/common/tuklib_exit.c +msgid "Unknown error" +msgstr "Ismeretlen hiba" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "Unsupported options" +msgid "Unsupported preset" +msgstr "Nem támogatott kapcsolók" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "Unsupported filter chain or filter options" +msgid "Unsupported flag in the preset" +msgstr "Nem támogatott szűrőlánc vagy szűrőkapcsolók" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Invalid option name" +msgid "Unknown option name" +msgstr "%s: Érvénytelen kapcsolónév" + +#: src/liblzma/common/string_conversion.c +msgid "Option value cannot be empty" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "Value out of range" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "This option does not support any multiplier suffixes" +msgstr "" + +#. TRANSLATORS: Don't translate the +#. suffixes "KiB", "MiB", or "GiB" +#. because a user can only specify +#. untranslated suffixes. +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Invalid multiplier suffix" +msgid "Invalid multiplier suffix (KiB, MiB, or GiB)" +msgstr "%s: Érvénytelen szorzó utótag" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Unknown file format type" +msgid "Unknown filter name" +msgstr "%s: Ismeretlen fájlformátumtípus" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "LZMA1 cannot be used with the .xz format" +msgid "This filter cannot be used in the .xz format" +msgstr "Az LZMA1 nem használható az .xz formátummal" + +#: src/liblzma/common/string_conversion.c +msgid "Memory allocation failed" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "Empty string is not allowed, try '6' if a default value is needed" +msgstr "" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "Maximum number of filters is four" +msgid "The maximum number of filters is four" +msgstr "A szűrők legnagyobb száma négy" + +#: src/liblzma/common/string_conversion.c +msgid "Filter name is missing" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "Invalid filter chain ('lzma2' missing at the end?)" +msgstr "" + +#~ msgid "" +#~ " -z, --compress force compression\n" +#~ " -d, --decompress force decompression\n" +#~ " -t, --test test compressed file integrity\n" +#~ " -l, --list list information about .xz files" +#~ msgstr "" +#~ " -z, --compress kényszerített tömörítés\n" +#~ " -d, --decompress kényszerített kibontás\n" +#~ " -t, --test tömörített fájl épségének tesztelése\n" +#~ " -l, --list információk kiírása az .xz fájlokról" + +#~ 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 bemeneti fájlok megtartása (ne törölje)\n" +#~ " -f, --force kimeneti fájl kényszerített felülírása,\n" +#~ " és a linkek tömörítése/kibontása\n" +#~ " -c, --stdout írás a szabványos kimenetre írás, és nem törli a\n" +#~ " bemeneti fájlokat" + +#~ msgid "" +#~ " --no-sparse do not create sparse files when decompressing\n" +#~ " -S, --suffix=.SUF use the suffix '.SUF' on compressed files\n" +#~ " --files[=FILE] read filenames to process from FILE; if FILE is\n" +#~ " omitted, filenames are read from the standard input;\n" +#~ " filenames must be terminated with the newline character\n" +#~ " --files0[=FILE] like --files but use the null character as terminator" +#~ msgstr "" +#~ " --no-sparse ne hozzon létre ritka fájlokat kibontáskor\n" +#~ " -S, --suffix=.SUF a „.SUF” utótag használata a tömörített fájlokon\n" +#~ " --files[=FÁJL] fájlnevek beolvasása a FÁJLból; ha a FÁJL nincs\n" +#~ " megadva, akkor a fájlnevek a szabványos bemenetről\n" +#~ " lesznek beolvasva; a fájlneveket újsor karakterrel\n" +#~ " kell zárni\n" +#~ " --files0[=FÁJL] mint a --files, de a null karaktert használja\n" +#~ " használja elválasztóként" + +#~ msgid "" +#~ " -F, --format=FMT file format to encode or decode; possible values are\n" +#~ " 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'\n" +#~ " -C, --check=CHECK integrity check type: 'none' (use with caution),\n" +#~ " 'crc32', 'crc64' (default), or 'sha256'" +#~ msgstr "" +#~ " -F, --format=FMT a kódoláshoz vagy dekódoláshoz használt fájlformátum;\n" +#~ " lehetséges értékek „auto” (alapértelmezett), „xz”,\n" +#~ " „lzma”, „lzip” és „raw”\n" +#~ " -C, --check=ELL integritás-ellenőrzés típusa: „none” (óvatosan használja),\n" +#~ " „crc32”, „crc64” (alapértelmezett) vagy „sha256”" + +#, no-c-format +#~ msgid "" +#~ " --memlimit-compress=LIMIT\n" +#~ " --memlimit-decompress=LIMIT\n" +#~ " --memlimit-mt-decompress=LIMIT\n" +#~ " -M, --memlimit=LIMIT\n" +#~ " set memory usage limit for compression, decompression,\n" +#~ " threaded decompression, or all of these; LIMIT is in\n" +#~ " bytes, % of RAM, or 0 for defaults" +#~ msgstr "" +#~ " --memlimit-compress=KORLÁT\n" +#~ " --memlimit-decompress=KORLÁT\n" +#~ " --memlimit-mt-decompress=KORLÁT\n" +#~ " -M, --memlimit=KORLÁT\n" +#~ " a memóriahasználati korlát megadása tömörítéshez,\n" +#~ " kibontáshoz, többszálú kibontású vagy mindháromhoz; a\n" +#~ " KORLÁT bájtokban van megadva, a RAM %-ában, vagy 0 az\n" +#~ " alapértelmezéshez" + +#~ msgid "" +#~ "\n" +#~ " --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n" +#~ " --lzma2[=OPTS] more of the following options (valid values; default):\n" +#~ " preset=PRE reset options to a preset (0-9[e])\n" +#~ " dict=NUM dictionary size (4KiB - 1536MiB; 8MiB)\n" +#~ " lc=NUM number of literal context bits (0-4; 3)\n" +#~ " lp=NUM number of literal position bits (0-4; 0)\n" +#~ " pb=NUM number of position bits (0-4; 2)\n" +#~ " mode=MODE compression mode (fast, normal; normal)\n" +#~ " nice=NUM nice length of a match (2-273; 64)\n" +#~ " mf=NAME match finder (hc3, hc4, bt2, bt3, bt4; bt4)\n" +#~ " depth=NUM maximum search depth; 0=automatic (default)" +#~ msgstr "" +#~ "\n" +#~ " --lzma1[=KAPCS] LZMA1 vagy LZMA2; a KAPCS nulla vagy több vesszővel\n" +#~ " --lzma2[=KAPCS] elválasztott kapcsoló az alábbiak közül\n" +#~ " (érvényes érték; alapértelmezett):\n" +#~ " preset=ELŐ visszaállítás egy előbeállításra (0-9[e])\n" +#~ " dict=SZÁM szótárméret (4KiB - 1536MiB; 8MiB)\n" +#~ " lc=SZÁM literál környezeti bitek száma (0-4; 3)\n" +#~ " lp=SZÁM literál pozícióbitek száma (0-4; 0)\n" +#~ " pb=SZÁM pozícióbitek száma (0-4; 2)\n" +#~ " mode=MÓD tömörítési mód (fast, normal; normal)\n" +#~ " nice=SZÁM az egyezés „nice” hossza (2-273; 64)\n" +#~ " mf=NÉV egyezéskereső (hc3, hc4, bt2, bt3, bt4; bt4)\n" +#~ " depth=SZÁM legnagyobb keresési mélység; 0=automatikus\n" +#~ " (alapértelmezett)" + +#~ msgid "" +#~ "\n" +#~ " --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n" +#~ " --arm[=OPTS] ARM BCJ filter\n" +#~ " --armthumb[=OPTS] ARM-Thumb BCJ filter\n" +#~ " --arm64[=OPTS] ARM64 BCJ filter\n" +#~ " --powerpc[=OPTS] PowerPC BCJ filter (big endian only)\n" +#~ " --ia64[=OPTS] IA-64 (Itanium) BCJ filter\n" +#~ " --sparc[=OPTS] SPARC BCJ filter\n" +#~ " --riscv[=OPTS] RISC-V BCJ filter\n" +#~ " Valid OPTS for all BCJ filters:\n" +#~ " start=NUM start offset for conversions (default=0)" +#~ msgstr "" +#~ "\n" +#~ " --x86[=KAPCS] x86 BCJ szűrő (32 bites és 64 bites)\n" +#~ " --arm[=KAPCS] ARM BCJ szűrő\n" +#~ " --armthumb[=KAPCS] ARM-Thumb BCJ szűrő\n" +#~ " --arm64[=KAPCS] ARM64 BCJ szűrő\n" +#~ " --powerpc[=KAPCS] PowerPC BCJ szűrő (csak big endian esetén)\n" +#~ " --ia64[=KAPCS] IA-64 (Itanium) BCJ szűrő\n" +#~ " --sparc[=KAPCS] SPARC BCJ szűrő\n" +#~ " --riscv[=KAPCS] RISC-V BCJ szűrő\n" +#~ " Érvényes KAPCS az összes BCJ szűrőhöz:\n" +#~ " start=SZÁM kezdési eltolás az átalakításokhoz\n" +#~ " (alapértelmezett=0)" + +#~ msgid "" +#~ "\n" +#~ " --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n" +#~ " dist=NUM distance between bytes being subtracted\n" +#~ " from each other (1-256; 1)" +#~ msgstr "" +#~ "\n" +#~ " --delta[=OPTS] Delta szűrő; érvényes KAPCSOLÓK\n" +#~ " (érvényes értékek; alapértelmezett default):\n" +#~ " dist=SZÁM az egymásból kivont bájtok közti\n" +#~ " távolság (1-256; 1)" + +#~ msgid "" +#~ " -q, --quiet suppress warnings; specify twice to suppress errors too\n" +#~ " -v, --verbose be verbose; specify twice for even more verbose" +#~ msgstr "" +#~ " -q, --quiet figyelmeztetések elrejtése; adja meg kétszer, hogy a\n" +#~ " hibákat is elrejtse\n" +#~ " -v, --verbose legyen bőbeszédű; adja meg kétszer, hogy még bőbeszédűbb\n" +#~ " legyen" + +#~ 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 a rövid súgó megjelenítése (csak az alapvető kapcsolók)\n" +#~ " -H, --long-help ezen hosszú súgó megjelenítése, és kilépés" + +#~ 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 ezen rövid súgó megjelenítése, és kilépés\n" +#~ " -H, --long-help a hosszú súgó megjelenítése (speciális kapcsolókhoz)" + +#~ msgid "Failed to enable the sandbox" +#~ msgstr "A homokozó engedélyezése sikertelen" + +#, c-format +#~ msgid "The selected match finder requires at least nice=%" +#~ msgstr "A kiválasztott egyezéskeresőhöz legalább nice=% szükséges" + +#~ msgid "Sandbox is disabled due to incompatible command line arguments" +#~ msgstr "A homokozó ki lett kapcsolva a nem kompatibilis parancssori argumentumok miatt" + +#~ msgid "Sandbox was successfully enabled" +#~ msgstr "A homokozó sikeresen engedélyezve" + +#~ msgid "Memory usage limit for compression: " +#~ msgstr "Memóriahasználat korlátja tömörítéskor: " + +#~ msgid " Streams: %s\n" +#~ msgstr " Adatfolyamok: %s\n" + +#~ msgid " Blocks: %s\n" +#~ msgstr " Blokkok: %s\n" + +#~ msgid " Ratio: %s\n" +#~ msgstr " Arány: %s\n" + +#~ msgid " Check: %s\n" +#~ msgstr " Ellenőrzés: %s\n" + +#~ msgid "" +#~ " Streams:\n" +#~ " Stream Blocks CompOffset UncompOffset CompSize UncompSize Ratio Check Padding" +#~ msgstr "" +#~ " Adatfolyamok:\n" +#~ " Folyam Blokkok TömEltolás KibEltolás TömMéret KibMéret Arány Ellenőrzés Keret" + +#~ msgid "" +#~ " Blocks:\n" +#~ " Stream Block CompOffset UncompOffset TotalSize UncompSize Ratio Check" +#~ msgstr "" +#~ " Blokkok:\n" +#~ " Folyam Blokkok TömEltolás KibEltolás TömMéret KibMéret Arány Ellenőrzés" + +#~ msgid " CheckVal %*s Header Flags CompSize MemUsage Filters" +#~ msgstr " ÉrtékEll %*s Fejléc Jelzők TömMéret MemHasználat Szűrők" diff --git a/src/native/external/xz/po/it.po b/src/native/external/xz/po/it.po new file mode 100644 index 00000000000000..1a14c7a3f08441 --- /dev/null +++ b/src/native/external/xz/po/it.po @@ -0,0 +1,1270 @@ +# SPDX-License-Identifier: 0BSD +# +# Italian translation for xz +# This file is published under the BSD Zero Clause License. +# Gruppo traduzione italiano di Ubuntu-it , 2009, 2010 +# Lorenzo De Liso , 2010. +# Milo Casagrande , 2009, 2010, 2011, 2014, 2019. +# Luca Vercelli 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: xz 5.8.0-pre1\n" +"Report-Msgid-Bugs-To: xz@tukaani.org\n" +"POT-Creation-Date: 2025-01-29 20:59+0200\n" +"PO-Revision-Date: 2025-03-10 11:31+0000\n" +"Last-Translator: Luca Vercelli \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" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"X-Launchpad-Export-Date: 2010-08-16 19:16+0000\n" +"X-Generator: Poedit 2.2.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: src/xz/args.c +#, c-format +msgid "%s: Invalid argument to --block-list" +msgstr "%s: argomento non valido per --block-list" + +#: src/xz/args.c +#, c-format +msgid "%s: Too many arguments to --block-list" +msgstr "%s: troppi argomenti per --block-list" + +#: src/xz/args.c +#, c-format +msgid "In --block-list, block size is missing after filter chain number '%c:'" +msgstr "In --block-list, la dimensione del blocco è mancante, dopo il numero di catena di filtri \"%c:\"" + +#: src/xz/args.c +msgid "0 can only be used as the last element in --block-list" +msgstr "0 può essere usato solo come ultimo elemento in --block-list" + +#: src/xz/args.c +#, c-format +msgid "%s: Unknown file format type" +msgstr "%s: tipo di formato del file sconosciuto" + +#: src/xz/args.c +#, c-format +msgid "%s: Unsupported integrity check type" +msgstr "%s: tipo di controllo integrità non supportato" + +#: src/xz/args.c +msgid "Only one file can be specified with '--files' or '--files0'." +msgstr "Solo un file può essere specificato con \"--files\" o \"--files0\"." + +#. TRANSLATORS: This is a translatable +#. string because French needs a space +#. before the colon ("%s : %s"). +#: src/xz/args.c src/xz/coder.c src/xz/file_io.c src/xz/list.c src/xz/options.c +#: src/xz/util.c +#, c-format +msgid "%s: %s" +msgstr "%s: %s" + +#: src/xz/args.c +#, c-format +msgid "The environment variable %s contains too many arguments" +msgstr "La variabile d'ambiente %s contiene troppi argomenti" + +#: src/xz/args.c +msgid "Compression support was disabled at build time" +msgstr "Il supporto alla compressione è stato disabilitato in fase di compilazione" + +#: src/xz/args.c +msgid "Decompression support was disabled at build time" +msgstr "Il supporto alla decompressione è stato disabilitato in fase di compilazione" + +#: src/xz/args.c +msgid "Compression of lzip files (.lz) is not supported" +msgstr "La compressione di file lzip (.lz) non è supportata" + +#: src/xz/args.c +msgid "--block-list is ignored unless compressing to the .xz format" +msgstr "--block-list viene ignorato a meno che si stia comprimendo in formato .xz" + +#: src/xz/args.c +msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout" +msgstr "Con --format=raw è richiesto --suffix=.SUF a meno che non si scriva sullo standard output" + +#: src/xz/coder.c +msgid "Maximum number of filters is four" +msgstr "Il numero massimo di filtri è quattro" + +#: src/xz/coder.c +#, c-format +msgid "Error in --filters%s=FILTERS option:" +msgstr "Errore nell'opzione --filters%s=FILTRI:" + +#: src/xz/coder.c +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." + +#: src/xz/coder.c +#, c-format +msgid "filter chain %u used by --block-list but not specified with --filters%u=" +msgstr "catena di filtri %u usata da --block-list ma non specificata con --filters%u=" + +#: src/xz/coder.c +msgid "Using a preset in raw mode is discouraged." +msgstr "Non è consigliato usare un preset nella modalità raw." + +#: src/xz/coder.c +msgid "The exact options of the presets may vary between software versions." +msgstr "Le opzioni esatte per i preset possono variare tra le versioni del software." + +#: src/xz/coder.c +msgid "The .lzma format supports only the LZMA1 filter" +msgstr "Il formato .lzma supporta solo il filtro LZMA1" + +#: src/xz/coder.c +msgid "LZMA1 cannot be used with the .xz format" +msgstr "LZMA1 non può essere usato con il formato .xz" + +#: src/xz/coder.c +#, c-format +msgid "Filter chain %u is incompatible with --flush-timeout" +msgstr "La catena di filtri %u non è compatibile con --flush-timeout" + +#: src/xz/coder.c +msgid "Switching to single-threaded mode due to --flush-timeout" +msgstr "Passaggio a modalità singolo thread poiché viene usato --flush-timeout" + +#: src/xz/coder.c +#, c-format +msgid "Unsupported options in filter chain %u" +msgstr "Opzioni non supportate nella catena di filtri %u" + +#: src/xz/coder.c +#, c-format +msgid "Using up to % threads." +msgstr "Vengono usati fino a % thread." + +#: src/xz/coder.c +msgid "Unsupported filter chain or filter options" +msgstr "Catena di filtri od opzioni del filtro non supportata" + +#: src/xz/coder.c +#, c-format +msgid "Decompression will need %s MiB of memory." +msgstr "La decompressione necessita di %s MiB di memoria." + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to %s to not exceed the memory usage limit of %s MiB" +msgstr "Ridotto il numero di thread da %s a %s per non eccedere il limite di utilizzo della memoria di %s MiB" + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to one. The automatic memory usage limit of %s MiB is still being exceeded. %s MiB of memory is required. Continuing anyway." +msgstr "Ridotto il numero di thread da %s a uno. Il limite automatico di uso di memoria di %s MiB è ancora superato. Necessari %s MiB di memoria. Si procede comunque." + +#: src/xz/coder.c +#, c-format +msgid "Switching to single-threaded mode to not exceed the memory usage limit of %s MiB" +msgstr "Si è commutato alla modalità a thread singola per non eccedere il limite di utilizzo della memoria di %s MiB" + +#: src/xz/coder.c +#, 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" + +#: src/xz/coder.c +#, c-format +msgid "Adjusted LZMA%c dictionary size for --filters%u from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgstr "Regolata la dimensione del dizionario LZMA%c per --filters%u da %s MiB a %s MiB per non superare il limite dell'uso della memoria di %s MiB" + +#: src/xz/coder.c +#, c-format +msgid "Error changing to filter chain %u: %s" +msgstr "Errore nel concatenare alla catena di filtri %u: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error creating a pipe: %s" +msgstr "Errore nel creare una pipe: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: poll() failed: %s" +msgstr "%s: poll() non riuscita: %s" + +#. 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 +#, c-format +msgid "%s: File seems to have been moved, not removing" +msgstr "%s: sembra che il file sia stato spostato, non viene rimosso" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot remove: %s" +msgstr "%s: impossibile rimuovere: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file owner: %s" +msgstr "%s: impossibile impostare il proprietario del file: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file group: %s" +msgstr "%s: impossibile impostare il gruppo del file: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file permissions: %s" +msgstr "%s: impossibile impostare i permessi del file: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Synchronizing the file failed: %s" +msgstr "%s: sincronizzazione del file non riuscita: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Synchronizing the directory of the file failed: %s" +msgstr "%s: sincronizzazione della cartella del file non riuscita: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard input: %s" +msgstr "Errore nel recuperare le flag di stato del file dallo standard input: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a symbolic link, skipping" +msgstr "%s: è un collegamento simbolico, viene saltato" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a directory, skipping" +msgstr "%s: è una cartella, viene saltata" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Not a regular file, skipping" +msgstr "%s: non è un file regolare, viene saltato" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has setuid or setgid bit set, skipping" +msgstr "%s: il file ha il bit setuid o setgid impostato, viene saltato" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has sticky bit set, skipping" +msgstr "%s: il file ha lo sticky bit impostato, viene saltato" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Input file has more than one hard link, skipping" +msgstr "%s: il file di input ha più di un collegamento fisico, viene saltato" + +#: src/xz/file_io.c +msgid "Empty filename, skipping" +msgstr "Nome file vuoto, viene saltato" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the status flags to standard input: %s" +msgstr "Errore nel ripristinare le flag di stato sullo standard input: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard output: %s" +msgstr "Errore nel recuperare le flag di stato del file dallo standard output: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Opening the directory failed: %s" +msgstr "%s: apertura della cartella non riuscita: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Destination is not a regular file" +msgstr "%s: la destinazione non è un file regolare" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the O_APPEND flag to standard output: %s" +msgstr "Errore nel ripristinare la flag O_APPEND sullo standard output: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Closing the file failed: %s" +msgstr "%s: chiusura del file non riuscita: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Seeking failed when trying to create a sparse file: %s" +msgstr "%s: posizionamento non riuscito nel tentativo di creare un file sparso: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Read error: %s" +msgstr "%s: errore di lettura: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Error seeking the file: %s" +msgstr "%s: errore nel cercare nel file: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Unexpected end of file" +msgstr "%s: fine del file inaspettata" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Write error: %s" +msgstr "%s: errore di scrittura: %s" + +#: src/xz/hardware.c +msgid "Disabled" +msgstr "Disabilitata" + +#: src/xz/hardware.c +msgid "Amount of physical memory (RAM):" +msgstr "Quantità di memoria fisica (RAM):" + +#: src/xz/hardware.c +msgid "Number of processor threads:" +msgstr "Numero di thread del processore:" + +#: src/xz/hardware.c +msgid "Compression:" +msgstr "Compressione:" + +#: src/xz/hardware.c +msgid "Decompression:" +msgstr "Decompressione:" + +#: src/xz/hardware.c +msgid "Multi-threaded decompression:" +msgstr "Decompressione multi-thread:" + +#: src/xz/hardware.c +msgid "Default for -T0:" +msgstr "Valori predefiniti per -T0:" + +#: src/xz/hardware.c +msgid "Hardware information:" +msgstr "Informazioni hardware:" + +#: src/xz/hardware.c +msgid "Memory usage limits:" +msgstr "Limiti di utilizzo della memoria:" + +#: src/xz/list.c +msgid "Streams:" +msgstr "Stream:" + +#: src/xz/list.c +msgid "Blocks:" +msgstr "Blocchi:" + +#: src/xz/list.c +msgid "Compressed size:" +msgstr "Dimensione compressa:" + +#: src/xz/list.c +msgid "Uncompressed size:" +msgstr "Dimensione non compressa:" + +#: src/xz/list.c +msgid "Ratio:" +msgstr "Rapporto:" + +#: src/xz/list.c +msgid "Check:" +msgstr "Controllo:" + +#: src/xz/list.c +msgid "Stream Padding:" +msgstr "Padding dello stream:" + +#: src/xz/list.c +msgid "Memory needed:" +msgstr "Memoria necessaria:" + +#: src/xz/list.c +msgid "Sizes in headers:" +msgstr "Dim. negli header:" + +#: src/xz/list.c +msgid "Number of files:" +msgstr "Numero di file:" + +#: src/xz/list.c +msgid "Stream" +msgstr "Stream" + +#: src/xz/list.c +msgid "Block" +msgstr "Blocco" + +#: src/xz/list.c +msgid "Blocks" +msgstr "Blocchi" + +#: src/xz/list.c +msgid "CompOffset" +msgstr "" + +#: src/xz/list.c +msgid "UncompOffset" +msgstr "" + +#: src/xz/list.c +msgid "CompSize" +msgstr "" + +#: src/xz/list.c +msgid "UncompSize" +msgstr "" + +#: src/xz/list.c +msgid "TotalSize" +msgstr "TotalSize" + +#: src/xz/list.c +msgid "Ratio" +msgstr "Rapporto" + +#: src/xz/list.c +msgid "Check" +msgstr "Controllo" + +#: src/xz/list.c +msgid "CheckVal" +msgstr "" + +#: src/xz/list.c +msgid "Padding" +msgstr "Padding" + +#: src/xz/list.c +msgid "Header" +msgstr "Header" + +#: src/xz/list.c +msgid "Flags" +msgstr "Flag" + +#: src/xz/list.c +msgid "MemUsage" +msgstr "" + +#: src/xz/list.c +msgid "Filters" +msgstr "Filtri" + +#. TRANSLATORS: Indicates that there is no integrity check. +#. This string is used in tables. In older xz version this +#. string was limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "None" +msgstr "Nessuno" + +#. TRANSLATORS: Indicates that integrity check name is not known, +#. but the Check ID is known (here 2). In older xz version these +#. strings were limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "Unknown-2" +msgstr "Sconosc2" + +#: src/xz/list.c +msgid "Unknown-3" +msgstr "Sconosc3" + +#: src/xz/list.c +msgid "Unknown-5" +msgstr "Sconosc5" + +#: src/xz/list.c +msgid "Unknown-6" +msgstr "Sconosc6" + +#: src/xz/list.c +msgid "Unknown-7" +msgstr "Sconosc7" + +#: src/xz/list.c +msgid "Unknown-8" +msgstr "Sconosc8" + +#: src/xz/list.c +msgid "Unknown-9" +msgstr "Sconosc9" + +#: src/xz/list.c +msgid "Unknown-11" +msgstr "Sconosc11" + +#: src/xz/list.c +msgid "Unknown-12" +msgstr "Sconosc12" + +#: src/xz/list.c +msgid "Unknown-13" +msgstr "Sconosc13" + +#: src/xz/list.c +msgid "Unknown-14" +msgstr "Sconosc14" + +#: src/xz/list.c +msgid "Unknown-15" +msgstr "Sconosc15" + +#: src/xz/list.c +#, c-format +msgid "%s: File is empty" +msgstr "%s: il file è vuoto" + +#: src/xz/list.c +#, c-format +msgid "%s: Too small to be a valid .xz file" +msgstr "%s: troppo piccolo per essere un file .xz valido" + +#. TRANSLATORS: These are column headings. From Strms (Streams) +#. to Ratio, the columns are right aligned. Check and Filename +#. are left aligned. If you need longer words, it's OK to +#. use two lines here. Test with "xz -l foo.xz". +#: src/xz/list.c +msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" +msgstr " Strm Blocc. Compresso Estratto Rapp. Contr Nome file" + +#: src/xz/list.c +msgid "Yes" +msgstr "Sì" + +#: src/xz/list.c +msgid "No" +msgstr "No" + +#: src/xz/list.c +msgid "Minimum XZ Utils version:" +msgstr "Versione \"XZ Utils\" minima:" + +#. 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 +#, c-format +msgid "%s file\n" +msgid_plural "%s files\n" +msgstr[0] "%s file\n" +msgstr[1] "%s file\n" + +#: src/xz/list.c +msgid "Totals:" +msgstr "Totali:" + +#: src/xz/list.c +msgid "--list works only on .xz files (--format=xz or --format=auto)" +msgstr "--list funziona solamente con file .xz (--format=xz o --format=auto)" + +#: src/xz/list.c +msgid "Try 'lzmainfo' with .lzma files." +msgstr "Provare \"lzmainfo\" con i file .lzma." + +#: src/xz/list.c +msgid "--list does not support reading from standard input" +msgstr "--list non è in grado di leggere dallo standard input" + +#: src/xz/main.c +#, c-format +msgid "%s: Error reading filenames: %s" +msgstr "%s: errore nel leggere i nomi dei file: %s" + +#: src/xz/main.c +#, c-format +msgid "%s: Unexpected end of input when reading filenames" +msgstr "%s: fine dell'input durante la lettura dei nomi dei file non attesa" + +#: src/xz/main.c +#, c-format +msgid "%s: Null character found when reading filenames; maybe you meant to use '--files0' instead of '--files'?" +msgstr "%s: trovato carattere null durante la lettura dei nomi dei file; forse si intendeva usare \"--files0\" invece di \"--files\"?" + +#: src/xz/main.c +msgid "Compression and decompression with --robot are not supported yet." +msgstr "La compressione e la decompressione con --robot non sono ancora supportate." + +#: src/xz/main.c +msgid "Cannot read data from standard input when reading filenames from standard input" +msgstr "Impossibile leggere i dati dallo standard input durante la lettura dei nomi dei file dallo standard input" + +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s: " +msgstr "%s: " + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "Internal error (bug)" +msgstr "Errore interno (bug)" + +#: src/xz/message.c +msgid "Cannot establish signal handlers" +msgstr "Impossibile stabilire i gestori dei segnali" + +#: src/xz/message.c +msgid "No integrity check; not verifying file integrity" +msgstr "Nessun controllo d'integrità; l'integrità del file non viene verificata" + +#: src/xz/message.c +msgid "Unsupported type of integrity check; not verifying file integrity" +msgstr "Tipo di controllo di integrità non supportato; l'integrità del file non viene verificata" + +#: src/xz/message.c +msgid "Memory usage limit reached" +msgstr "Limite di utilizzo della memoria raggiunto" + +#: src/xz/message.c +msgid "File format not recognized" +msgstr "Formato di file non riconosciuto" + +#: src/xz/message.c +msgid "Unsupported options" +msgstr "Opzioni non supportate" + +#: src/xz/message.c +msgid "Compressed data is corrupt" +msgstr "I dati compressi sono danneggiati" + +#: src/xz/message.c +msgid "Unexpected end of input" +msgstr "Fine dell'input non attesa" + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limiter is disabled." +msgstr "%s MiB di memoria sono richiesti. Il limite è disabilitato." + +#: src/xz/message.c +#, 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 +#, c-format +msgid "%s: Filter chain: %s\n" +msgstr "%s: catena di filtri: %s\n" + +#: src/xz/message.c +#, c-format +msgid "Try '%s --help' for more information." +msgstr "Provare \"%s --help\" per maggiori informazioni." + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Error printing the help text (error code %d)" +msgstr "Errore nello stampare il testo di aiuto (codice di errore %d)" + +#: src/xz/message.c +#, c-format +msgid "Usage: %s [OPTION]... [FILE]...\n" +msgstr "Utilizzo: %s [OPZIONE]... [FILE]...\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Compress or decompress FILEs in the .xz format." +msgstr "Comprime o decomprime i FILE nel formato .xz." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Mandatory arguments to long options are mandatory for short options too." +msgstr "Gli argomenti obbligatori per le opzioni lunghe sono obbligatori anche per quelle brevi." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Operation mode:" +msgstr "Modalità di operazione:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force compression" +msgstr "forza compressione" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force decompression" +msgstr "forza decompressione" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "test compressed file integrity" +msgstr "testa l'integrità del file compresso" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "list information about .xz files" +msgstr "elenca informazioni sui file .xz" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Operation modifiers:" +msgstr "Modificatori di operazioni:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "keep (don't delete) input files" +msgstr "conserva (non eliminare) i file input" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force overwrite of output file and (de)compress links" +msgstr "forza la sovrascrittura del file output e dei link (de)compressi" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "write to standard output and don't delete input files" +msgstr "scrivere sullo standard output e non eliminare i file input" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't synchronize the output file to the storage device before removing the input file" +msgstr "non sincronizzare il file output sul supporto di memoria prima di rimuovere il file input" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "decompress only the first stream, and silently ignore possible remaining input data" +msgstr "decomprime solamente il primo stream e ignora silenziosamente eventuali rimanenti dati di input" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "do not create sparse files when decompressing" +msgstr "non creare file sparsi durante la decompressione" + +#: src/xz/message.c +msgid ".SUF" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use the suffix '.SUF' on compressed files" +msgstr "usare il suffisso \".SUF\" sui file compressi" + +#: src/xz/message.c +msgid "FILE" +msgstr "FILE" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "read filenames to process from FILE; if FILE is omitted, filenames are read from the standard input; filenames must be terminated with the newline character" +msgstr "legge da FILE i nomi dei file da processare; se FILE viene omesso, i nomi dei file vengono letti dallo standard input; i nomi dei file devono essere terminati da un carattere \"a capo\"" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "like --files but use the null character as terminator" +msgstr "come --files ma usa il carattere null come terminatore" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Basic file format and compression options:" +msgstr "Formato file di base e opzioni di compressione:" + +#: src/xz/message.c +msgid "FORMAT" +msgstr "FORMATO" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "file format to encode or decode; possible values are 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'" +msgstr "formato di file per codificare o decodificare; i valori possibili sono \"auto\" (il predefinito), \"xz\", \"lzma\", \"lzip\" e \"raw\"" + +#: src/xz/message.c +msgid "NAME" +msgstr "NOME" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "integrity check type: 'none' (use with caution), 'crc32', 'crc64' (default), or 'sha256'" +msgstr "tipo di controllo di integrità: \"none\" (usare con cautela), \"crc32\", \"crc64\" (predefinito), oppure \"sha256\"" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't verify the integrity check when decompressing" +msgstr "non verifica il codice di integrità quando decomprime" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression preset; default is 6; take compressor *and* decompressor memory usage into account before using 7-9!" +msgstr "preset di compressione; predefinito è 6; prendere in considerazione l'utilizzo di memoria per comprimere *e* decomprimere prima di usare 7-9" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "try to improve compression ratio by using more CPU time; does not affect decompressor memory requirements" +msgstr "tenta di migliorare il rapporto di compressione utilizzando più tempo di CPU; non cambia i requisiti di memoria in fase di decompressione" + +#. TRANSLATORS: Short for NUMBER. A longer string is fine but +#. wider than 5 columns makes --long-help a few lines longer. +#: src/xz/message.c +msgid "NUM" +msgstr "NUM" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use at most NUM threads; the default is 0 which uses as many threads as there are processor cores" +msgstr "Usa al massimo NUM thread: il valore predefinito è 0, che usa tanti thread quanti core la CPU ha a disposizione" + +#: src/xz/message.c +msgid "SIZE" +msgstr "DIM" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after every SIZE bytes of input; use this to set the block size for threaded compression" +msgstr "avvia un nuovo blocco .xz dopo ogni DIM byte di input; usare questo per impostare la dimensione del blocco durante la compressione con thread" + +#: src/xz/message.c +msgid "BLOCKS" +msgstr "BLOCCHI" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after the given comma-separated intervals of uncompressed data; optionally, specify a filter chain number (0-9) followed by a ':' before the uncompressed data size" +msgstr "inizia un nuovo blocco .xz dopo gli intervalli indicati (separati da virgole) di dati non compressi; opzionalmente, specifica il numero di una catena di filtri (0-9) seguito da \":\" prima della dimensione dei dati non compressi" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "when compressing, if more than NUM milliseconds has passed since the previous flush and reading more input would block, all pending data is flushed out" +msgstr "durante la compressione, se sono passati più di NUM millisecondi dal flush precedente e la lettura di ulteriore input risulterebbe bloccata, viene eseguito il flush di tutti i dati pendenti" + +#: src/xz/message.c +msgid "LIMIT" +msgstr "LIMITE" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, no-c-format +msgid "set memory usage limit for compression, decompression, threaded decompression, or all of these; LIMIT is in bytes, % of RAM, or 0 for defaults" +msgstr "imposta il limite di utilizzo memoria per compressione, decompressione, decompressione con thread, oppure tutte quante; LIMITE è in byte, % di RAM, oppure 0 per i valori predefiniti" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "if compression settings exceed the memory usage limit, give an error instead of adjusting the settings downwards" +msgstr "se le impostazioni di compressione eccedono il limite di utilizzo della memoria, lancia un errore invece di utilizzare valori più piccoli" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Custom filter chain for compression (an alternative to using presets):" +msgstr "Catena di filtri personalizzati per la compressione (alternative per l'utilizzo di preset):" + +#: src/xz/message.c +msgid "FILTERS" +msgstr "FILTRI" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set the filter chain using the liblzma filter string syntax; use --filters-help for more information" +msgstr "imposta la catena di filtri usando la sintassi delle stringhe di filtri liblzma; usare --filters-help per avere più informazioni" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set additional filter chains using the liblzma filter string syntax to use with --block-list" +msgstr "imposta catene di filtri addizionali usando la sintassi delle stringhe di filtri liblzma da usare con --block-list" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display more information about the liblzma filter string syntax and exit" +msgstr "mostra più informazioni sulla sintassi della stringa del filtro liblzma ed esce" + +#. TRANSLATORS: Short for OPTIONS. +#: src/xz/message.c +msgid "OPTS" +msgstr "OPZIONI" + +#. TRANSLATORS: Use semicolon (or its fullwidth form) +#. in "(valid values; default)" even if it is weird in +#. your language. There are non-translatable strings +#. that look like "(foo, bar, baz; foo)" which list +#. the supported values and the default value. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "LZMA1 or LZMA2; OPZ is a comma-separated list of zero or more of the following options (valid values; default):" +msgid "LZMA1 or LZMA2; OPTS is a comma-separated list of zero or more of the following options (valid values; default):" +msgstr "LZMA1 o LZMA2; OPZIONI è una lista separata da virgole di zero o più delle seguenti opzioni (valori validi; predefinito):" + +#. TRANSLATORS: Short for PRESET. A longer string is +#. fine but wider than 4 columns makes --long-help +#. one line longer. +#: src/xz/message.c +msgid "PRE" +msgstr "PRESET" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "reset options to a preset" +msgstr "reimposta le opzioni a un preset" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "dictionary size" +msgstr "Dimensione del dizionario" + +#. TRANSLATORS: The word "literal" in "literal context +#. bits" means how many "context bits" to use when +#. encoding literals. A literal is a single 8-bit +#. byte. It doesn't mean "literally" here. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal context bits" +msgstr "numero di bit di contesto per carattere" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal position bits" +msgstr "numero di bit di posizione per carattere" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of position bits" +msgstr "numero di bit di posizione" + +#: src/xz/message.c +msgid "MODE" +msgstr "MODALITÀ" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression mode" +msgstr "modalità di compressione" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "nice length of a match" +msgstr "lunghezza ragionevole di una corrispondenza" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "match finder" +msgstr "cercatore di corrispondenze" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "maximum search depth; 0=automatic (default)" +msgstr "massima profondità di ricerca; 0=automatico (predefinito)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "x86 BCJ filter (32-bit and 64-bit)" +msgstr "filtro BCJ x86 (32-bit e 64-bit)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM BCJ filter" +msgstr "filtro BCJ ARM" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM-Thumb BCJ filter" +msgstr "filtro BCJ ARM-Thumb" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM64 BCJ filter" +msgstr "filtro BCJ ARM64" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "PowerPC BCJ filter (big endian only)" +msgstr "filtro BCJ PowerPC (solo big-endian)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "IA-64 (Itanium) BCJ filter" +msgstr "filtro BCJ IA-64 (Itanium)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "SPARC BCJ filter" +msgstr "filtro BCJ SPARC" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "RISC-V BCJ filter" +msgstr "filtro BCJ RISC-V" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Valid OPTS for all BCJ filters:" +msgstr "OPZIONI valide per tutti i filtri BCJ:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start offset for conversions (default=0)" +msgstr "offset iniziale per le conversioni (predefinito=0)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Delta filter; valid OPTS (valid values; default):" +msgstr "Filtro delta; OPZIONI valide (valori validi; predefiniti):" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "distance between bytes being subtracted from each other" +msgstr "distanza tra i byte sottratti l'uno dall'altro" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Other options:" +msgstr "Altre opzioni:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "suppress warnings; specify twice to suppress errors too" +msgstr "sopprime gli avvertimenti; specificare due volte per sopprimere anche gli errori" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "be verbose; specify twice for even more verbose" +msgstr "prolisso; specificare due volte per ancora più prolisso" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "make warnings not affect the exit status" +msgstr "gli avvertimenti non influenzano lo stato d'uscita" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use machine-parsable messages (useful for scripts)" +msgstr "usa messaggi analizzabili (utile per gli script)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the total amount of RAM and the currently active memory usage limits, and exit" +msgstr "visualizza la quantità totale di RAM e il limite attuale attivo di utilizzo della memoria ed esce" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the short help (lists only the basic options)" +msgstr "mostra l'aiuto breve (elenca solo le opzioni base)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this long help and exit" +msgstr "mostra l'aiuto esteso ed esce" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this short help and exit" +msgstr "mostra l'aiuto breve ed esce" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the long help (lists also the advanced options)" +msgstr "mostra l'aiuto esteso (elenca anche le opzioni avanzate)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the version number and exit" +msgstr "visualizza il numero di versione ed esce" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "With no FILE, or when FILE is -, read standard input." +msgstr "Senza FILE, o quando FILE è -, legge lo standard input." + +#. TRANSLATORS: This message indicates the bug reporting +#. address for this package. Please add another line saying +#. "\nReport translation bugs to <...>." with the email or WWW +#. address for translation bugs. Thanks! +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Report bugs to <%s> (in English or Finnish)." +msgstr "Segnalare i bug a <%s> (in inglese o finlandese). Segnalare i bug di traduzione a ." + +#. TRANSLATORS: The first %s is the name of this software. +#. The second <%s> is an URL. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s home page: <%s>" +msgstr "Homepage di %s: <%s>" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE." +msgstr "*Questa è una versione di sviluppo non adatta per utilizzi in produzione.*" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, c-format +msgid "Filter chains are set using the --filters=FILTERS or --filters1=FILTERS ... --filters9=FILTERS options. Each filter in the chain can be separated by spaces or '--'. Alternatively a preset %s can be specified instead of a filter chain." +msgstr "Le catene di filtri sono impostate usando le opzioni --filters=FILTRI oppure --filters1=FILTRI... --filters9=FILTRI. Ogni filtro nella catena può essere separato da spazi o da \"--\". In alternativa si può specificare un preset %s al posto di una catena di filtri." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "The supported filters and their options are:" +msgstr "I filtri supportati e le loro opzioni sono:" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "Options must be 'name=value' pairs separated with commas" +msgstr "Le opzioni devono essere coppie \"nome=valore\" separate da virgole" + +#: src/xz/options.c +#, c-format +msgid "%s: Invalid option name" +msgstr "%s: nome opzione non valido" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "Invalid option value" +msgstr "valore dell'opzione non valido" + +#: src/xz/options.c +#, c-format +msgid "Unsupported LZMA1/LZMA2 preset: %s" +msgstr "Preset LZMA/LZMA2 non supportato: %s" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "The sum of lc and lp must not exceed 4" +msgstr "La somma di lc e lp non deve superare 4" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Filename has an unknown suffix, skipping" +msgstr "%s: il nome del file ha un suffisso sconosciuto, viene saltato" + +#: src/xz/suffix.c +#, c-format +msgid "%s: File already has '%s' suffix, skipping" +msgstr "%s: il file ha il suffisso \"%s\", viene saltato" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Invalid filename suffix" +msgstr "%s: suffisso del nome del file non valido" + +#: src/xz/util.c src/liblzma/common/string_conversion.c +msgid "Value is not a non-negative decimal integer" +msgstr "Il valore non è un numero intero decimale non-negativo" + +#: src/xz/util.c +#, c-format +msgid "%s: Invalid multiplier suffix" +msgstr "%s: suffisso del moltiplicatore non valido" + +#: src/xz/util.c +msgid "Valid suffixes are 'KiB' (2^10), 'MiB' (2^20), and 'GiB' (2^30)." +msgstr "I suffissi validi sono \"KiB\" (2^10), \"MiB\" (2^20), e \"GiB\" (2^30)." + +#: src/xz/util.c +#, c-format +msgid "Value of the option '%s' must be in the range [%, %]" +msgstr "Il valore dell'opzione \"%s\" deve essere nell'intervallo [%, %]" + +#: src/xz/util.c +msgid "Compressed data cannot be read from a terminal" +msgstr "I dati compressi non possono essere letti da un terminale" + +#: src/xz/util.c +msgid "Compressed data cannot be written to a terminal" +msgstr "I dati compressi non possono essere scritti su un terminale" + +#: src/lzmainfo/lzmainfo.c +#, c-format +msgid "Usage: %s [--help] [--version] [FILE]...\n" +msgstr "Utilizzo: %s [--help] [--version] [FILE]...\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/lzmainfo/lzmainfo.c +msgid "Show information stored in the .lzma file header." +msgstr "Mostra le informazioni immagazzinate nella header del file .lzma" + +#: src/lzmainfo/lzmainfo.c +msgid "File is too small to be a .lzma file" +msgstr "Il file è troppo piccolo per essere un file .lzma" + +#: src/lzmainfo/lzmainfo.c +msgid "Not a .lzma file" +msgstr "Non è un file .lzma" + +#: src/common/tuklib_exit.c +msgid "Writing to standard output failed" +msgstr "Scrittura sullo standard output non riuscita" + +#: src/common/tuklib_exit.c +msgid "Unknown error" +msgstr "Errore sconosciuto" + +#: src/liblzma/common/string_conversion.c +msgid "Unsupported preset" +msgstr "Preset non supportato" + +#: src/liblzma/common/string_conversion.c +msgid "Unsupported flag in the preset" +msgstr "Flag nel preset non supportato" + +#: src/liblzma/common/string_conversion.c +msgid "Unknown option name" +msgstr "Nome di opzione non valido" + +#: src/liblzma/common/string_conversion.c +msgid "Option value cannot be empty" +msgstr "Il valore dell'opzione non può essere vuoto" + +#: src/liblzma/common/string_conversion.c +msgid "Value out of range" +msgstr "Valore fuori scala" + +#: src/liblzma/common/string_conversion.c +msgid "This option does not support any multiplier suffixes" +msgstr "Questa opzione non supporta alcun suffisso moltiplicatore" + +#. TRANSLATORS: Don't translate the +#. suffixes "KiB", "MiB", or "GiB" +#. because a user can only specify +#. untranslated suffixes. +#: src/liblzma/common/string_conversion.c +msgid "Invalid multiplier suffix (KiB, MiB, or GiB)" +msgstr "Suffisso del moltiplicatore non valido (KiB, MiB, o GiB)" + +#: src/liblzma/common/string_conversion.c +msgid "Unknown filter name" +msgstr "Nome di filtro non valido" + +#: src/liblzma/common/string_conversion.c +msgid "This filter cannot be used in the .xz format" +msgstr "Questo filtro non può essere usato nel formato .xz" + +#: src/liblzma/common/string_conversion.c +msgid "Memory allocation failed" +msgstr "Allocazione di memoria fallita" + +#: src/liblzma/common/string_conversion.c +msgid "Empty string is not allowed, try '6' if a default value is needed" +msgstr "Stringa vuota non ammessa, provare '6' se è necessario un valore predefinito" + +#: src/liblzma/common/string_conversion.c +msgid "The maximum number of filters is four" +msgstr "Il numero massimo di filtri è quattro" + +#: src/liblzma/common/string_conversion.c +msgid "Filter name is missing" +msgstr "Nome del filtro mancante" + +#: src/liblzma/common/string_conversion.c +msgid "Invalid filter chain ('lzma2' missing at the end?)" +msgstr "Catena di filtro non valida (manca \"lzma2\" al fondo?)" diff --git a/src/native/external/xz/po/ka.po b/src/native/external/xz/po/ka.po new file mode 100644 index 00000000000000..3e86cdbd248f15 --- /dev/null +++ b/src/native/external/xz/po/ka.po @@ -0,0 +1,1264 @@ +# SPDX-License-Identifier: 0BSD +# +# xz translation to Georgian. +# This file is published under the BSD Zero Clause License. +# Temuri Doghonadze , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: xz 5.7.1-dev1\n" +"Report-Msgid-Bugs-To: xz@tukaani.org\n" +"POT-Creation-Date: 2025-01-29 20:59+0200\n" +"PO-Revision-Date: 2025-03-02 06:03+0100\n" +"Last-Translator: Temuri Doghonadze \n" +"Language-Team: Georgian <(nothing)>\n" +"Language: ka\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"X-Generator: Poedit 3.5\n" + +#: src/xz/args.c +#, c-format +msgid "%s: Invalid argument to --block-list" +msgstr "%s: --block-list -ის არასწორი არგუმენტი" + +#: src/xz/args.c +#, c-format +msgid "%s: Too many arguments to --block-list" +msgstr "%s: --block-list -ის მეტისმეტად ბევრი არგუმენტი" + +#: src/xz/args.c +#, c-format +msgid "In --block-list, block size is missing after filter chain number '%c:'" +msgstr "პარამეტრი --block-list ფილტრის ჯაჭვის ნომრის '%c' შემდეგ ბლოკის ზომა აკლია" + +#: src/xz/args.c +msgid "0 can only be used as the last element in --block-list" +msgstr "ნული --block-list -ის მხოლოდ ბოლო ელემენტი შეიძლება იყოს" + +#: src/xz/args.c +#, c-format +msgid "%s: Unknown file format type" +msgstr "%s: ფაილის ფორმატის უცნობი ტიპი" + +#: src/xz/args.c +#, c-format +msgid "%s: Unsupported integrity check type" +msgstr "%s: სიმრთელის შემოწმების მხარდაუჭერელი ტიპი" + +#: src/xz/args.c +msgid "Only one file can be specified with '--files' or '--files0'." +msgstr "'--files' ან '--files0' -თან ერთად, მხოლოდ, ერთი ფაილის მითითება შეიძლება." + +#. TRANSLATORS: This is a translatable +#. string because French needs a space +#. before the colon ("%s : %s"). +#: src/xz/args.c src/xz/coder.c src/xz/file_io.c src/xz/list.c src/xz/options.c +#: src/xz/util.c +#, c-format +msgid "%s: %s" +msgstr "%s: %s" + +#: src/xz/args.c +#, c-format +msgid "The environment variable %s contains too many arguments" +msgstr "გარემოს ცვლადი %s მეტისმეტად ბევრ არგუმენტს შეიცავს" + +#: src/xz/args.c +msgid "Compression support was disabled at build time" +msgstr "შეკუმშვის მხარდაჭერა გამორთულია აგების დროს" + +#: src/xz/args.c +msgid "Decompression support was disabled at build time" +msgstr "გაშლის მხარდაჭერა გამორთულია აგების დროს" + +#: src/xz/args.c +msgid "Compression of lzip files (.lz) is not supported" +msgstr "შეკუმშვა lzip (.lz) ფაილებისთვის მხარდაჭერილი არაა" + +#: src/xz/args.c +msgid "--block-list is ignored unless compressing to the .xz format" +msgstr "პარამეტრი --block-list გამოტოვებულია იმ შემთხვევის გარდა, თუ .xz ფორმატს იყენებთ" + +#: src/xz/args.c +msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout" +msgstr "--format=raw -თან ერთად --suffix=.SUF -ის მითითება აუცილებელია, თუ stdout-ზე არ წერთ" + +#: src/xz/coder.c +msgid "Maximum number of filters is four" +msgstr "ფილტრების მაქსიმალური რაოდენობა ოთხის ტოლია" + +#: src/xz/coder.c +#, c-format +msgid "Error in --filters%s=FILTERS option:" +msgstr "Error პარამეტრში --filters%s=FILTERS:" + +#: src/xz/coder.c +msgid "Memory usage limit is too low for the given filter setup." +msgstr "მითითებული ფილტრის გამოსაყენებლად მეხსიერების გამოყენების ლიმიტი მეტისმეტად დაბალია." + +#: src/xz/coder.c +#, c-format +msgid "filter chain %u used by --block-list but not specified with --filters%u=" +msgstr "ფილტრების ჯაჭვი %u გამოიყენება პარამეტრით --block-list, მაგრამ არაა მითითებული პარამეტრით --filters%u=" + +#: src/xz/coder.c +msgid "Using a preset in raw mode is discouraged." +msgstr "პრესეტის დაუმუშავებელ რეჟიმში გამოყენება რეკომენდებული არაა." + +#: src/xz/coder.c +msgid "The exact options of the presets may vary between software versions." +msgstr "პრესეტების ზუსტი პარამეტრები ვერსიებს შორის იცვლება." + +#: src/xz/coder.c +msgid "The .lzma format supports only the LZMA1 filter" +msgstr ".lzma ფორმატს მხოლოდ LZMA1 ფილტრს მხარდაჭერა გააჩნია" + +#: src/xz/coder.c +msgid "LZMA1 cannot be used with the .xz format" +msgstr "LZMA1-ის გამოყენება .შეუძლებელია xz ფორმატით" + +#: src/xz/coder.c +#, c-format +msgid "Filter chain %u is incompatible with --flush-timeout" +msgstr "ფილტრების ჯაჭვი %u შეუთავსებელია პარამეტრთან --flush-timeout" + +#: src/xz/coder.c +msgid "Switching to single-threaded mode due to --flush-timeout" +msgstr "ერთნაკადიან რეჟიმზე გადართვა --flush-timeout -ის გამო" + +#: src/xz/coder.c +#, c-format +msgid "Unsupported options in filter chain %u" +msgstr "მხარდაუჭერელი პარამეტრები ფილტრის ჯაჭვში %u" + +#: src/xz/coder.c +#, c-format +msgid "Using up to % threads." +msgstr "გამოიყენება მაქსიმუმ % ნაკადი." + +#: src/xz/coder.c +msgid "Unsupported filter chain or filter options" +msgstr "მხარდაუჭერელი ფილტრების ჯაჭვი ან ფილტრის პარამეტრები" + +#: src/xz/coder.c +#, c-format +msgid "Decompression will need %s MiB of memory." +msgstr "გაშლისთვის საჭიროა %s მიბ მეხსიერება." + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to %s to not exceed the memory usage limit of %s MiB" +msgstr "ნაკადების რაოდენობა შემცირდა %s-დან %s-ზე, რომ არ გადავაცილო მეხსიერების შეზღუდვას %s მიბ" + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to one. The automatic memory usage limit of %s MiB is still being exceeded. %s MiB of memory is required. Continuing anyway." +msgstr "ნაკადების რაოდენობა შემცირდა %s-დან ერთამდე. ავტომატური მეხსიერების გამოყენების შეზღუდვა %s მბ-ზე გადაცილებულია. საჭიროა %s მიბ მეხსიერება. მაინც გავაგრძელებ." + +#: src/xz/coder.c +#, c-format +msgid "Switching to single-threaded mode to not exceed the memory usage limit of %s MiB" +msgstr "გადავერთე ერთნაკადიან რეჟიმში, რომ არ გადავაცილო მეხსიერების ზღვარს %s მიბ" + +#: src/xz/coder.c +#, 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 "LZMA%c-ის ლექსიკონის ზომა შესწორდა %s მიბ-დან %s მიბ-ზე, რომ არ გადავაჭარბო მეხსიერების ლიმიტს, რომელიც %s მიბ-ის ტოლია" + +#: src/xz/coder.c +#, c-format +msgid "Adjusted LZMA%c dictionary size for --filters%u from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgstr "LZMA%c-ის ლექსიკონის ზომა შესწორდა --filters%u-სთვის %s მიბ-დან %s მიბ-ზე, რომ არ გადავაჭარბო მეხსიერების ლიმიტს, რომელიც %s მიბ-ის ტოლია" + +#: src/xz/coder.c +#, c-format +msgid "Error changing to filter chain %u: %s" +msgstr "ფილტრების ჯაჭვზე %u შეცვლის შეცდომა: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error creating a pipe: %s" +msgstr "ფაიფის შექმნის შეცდომა: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: poll() failed: %s" +msgstr "%s: poll() -ის შეცდომა: %s" + +#. 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 +#, c-format +msgid "%s: File seems to have been moved, not removing" +msgstr "%s: როგორც ჩანს, ფაილი გადატანილია. არ წავშლი" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot remove: %s" +msgstr "%s: წაშლა შეუძლებელია: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file owner: %s" +msgstr "%s: ფაილის მფლობელის დაყენების შეცდომა: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file group: %s" +msgstr "%s: ფაილის ჯგუფის დაყენების შეცდომა: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file permissions: %s" +msgstr "%s: ფაილის წვდომების დაყენების შეცდომა: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Synchronizing the file failed: %s" +msgstr "%s: ფაილის სინქრონიზაციის შეცდომა: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Synchronizing the directory of the file failed: %s" +msgstr "%s: ფაილის საქაღალდის სინქრონიზაციის შეცდომა: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard input: %s" +msgstr "ფაილის სტატუსის ალმები მიღების შეცდომა სტანდარტული შეყვანიდან: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a symbolic link, skipping" +msgstr "%s: სიმბმულია. გამოტოვება" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a directory, skipping" +msgstr "%s: საქაღალდეა, გამოტოვება" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Not a regular file, skipping" +msgstr "%s: ჩვეულებრივი ფაილი არაა. გამოტოვება" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has setuid or setgid bit set, skipping" +msgstr "%s: ფაილს setuid ან setgit ბიტი აქვს დაყენებული. გამოტოვება" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has sticky bit set, skipping" +msgstr "%s: ფაილს წებოვანი ბიტი აქვს. გამოტოვება" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Input file has more than one hard link, skipping" +msgstr "%s: შეყვანილ ფაილს ერთზე მეტი მყარი ბმული გააჩნია. გამოტოვება" + +#: src/xz/file_io.c +msgid "Empty filename, skipping" +msgstr "ცარიელი ფაილის სახელი. გამოტოვება" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the status flags to standard input: %s" +msgstr "სტატუსის ალმების აღდგენის შეცდომა სტანდარტულ შეყვანაზე: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard output: %s" +msgstr "ფაილის სტატუსის ალმების მიღების შეცდომა სტანრარტული გამოტანიდან: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Opening the directory failed: %s" +msgstr "%s: საქაღალდის გახსნის შეცდომა: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Destination is not a regular file" +msgstr "%s: სამიზნე ჩვეულებრივი ფაილი არაა" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the O_APPEND flag to standard output: %s" +msgstr "O_APPEND ალმის აღდგენის შეცდომა სტანდარტულ გამოტანაზე: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Closing the file failed: %s" +msgstr "%s: ფაილის დახურვის შეცდომა: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Seeking failed when trying to create a sparse file: %s" +msgstr "%s: გადახვევის შეცდომა დამატებითი ფაილის შექმნის მცდელობისას: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Read error: %s" +msgstr "%s: წაკითხვის შეცდომა: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Error seeking the file: %s" +msgstr "%s: ფაილის გადახვევის შეცდომა: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Unexpected end of file" +msgstr "%s: ფაილის მოულოდნელი დასასრული" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Write error: %s" +msgstr "%s: ჩაწერის შეცდომა: %s" + +#: src/xz/hardware.c +msgid "Disabled" +msgstr "გამორთულია" + +#: src/xz/hardware.c +msgid "Amount of physical memory (RAM):" +msgstr "ფიზიკური მეხსიერების (RAM) რაოდენობა:" + +#: src/xz/hardware.c +msgid "Number of processor threads:" +msgstr "პროცესორის ნაკადების რაოდენობა:" + +#: src/xz/hardware.c +msgid "Compression:" +msgstr "შეკუმშვა:" + +#: src/xz/hardware.c +msgid "Decompression:" +msgstr "გაშლა:" + +#: src/xz/hardware.c +msgid "Multi-threaded decompression:" +msgstr "მრავალნაკადიანი გაშლა:" + +#: src/xz/hardware.c +msgid "Default for -T0:" +msgstr "ნაგულისხმევი პარამეტრისთვის -T0:" + +#: src/xz/hardware.c +msgid "Hardware information:" +msgstr "ინფორმაცია აპარატურის შესახებ:" + +#: src/xz/hardware.c +msgid "Memory usage limits:" +msgstr "მეხსიერების გამოყენების შეზღუდვები:" + +#: src/xz/list.c +msgid "Streams:" +msgstr "ნაკადები:" + +#: src/xz/list.c +msgid "Blocks:" +msgstr "ბლოკები:" + +#: src/xz/list.c +msgid "Compressed size:" +msgstr "შეკუმშული ზომა:" + +#: src/xz/list.c +msgid "Uncompressed size:" +msgstr "შეუკუმშავი ზომა:" + +#: src/xz/list.c +msgid "Ratio:" +msgstr "პროპორციები:" + +#: src/xz/list.c +msgid "Check:" +msgstr "შემოწმება:" + +#: src/xz/list.c +msgid "Stream Padding:" +msgstr "ნაკადის შევსება:" + +#: src/xz/list.c +msgid "Memory needed:" +msgstr "საჭიროა მეხსიერება:" + +#: src/xz/list.c +msgid "Sizes in headers:" +msgstr "ზომა თავსართებში:" + +#: src/xz/list.c +msgid "Number of files:" +msgstr "ფაილების რაოდენობა:" + +#: src/xz/list.c +msgid "Stream" +msgstr "ნაკადი" + +#: src/xz/list.c +msgid "Block" +msgstr "ბლოკი" + +#: src/xz/list.c +msgid "Blocks" +msgstr "ბლოკები" + +#: src/xz/list.c +msgid "CompOffset" +msgstr "შეკუმშწანაცვლ" + +#: src/xz/list.c +msgid "UncompOffset" +msgstr "შეუკუმშწანაცვლ" + +#: src/xz/list.c +msgid "CompSize" +msgstr "შეკუმშზომა" + +#: src/xz/list.c +msgid "UncompSize" +msgstr "შეუკუმშზომა" + +#: src/xz/list.c +msgid "TotalSize" +msgstr "ზომასულ" + +#: src/xz/list.c +msgid "Ratio" +msgstr "პროპორციები" + +#: src/xz/list.c +msgid "Check" +msgstr "შემოწმება" + +#: src/xz/list.c +msgid "CheckVal" +msgstr "მნიშვნშემოწმ" + +#: src/xz/list.c +msgid "Padding" +msgstr "შევსება" + +#: src/xz/list.c +msgid "Header" +msgstr "ზედა კოლონტიტული" + +#: src/xz/list.c +msgid "Flags" +msgstr "დროშები" + +#: src/xz/list.c +msgid "MemUsage" +msgstr "მეხსგამოყ" + +#: src/xz/list.c +msgid "Filters" +msgstr "ფილტრები" + +#. TRANSLATORS: Indicates that there is no integrity check. +#. This string is used in tables. In older xz version this +#. string was limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "None" +msgstr "არაფერი" + +#. TRANSLATORS: Indicates that integrity check name is not known, +#. but the Check ID is known (here 2). In older xz version these +#. strings were limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "Unknown-2" +msgstr "უცნობი-2" + +#: src/xz/list.c +msgid "Unknown-3" +msgstr "უცნობი-3" + +#: src/xz/list.c +msgid "Unknown-5" +msgstr "უცნობი-5" + +#: src/xz/list.c +msgid "Unknown-6" +msgstr "უცნობი-6" + +#: src/xz/list.c +msgid "Unknown-7" +msgstr "უცნობი-7" + +#: src/xz/list.c +msgid "Unknown-8" +msgstr "უცნობი-8" + +#: src/xz/list.c +msgid "Unknown-9" +msgstr "უცნობი-9" + +#: src/xz/list.c +msgid "Unknown-11" +msgstr "უცნობი-11" + +#: src/xz/list.c +msgid "Unknown-12" +msgstr "უცნობი-12" + +#: src/xz/list.c +msgid "Unknown-13" +msgstr "უცნობი-13" + +#: src/xz/list.c +msgid "Unknown-14" +msgstr "უცნობი-14" + +#: src/xz/list.c +msgid "Unknown-15" +msgstr "უცნობი-15" + +#: src/xz/list.c +#, c-format +msgid "%s: File is empty" +msgstr "%s: ფაილი ცარიელია" + +#: src/xz/list.c +#, c-format +msgid "%s: Too small to be a valid .xz file" +msgstr "%s: მეტისმეტად პატარაა, რომ სწორ .xz ფაილს წარმოადგენდეს" + +#. 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 +msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" +msgstr "ნაკადები ბლოკები შეკუმშული შეუკუმშავი ფარდობა შემოწმება ფაილს სახელი" + +#: src/xz/list.c +msgid "Yes" +msgstr "დიახ" + +#: src/xz/list.c +msgid "No" +msgstr "არა" + +#: src/xz/list.c +msgid "Minimum XZ Utils version:" +msgstr "მინიმალური XZ Utils ვერსია:" + +#. 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 +#, c-format +msgid "%s file\n" +msgid_plural "%s files\n" +msgstr[0] "%s ფაილი\n" +msgstr[1] "%s ფაილი\n" + +#: src/xz/list.c +msgid "Totals:" +msgstr "ჯამები:" + +#: src/xz/list.c +msgid "--list works only on .xz files (--format=xz or --format=auto)" +msgstr "--list მხოლოდ .xz ფაილებზე მუშაობს (--format=xz ან --format=auto (ავტომატური))" + +#: src/xz/list.c +msgid "Try 'lzmainfo' with .lzma files." +msgstr "სცადეთ 'lzmainfo' .lzma ფაილებისთვის." + +#: src/xz/list.c +msgid "--list does not support reading from standard input" +msgstr "--list -ს სტანდარტული შეყვანიდან წაკითხვის მხარდაჭერა არ გააჩნია" + +#: src/xz/main.c +#, c-format +msgid "%s: Error reading filenames: %s" +msgstr "%s: ფაილის სახელების წაკითხვის შეცდომა: %s" + +#: src/xz/main.c +#, c-format +msgid "%s: Unexpected end of input when reading filenames" +msgstr "%s: შეყვანის მოულოდნელი დასასრული ფაილის სახელების კითხვისას" + +#: src/xz/main.c +#, c-format +msgid "%s: Null character found when reading filenames; maybe you meant to use '--files0' instead of '--files'?" +msgstr "%s: ფაილის სახელების კითხვისა აღმოჩენილია ნულოვანი სიმბოლო. შეიძლება, '--files'-ის მაგიერ '--files0'-ის გამოყენება გნებავდათ?" + +#: src/xz/main.c +msgid "Compression and decompression with --robot are not supported yet." +msgstr "--robot -ან ერთად შეკუმშვა და გაშლა ჯერჯერობით მხარდაუჭერელია." + +#: src/xz/main.c +msgid "Cannot read data from standard input when reading filenames from standard input" +msgstr "მონაცემების სტანდარტული შეყვანიდან წაკითხვა მაშინ, როცა ფაილების სახელებიც სტანდარტული შეყვანიდან იკითხება, შეუძლებელია" + +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s: " +msgstr "%s: " + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "Internal error (bug)" +msgstr "შიდა შეცდომა (პროგრამა გასამართია)" + +#: src/xz/message.c +msgid "Cannot establish signal handlers" +msgstr "სიგნალების დამმუშავებლების დამყარების შეცდომა" + +#: src/xz/message.c +msgid "No integrity check; not verifying file integrity" +msgstr "სიმრთელის შემოწმების გარეშე. ფაილის სიმრთელე არ შემოწმდება" + +#: src/xz/message.c +msgid "Unsupported type of integrity check; not verifying file integrity" +msgstr "ფაილის სიმრთელის შემოწმების ხარდაუჭერელი ტიპი. ფაილის სიმრთელე არ შემოწმდება" + +#: src/xz/message.c +msgid "Memory usage limit reached" +msgstr "მეხსიერების გამოყენების ლიმიტი მიღწეულია" + +#: src/xz/message.c +msgid "File format not recognized" +msgstr "ფაილის ფორმატი უცნობია" + +#: src/xz/message.c +msgid "Unsupported options" +msgstr "მხარდაუწერელი პარამეტრები" + +#: src/xz/message.c +msgid "Compressed data is corrupt" +msgstr "შეკუმშული მონაცემები დაზიანებულია" + +#: src/xz/message.c +msgid "Unexpected end of input" +msgstr "შეყვანის მოულოდნელი დასასრული" + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limiter is disabled." +msgstr "საჭიროა %s მბ მეხსიერება. მსაზღვრელი გამორთულია." + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limit is %s." +msgstr "საჭიროა %s მბ მეხსიერება. ზღვარია: %s." + +#: src/xz/message.c +#, c-format +msgid "%s: Filter chain: %s\n" +msgstr "%s: ფილტრის ჯაჭვი: %s\n" + +#: src/xz/message.c +#, c-format +msgid "Try '%s --help' for more information." +msgstr "მეტი ინფორმაციისთვის სცადეთ '%s --help'." + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Error printing the help text (error code %d)" +msgstr "დახმარების ტექსტის გამოტანის შეცდომა (შეცდომის კოდია %d)" + +#: src/xz/message.c +#, c-format +msgid "Usage: %s [OPTION]... [FILE]...\n" +msgstr "გამოყენება: %s [პარამეტრი].. [ფაილი]...\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Compress or decompress FILEs in the .xz format." +msgstr "მითითებული ფაილების .xz ფორმატში შეკუმშვა ან გაშლა." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Mandatory arguments to long options are mandatory for short options too." +msgstr "გრძელი პარამეტრების აუცილებელი არგუმენტები მათი მოკლე ვარიანტებისთვისაც სავალდებულოა." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Operation mode:" +msgstr "ოპერაციის რეჟიმი:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force compression" +msgstr "ნაძალადევი შეკუმშვა" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force decompression" +msgstr "ნაძალადევი გაშლა" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "test compressed file integrity" +msgstr "შეკუმშული ფალის მთლიანობის შემოწმება" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "list information about .xz files" +msgstr "ინფორმაციის ჩამოთვლა .xz ფაილების შესახებ" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Operation modifiers:" +msgstr "ოპერაციის მოდიფიკატორები:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "keep (don't delete) input files" +msgstr "შეყვანის ფაილების შენარჩუნება (არ წაშლა)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force overwrite of output file and (de)compress links" +msgstr "გამოტანის ფაილის თავზე გადაწერა და ბმულების შეკუმშვა/გაშლა" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "write to standard output and don't delete input files" +msgstr "სტანდარტულ გამოტანაზე ჩაწერა და შეყვანილი ფაილები არ წაიშლება" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't synchronize the output file to the storage device before removing the input file" +msgstr "გამოტანის ფაილის საცავის მოწყობილობასთან სინქრონიზაცია შეყვანის ფაილის წაშლამდე არ მოხდება" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "decompress only the first stream, and silently ignore possible remaining input data" +msgstr "გაშლის, მხოლოდ, პირველ ნაკადს და ჩუმად დააიგნორებს დარჩენილ შეყვანილ მონაცემებს" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "do not create sparse files when decompressing" +msgstr "გაშლისას დამატებითი ფაილები არ შეიქმნება" + +#: src/xz/message.c +msgid ".SUF" +msgstr ".SUF" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use the suffix '.SUF' on compressed files" +msgstr "შეკუმშულ ფაილებზე '.SUF' სუფიქსის გამოყენება" + +#: src/xz/message.c +msgid "FILE" +msgstr "FILE" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "read filenames to process from FILE; if FILE is omitted, filenames are read from the standard input; filenames must be terminated with the newline character" +msgstr "დასამუშავებელი ფაილის სახელების FILE-დან წაკითხვა; თუ FILE მითითებული არაა, ფაილის სახელები სტანდარტული შეყვანიდან იქნება წაკითხული. ფაილის სახელები ხაზის გადატანის სიმბოლოთი უნდა სრულდებოდეს" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "like --files but use the null character as terminator" +msgstr "--files-ის მსგავსად, მაგრამ ფაილის სახელის დასასრულებლად ნულოვანი სიმბოლოს გამოყენება" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Basic file format and compression options:" +msgstr "ფაილის ფორმატისა და შეკუმშვის ძირითადი პარამეტრები:" + +#: src/xz/message.c +msgid "FORMAT" +msgstr "ფორმატი" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "file format to encode or decode; possible values are 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'" +msgstr "ფაილის ფორმატი გასაშიფრად ან დასაშიფრად. შესაძლო მნიშვნელობებია 'auto' (ნაგულიხმევი), 'xz', 'lzma', 'lzip' და 'raw'" + +#: src/xz/message.c +msgid "NAME" +msgstr "სახელი" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "integrity check type: 'none' (use with caution), 'crc32', 'crc64' (default), or 'sha256'" +msgstr "მთლიანობის შემოწმების ტიპი: 'არცერთი' (გამოიყენეთ ყურადღებით), 'crc32', 'crc64' (ნაგულისხმევი), ან 'sha256'" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't verify the integrity check when decompressing" +msgstr "გაშლისას სიმრთელე არ შემოწმდება" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression preset; default is 6; take compressor *and* decompressor memory usage into account before using 7-9!" +msgstr "შეკუმშვის პრესეტი. ნაგულისხმებია 6; 7-9 მნიშვნელობის მითითებამდე გაითვალისწინეთ შემკუმშავისა *და* გამშლელის მეხსიერების მოთხოვნები!" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "try to improve compression ratio by using more CPU time; does not affect decompressor memory requirements" +msgstr "CPU-ის მეტი დატვირთვის ხარჯზე შეკუმშვის დონის აწევის ცდა. არქივის გაშლისას მეხსიერების მოთხოვნები არ შეიცვლება" + +#. TRANSLATORS: Short for NUMBER. A longer string is fine but +#. wider than 5 columns makes --long-help a few lines longer. +#: src/xz/message.c +msgid "NUM" +msgstr "NUM" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use at most NUM threads; the default is 0 which uses as many threads as there are processor cores" +msgstr "გამოყენებული იქნება მაქს. NUM ნაკადი; ნაგულისხმევი მნიშვნელობაა 0, რაც იყენებს იმდენ ნაკადს, რამდენი ბირთვიც აქვს პროცესორს" + +#: src/xz/message.c +msgid "SIZE" +msgstr "ზომა" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after every SIZE bytes of input; use this to set the block size for threaded compression" +msgstr "ახალი .xz ბლოკის დაწყება ყოველი მითითებული ზომის მიღწევისას. გამოიყენეთ ეს, რომ დააყენოთ ბლოკის ზომა მრავალნაკადიანი შეკუმშვისას" + +#: src/xz/message.c +msgid "BLOCKS" +msgstr "ბლოკები" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after the given comma-separated intervals of uncompressed data; optionally, specify a filter chain number (0-9) followed by a ':' before the uncompressed data size" +msgstr "დაიწყება ახალი .xz ბლოკი მითითებული მძიმით გამოყოფილი ინტერვალის განმავლობაში შეუკუმშავი მონაცემების მიღების შემდეგ. არასავალდებულოდ შეგიძლიათ მიუთითოთ ფილტრების ჯაჭვის ნომერი (0-9), რომელსაც '.' მოჰყვება შეუკუმშავი მონაცემების ზომის შემდეგ" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "when compressing, if more than NUM milliseconds has passed since the previous flush and reading more input would block, all pending data is flushed out" +msgstr "კომპრესიის დროს, თუ NUM მილიწამზე მეტი გავიდა მას შემდეგ, რაც წინა ფლეში და მეტი შეყვანის წაკითხვა დაბლოკავს, ყველა მომლოდინე მონაცემი ამოიწურა" + +#: src/xz/message.c +msgid "LIMIT" +msgstr "ლიმიტი" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, no-c-format +msgid "set memory usage limit for compression, decompression, threaded decompression, or all of these; LIMIT is in bytes, % of RAM, or 0 for defaults" +msgstr "მეხსიერების ლიმიტის დაყენება შეკუმშვისთვის, გაშლისთვის, მრავალნაკადიანი გაშლისთვის, ან ყველასთვის ლიმიტი მიეთითება ბაიტებში, RAM-ის %-ში, ან 0, ნაგულისხმევი მნიშვნელობის გამოსაყენებლად" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "if compression settings exceed the memory usage limit, give an error instead of adjusting the settings downwards" +msgstr "თუ შეკუმშვის პარამეტრი გადასცდება მეხსიერების გამოყენების ლიმიტს, პარამეტრის შემცირების მაგიერ შეცდომის გამოტანა" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Custom filter chain for compression (an alternative to using presets):" +msgstr "მომხმარებლის ფილტრის ჯაჭვი შეკუმშვისთვის (პრესეტების გამოყენების ალტერნატივა):" + +#: src/xz/message.c +msgid "FILTERS" +msgstr "ფილტრები" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set the filter chain using the liblzma filter string syntax; use --filters-help for more information" +msgstr "ფილტრების ჯაჭვის აწყობა liblzma-ის ფილტრის პარამეტრის სინტაქსით მეტი ინფორმაციისთვის გამოიყენეთ --filters-help" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set additional filter chains using the liblzma filter string syntax to use with --block-list" +msgstr "დამატებითი ფილტრის ჯაჭვების დაყენება liblzma-ის ფილტრის სინტაქსით --block-list პარამეტრით გამოსაყენებლად" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display more information about the liblzma filter string syntax and exit" +msgstr "მეტი ინფორმაციის გამოტანა liblzma ფილტრის სტრიქონის სინტაქის შესახებ და გასვლა" + +#. TRANSLATORS: Short for OPTIONS. +#: src/xz/message.c +msgid "OPTS" +msgstr "პარამ-ები" + +#. TRANSLATORS: Use semicolon (or its fullwidth form) +#. in "(valid values; default)" even if it is weird in +#. your language. There are non-translatable strings +#. that look like "(foo, bar, baz; foo)" which list +#. the supported values and the default value. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "LZMA1 or LZMA2; OPTS is a comma-separated list of zero or more of the following options (valid values; default):" +msgstr "LZMA1 ან LZMA2. OPTS მძიმით გამოყოფილი სიაა ნული ან მეტი შემდეგი პარამეტრებიდან (სწორი მნიშვნელობა. ნაგულიხმევი):" + +#. TRANSLATORS: Short for PRESET. A longer string is +#. fine but wider than 4 columns makes --long-help +#. one line longer. +#: src/xz/message.c +msgid "PRE" +msgstr "პრე" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "reset options to a preset" +msgstr "პარამეტრების ჩამოყრა პრესეტზე" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "dictionary size" +msgstr "ლექსიკონის ზომა" + +#. TRANSLATORS: The word "literal" in "literal context +#. bits" means how many "context bits" to use when +#. encoding literals. A literal is a single 8-bit +#. byte. It doesn't mean "literally" here. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal context bits" +msgstr "ლიტერალის კონტექსტის ბიტების რაოდენობა" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal position bits" +msgstr "ლიტერალის მდებარეობის ბიტების რაოდენობა" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of position bits" +msgstr "მდებარეობის ბიტების რაოდენობა" + +#: src/xz/message.c +msgid "MODE" +msgstr "რეჟიმი" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression mode" +msgstr "შეკუმშვის რეჟიმი" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "nice length of a match" +msgstr "დაფორმატებული დამთხვევის სიგრძე" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "match finder" +msgstr "დამთხვევის მძებნელი" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "maximum search depth; 0=automatic (default)" +msgstr "მაქსიმალური ძებნის სიღრმე. 0=ავტომატური (ნაგულისხმევი)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "x86 BCJ filter (32-bit and 64-bit)" +msgstr "x86 BCJ ფილტრი (32-ბიტიანი და 64-ბიტიანი)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM BCJ filter" +msgstr "ARM BCJ ფილტრი" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM-Thumb BCJ filter" +msgstr "ARM-Thumb BCJ ფილტრი" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM64 BCJ filter" +msgstr "ARM64 BCJ ფილტრი" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "PowerPC BCJ filter (big endian only)" +msgstr "PowerPC BCJ ფილტრი(მხოლოდ მსხვილბოლოიანი)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "IA-64 (Itanium) BCJ filter" +msgstr "IA-64 (Itanium) BCJ ფილტრი" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "SPARC BCJ filter" +msgstr "SPARC BCJ ფილტრი" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "RISC-V BCJ filter" +msgstr "RISC-V BCJ ფილტრი" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Valid OPTS for all BCJ filters:" +msgstr "სწორი პარამეტრები ყველა BCJ ფილტრისთვის:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start offset for conversions (default=0)" +msgstr "დაწყების წანაცვლება გადაყვანებისთვის (ნაგულისხმევი=0)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Delta filter; valid OPTS (valid values; default):" +msgstr "დელტა ფილტრი. დაშვებული პარამეტრები (სწორი მნიშვნელობები, ნაგულისხმევი):" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "distance between bytes being subtracted from each other" +msgstr "დაშორება ბაიტებს შორის გამოაკლდება ერთმანეთს" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Other options:" +msgstr "სხვა პარამეტრები:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "suppress warnings; specify twice to suppress errors too" +msgstr "გაფრთხილებების დადუმება. შეცდომების დასამალად მიუთითეთ ორჯერ" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "be verbose; specify twice for even more verbose" +msgstr "მეტი შეტყობინების გამოტანა. უფრო მეტი შეტყობინებისთვის მიუთითეთ ორჯერ" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "make warnings not affect the exit status" +msgstr "გაფრთხილებებს გასვლის სტატუსზე გავლენა არ ექნებათ" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use machine-parsable messages (useful for scripts)" +msgstr "მანქანისთვის დამუშავებადი შეტყობინებები (სკრიპტებისთვის)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the total amount of RAM and the currently active memory usage limits, and exit" +msgstr "მეხსიერების ჯამური რაოდენობის და ამჟამად აქტიური მეხსიერების ლიმიტების გამოტანა და გასვლა" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the short help (lists only the basic options)" +msgstr "მოკლე დახმარების ჩვენება (მხოლოდ, ძირითადი პარამეტრები)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this long help and exit" +msgstr "გრძელი დახმარების ჩვენება და გასვლა" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this short help and exit" +msgstr "ამ მოკლე დახმარების ჩვენება და გასვლა" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the long help (lists also the advanced options)" +msgstr "უფრო გრძელი დახმარების ჩვენება (ასევე ნაჩვენები ქნება დამატებითი პარამეტრებიც)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the version number and exit" +msgstr "ვერსიის ინფორმაციის ჩვენება და გასვლა" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "With no FILE, or when FILE is -, read standard input." +msgstr "როცა ფაილი არ არსებობს ან '-'-ია, წაკითხვა stdin-დან მოხდება." + +#. TRANSLATORS: This message indicates the bug reporting +#. address for this package. Please add another line saying +#. "\nReport translation bugs to <...>." with the email or WWW +#. address for translation bugs. Thanks! +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Report bugs to <%s> (in English or Finnish)." +msgstr "შეცდომების შესახებ მიწერეთ <%s> (ინგლისურად, ან ფინურად)." + +#. TRANSLATORS: The first %s is the name of this software. +#. The second <%s> is an URL. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s home page: <%s>" +msgstr "%s-ის საწყისი გვერდია: <%s>" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE." +msgstr "ეს სატესტო ვერსიაა. ნუ გამოიყენებთ ყოველდღიური მოხმარებისთვის." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, c-format +msgid "Filter chains are set using the --filters=FILTERS or --filters1=FILTERS ... --filters9=FILTERS options. Each filter in the chain can be separated by spaces or '--'. Alternatively a preset %s can be specified instead of a filter chain." +msgstr "ფილტრის ჯაჭვების დაყენება --filters=ფილტრები ან --filters1=ფილტრები... --filters9=ფილტრები პარამეტრებით ხდება. თითოეული ფილტრი ამ ჯაჭვში ერთმანეთისგან ჰარეებით, ან '--'-ითაა გამოყოფილი. ასევე შეგიძლიათ მიუთითოთ პრესეტი %s ფილტრის ჯაჭვის მაგიერ." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "The supported filters and their options are:" +msgstr "მხარდაჭერელი ფილტრები და მათ პარამეტრებია:" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "Options must be 'name=value' pairs separated with commas" +msgstr "პარამეტრები უნდა წარმოადგენდეს \"სახელი=მნიშვნელობა\" ტიპის წყვილებს, მძიმეებით გამოყოფილს" + +#: src/xz/options.c +#, c-format +msgid "%s: Invalid option name" +msgstr "%s: არასწორი პარამეტრის სახელი" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "Invalid option value" +msgstr "არასწორი პარამეტრის მნიშვნელობა" + +#: src/xz/options.c +#, c-format +msgid "Unsupported LZMA1/LZMA2 preset: %s" +msgstr "მხარდაუჭერელი LZMA1/LZMA2 პრესეტი: %s" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "The sum of lc and lp must not exceed 4" +msgstr "\"lc\" და \"lp\"-ის ჯამი 4-ზე მეტი არ უნდა იყო" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Filename has an unknown suffix, skipping" +msgstr "%s: ფაილის სახელის უცნობი სუფიქსი. გამოტოვება" + +#: src/xz/suffix.c +#, c-format +msgid "%s: File already has '%s' suffix, skipping" +msgstr "%s: ფაილს სუფიქსი `%s' უკვე გააჩნა. გამოტოვება" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Invalid filename suffix" +msgstr "%s: ფაილის სახელის არასწორი სუფიქსი" + +#: src/xz/util.c src/liblzma/common/string_conversion.c +msgid "Value is not a non-negative decimal integer" +msgstr "მნიშვნელობა არაუარყოფით მთელ რიცხვს არ წარმოადგენს" + +#: src/xz/util.c +#, c-format +msgid "%s: Invalid multiplier suffix" +msgstr "%s: არასწორი მამრავლის სუფიქსი" + +#: src/xz/util.c +msgid "Valid suffixes are 'KiB' (2^10), 'MiB' (2^20), and 'GiB' (2^30)." +msgstr "სწორი სუფიქსებია `KiB' (2^10), `MiB' (2^20) და `GiB' (2^30)." + +#: src/xz/util.c +#, c-format +msgid "Value of the option '%s' must be in the range [%, %]" +msgstr "პარამეტრის (%s) მნიშვნელობის დასაშვები დიაპაზონია [%, %]" + +#: src/xz/util.c +msgid "Compressed data cannot be read from a terminal" +msgstr "შეკუმშული მონაცემების ტერმინალიდან წაკითხვა შეუძლებელია" + +#: src/xz/util.c +msgid "Compressed data cannot be written to a terminal" +msgstr "შეკუმშული მონაცემების ტერმინალში ჩაწერა შეუძლებელია" + +#: src/lzmainfo/lzmainfo.c +#, c-format +msgid "Usage: %s [--help] [--version] [FILE]...\n" +msgstr "გამოყენება: %s [--help] [--version] [ფაილი]...\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/lzmainfo/lzmainfo.c +msgid "Show information stored in the .lzma file header." +msgstr ".lzma ფაილის თავსართში შენახული ინფორმაციის ჩვენება." + +#: src/lzmainfo/lzmainfo.c +msgid "File is too small to be a .lzma file" +msgstr "%s: მეტისმეტად პატარაა, რომ სწორ .xz ფაილს წარმოადგენდეს" + +#: src/lzmainfo/lzmainfo.c +msgid "Not a .lzma file" +msgstr "არ წარმოადგენს .lzma ფაილს" + +#: src/common/tuklib_exit.c +msgid "Writing to standard output failed" +msgstr "სტანდარტული გამოტანაში ჩაწერის შეცდომა" + +#: src/common/tuklib_exit.c +msgid "Unknown error" +msgstr "უცნობი შეცდომა" + +#: src/liblzma/common/string_conversion.c +msgid "Unsupported preset" +msgstr "მხარდაუჭერელი პრესეტი" + +#: src/liblzma/common/string_conversion.c +msgid "Unsupported flag in the preset" +msgstr "მხარდაუჭერელი ალამი პრესეტში" + +#: src/liblzma/common/string_conversion.c +msgid "Unknown option name" +msgstr "უცნობი პარამეტრის სახელი" + +#: src/liblzma/common/string_conversion.c +msgid "Option value cannot be empty" +msgstr "პარამეტრი ცარიელი ვერ იქნება" + +#: src/liblzma/common/string_conversion.c +msgid "Value out of range" +msgstr "მნიშვნელობა დიაპაზონს გარეთაა" + +#: src/liblzma/common/string_conversion.c +msgid "This option does not support any multiplier suffixes" +msgstr "ამ პარამეტრს გამამრავლებელი სუფიქსების მხარდაჭერა არ გააჩნია" + +#. TRANSLATORS: Don't translate the +#. suffixes "KiB", "MiB", or "GiB" +#. because a user can only specify +#. untranslated suffixes. +#: src/liblzma/common/string_conversion.c +msgid "Invalid multiplier suffix (KiB, MiB, or GiB)" +msgstr "არასწორი მულტიპლიკატორის სუფიქსი (KiB, MiB ან GiB)" + +#: src/liblzma/common/string_conversion.c +msgid "Unknown filter name" +msgstr "ფილტრის უცნობი სახელი" + +#: src/liblzma/common/string_conversion.c +msgid "This filter cannot be used in the .xz format" +msgstr "ამ ფილტრს .xz ფორმატში ვერ გამოიყენებთ" + +#: src/liblzma/common/string_conversion.c +msgid "Memory allocation failed" +msgstr "მეხსიერების გამოყოფის შეცდომა" + +#: src/liblzma/common/string_conversion.c +msgid "Empty string is not allowed, try '6' if a default value is needed" +msgstr "ცარიელი სტრიქონი დაუშვებელია. სცადეთ '6', თუ ნაგულისხმევი მნიშვნელობა გჭირდებათ" + +#: src/liblzma/common/string_conversion.c +msgid "The maximum number of filters is four" +msgstr "ფილტრების მაქსიმალური რაოდენობა ოთხის ტოლია" + +#: src/liblzma/common/string_conversion.c +msgid "Filter name is missing" +msgstr "ფილტრის სახელი მითითებული არაა" + +#: src/liblzma/common/string_conversion.c +msgid "Invalid filter chain ('lzma2' missing at the end?)" +msgstr "არასწორი ფილტრის ჯაჭვი (ბოლოში აკლია 'lzma2'?)" diff --git a/src/native/external/xz/po/ko.po b/src/native/external/xz/po/ko.po new file mode 100644 index 00000000000000..5a8320e4cee253 --- /dev/null +++ b/src/native/external/xz/po/ko.po @@ -0,0 +1,1266 @@ +# SPDX-License-Identifier: 0BSD +# Korean translation for the xz. +# This file is published under the BSD Zero Clause License. +# Seong-ho Cho , 2019, 2022, 2023, 2024, 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: xz 5.7.1-dev1\n" +"Report-Msgid-Bugs-To: xz@tukaani.org\n" +"POT-Creation-Date: 2025-01-29 20:59+0200\n" +"PO-Revision-Date: 2025-01-24 23:22+0900\n" +"Last-Translator: Seong-ho Cho \n" +"Language-Team: Korean \n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"X-Generator: Poedit 3.5\n" + +#: src/xz/args.c +#, c-format +msgid "%s: Invalid argument to --block-list" +msgstr "%s: --block-list의 인자값이 잘못됨" + +#: src/xz/args.c +#, c-format +msgid "%s: Too many arguments to --block-list" +msgstr "%s: --block-list 인자 갯수가 너무 많음" + +#: src/xz/args.c +#, c-format +msgid "In --block-list, block size is missing after filter chain number '%c:'" +msgstr "--block-list에서 필터 체인 번호 '%c:' 다음 블록 크기가 빠졌습니다." + +#: src/xz/args.c +msgid "0 can only be used as the last element in --block-list" +msgstr "0 값은 --block-list의 마지막 원소로만 사용할 수 있습니다" + +#: src/xz/args.c +#, c-format +msgid "%s: Unknown file format type" +msgstr "%s: 알 수 없는 파일 형식" + +#: src/xz/args.c +#, c-format +msgid "%s: Unsupported integrity check type" +msgstr "%s: 지원하지 않는 무결성 검사 형식" + +#: src/xz/args.c +msgid "Only one file can be specified with '--files' or '--files0'." +msgstr "'--files' 또는 '--files0' 옵션에는 하나의 파일만 지정할 수 있습니다." + +#. TRANSLATORS: This is a translatable +#. string because French needs a space +#. before the colon ("%s : %s"). +#: src/xz/args.c src/xz/coder.c src/xz/file_io.c src/xz/list.c src/xz/options.c +#: src/xz/util.c +#, c-format +msgid "%s: %s" +msgstr "%s: %s" + +#: src/xz/args.c +#, c-format +msgid "The environment variable %s contains too many arguments" +msgstr "%s 환경 변수에 너무 많은 인자 값이 들어있습니다" + +#: src/xz/args.c +msgid "Compression support was disabled at build time" +msgstr "빌드 시점에 압축 기능을 비활성했습니다" + +#: src/xz/args.c +msgid "Decompression support was disabled at build time" +msgstr "빌드 시점에 압축 해제 기능을 비활성했습니다" + +#: src/xz/args.c +msgid "Compression of lzip files (.lz) is not supported" +msgstr "lzip 파일 (.lz) 압축은 지원하지 않습니다" + +#: src/xz/args.c +msgid "--block-list is ignored unless compressing to the .xz format" +msgstr ".xz 형식으로 압축하지 않으면 --block-list 옵션은 무시합니다" + +#: src/xz/args.c +msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout" +msgstr "표준 출력으로 기록하지 않는 한 --format=raw, --suffix=.<확장자> 옵션이 필요합니다" + +#: src/xz/coder.c +msgid "Maximum number of filters is four" +msgstr "최대 필터 갯수는 4 입니다" + +#: src/xz/coder.c +#, c-format +msgid "Error in --filters%s=FILTERS option:" +msgstr "--filters%s=<필터> 옵션 오류:" + +#: src/xz/coder.c +msgid "Memory usage limit is too low for the given filter setup." +msgstr "주어진 필터 설정으로는 메모리 사용 제한 값이 너무 적습니다." + +#: src/xz/coder.c +#, c-format +msgid "filter chain %u used by --block-list but not specified with --filters%u=" +msgstr "--block-lisk에서 필터 체인 %u번을 사용하고 있지만 --filters%u= 옵션으로 지정하지 않았습니다" + +#: src/xz/coder.c +msgid "Using a preset in raw mode is discouraged." +msgstr "RAW 모드에서의 프리셋 사용은 권장하지 않습니다." + +#: src/xz/coder.c +msgid "The exact options of the presets may vary between software versions." +msgstr "프리셋의 정확한 옵션 값은 프로그램 버전에 따라 다릅니다." + +#: src/xz/coder.c +msgid "The .lzma format supports only the LZMA1 filter" +msgstr ".lzma 형식은 LZMA1 필터만 지원합니다" + +#: src/xz/coder.c +msgid "LZMA1 cannot be used with the .xz format" +msgstr ".xz 형식에는 LZMA1 필터를 사용할 수 없습니다" + +#: src/xz/coder.c +#, c-format +msgid "Filter chain %u is incompatible with --flush-timeout" +msgstr "필터 체인 %u번이 --flush-timeout 옵션과 맞지 않습니다" + +#: src/xz/coder.c +msgid "Switching to single-threaded mode due to --flush-timeout" +msgstr "--flush-timeout 옵션을 지정하였으므로 단일 스레드 모드로 전환합니다" + +#: src/xz/coder.c +#, c-format +msgid "Unsupported options in filter chain %u" +msgstr "필터 체인 %u번에서 지원하지 않는 옵션" + +#: src/xz/coder.c +#, c-format +msgid "Using up to % threads." +msgstr "최대 스레드 %개를 사용합니다." + +#: src/xz/coder.c +msgid "Unsupported filter chain or filter options" +msgstr "지원하지 않는 필터 체인 또는 필터 옵션" + +#: src/xz/coder.c +#, c-format +msgid "Decompression will need %s MiB of memory." +msgstr "압축 해제시 %s MiB 메모리 용량이 필요합니다." + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to %s to not exceed the memory usage limit of %s MiB" +msgstr "메모리 사용량 %s MiB 제한을 넘지 않으려 스레드 수를 %s(에)서 %s(으)로 줄였습니다" + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to one. The automatic memory usage limit of %s MiB is still being exceeded. %s MiB of memory is required. Continuing anyway." +msgstr "스레드 수가 %s(에)서 하나로 줄었습니다. 메모리 사용 자동 제한량 %sMiB를 여전히 초과합니다. 메모리 공간 %sMiB가 필요합니다. 어쨌든 계속합니다." + +#: src/xz/coder.c +#, c-format +msgid "Switching to single-threaded mode to not exceed the memory usage limit of %s MiB" +msgstr "메모리 사용 제한량 %sMiB를 넘지 않으려 단일 스레드 모드로 전환합니다" + +#: src/xz/coder.c +#, 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 "메모리 사용 제한량 %4$sMiB를 넘지 않으려 %2$sMiB에서 %3$sMiB로 LZMA%1$c 딕셔너리 크기를 조정했습니다" + +#: src/xz/coder.c +#, c-format +msgid "Adjusted LZMA%c dictionary size for --filters%u from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgstr "메모리 사용 제한량 %5$sMiB를 넘지 않으려 %3$sMiB에서 %4$sMiB로 --filters%2$u의 LZMA%1$c 딕셔너리 크기를 조정했습니다" + +#: src/xz/coder.c +#, c-format +msgid "Error changing to filter chain %u: %s" +msgstr "필터 체인 %u번 전환 오류: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error creating a pipe: %s" +msgstr "파이프 생성 오류: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: poll() failed: %s" +msgstr "%s: poll() 실패: %s" + +#. 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 +#, c-format +msgid "%s: File seems to have been moved, not removing" +msgstr "%s: 파일을 이동한 것 같음, 제거 안함" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot remove: %s" +msgstr "%s: 제거할 수 없음: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file owner: %s" +msgstr "%s: 파일 소유자를 설정할 수 없음: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file group: %s" +msgstr "%s: 파일 소유 그룹을 설정할 수 없음: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file permissions: %s" +msgstr "%s: 파일 권한을 설정할 수 없음: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Synchronizing the file failed: %s" +msgstr "%s: 파일 동기화 실패: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Synchronizing the directory of the file failed: %s" +msgstr "%s: 파일의 디렉터리 동기화 실패: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard input: %s" +msgstr "표준 입력에서 파일 상태 플래그 가져오기 오류: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a symbolic link, skipping" +msgstr "%s: 심볼릭 링크, 건너뜀" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a directory, skipping" +msgstr "%s: 디렉터리입니다, 건너뜀" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Not a regular file, skipping" +msgstr "%s: 일반 파일 아님, 건너뜀" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has setuid or setgid bit set, skipping" +msgstr "%s: setuid 또는 setgid 비트 설정 있음, 건너뜀" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has sticky bit set, skipping" +msgstr "%s: 끈적이 비트 설정이 있는 파일, 건너뜀" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Input file has more than one hard link, skipping" +msgstr "%s: 입력 파일에 하나 이상의 하드링크가 있습니다, 건너뜀" + +#: src/xz/file_io.c +msgid "Empty filename, skipping" +msgstr "파일 이름 없음, 건너뜀" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the status flags to standard input: %s" +msgstr "표준 입력으로의 상태 플래그 복원 오류: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard output: %s" +msgstr "표준 출력에서 파일 상태 플래그 가져오기 오류: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Opening the directory failed: %s" +msgstr "%s: 디렉터리 열기 실패: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Destination is not a regular file" +msgstr "%s: 대상이 일반 파일이 아닙니다" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the O_APPEND flag to standard output: %s" +msgstr "표준 출력으로의 O_APPEND 플래그 복원 오류: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Closing the file failed: %s" +msgstr "%s: 파일 닫기 실패: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Seeking failed when trying to create a sparse file: %s" +msgstr "%s: 분할 파일 생성 시도시 탐색 실패: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Read error: %s" +msgstr "%s: 읽기 오류: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Error seeking the file: %s" +msgstr "%s: 파일 탐색 오류: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Unexpected end of file" +msgstr "%s: 예상치 못한 파일의 끝" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Write error: %s" +msgstr "%s: 쓰기 오류: %s" + +#: src/xz/hardware.c +msgid "Disabled" +msgstr "사용 안함" + +#: src/xz/hardware.c +msgid "Amount of physical memory (RAM):" +msgstr "물리 메모리 양 (RAM):" + +#: src/xz/hardware.c +msgid "Number of processor threads:" +msgstr "프로세서 스레드 수:" + +#: src/xz/hardware.c +msgid "Compression:" +msgstr "압축:" + +#: src/xz/hardware.c +msgid "Decompression:" +msgstr "압축해제:" + +#: src/xz/hardware.c +msgid "Multi-threaded decompression:" +msgstr "멀티 스레드 압축 해제:" + +#: src/xz/hardware.c +msgid "Default for -T0:" +msgstr "-T0 기본값:" + +#: src/xz/hardware.c +msgid "Hardware information:" +msgstr "하드웨어 정보:" + +#: src/xz/hardware.c +msgid "Memory usage limits:" +msgstr "메모리 사용 제한량:" + +#: src/xz/list.c +msgid "Streams:" +msgstr "스트림:" + +#: src/xz/list.c +msgid "Blocks:" +msgstr "블록 수:" + +#: src/xz/list.c +msgid "Compressed size:" +msgstr "압축 용량:" + +#: src/xz/list.c +msgid "Uncompressed size:" +msgstr "압축해제 용량:" + +#: src/xz/list.c +msgid "Ratio:" +msgstr "압축율:" + +#: src/xz/list.c +msgid "Check:" +msgstr "검사:" + +#: src/xz/list.c +msgid "Stream Padding:" +msgstr "스트림 패딩:" + +#: src/xz/list.c +msgid "Memory needed:" +msgstr "요구 메모리:" + +#: src/xz/list.c +msgid "Sizes in headers:" +msgstr "헤더 길이:" + +#: src/xz/list.c +msgid "Number of files:" +msgstr "파일 갯수:" + +#: src/xz/list.c +msgid "Stream" +msgstr "스트림" + +#: src/xz/list.c +msgid "Block" +msgstr "블록" + +#: src/xz/list.c +msgid "Blocks" +msgstr "블록" + +#: src/xz/list.c +msgid "CompOffset" +msgstr "압축오프셋" + +#: src/xz/list.c +msgid "UncompOffset" +msgstr "압축해제오프셋" + +#: src/xz/list.c +msgid "CompSize" +msgstr "압축크기" + +#: src/xz/list.c +msgid "UncompSize" +msgstr "압축해제크기" + +#: src/xz/list.c +msgid "TotalSize" +msgstr "총크기" + +#: src/xz/list.c +msgid "Ratio" +msgstr "압축율" + +#: src/xz/list.c +msgid "Check" +msgstr "검사" + +#: src/xz/list.c +msgid "CheckVal" +msgstr "검사값" + +#: src/xz/list.c +msgid "Padding" +msgstr "패딩" + +#: src/xz/list.c +msgid "Header" +msgstr "헤더" + +#: src/xz/list.c +msgid "Flags" +msgstr "플래그" + +#: src/xz/list.c +msgid "MemUsage" +msgstr "메모리사용" + +#: src/xz/list.c +msgid "Filters" +msgstr "필터" + +#. TRANSLATORS: Indicates that there is no integrity check. +#. This string is used in tables. In older xz version this +#. string was limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "None" +msgstr "없음" + +#. TRANSLATORS: Indicates that integrity check name is not known, +#. but the Check ID is known (here 2). In older xz version these +#. strings were limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "Unknown-2" +msgstr "알 수 없음-2" + +#: src/xz/list.c +msgid "Unknown-3" +msgstr "알 수 없음-3" + +#: src/xz/list.c +msgid "Unknown-5" +msgstr "알 수 없음-5" + +#: src/xz/list.c +msgid "Unknown-6" +msgstr "알 수 없음-6" + +#: src/xz/list.c +msgid "Unknown-7" +msgstr "알 수 없음-7" + +#: src/xz/list.c +msgid "Unknown-8" +msgstr "알 수 없음-8" + +#: src/xz/list.c +msgid "Unknown-9" +msgstr "알 수 없음-9" + +#: src/xz/list.c +msgid "Unknown-11" +msgstr "알 수 없음-11" + +#: src/xz/list.c +msgid "Unknown-12" +msgstr "알 수 없음-12" + +#: src/xz/list.c +msgid "Unknown-13" +msgstr "알 수 없음-13" + +#: src/xz/list.c +msgid "Unknown-14" +msgstr "알 수 없음-14" + +#: src/xz/list.c +msgid "Unknown-15" +msgstr "알 수 없음-15" + +#: src/xz/list.c +#, c-format +msgid "%s: File is empty" +msgstr "%s: 파일 내용 없음" + +#: src/xz/list.c +#, c-format +msgid "%s: Too small to be a valid .xz file" +msgstr "%s: 유효한 .xz 파일로 보기에는 너무 작습니다" + +#. 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 +msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" +msgstr "스트림 블록 압축 압축해제 압축율 검사 파일 이름" + +#: src/xz/list.c +msgid "Yes" +msgstr "예" + +# 주: 아니오가 아니라 아니요가 맞는 표현 +#: src/xz/list.c +msgid "No" +msgstr "아니요" + +#: src/xz/list.c +msgid "Minimum XZ Utils version:" +msgstr "최소 XZ 유틸리티 버전:" + +#. 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 +#, c-format +msgid "%s file\n" +msgid_plural "%s files\n" +msgstr[0] "파일 %s개\n" + +#: src/xz/list.c +msgid "Totals:" +msgstr "총:" + +#: src/xz/list.c +msgid "--list works only on .xz files (--format=xz or --format=auto)" +msgstr "--list 옵션은 .xz 파일에만 동작합니다(--format=xz 또는 --format=auto)" + +#: src/xz/list.c +msgid "Try 'lzmainfo' with .lzma files." +msgstr "'lzmainfo' 명령에 .lzma 파일 이름을 붙여 실행해보십시오." + +#: src/xz/list.c +msgid "--list does not support reading from standard input" +msgstr "--list 옵션은 표준 입력 읽기를 지원하지 않습니다" + +#: src/xz/main.c +#, c-format +msgid "%s: Error reading filenames: %s" +msgstr "%s: 파일 이름 읽기 오류: %s" + +#: src/xz/main.c +#, c-format +msgid "%s: Unexpected end of input when reading filenames" +msgstr "%s: 파일 이름 읽는 중 예상치 못한 입력 끝" + +#: src/xz/main.c +#, c-format +msgid "%s: Null character found when reading filenames; maybe you meant to use '--files0' instead of '--files'?" +msgstr "%s: 파일 이름을 읽는 도중 NULL 문자 발견. '--files' 옵션 대신 '--files0' 옵션을 사용하시려는게 아닙니까?" + +#: src/xz/main.c +msgid "Compression and decompression with --robot are not supported yet." +msgstr "아직 압축 동작과 압축 해제 동작에 --robot 옵션을 지원하지 않습니다." + +#: src/xz/main.c +msgid "Cannot read data from standard input when reading filenames from standard input" +msgstr "표준 출력에서 파일 이름을 읽을 때 표준 입력에서 데이터를 읽을 수 없습니다" + +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s: " +msgstr "%s: " + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "Internal error (bug)" +msgstr "내부 오류 (버그)" + +#: src/xz/message.c +msgid "Cannot establish signal handlers" +msgstr "시그널 처리자를 준비할 수 없습니다" + +#: src/xz/message.c +msgid "No integrity check; not verifying file integrity" +msgstr "무결성 검사 안함. 파일 무결성을 검증하지 않습니다" + +#: src/xz/message.c +msgid "Unsupported type of integrity check; not verifying file integrity" +msgstr "지원하지 않는 무결성 검사 형식. 파일 무결성을 검증하지 않습니다" + +#: src/xz/message.c +msgid "Memory usage limit reached" +msgstr "메모리 사용량 한계에 도달했습니다" + +#: src/xz/message.c +msgid "File format not recognized" +msgstr "파일 형식을 인식할 수 없음" + +#: src/xz/message.c +msgid "Unsupported options" +msgstr "지원하지 않는 옵션" + +#: src/xz/message.c +msgid "Compressed data is corrupt" +msgstr "압축 데이터 깨짐" + +#: src/xz/message.c +msgid "Unexpected end of input" +msgstr "예상치 못한 입력 끝" + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limiter is disabled." +msgstr "%s MiB 메모리 용량이 필요합니다. 제한을 비활성합니다." + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limit is %s." +msgstr "%s MiB 메모리 용량이 필요합니다. 제한 용량은 %s 입니다." + +#: src/xz/message.c +#, c-format +msgid "%s: Filter chain: %s\n" +msgstr "%s: 필터 체인: %s\n" + +#: src/xz/message.c +#, c-format +msgid "Try '%s --help' for more information." +msgstr "자세한 사용법은 '%s --help'를 입력하십시오." + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Error printing the help text (error code %d)" +msgstr "도움말 텍스트 출력 오류(오류 코드 %d)" + +#: src/xz/message.c +#, c-format +msgid "Usage: %s [OPTION]... [FILE]...\n" +msgstr "사용법: %s [옵션]... [파일]...\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Compress or decompress FILEs in the .xz format." +msgstr ".xz 형식의 <파일>로 압축하거나 압축을 해제합니다." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Mandatory arguments to long options are mandatory for short options too." +msgstr "긴 옵션 버전의 필수 인자는 짧은 옵션에도 해당합니다." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Operation mode:" +msgstr "동작 방식:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force compression" +msgstr "강제 압축" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force decompression" +msgstr "강제 압축 해제" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "test compressed file integrity" +msgstr "압축 파일 무결성을 시험합니다" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "list information about .xz files" +msgstr ".xz 파일에 대한 정보를 보여줍니다" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Operation modifiers:" +msgstr "동작 지정자:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "keep (don't delete) input files" +msgstr "입력 파일을 그대로 둡니다 (삭제 안함)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force overwrite of output file and (de)compress links" +msgstr "출력 파일을 강제로 덮어쓰고 링크 압축을 진행(해제)합니다" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "write to standard output and don't delete input files" +msgstr "표준 출력에 기록하고 입력 파일을 삭제하지 않습니다" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't synchronize the output file to the storage device before removing the input file" +msgstr "입력 파일을 제거하기 전 저장 장치로 출력 파일을 동기화하지 않습니다" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "decompress only the first stream, and silently ignore possible remaining input data" +msgstr "첫 스트림 압축만 해제하며, 가능한 나머지 입력 데이터는 무시합니다" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "do not create sparse files when decompressing" +msgstr "압축 해제시 희소 처리 파일을 만들지 않습니다" + +#: src/xz/message.c +msgid ".SUF" +msgstr ".SUF" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use the suffix '.SUF' on compressed files" +msgstr "파일 압축시 접미사를 '.SUF'로 사용합니다" + +#: src/xz/message.c +msgid "FILE" +msgstr "<파일>" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "read filenames to process from FILE; if FILE is omitted, filenames are read from the standard input; filenames must be terminated with the newline character" +msgstr "<파일>에서 처리할 파일 이름을 읽습니다. <파일> 값을 생략하면, 표준 입ㄹ겨에서 파일 이름을 읽어들입니다. 파일 이름은 개행 문자로 끝나야 합니다" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "like --files but use the null character as terminator" +msgstr "--files와 비슷하나 널 문자를 종결 문자로 사용합니다" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Basic file format and compression options:" +msgstr "기본 파일 형식 및 압축 옵션:" + +#: src/xz/message.c +msgid "FORMAT" +msgstr "<형식>" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "file format to encode or decode; possible values are 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'" +msgstr "인코딩 또는 디코딩할 파일 형식입니다. 사용할 수 있는 값은 'auto'(기본), 'xz', 'lzma', 'lzip', 'raw'가 있습니다" + +#: src/xz/message.c +msgid "NAME" +msgstr "<이름>" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "integrity check type: 'none' (use with caution), 'crc32', 'crc64' (default), or 'sha256'" +msgstr "무결성 검사 형식: 'none'(사용에 유의), 'crc32', 'crc64' (기본값), 'sha256'" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't verify the integrity check when decompressing" +msgstr "압축 해제시" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression preset; default is 6; take compressor *and* decompressor memory usage into account before using 7-9!" +msgstr "압축 사전 설정. 기본값은 6 입니다. 7-9를 사용하려면 압축 메모리 사용량*과* 압축 해제 메모리 사용량을 지정하십시오!" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "try to improve compression ratio by using more CPU time; does not affect decompressor memory requirements" +msgstr "CPU 점유 시간을 더 확보하여 압축률을 개선합니다. 압축 해제시 메모리 요구 용량에는 영향을 주지 않습니다" + +#. TRANSLATORS: Short for NUMBER. A longer string is fine but +#. wider than 5 columns makes --long-help a few lines longer. +#: src/xz/message.c +msgid "NUM" +msgstr "<숫자>" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use at most NUM threads; the default is 0 which uses as many threads as there are processor cores" +msgstr "최대 스레드 <개수>를 사용합니다. 기본값은 실제 프로세서 코어 수 만큼의 스레드를 사용하도록 지정하는 0 값입니다" + +#: src/xz/message.c +msgid "SIZE" +msgstr "<크기>" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after every SIZE bytes of input; use this to set the block size for threaded compression" +msgstr "모든 <크기>의 입력 다음 새 .xz 블록을 시작합니다. 스레드 압축의 블록 크기를 지정할 때 사용합니다" + +#: src/xz/message.c +msgid "BLOCKS" +msgstr "<블록>" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after the given comma-separated intervals of uncompressed data; optionally, specify a filter chain number (0-9) followed by a ':' before the uncompressed data size" +msgstr "콤마로 구분한 연속 지정값 만큼 압축 해제한 데이터 용량 다음, 새 .xz 블록을 시작합니다. 압축 해제 데이터 크기 앞에 콜론(':') 표기 후 필터 체인 번호(0-9)를 추가로 지정할 수 있습니다" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "when compressing, if more than NUM milliseconds has passed since the previous flush and reading more input would block, all pending data is flushed out" +msgstr "압축하는 동안, 이전 데이터를 플러싱한 후 더 많은 블록 입력을 읽어들일 때 <숫자> 만큼의 밀리초단위 제한시간을 넘기면 모든 대기 데이터를 소거합니다" + +#: src/xz/message.c +msgid "LIMIT" +msgstr "<제한>" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, no-c-format +msgid "set memory usage limit for compression, decompression, threaded decompression, or all of these; LIMIT is in bytes, % of RAM, or 0 for defaults" +msgstr "압축, 해제, 스레드 분산 압축 해제, 또는 유사 동작 수행시 메모리 사용량 제한을 설정합니다. 바이트 단위 <제한>값, % 단위 RAM 사용량을 지정하든지 아니면 기본값으로 0을 지정하십시오" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "if compression settings exceed the memory usage limit, give an error instead of adjusting the settings downwards" +msgstr "압축 설정이 메모리 사용량 제한을 넘어서면 설정 값을 줄이는 대신 오류 메시지를 나타냅니다" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Custom filter chain for compression (an alternative to using presets):" +msgstr "압축용 개별 필터 체인 설정 (사전 설정 사용을 대신함):" + +#: src/xz/message.c +msgid "FILTERS" +msgstr "<필터>" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set the filter chain using the liblzma filter string syntax; use --filters-help for more information" +msgstr "liblzma 필터 문자열 문법으로 필터 체인을 설정합니다. 자세한 정보는 --filters-help 옵션을 사용하십시오" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set additional filter chains using the liblzma filter string syntax to use with --block-list" +msgstr "--block-list 옵션을 함께 사용할 수 있는 liblzma 필터 문자열 문법으로 추가 필터 체인을 설정합니다" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display more information about the liblzma filter string syntax and exit" +msgstr "liblzma 필터 문자열 문법 추가 정보를 나타낸 후 빠져나갑니다" + +#. TRANSLATORS: Short for OPTIONS. +#: src/xz/message.c +msgid "OPTS" +msgstr "<옵션>" + +#. TRANSLATORS: Use semicolon (or its fullwidth form) +#. in "(valid values; default)" even if it is weird in +#. your language. There are non-translatable strings +#. that look like "(foo, bar, baz; foo)" which list +#. the supported values and the default value. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "LZMA1 or LZMA2; OPTS is a comma-separated list of zero or more of the following options (valid values; default):" +msgstr "LZMA1 또는 LZMA2입니다. <옵션> 값은 다음과 같은 0개 이상의 쉼표 구분 값입니다 (유효한 값. 기본값):" + +#. TRANSLATORS: Short for PRESET. A longer string is +#. fine but wider than 4 columns makes --long-help +#. one line longer. +#: src/xz/message.c +msgid "PRE" +msgstr "<사전설정>" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "reset options to a preset" +msgstr "사전 설정 값으로 옵션 재설정" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "dictionary size" +msgstr "딕셔너리 크기" + +#. TRANSLATORS: The word "literal" in "literal context +#. bits" means how many "context bits" to use when +#. encoding literals. A literal is a single 8-bit +#. byte. It doesn't mean "literally" here. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal context bits" +msgstr "보이는 대로의 컨텍스트 비트 갯수" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal position bits" +msgstr "보이는 대로의 위치 비트 갯수" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of position bits" +msgstr "위치 비트 수" + +#: src/xz/message.c +msgid "MODE" +msgstr "<모드>" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression mode" +msgstr "압축 모드" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "nice length of a match" +msgstr "일치하는 항목의 nice 길이" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "match finder" +msgstr "일치 항목 검색기" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "maximum search depth; 0=automatic (default)" +msgstr "최대 검색 깊이 값. 0=자동 (기본값)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "x86 BCJ filter (32-bit and 64-bit)" +msgstr "x86 BCJ 필터 (32비트 및 64비트)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM BCJ filter" +msgstr "ARM BCJ 필터" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM-Thumb BCJ filter" +msgstr "ARM-Thumb BCJ 필터" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM64 BCJ filter" +msgstr "ARM64 BCJ 필더" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "PowerPC BCJ filter (big endian only)" +msgstr "PowerPC BCJ 필터 (빅 엔디안 전용)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "IA-64 (Itanium) BCJ filter" +msgstr "IA-64 (아이태니엄) BCJ 필터" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "SPARC BCJ filter" +msgstr "SPARC BCJ 필터" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "RISC-V BCJ filter" +msgstr "RISC-V BCJ 필터" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Valid OPTS for all BCJ filters:" +msgstr "모든 BCJ 필터에 대한 적절한 <옵션>값:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start offset for conversions (default=0)" +msgstr "변환 시작 오프셋 값 (기본값=0)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Delta filter; valid OPTS (valid values; default):" +msgstr "델타 필터. 적절한 <옵션> (적절한 값. 기본값):" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "distance between bytes being subtracted from each other" +msgstr "바이트 값 차이 거리" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Other options:" +msgstr "기타 옵션:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "suppress warnings; specify twice to suppress errors too" +msgstr "경고문 숨김. 더 많은 오류 메시지를 숨가려면 두번 지정하십시오" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "be verbose; specify twice for even more verbose" +msgstr "자세하게 표시. 더 자세하게 출력하려면 두번 지정하십시오" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "make warnings not affect the exit status" +msgstr "경고가 종료 상태에 영향을 주지 않게합니다" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use machine-parsable messages (useful for scripts)" +msgstr "기계 해석 가능한 메시지를 사용합니다 (스크립트 활용시 유용함)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the total amount of RAM and the currently active memory usage limits, and exit" +msgstr "RAM 총 용량과 현재 활성 메모리 사용 한계값을 표시하고 나갑니다" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the short help (lists only the basic options)" +msgstr "간단한 도움말 표시 (기본 옵션만 표시)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this long help and exit" +msgstr "이 긴 도움말을 보여주고 나갑니다" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this short help and exit" +msgstr "이 간단한 도움말을 보여주고 나갑니다" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the long help (lists also the advanced options)" +msgstr "긴 도움말 표시 (고급 옵션도 보여줍니다)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the version number and exit" +msgstr "버전 번호를 표시하고 빠져나갑니다" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "With no FILE, or when FILE is -, read standard input." +msgstr "<파일> 값이 없거나, <파일> 값이 - 문자이면, 표준 입력을 읽어들입니다." + +#. TRANSLATORS: This message indicates the bug reporting +#. address for this package. Please add another line saying +#. "\nReport translation bugs to <...>." with the email or WWW +#. address for translation bugs. Thanks! +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Report bugs to <%s> (in English or Finnish)." +msgstr "<%s> (영문 또는 핀란드어)에 버그를 보고하십시오." + +#. TRANSLATORS: The first %s is the name of this software. +#. The second <%s> is an URL. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s home page: <%s>" +msgstr "%s 홈페이지: <%s>" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE." +msgstr "!! 주의 !! 개발 버전이며 실제 사용 용도가 아닙니다." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, c-format +msgid "Filter chains are set using the --filters=FILTERS or --filters1=FILTERS ... --filters9=FILTERS options. Each filter in the chain can be separated by spaces or '--'. Alternatively a preset %s can be specified instead of a filter chain." +msgstr "" +"--filters=<필터> 또는 --filters1=<필터> ... --filters9=<필터> 옵션으로\n" +"필터 체인을 지정합니다. 체인의 각 필터는 공백 문자 또는 '--'으로 구분할 수 있습니다.\n" +"필터 체인 대신 %s 사전 설정 값을 지정할 수 있습니다." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "The supported filters and their options are:" +msgstr "지원하는 필터와 옵션은 다음과 같습니다:" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "Options must be 'name=value' pairs separated with commas" +msgstr "옵션은 쉼표로 구분한 '이름=값' 쌍이어야합니다" + +#: src/xz/options.c +#, c-format +msgid "%s: Invalid option name" +msgstr "%s: 잘못된 옵션 이름" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "Invalid option value" +msgstr "잘못된 옵션 값" + +#: src/xz/options.c +#, c-format +msgid "Unsupported LZMA1/LZMA2 preset: %s" +msgstr "지원하지 않는 LZMA1/LZMA2 사전 설정: %s" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "The sum of lc and lp must not exceed 4" +msgstr "lc값과 lp값의 합이 4를 초과하면 안됩니다" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Filename has an unknown suffix, skipping" +msgstr "%s: 파일 이름에 알 수 없는 확장자 붙음, 건너뜀" + +#: src/xz/suffix.c +#, c-format +msgid "%s: File already has '%s' suffix, skipping" +msgstr "%s: 파일에 이미 '%s' 확장자가 붙음, 건너뜀" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Invalid filename suffix" +msgstr "%s: 잘못된 파일 이름 확장자" + +#: src/xz/util.c src/liblzma/common/string_conversion.c +msgid "Value is not a non-negative decimal integer" +msgstr "값이 10진 양의 정수가 아닙니다" + +#: src/xz/util.c +#, c-format +msgid "%s: Invalid multiplier suffix" +msgstr "%s: 잘못된 승수 단위" + +#: src/xz/util.c +msgid "Valid suffixes are 'KiB' (2^10), 'MiB' (2^20), and 'GiB' (2^30)." +msgstr "사용할 수 있는 단위는 'KiB' (2^10), 'MiB' (2^20), 'GiB' (2^30) 입니다." + +#: src/xz/util.c +#, c-format +msgid "Value of the option '%s' must be in the range [%, %]" +msgstr "'%s' 옵션 값은 [%, %] 범위 안에 있어야 합니다" + +#: src/xz/util.c +msgid "Compressed data cannot be read from a terminal" +msgstr "압축 데이터를 터미널에서 읽을 수 없습니다" + +#: src/xz/util.c +msgid "Compressed data cannot be written to a terminal" +msgstr "압축 데이터를 터미널에 기록할 수 없습니다" + +#: src/lzmainfo/lzmainfo.c +#, c-format +msgid "Usage: %s [--help] [--version] [FILE]...\n" +msgstr "사용법: %s [--help] [--version] [<파일>]...\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/lzmainfo/lzmainfo.c +msgid "Show information stored in the .lzma file header." +msgstr ".lzma 파일 헤더에 저장한 정보를 보여줍니다." + +#: src/lzmainfo/lzmainfo.c +msgid "File is too small to be a .lzma file" +msgstr ".lzma 파일이기에는 너무 작습니다" + +#: src/lzmainfo/lzmainfo.c +msgid "Not a .lzma file" +msgstr ".lzma 파일이 아닙니다" + +#: src/common/tuklib_exit.c +msgid "Writing to standard output failed" +msgstr "표준 출력 기록 실패" + +#: src/common/tuklib_exit.c +msgid "Unknown error" +msgstr "알 수 없는 오류" + +#: src/liblzma/common/string_conversion.c +msgid "Unsupported preset" +msgstr "지원하지 않는 사전 설정" + +#: src/liblzma/common/string_conversion.c +msgid "Unsupported flag in the preset" +msgstr "지원하지 않는 사전 설정 플래그" + +#: src/liblzma/common/string_conversion.c +msgid "Unknown option name" +msgstr "알 수 없는 옵션 이름" + +#: src/liblzma/common/string_conversion.c +msgid "Option value cannot be empty" +msgstr "옵션 값을 비워둘 수 없습니다" + +#: src/liblzma/common/string_conversion.c +msgid "Value out of range" +msgstr "값 범위 벗어남" + +#: src/liblzma/common/string_conversion.c +msgid "This option does not support any multiplier suffixes" +msgstr "이 옵션은 배수 단위 접미사를 지원하지 않습니다" + +#. TRANSLATORS: Don't translate the +#. suffixes "KiB", "MiB", or "GiB" +#. because a user can only specify +#. untranslated suffixes. +#: src/liblzma/common/string_conversion.c +msgid "Invalid multiplier suffix (KiB, MiB, or GiB)" +msgstr "잘못된 배수 단위 (KiB, MiB, 또는 GiB)" + +#: src/liblzma/common/string_conversion.c +msgid "Unknown filter name" +msgstr "알 수 없는 파일 형식" + +#: src/liblzma/common/string_conversion.c +msgid "This filter cannot be used in the .xz format" +msgstr ".xz 형식에 이 필터를 사용할 수 없습니다" + +#: src/liblzma/common/string_conversion.c +msgid "Memory allocation failed" +msgstr "메모리 할당 실패" + +#: src/liblzma/common/string_conversion.c +msgid "Empty string is not allowed, try '6' if a default value is needed" +msgstr "빈 문자열을 허용하지 않습니다. 기본값이 필요하다면 '6'을 넣으십시오" + +#: src/liblzma/common/string_conversion.c +msgid "The maximum number of filters is four" +msgstr "최대 필터 갯수는 4 입니다" + +#: src/liblzma/common/string_conversion.c +msgid "Filter name is missing" +msgstr "필터 이름이 빠졌습니다" + +#: src/liblzma/common/string_conversion.c +msgid "Invalid filter chain ('lzma2' missing at the end?)" +msgstr "부적절한 필터 체인 ('lzma2'를 뺐습니까?)" diff --git a/src/native/external/xz/po/nl.po b/src/native/external/xz/po/nl.po new file mode 100644 index 00000000000000..a948803bac8c1f --- /dev/null +++ b/src/native/external/xz/po/nl.po @@ -0,0 +1,1269 @@ +# SPDX-License-Identifier: 0BSD +# +# Dutch translation for xz-utils. +# This file is published under the BSD Zero Clause License. +# +# "Wie soll ich wissen was ich meine bevor ich höre was ich sage." +# +# Benno Schulenberg , 2019, 2024, 2025. +msgid "" +msgstr "" +"Project-Id-Version: xz 5.7.1-dev1\n" +"Report-Msgid-Bugs-To: xz@tukaani.org\n" +"POT-Creation-Date: 2025-01-29 20:59+0200\n" +"PO-Revision-Date: 2025-01-25 15:51+0100\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" + +#: src/xz/args.c +#, c-format +msgid "%s: Invalid argument to --block-list" +msgstr "%s: Ongeldig argument bij --block-list" + +#: src/xz/args.c +#, c-format +msgid "%s: Too many arguments to --block-list" +msgstr "%s: Te veel argumenten bij --block-list" + +#: src/xz/args.c +#, c-format +msgid "In --block-list, block size is missing after filter chain number '%c:'" +msgstr "Bij '--block-list' ontbreekt blokgrootte na filterketennummer '%c':" + +#: src/xz/args.c +msgid "0 can only be used as the last element in --block-list" +msgstr "Bij '--block-list' kan '0' alleen het laatste element zijn" + +#: src/xz/args.c +#, c-format +msgid "%s: Unknown file format type" +msgstr "%s: Onbekend soort bestandsindeling" + +#: src/xz/args.c +#, c-format +msgid "%s: Unsupported integrity check type" +msgstr "%s: Niet-ondersteund soort integriteitscontrole" + +#: src/xz/args.c +msgid "Only one file can be specified with '--files' or '--files0'." +msgstr "Slechts één bestand kan opgegeven worden met '--files' of '--files0'." + +#. TRANSLATORS: This is a translatable +#. string because French needs a space +#. before the colon ("%s : %s"). +#: src/xz/args.c src/xz/coder.c src/xz/file_io.c src/xz/list.c src/xz/options.c +#: src/xz/util.c +#, c-format +msgid "%s: %s" +msgstr "%s: %s" + +#: src/xz/args.c +#, c-format +msgid "The environment variable %s contains too many arguments" +msgstr "Omgevingsvariabele '%s' bevat te veel argumenten" + +#: src/xz/args.c +msgid "Compression support was disabled at build time" +msgstr "Compressie werd uitgeschakeld tijdens compilatie" + +#: src/xz/args.c +msgid "Decompression support was disabled at build time" +msgstr "Decompressie werd uitgeschakeld tijdens compilatie" + +#: src/xz/args.c +msgid "Compression of lzip files (.lz) is not supported" +msgstr "Compressie van LZIP-bestanden (.lz) wordt niet ondersteund" + +#: src/xz/args.c +msgid "--block-list is ignored unless compressing to the .xz format" +msgstr "'--block-list' wordt genegeerd (alleen geldig bij comprimeren naar .xz-indeling)" + +#: src/xz/args.c +msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout" +msgstr "Met '--format=raw' is optie '--suffix=.EXT' vereist (tenzij naar standaarduitvoer geschreven wordt)" + +#: src/xz/coder.c +msgid "Maximum number of filters is four" +msgstr "Het maximum aantal filters is vier" + +#: src/xz/coder.c +#, c-format +msgid "Error in --filters%s=FILTERS option:" +msgstr "Fout in optie '--filters%s=FILTERS':" + +#: src/xz/coder.c +msgid "Memory usage limit is too low for the given filter setup." +msgstr "Geheugengebruiksgrens is te laag voor de gegeven filterconfiguratie." + +#: src/xz/coder.c +#, c-format +msgid "filter chain %u used by --block-list but not specified with --filters%u=" +msgstr "filterketen %u is gebruikt bij '--block-list' maar niet gegeven met '--filters%u='" + +#: src/xz/coder.c +msgid "Using a preset in raw mode is discouraged." +msgstr "Gebruik van een voorinstelling in rauwe modus wordt ontraden." + +#: src/xz/coder.c +msgid "The exact options of the presets may vary between software versions." +msgstr "De precieze opties van de voorinstellingen kunnen variëren tussen programmaversies." + +#: src/xz/coder.c +msgid "The .lzma format supports only the LZMA1 filter" +msgstr "De .lzma-indeling ondersteunt alleen het LZMA1-filter" + +#: src/xz/coder.c +msgid "LZMA1 cannot be used with the .xz format" +msgstr "LZMA1 kan niet gebruikt worden met de .xz-indeling" + +#: src/xz/coder.c +#, c-format +msgid "Filter chain %u is incompatible with --flush-timeout" +msgstr "Filterketen %u is niet compatibel met '--flush-timeout'" + +#: src/xz/coder.c +msgid "Switching to single-threaded mode due to --flush-timeout" +msgstr "Overgeschakeld naar enkeldraads modus wegens '--flush-timeout'" + +#: src/xz/coder.c +#, c-format +msgid "Unsupported options in filter chain %u" +msgstr "Niet-ondersteunde opties in filterketen %u" + +#: src/xz/coder.c +#, c-format +msgid "Using up to % threads." +msgstr "Tot % threads worden gebruikt." + +#: src/xz/coder.c +msgid "Unsupported filter chain or filter options" +msgstr "Niet-ondersteunde filterketen of filteropties" + +#: src/xz/coder.c +#, c-format +msgid "Decompression will need %s MiB of memory." +msgstr "Decompressie heeft %s MiB aan geheugen nodig." + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to %s to not exceed the memory usage limit of %s MiB" +msgstr "Aantal threads is gereduceerd van %s naar %s om de geheugengebruiksgrens van %s MiB niet te overschrijden" + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to one. The automatic memory usage limit of %s MiB is still being exceeded. %s MiB of memory is required. Continuing anyway." +msgstr "Het aantal threads is gereduceerd van %s naar 1, maar de automatische geheugengebruiksgrens van %s MiB wordt alsnog overschreden. %s MiB aan geheugen is nodig. Toch doorgegaan." + +#: src/xz/coder.c +#, c-format +msgid "Switching to single-threaded mode to not exceed the memory usage limit of %s MiB" +msgstr "Overgeschakeld naar enkeldraads modus, om de geheugengebruiksgrens van %s MiB niet te overschrijden" + +#: src/xz/coder.c +#, 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 "Grootte van LZMA%c-woordenboek is aangepast van %s MiB naar %s MiB om de geheugengebruiksgrens van %s MiB niet te overschrijden" + +#: src/xz/coder.c +#, c-format +msgid "Adjusted LZMA%c dictionary size for --filters%u from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgstr "Grootte van LZMA%c-woordenboek voor '--filters%u' is aangepast van %s MiB naar %s MiB om de geheugengebruiksgrens van %s MiB niet te overschrijden" + +#: src/xz/coder.c +#, c-format +msgid "Error changing to filter chain %u: %s" +msgstr "Fout bij overgaan naar filterketen %u: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error creating a pipe: %s" +msgstr "Fout bij aanmaken van pijp: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: poll() failed: %s" +msgstr "%s: poll() is mislukt: %s" + +#. 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 +#, c-format +msgid "%s: File seems to have been moved, not removing" +msgstr "Bestand '%s' schijnt verplaatst te zijn -- niet verwijderd" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot remove: %s" +msgstr "Kan '%s' niet verwijderen: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file owner: %s" +msgstr "%s: Kan bestandseigenaar niet instellen: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file group: %s" +msgstr "%s: Kan bestandsgroep niet instellen: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file permissions: %s" +msgstr "%s: Kan de toegangsrechten niet instellen: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Synchronizing the file failed: %s" +msgstr "%s: Synchroniseren van bestand is mislukt: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Synchronizing the directory of the file failed: %s" +msgstr "%s: Synchroniseren van bestandsmap is mislukt: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard input: %s" +msgstr "Fout bij verkrijgen van de bestandstoestandsvlaggen van standaardinvoer: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a symbolic link, skipping" +msgstr "%s: Is een symbolische koppeling -- overgeslagen" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a directory, skipping" +msgstr "%s: Is een map -- overgeslagen" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Not a regular file, skipping" +msgstr "%s: Is geen gewoon bestand -- overgeslagen" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has setuid or setgid bit set, skipping" +msgstr "%s: Bestand heeft SETUID- of SETGID-bit gezet -- overgeslagen" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has sticky bit set, skipping" +msgstr "%s: Bestand heeft 'sticky'-bit gezet -- overgeslagen" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Input file has more than one hard link, skipping" +msgstr "%s: Invoerbestand heeft meer dan één harde koppeling -- overgeslagen" + +#: src/xz/file_io.c +msgid "Empty filename, skipping" +msgstr "Lege bestandsnaam -- overgeslagen" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the status flags to standard input: %s" +msgstr "Fout bij herstellen van de bestandstoestandsvlaggen naar standaardinvoer: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard output: %s" +msgstr "Fout bij verkrijgen van de bestandstoestandsvlaggen van standaarduitvoer: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Opening the directory failed: %s" +msgstr "%s: Openen van map is mislukt: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Destination is not a regular file" +msgstr "%s: Doel is geen gewoon bestand" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the O_APPEND flag to standard output: %s" +msgstr "Fout bij herstellen van de 'O_APPEND'-vlag naar standaardinvoer: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Closing the file failed: %s" +msgstr "%s: Sluiten van bestand is mislukt: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Seeking failed when trying to create a sparse file: %s" +msgstr "%s: 'Seeken' is mislukt bij aanmaken van een bestand met gaten: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Read error: %s" +msgstr "%s: Leesfout: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Error seeking the file: %s" +msgstr "%s: Fout bij 'seeken': %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Unexpected end of file" +msgstr "%s: Onverwacht einde van bestand" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Write error: %s" +msgstr "%s: Schrijffout: %s" + +#: src/xz/hardware.c +msgid "Disabled" +msgstr "Uitgeschakeld" + +#: src/xz/hardware.c +msgid "Amount of physical memory (RAM):" +msgstr "Hoeveelheid fysiek geheugen (RAM):" + +#: src/xz/hardware.c +msgid "Number of processor threads:" +msgstr "Aantal processor-threads:" + +#: src/xz/hardware.c +msgid "Compression:" +msgstr "Compressie:" + +#: src/xz/hardware.c +msgid "Decompression:" +msgstr "Decompressie:" + +#: src/xz/hardware.c +msgid "Multi-threaded decompression:" +msgstr "Multi-threaded decompressie:" + +#: src/xz/hardware.c +msgid "Default for -T0:" +msgstr "Default voor -T0:" + +#: src/xz/hardware.c +msgid "Hardware information:" +msgstr "Hardware-informatie:" + +#: src/xz/hardware.c +msgid "Memory usage limits:" +msgstr "Geheugengebruiksgrenzen:" + +#: src/xz/list.c +msgid "Streams:" +msgstr "Streams:" + +#: src/xz/list.c +msgid "Blocks:" +msgstr "Blokken:" + +#: src/xz/list.c +msgid "Compressed size:" +msgstr "Gecomprimeerde grootte:" + +#: src/xz/list.c +msgid "Uncompressed size:" +msgstr "Ongecomprimeerde grootte:" + +#: src/xz/list.c +msgid "Ratio:" +msgstr "Ratio:" + +#: src/xz/list.c +msgid "Check:" +msgstr "Controle:" + +#: src/xz/list.c +msgid "Stream Padding:" +msgstr "Stream-opvulling:" + +#: src/xz/list.c +msgid "Memory needed:" +msgstr "Benodigd geheugen:" + +#: src/xz/list.c +msgid "Sizes in headers:" +msgstr "Groottes in koppen:" + +#: src/xz/list.c +msgid "Number of files:" +msgstr "Aantal bestanden:" + +#: src/xz/list.c +msgid "Stream" +msgstr "Stream" + +#: src/xz/list.c +msgid "Block" +msgstr "Blok" + +#: src/xz/list.c +msgid "Blocks" +msgstr "Blokken" + +#: src/xz/list.c +msgid "CompOffset" +msgstr "Gecomp.Start" + +#: src/xz/list.c +msgid "UncompOffset" +msgstr "Ongecomp.Start" + +#: src/xz/list.c +msgid "CompSize" +msgstr "Gecomp.Grootte" + +#: src/xz/list.c +msgid "UncompSize" +msgstr "Ongecomp.Grootte" + +#: src/xz/list.c +msgid "TotalSize" +msgstr "TotaleGrootte" + +#: src/xz/list.c +msgid "Ratio" +msgstr "Ratio" + +#: src/xz/list.c +msgid "Check" +msgstr "Controle" + +#: src/xz/list.c +msgid "CheckVal" +msgstr "Cont.waarde" + +#: src/xz/list.c +msgid "Padding" +msgstr "Vulling" + +#: src/xz/list.c +msgid "Header" +msgstr "Kop" + +#: src/xz/list.c +msgid "Flags" +msgstr "Vlaggen" + +#: src/xz/list.c +msgid "MemUsage" +msgstr "Geh.geb." + +#: src/xz/list.c +msgid "Filters" +msgstr "Filters" + +#. TRANSLATORS: Indicates that there is no integrity check. +#. This string is used in tables. In older xz version this +#. string was limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "None" +msgstr "Geen" + +#. TRANSLATORS: Indicates that integrity check name is not known, +#. but the Check ID is known (here 2). In older xz version these +#. strings were limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "Unknown-2" +msgstr "Onbekend-2" + +#: src/xz/list.c +msgid "Unknown-3" +msgstr "Onbekend-3" + +#: src/xz/list.c +msgid "Unknown-5" +msgstr "Onbekend-5" + +#: src/xz/list.c +msgid "Unknown-6" +msgstr "Onbekend-6" + +#: src/xz/list.c +msgid "Unknown-7" +msgstr "Onbekend-8" + +#: src/xz/list.c +msgid "Unknown-8" +msgstr "Onbekend-9" + +#: src/xz/list.c +msgid "Unknown-9" +msgstr "Onbekend-10" + +#: src/xz/list.c +msgid "Unknown-11" +msgstr "Onbekend-11" + +#: src/xz/list.c +msgid "Unknown-12" +msgstr "Onbekend-12" + +#: src/xz/list.c +msgid "Unknown-13" +msgstr "Onbekend-13" + +#: src/xz/list.c +msgid "Unknown-14" +msgstr "Onbekend-14" + +#: src/xz/list.c +msgid "Unknown-15" +msgstr "Onbekend-15" + +#: src/xz/list.c +#, c-format +msgid "%s: File is empty" +msgstr "%s: Bestand is leeg" + +#: src/xz/list.c +#, c-format +msgid "%s: Too small to be a valid .xz file" +msgstr "%s: Te klein om een geldig .xz-bestand te zijn" + +#. 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 +msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" +msgstr "Strms Blokkn Gecomprim. Ongecomprim. Ratio Contrle Bestandsnaam" + +#: src/xz/list.c +msgid "Yes" +msgstr "Ja" + +#: src/xz/list.c +msgid "No" +msgstr "Nee" + +#: src/xz/list.c +msgid "Minimum XZ Utils version:" +msgstr "Minimale XZ-Utils-versie:" + +#. 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 +#, c-format +msgid "%s file\n" +msgid_plural "%s files\n" +msgstr[0] "%s bestand\n" +msgstr[1] "%s bestanden\n" + +#: src/xz/list.c +msgid "Totals:" +msgstr "Totalen:" + +#: src/xz/list.c +msgid "--list works only on .xz files (--format=xz or --format=auto)" +msgstr "'--list' werkt alleen voor .xz-bestanden (--format=xz of --format=auto)" + +#: src/xz/list.c +msgid "Try 'lzmainfo' with .lzma files." +msgstr "Probeer 'lzmainfo' met .lzma-bestanden." + +#: src/xz/list.c +msgid "--list does not support reading from standard input" +msgstr "'--list' is niet mogelijk bij lezen van standaardinvoer" + +#: src/xz/main.c +#, c-format +msgid "%s: Error reading filenames: %s" +msgstr "%s: Fout bij lezen van bestandsnamen: %s" + +#: src/xz/main.c +#, c-format +msgid "%s: Unexpected end of input when reading filenames" +msgstr "%s: Onverwacht einde van invoer tijdens lezen van bestandsnamen" + +#: src/xz/main.c +#, c-format +msgid "%s: Null character found when reading filenames; maybe you meant to use '--files0' instead of '--files'?" +msgstr "%s: NUL-teken gevonden bij lezen van bestandsnamen; misschien bedoelde u '--files0' i.p.v. '--files'?" + +#: src/xz/main.c +msgid "Compression and decompression with --robot are not supported yet." +msgstr "Compressie en decompressie met '--robot' worden nog niet ondersteund." + +#: src/xz/main.c +msgid "Cannot read data from standard input when reading filenames from standard input" +msgstr "Kan geen gegevens van standaardinvoer lezen wanneer bestandsnamen daarvan gelezen worden" + +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s: " +msgstr "%s: " + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "Internal error (bug)" +msgstr "** Interne fout (bug) **" + +#: src/xz/message.c +msgid "Cannot establish signal handlers" +msgstr "Kan signaalverwerkers niet instellen" + +#: src/xz/message.c +msgid "No integrity check; not verifying file integrity" +msgstr "Geen integriteitscontrole -- bestandsintegriteit wordt niet gecontroleerd" + +#: src/xz/message.c +msgid "Unsupported type of integrity check; not verifying file integrity" +msgstr "Niet-ondersteunde integriteitscontrole -- bestandsintegriteit wordt niet gecontroleerd" + +#: src/xz/message.c +msgid "Memory usage limit reached" +msgstr "Geheugengebruiksgrens is bereikt" + +#: src/xz/message.c +msgid "File format not recognized" +msgstr "Bestandsindeling niet herkend" + +#: src/xz/message.c +msgid "Unsupported options" +msgstr "Niet-ondersteunde opties" + +#: src/xz/message.c +msgid "Compressed data is corrupt" +msgstr "Gecomprimeerde gegevens zijn beschadigd" + +#: src/xz/message.c +msgid "Unexpected end of input" +msgstr "Onverwacht einde van invoer" + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limiter is disabled." +msgstr "%s MiB aan geheugen is nodig. De begrenzer is uitgeschakeld." + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limit is %s." +msgstr "%s MiB aan geheugen is nodig. De grens is %s." + +#: src/xz/message.c +#, c-format +msgid "%s: Filter chain: %s\n" +msgstr "%s: Filterketen: %s\n" + +#: src/xz/message.c +#, c-format +msgid "Try '%s --help' for more information." +msgstr "Typ '%s --help' voor meer informatie." + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Error printing the help text (error code %d)" +msgstr "Fout bij tonen van hulptekst (foutcode %d)" + +#: src/xz/message.c +#, c-format +msgid "Usage: %s [OPTION]... [FILE]...\n" +msgstr "Gebruikt: %s [OPTIE...] [BESTAND...]\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Compress or decompress FILEs in the .xz format." +msgstr "Comprimeert of decomprimeert BESTANDen in de .xz-indeling." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Mandatory arguments to long options are mandatory for short options too." +msgstr "(Een verplicht argument bij een lange optie geldt ook voor de korte vorm.)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Operation mode:" +msgstr " Werkingsmodus:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force compression" +msgstr "comprimeren" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force decompression" +msgstr "decomprimeren" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "test compressed file integrity" +msgstr "integriteit van gecomprimeerd bestand controleren" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "list information about .xz files" +msgstr "informatie tonen over .xz-bestanden" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Operation modifiers:" +msgstr "Werkingsaanpassers:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "keep (don't delete) input files" +msgstr "invoerbestanden behouden (niet verwijderen)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force overwrite of output file and (de)compress links" +msgstr "uitvoerbestand overschrijven, koppelingen (de)comprimeren" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "write to standard output and don't delete input files" +msgstr "naar standaarduitvoer schrijven, invoerbestanden behouden" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't synchronize the output file to the storage device before removing the input file" +msgstr "het uitvoerbestand niet met het opslagmedium synchroniseren alvorens het invoerbestand te verwijderen" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "decompress only the first stream, and silently ignore possible remaining input data" +msgstr "alleen de eerste stream decomprimeren, en stilzwijgend eventuele overige invoergegevens negeren" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "do not create sparse files when decompressing" +msgstr "geen bestanden met gaten aanmaken bij het decomprimeren" + +#: src/xz/message.c +msgid ".SUF" +msgstr ".EXT" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use the suffix '.SUF' on compressed files" +msgstr "deze extensie gebruiken voor gecomprimeerde bestanden" + +#: src/xz/message.c +msgid "FILE" +msgstr "BESTAND" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "read filenames to process from FILE; if FILE is omitted, filenames are read from the standard input; filenames must be terminated with the newline character" +msgstr "namen van te verwerken bestanden uit dit BESTAND halen; als BESTAND weggelaten wordt, dan worden de namen van standaardinvoer gelezen; elke naam moet afgesloten worden met een nieuweregelteken" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "like --files but use the null character as terminator" +msgstr "zoals '--files' maar met het NUL-teken als naamsafsluiting" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Basic file format and compression options:" +msgstr "Bestandsindeling- en compressie-opties:" + +#: src/xz/message.c +msgid "FORMAT" +msgstr "INDELING" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "file format to encode or decode; possible values are 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'" +msgstr "te coderen of decoderen bestandsindeling; mogelijke waarden zijn 'auto' (standaard), 'xz', 'lzma', 'lzip', en 'raw'" + +#: src/xz/message.c +msgid "NAME" +msgstr "NAAM" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "integrity check type: 'none' (use with caution), 'crc32', 'crc64' (default), or 'sha256'" +msgstr "soort integriteitscontrole: 'none' (ontraden), 'crc32', 'crc64' (standaard), of 'sha256'" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't verify the integrity check when decompressing" +msgstr "geen integriteitscontrole doen tijdens decomprimeren" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression preset; default is 6; take compressor *and* decompressor memory usage into account before using 7-9!" +msgstr "compressiegraad (standaard is 6); denk aan geheugengebruik van compressor *en* decompressor alvorens 7-9 te gebruiken" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "try to improve compression ratio by using more CPU time; does not affect decompressor memory requirements" +msgstr "compressieratio verbeteren met meer processortijd; heeft geen invloed op het geheugengebruik bij decompressie" + +#. TRANSLATORS: Short for NUMBER. A longer string is fine but +#. wider than 5 columns makes --long-help a few lines longer. +#: src/xz/message.c +msgid "NUM" +msgstr "GETAL" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use at most NUM threads; the default is 0 which uses as many threads as there are processor cores" +msgstr "" +"maximaal dit aantal threads gebruiken; standaard is 0,\n" +"wat zoveel threads als er processorkernen zijn betekent" + +#: src/xz/message.c +msgid "SIZE" +msgstr "GROOTTE" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after every SIZE bytes of input; use this to set the block size for threaded compression" +msgstr "een nieuw .xz-blok beginnen na steeds dit aantal invoerbytes; gebruik dit om de blokgrootte voor threaded compressie in te stellen" + +#: src/xz/message.c +msgid "BLOCKS" +msgstr "BLOKKEN" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after the given comma-separated intervals of uncompressed data; optionally, specify a filter chain number (0-9) followed by a ':' before the uncompressed data size" +msgstr "een nieuw .xz-blok beginnen na deze komma-gescheiden groottes van ongecomprimeerde gegevens; geef eventueel het filterketennummer op (0-9) gevolgd door ':' vóór een gegeven grootte" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "when compressing, if more than NUM milliseconds has passed since the previous flush and reading more input would block, all pending data is flushed out" +msgstr "als tijdens compressie meer dan dit aantal milliseconden voorbijgegaan is sinds de vorige doorspoeling, en het lezen van meer gegevens zou blokkeren, dan alle wachtende gegevens doorspoelen" + +#: src/xz/message.c +msgid "LIMIT" +msgstr "GRENS" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, no-c-format +msgid "set memory usage limit for compression, decompression, threaded decompression, or all of these; LIMIT is in bytes, % of RAM, or 0 for defaults" +msgstr "de geheugengebruiksgrens instellen voor compressie, decompressie, threaded decompressie, of allemaal; GRENS is in bytes, % van RAM, of 0 voor de standaardwaarden" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "if compression settings exceed the memory usage limit, give an error instead of adjusting the settings downwards" +msgstr "als compressie-instellingen de geheugengebruiksgrens overschrijden, een fout melden i.p.v. de instellingen te verlagen" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Custom filter chain for compression (an alternative to using presets):" +msgstr "Aangepaste filterketen voor compressie (een alternatief voor compressiegraden):" + +#: src/xz/message.c +msgid "FILTERS" +msgstr "FILTERS" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set the filter chain using the liblzma filter string syntax; use --filters-help for more information" +msgstr "de filterketen instellen met de liblzma-filtersyntax; gebruik '--filters-help' voor meer informatie" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set additional filter chains using the liblzma filter string syntax to use with --block-list" +msgstr "extra filterketens instellen met de liblzma-filtersyntax te gebruiken met '--block-list'" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display more information about the liblzma filter string syntax and exit" +msgstr "meer informatie over de liblzma-filtersyntax tonen en stoppen" + +#. TRANSLATORS: Short for OPTIONS. +#: src/xz/message.c +msgid "OPTS" +msgstr "INSTEL" + +#. TRANSLATORS: Use semicolon (or its fullwidth form) +#. in "(valid values; default)" even if it is weird in +#. your language. There are non-translatable strings +#. that look like "(foo, bar, baz; foo)" which list +#. the supported values and the default value. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "LZMA1 or LZMA2; OPTS is a comma-separated list of zero or more of the following options (valid values; default):" +msgstr "LZMA1 of LZMA2; INSTEL is een komma-gescheiden lijst van nul of meer van de volgende opties (geldige waarden; standaard):" + +#. TRANSLATORS: Short for PRESET. A longer string is +#. fine but wider than 4 columns makes --long-help +#. one line longer. +#: src/xz/message.c +msgid "PRE" +msgstr "GRAAD" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "reset options to a preset" +msgstr "opties terugstellen op een voorinstelling" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "dictionary size" +msgstr "woordenboekgrootte" + +#. TRANSLATORS: The word "literal" in "literal context +#. bits" means how many "context bits" to use when +#. encoding literals. A literal is a single 8-bit +#. byte. It doesn't mean "literally" here. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal context bits" +msgstr "aantal contextbits per byte" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal position bits" +msgstr "aantal positiebits per byte" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of position bits" +msgstr "aantal positiebits" + +#: src/xz/message.c +msgid "MODE" +msgstr "MODUS" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression mode" +msgstr "compressiemodus" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "nice length of a match" +msgstr "mooie lengte van overeenkomst" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "match finder" +msgstr "overeenkomstzoeker" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "maximum search depth; 0=automatic (default)" +msgstr "maximum zoekdiepte; 0=automatisch (standaard)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "x86 BCJ filter (32-bit and 64-bit)" +msgstr "x86 BCJ-filter (32-bit en 64-bit)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM BCJ filter" +msgstr "ARM BCJ-filter" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM-Thumb BCJ filter" +msgstr "ARM-Thumb BCJ-filter" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM64 BCJ filter" +msgstr "ARM64 BCJ-filter" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "PowerPC BCJ filter (big endian only)" +msgstr "PowerPC BCJ-filter (alleen big endian)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "IA-64 (Itanium) BCJ filter" +msgstr "IA-64 (Itanium) BCJ-filter" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "SPARC BCJ filter" +msgstr "SPARC BCJ-filter" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "RISC-V BCJ filter" +msgstr "RISC-V BCJ-filter" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Valid OPTS for all BCJ filters:" +msgstr "Geldige INSTEL voor alle BCJ-filters:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start offset for conversions (default=0)" +msgstr "beginpunt voor conversies (standaard=0)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Delta filter; valid OPTS (valid values; default):" +msgstr "Delta-filter; geldige INSTEL (geldige waarden; standaard):" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "distance between bytes being subtracted from each other" +msgstr "afstand tussen bytes die van elkaar afgetrokken worden" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Other options:" +msgstr "Andere opties:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "suppress warnings; specify twice to suppress errors too" +msgstr "waarschuwingen onderdrukken; -q -q onderdrukt ook fouten" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "be verbose; specify twice for even more verbose" +msgstr "melden wat er gedaan wordt; -v -v geeft nog meer info" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "make warnings not affect the exit status" +msgstr "waarschuwingen de afsluitwaarde niet laten beïnvloeden" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use machine-parsable messages (useful for scripts)" +msgstr "meldingen in machine-opmaak geven (nuttig voor scripts)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the total amount of RAM and the currently active memory usage limits, and exit" +msgstr "de totale hoeveelheid RAM en de actieve geheugengebruiksgrenzen tonen en stoppen" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the short help (lists only the basic options)" +msgstr "korte hulptekst tonen (met alleen basisopties)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this long help and exit" +msgstr "deze lange hulptekst tonen en stoppen" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this short help and exit" +msgstr "deze korte hulptekst tonen en stoppen" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the long help (lists also the advanced options)" +msgstr "lange hulptekst tonen (met ook geavanceerde opties)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the version number and exit" +msgstr "versienummer tonen en stoppen" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "With no FILE, or when FILE is -, read standard input." +msgstr "Zonder BESTAND, of wanneer BESTAND '-' is, wordt standaardinvoer gelezen." + +#. TRANSLATORS: This message indicates the bug reporting +#. address for this package. Please add another line saying +#. "\nReport translation bugs to <...>." with the email or WWW +#. address for translation bugs. Thanks! +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Report bugs to <%s> (in English or Finnish)." +msgstr "" +"Rapporteer programmagebreken aan <%s> (in het Engels);\n" +"meld fouten in de vertaling aan ." + +#. TRANSLATORS: The first %s is the name of this software. +#. The second <%s> is an URL. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s home page: <%s>" +msgstr "Webpagina van %s: <%s>" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE." +msgstr "DIT IS een ONTWIKKELINGSVERSIE -- NIET BEDOELD voor WERKELIJK GEBRUIK." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, c-format +msgid "Filter chains are set using the --filters=FILTERS or --filters1=FILTERS ... --filters9=FILTERS options. Each filter in the chain can be separated by spaces or '--'. Alternatively a preset %s can be specified instead of a filter chain." +msgstr "Filterketens worden ingesteld met de opties '--filters=FILTERS' of '--filters1=FILTERS ... --filters9=FILTERS'. Elk filter in de keten kan gescheiden worden door spaties of '--'. In plaats van een filterketen kan ook een voorinstelling %s gegeven worden." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "The supported filters and their options are:" +msgstr "Ondersteunde filters en hun opties zijn:" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "Options must be 'name=value' pairs separated with commas" +msgstr "Opties moeten 'naam=waarde'-paren zijn, gescheiden door komma's" + +#: src/xz/options.c +#, c-format +msgid "%s: Invalid option name" +msgstr "%s: Ongeldige optienaam" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "Invalid option value" +msgstr "Ongeldige optiewaarde" + +#: src/xz/options.c +#, c-format +msgid "Unsupported LZMA1/LZMA2 preset: %s" +msgstr "Niet-ondersteunde LZMA1/LZMA2-voorinstelling: %s" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "The sum of lc and lp must not exceed 4" +msgstr "De som van lc en lp mag niet groter zijn dan 4" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Filename has an unknown suffix, skipping" +msgstr "%s: Bestand heeft onbekende extensie -- overgeslagen" + +#: src/xz/suffix.c +#, c-format +msgid "%s: File already has '%s' suffix, skipping" +msgstr "%s: Bestand heeft al '%s'-extensie -- overgeslagen" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Invalid filename suffix" +msgstr "%s: Ongeldige bestandsnaamextensie" + +#: src/xz/util.c src/liblzma/common/string_conversion.c +msgid "Value is not a non-negative decimal integer" +msgstr "Waarde is geen niet-negatief tientallig geheel getal" + +#: src/xz/util.c +#, c-format +msgid "%s: Invalid multiplier suffix" +msgstr "%s: Ongeldig vermenigvuldigingsachtervoegsel" + +#: src/xz/util.c +msgid "Valid suffixes are 'KiB' (2^10), 'MiB' (2^20), and 'GiB' (2^30)." +msgstr "Geldige achtervoegsels zijn 'KiB' (2^10), 'MiB' (2^20), and 'GiB' (2^30)." + +#: src/xz/util.c +#, c-format +msgid "Value of the option '%s' must be in the range [%, %]" +msgstr "Waarde van optie '%s' moet in het bereik [%, %] liggen" + +#: src/xz/util.c +msgid "Compressed data cannot be read from a terminal" +msgstr "Gecomprimeerde gegevens kunnen niet van een terminal gelezen worden" + +#: src/xz/util.c +msgid "Compressed data cannot be written to a terminal" +msgstr "Gecomprimeerde gegevens kunnen niet naar een terminal geschreven worden" + +#: src/lzmainfo/lzmainfo.c +#, c-format +msgid "Usage: %s [--help] [--version] [FILE]...\n" +msgstr "Gebruik: %s [--help] [--version] [BESTAND...]\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/lzmainfo/lzmainfo.c +msgid "Show information stored in the .lzma file header." +msgstr "Toont informatie uit de .lzma-bestandskop." + +#: src/lzmainfo/lzmainfo.c +msgid "File is too small to be a .lzma file" +msgstr "Bestand is te klein om een .lzma-bestand te zijn" + +#: src/lzmainfo/lzmainfo.c +msgid "Not a .lzma file" +msgstr "Geen .lzma-bestand" + +#: src/common/tuklib_exit.c +msgid "Writing to standard output failed" +msgstr "Schrijven naar standaarduitvoer is mislukt" + +#: src/common/tuklib_exit.c +msgid "Unknown error" +msgstr "Onbekende fout" + +#: src/liblzma/common/string_conversion.c +msgid "Unsupported preset" +msgstr "Niet-ondersteunde voorinstelling" + +#: src/liblzma/common/string_conversion.c +msgid "Unsupported flag in the preset" +msgstr "Niet-ondersteunde vlag in voorinstelling" + +#: src/liblzma/common/string_conversion.c +msgid "Unknown option name" +msgstr "Ongeldige optienaam" + +#: src/liblzma/common/string_conversion.c +msgid "Option value cannot be empty" +msgstr "Optiewaarde mag niet leeg zijn" + +#: src/liblzma/common/string_conversion.c +msgid "Value out of range" +msgstr "Waarde ligt buiten bereik" + +#: src/liblzma/common/string_conversion.c +msgid "This option does not support any multiplier suffixes" +msgstr "Deze optie accepteert geen vermenigvuldigingsachtervoegsels" + +#. TRANSLATORS: Don't translate the +#. suffixes "KiB", "MiB", or "GiB" +#. because a user can only specify +#. untranslated suffixes. +#: src/liblzma/common/string_conversion.c +msgid "Invalid multiplier suffix (KiB, MiB, or GiB)" +msgstr "Ongeldig vermenigvuldigingsachtervoegsel (KiB, MiB, of GiB)" + +#: src/liblzma/common/string_conversion.c +msgid "Unknown filter name" +msgstr "Onbekende filternaam" + +#: src/liblzma/common/string_conversion.c +msgid "This filter cannot be used in the .xz format" +msgstr "Dit filter kan niet gebruikt worden met de .xz-indeling" + +#: src/liblzma/common/string_conversion.c +msgid "Memory allocation failed" +msgstr "Onvoldoende geheugen beschikbaar" + +#: src/liblzma/common/string_conversion.c +msgid "Empty string is not allowed, try '6' if a default value is needed" +msgstr "Lege tekenreeks is niet toegestaan; probeer '6' als een standaardwaarde nodig is" + +#: src/liblzma/common/string_conversion.c +msgid "The maximum number of filters is four" +msgstr "Het maximum aantal filters is vier" + +#: src/liblzma/common/string_conversion.c +msgid "Filter name is missing" +msgstr "Ontbrekende filternaam" + +#: src/liblzma/common/string_conversion.c +msgid "Invalid filter chain ('lzma2' missing at the end?)" +msgstr "Ongeldige filterketen (ontbreekt 'lzma2' aan het eind?)" diff --git a/src/native/external/xz/po/pl.po b/src/native/external/xz/po/pl.po new file mode 100644 index 00000000000000..f10f21ec50e9a2 --- /dev/null +++ b/src/native/external/xz/po/pl.po @@ -0,0 +1,1266 @@ +# SPDX-License-Identifier: 0BSD +# +# Polish translation for xz. +# This file is published under the BSD Zero Clause License. +# Jakub Bogusz , 2011-2025. +# +msgid "" +msgstr "" +"Project-Id-Version: xz 5.7.1-dev1\n" +"Report-Msgid-Bugs-To: xz@tukaani.org\n" +"POT-Creation-Date: 2025-01-29 20:59+0200\n" +"PO-Revision-Date: 2025-02-08 08:02+0100\n" +"Last-Translator: Jakub Bogusz \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#: src/xz/args.c +#, c-format +msgid "%s: Invalid argument to --block-list" +msgstr "%s: Błędny argument dla --block-list" + +#: src/xz/args.c +#, c-format +msgid "%s: Too many arguments to --block-list" +msgstr "%s: Zbyt dużo argumentów dla --block-list" + +#: src/xz/args.c +#, c-format +msgid "In --block-list, block size is missing after filter chain number '%c:'" +msgstr "W --block-list brakuje rozmiaru bloku po numerze łańcucha filtrów „%c:”" + +#: src/xz/args.c +msgid "0 can only be used as the last element in --block-list" +msgstr "0 w --block-list może być użyte wyłącznie jako ostatni element" + +#: src/xz/args.c +#, c-format +msgid "%s: Unknown file format type" +msgstr "%s: Nieznany typ formatu pliku" + +#: src/xz/args.c +#, c-format +msgid "%s: Unsupported integrity check type" +msgstr "%s: Nieobsługiwany typ kontroli spójności" + +#: src/xz/args.c +msgid "Only one file can be specified with '--files' or '--files0'." +msgstr "Wraz z opcją „--files” lub „--files0” można podać tylko jeden plik." + +#. TRANSLATORS: This is a translatable +#. string because French needs a space +#. before the colon ("%s : %s"). +#: src/xz/args.c src/xz/coder.c src/xz/file_io.c src/xz/list.c src/xz/options.c +#: src/xz/util.c +#, c-format +msgid "%s: %s" +msgstr "%s: %s" + +#: src/xz/args.c +#, c-format +msgid "The environment variable %s contains too many arguments" +msgstr "Zmienna środowiskowa %s zawiera zbyt dużo argumentów" + +#: src/xz/args.c +msgid "Compression support was disabled at build time" +msgstr "Obsługa kompresji została wyłączona na etapie budowania" + +#: src/xz/args.c +msgid "Decompression support was disabled at build time" +msgstr "Obsługa dekompresji została wyłączona na etapie budowania" + +#: src/xz/args.c +msgid "Compression of lzip files (.lz) is not supported" +msgstr "Kompresja plików lzip (.lz) nie jest obsługiwana" + +#: src/xz/args.c +msgid "--block-list is ignored unless compressing to the .xz format" +msgstr "--block-list jest ignorowane poza kompresją do formatu .xz" + +#: src/xz/args.c +msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout" +msgstr "Przy użyciu --format=raw i zapisie do pliku wymagana jest opcja --suffix=.ROZ" + +#: src/xz/coder.c +msgid "Maximum number of filters is four" +msgstr "Maksymalna liczba filtrów to cztery" + +#: src/xz/coder.c +#, c-format +msgid "Error in --filters%s=FILTERS option:" +msgstr "Błąd w opcji --filters%s=FILTRY:" + +#: src/xz/coder.c +msgid "Memory usage limit is too low for the given filter setup." +msgstr "Limit użycia pamięci jest zbyt mały dla podanej konfiguracji filtra." + +#: src/xz/coder.c +#, c-format +msgid "filter chain %u used by --block-list but not specified with --filters%u=" +msgstr "łańcuch filtrów %u użyty w --block-list, ale nie podany przez --filters%u=" + +#: src/xz/coder.c +msgid "Using a preset in raw mode is discouraged." +msgstr "Używanie ustawień predefiniowanych w trybie surowym jest odradzane." + +#: src/xz/coder.c +msgid "The exact options of the presets may vary between software versions." +msgstr "Dokładne opcje ustawień predefiniowanych mogą różnić się między wersjami oprogramowania." + +#: src/xz/coder.c +msgid "The .lzma format supports only the LZMA1 filter" +msgstr "Format .lzma obsługuje tylko filtr LZMA1" + +#: src/xz/coder.c +msgid "LZMA1 cannot be used with the .xz format" +msgstr "LZMA1 nie może być używany z formatem .xz" + +#: src/xz/coder.c +#, c-format +msgid "Filter chain %u is incompatible with --flush-timeout" +msgstr "Łańcuch filtrów %u jest niezgodny z --flush-timeout" + +#: src/xz/coder.c +msgid "Switching to single-threaded mode due to --flush-timeout" +msgstr "Przełączanie w tryb jednowątkowy z powodu --flush-timeout" + +#: src/xz/coder.c +#, c-format +msgid "Unsupported options in filter chain %u" +msgstr "Nieobsługiwane opcje w łańcuchu filtrów %u" + +#: src/xz/coder.c +#, c-format +msgid "Using up to % threads." +msgstr "Maksymalna liczba używanych wątków: %." + +#: src/xz/coder.c +msgid "Unsupported filter chain or filter options" +msgstr "Nieobsługiwany łańcuch filtrów lub opcje filtra" + +#: src/xz/coder.c +#, c-format +msgid "Decompression will need %s MiB of memory." +msgstr "Dekompresja będzie wymagała %s MiB pamięci." + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to %s to not exceed the memory usage limit of %s MiB" +msgstr "Zmniejszono liczbę wątków z %s do %s, aby nie przekroczyć limitu użycia pamięci %s MiB" + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to one. The automatic memory usage limit of %s MiB is still being exceeded. %s MiB of memory is required. Continuing anyway." +msgstr "Zmniejszono liczbę wątków z %s do jednego. Automatyczny limit użycia pamięci %s MiB jest nadal przekroczony - wymagane jest %s MiB. Kontynuacja mimo to." + +#: src/xz/coder.c +#, c-format +msgid "Switching to single-threaded mode to not exceed the memory usage limit of %s MiB" +msgstr "Przełączenie w tryb jednowątkowy, aby nie przekroczyć limitu użycia pamięci %s MiB" + +#: src/xz/coder.c +#, 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 "Skorygowano rozmiar słownika LZMA%c z %s MiB do %s MiB aby nie przekroczyć limitu użycia pamięci %s MiB" + +#: src/xz/coder.c +#, c-format +msgid "Adjusted LZMA%c dictionary size for --filters%u from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgstr "Skorygowano rozmiar słownika LZMA%c dla --filters%u z %s MiB do %s MiB, aby nie przekroczyć limitu użycia pamięci %s MiB" + +#: src/xz/coder.c +#, c-format +msgid "Error changing to filter chain %u: %s" +msgstr "Błąd podczas zmiany w łańcuchu filtrów %u: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error creating a pipe: %s" +msgstr "Błąd tworzenia potoku: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: poll() failed: %s" +msgstr "%s: poll() nie powiodło się: %s" + +#. 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 +#, c-format +msgid "%s: File seems to have been moved, not removing" +msgstr "%s: Plik wygląda na przeniesiony, nie zostanie usunięty" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot remove: %s" +msgstr "%s: Nie można usunąć: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file owner: %s" +msgstr "%s: Nie można ustawić właściciela pliku: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file group: %s" +msgstr "%s: Nie można ustawić grupy pliku: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file permissions: %s" +msgstr "%s: Nie można ustawić uprawnień pliku: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Synchronizing the file failed: %s" +msgstr "%s: Synchronizacja pliku nie powiodła się: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Synchronizing the directory of the file failed: %s" +msgstr "%s: Synchronizacja katalogu z plikiem nie powiodła się: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard input: %s" +msgstr "Błąd podczas pobierania flag stanu pliku ze standardowego wejścia: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a symbolic link, skipping" +msgstr "%s: Jest dowiązaniem symbolicznym, pominięto" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a directory, skipping" +msgstr "%s: Jest katalogiem, pominięto" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Not a regular file, skipping" +msgstr "%s: Nie jest zwykłym plikiem, pominięto" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has setuid or setgid bit set, skipping" +msgstr "%s: Plik ma ustawiony bit setuid lub setgid, pominięto" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has sticky bit set, skipping" +msgstr "%s: Plik ma ustawiony bit sticky, pominięto" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Input file has more than one hard link, skipping" +msgstr "%s: Plik wejściowy ma więcej niż jedno dowiązanie zwykłe, pominięto" + +#: src/xz/file_io.c +msgid "Empty filename, skipping" +msgstr "Pusta nazwa pliku, pominięto" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the status flags to standard input: %s" +msgstr "Błąd podczas odtwarzania flag stanu dla standardowego wejścia: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard output: %s" +msgstr "Błąd podczas pobierania flag stanu pliku ze standardowego wyjścia: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Opening the directory failed: %s" +msgstr "%s: Otwarcie katalogu nie powiodło się: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Destination is not a regular file" +msgstr "%s: Cel nie jest zwykłym plikiem" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the O_APPEND flag to standard output: %s" +msgstr "Błąd podczas odtwarzania flagi O_APPEND dla standardowego wyjścia: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Closing the file failed: %s" +msgstr "%s: Zamknięcie pliku nie powiodło się: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Seeking failed when trying to create a sparse file: %s" +msgstr "%s: Zmiana pozycji nie powiodła się podczas próby utworzenia pliku rzadkiego: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Read error: %s" +msgstr "%s: Błąd odczytu: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Error seeking the file: %s" +msgstr "%s: Błąd podczas zmiany pozycji w pliku: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Unexpected end of file" +msgstr "%s: Nieoczekiwany koniec pliku" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Write error: %s" +msgstr "%s: Błąd zapisu: %s" + +#: src/xz/hardware.c +msgid "Disabled" +msgstr "Wyłączony" + +#: src/xz/hardware.c +msgid "Amount of physical memory (RAM):" +msgstr "Rozmiar pamięci fizycznej (RAM):" + +#: src/xz/hardware.c +msgid "Number of processor threads:" +msgstr "Liczba wątków procesora:" + +#: src/xz/hardware.c +msgid "Compression:" +msgstr "Kompresja:" + +#: src/xz/hardware.c +msgid "Decompression:" +msgstr "Dekompresja:" + +#: src/xz/hardware.c +msgid "Multi-threaded decompression:" +msgstr "Dekompresja wielowątkowa:" + +#: src/xz/hardware.c +msgid "Default for -T0:" +msgstr "Domyślnie dla -T0:" + +#: src/xz/hardware.c +msgid "Hardware information:" +msgstr "Informacje o sprzęcie:" + +#: src/xz/hardware.c +msgid "Memory usage limits:" +msgstr "Limity użycia pamięci" + +#: src/xz/list.c +msgid "Streams:" +msgstr "Strumienie:" + +#: src/xz/list.c +msgid "Blocks:" +msgstr "Bloki:" + +#: src/xz/list.c +msgid "Compressed size:" +msgstr "Rozmiar spakowany:" + +#: src/xz/list.c +msgid "Uncompressed size:" +msgstr "Rozmiar rozpakowany:" + +#: src/xz/list.c +msgid "Ratio:" +msgstr "Współczynnik:" + +#: src/xz/list.c +msgid "Check:" +msgstr "Kontrola spójności:" + +#: src/xz/list.c +msgid "Stream Padding:" +msgstr "Wyrównanie strumienia:" + +#: src/xz/list.c +msgid "Memory needed:" +msgstr "Wymagana pamięć:" + +#: src/xz/list.c +msgid "Sizes in headers:" +msgstr "Rozmiar w nagłówkach:" + +#: src/xz/list.c +msgid "Number of files:" +msgstr "Liczba plików:" + +#: src/xz/list.c +msgid "Stream" +msgstr "Strumień" + +#: src/xz/list.c +msgid "Block" +msgstr "Blok" + +#: src/xz/list.c +msgid "Blocks" +msgstr "Bloki" + +#: src/xz/list.c +msgid "CompOffset" +msgstr "Offset spak." + +#: src/xz/list.c +msgid "UncompOffset" +msgstr "Offset rozp." + +#: src/xz/list.c +msgid "CompSize" +msgstr "Rozm.spak." + +#: src/xz/list.c +msgid "UncompSize" +msgstr "Rozm.rozp." + +#: src/xz/list.c +msgid "TotalSize" +msgstr "Rozm.całk." + +#: src/xz/list.c +msgid "Ratio" +msgstr "Wsp." + +#: src/xz/list.c +msgid "Check" +msgstr "Kontrola" + +#: src/xz/list.c +msgid "CheckVal" +msgstr "S.kontr." + +#: src/xz/list.c +msgid "Padding" +msgstr "Wyrównanie" + +#: src/xz/list.c +msgid "Header" +msgstr "Nagłówek" + +#: src/xz/list.c +msgid "Flags" +msgstr "Flagi" + +#: src/xz/list.c +msgid "MemUsage" +msgstr "Uż.pamięci" + +#: src/xz/list.c +msgid "Filters" +msgstr "Filtry" + +#. TRANSLATORS: Indicates that there is no integrity check. +#. This string is used in tables. In older xz version this +#. string was limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "None" +msgstr "Brak" + +#. TRANSLATORS: Indicates that integrity check name is not known, +#. but the Check ID is known (here 2). In older xz version these +#. strings were limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "Unknown-2" +msgstr "Nieznany-2" + +#: src/xz/list.c +msgid "Unknown-3" +msgstr "Nieznany-3" + +#: src/xz/list.c +msgid "Unknown-5" +msgstr "Nieznany-5" + +#: src/xz/list.c +msgid "Unknown-6" +msgstr "Nieznany-6" + +#: src/xz/list.c +msgid "Unknown-7" +msgstr "Nieznany-7" + +#: src/xz/list.c +msgid "Unknown-8" +msgstr "Nieznany-8" + +#: src/xz/list.c +msgid "Unknown-9" +msgstr "Nieznany-9" + +#: src/xz/list.c +msgid "Unknown-11" +msgstr "Nieznany11" + +#: src/xz/list.c +msgid "Unknown-12" +msgstr "Nieznany12" + +#: src/xz/list.c +msgid "Unknown-13" +msgstr "Nieznany13" + +#: src/xz/list.c +msgid "Unknown-14" +msgstr "Nieznany14" + +#: src/xz/list.c +msgid "Unknown-15" +msgstr "Nieznany15" + +#: src/xz/list.c +#, c-format +msgid "%s: File is empty" +msgstr "%s: Plik jest pusty" + +#: src/xz/list.c +#, c-format +msgid "%s: Too small to be a valid .xz file" +msgstr "%s: Za mały na poprawny plik .xz" + +#. 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 +msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" +msgstr "Strum. Bloki Spakowany Rozpakowany Wsp. Kontrola Nazwa pliku" + +#: src/xz/list.c +msgid "Yes" +msgstr "Tak" + +#: src/xz/list.c +msgid "No" +msgstr "Nie" + +#: src/xz/list.c +msgid "Minimum XZ Utils version:" +msgstr "Minimalna wersja XZ Utils:" + +#. 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 +#, c-format +msgid "%s file\n" +msgid_plural "%s files\n" +msgstr[0] "%s plik\n" +msgstr[1] "%s pliki\n" +msgstr[2] "%s plików\n" + +#: src/xz/list.c +msgid "Totals:" +msgstr "Sumarycznie:" + +#: src/xz/list.c +msgid "--list works only on .xz files (--format=xz or --format=auto)" +msgstr "--list działa tylko z plikami .xz (--format=xz lub --format=auto)" + +#: src/xz/list.c +msgid "Try 'lzmainfo' with .lzma files." +msgstr "Proszę spróbować „lzmainfo” z plikami .lzma." + +#: src/xz/list.c +msgid "--list does not support reading from standard input" +msgstr "--list nie obsługuje odczytu ze standardowego wejścia" + +#: src/xz/main.c +#, c-format +msgid "%s: Error reading filenames: %s" +msgstr "%s: Błąd odczytu nazw plików: %s" + +#: src/xz/main.c +#, c-format +msgid "%s: Unexpected end of input when reading filenames" +msgstr "%s: Nieoczekiwany koniec wejścia podczas odczytu nazw plików" + +#: src/xz/main.c +#, c-format +msgid "%s: Null character found when reading filenames; maybe you meant to use '--files0' instead of '--files'?" +msgstr "%s: Napotkano znak NUL podczas odczytu nazw plików; może miało być „--files0” zamiast „--files”?" + +#: src/xz/main.c +msgid "Compression and decompression with --robot are not supported yet." +msgstr "Kompresja i dekompresja z opcją --robot nie jest jeszcze obsługiwana." + +#: src/xz/main.c +msgid "Cannot read data from standard input when reading filenames from standard input" +msgstr "Nie można odczytać danych ze standardowego wejścia przy czytaniu nazw plików ze standardowego wejścia" + +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s: " +msgstr "%s: " + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "Internal error (bug)" +msgstr "Błąd wewnętrzny" + +#: src/xz/message.c +msgid "Cannot establish signal handlers" +msgstr "Nie można ustawić obsługi sygnałów" + +#: src/xz/message.c +msgid "No integrity check; not verifying file integrity" +msgstr "Brak kontroli spójności; poprawność plików nie będzie weryfikowana" + +#: src/xz/message.c +msgid "Unsupported type of integrity check; not verifying file integrity" +msgstr "Nieobsługiwany typ kontroli spójności; poprawność plików nie będzie weryfikowana" + +#: src/xz/message.c +msgid "Memory usage limit reached" +msgstr "Osiągnięto limit użycia pamięci" + +#: src/xz/message.c +msgid "File format not recognized" +msgstr "Nie rozpoznany format pliku" + +#: src/xz/message.c +msgid "Unsupported options" +msgstr "Nieobsługiwane opcje" + +#: src/xz/message.c +msgid "Compressed data is corrupt" +msgstr "Dane skompresowane są uszkodzone" + +#: src/xz/message.c +msgid "Unexpected end of input" +msgstr "Nieoczekiwany koniec wejścia" + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limiter is disabled." +msgstr "Wymagane jest %s MiB pamięci. Limit jest wyłączony." + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limit is %s." +msgstr "Wymagane jest %s MiB pamięci. Limit to %s." + +#: src/xz/message.c +#, c-format +msgid "%s: Filter chain: %s\n" +msgstr "%s: Łańcuch filtrów: %s\n" + +#: src/xz/message.c +#, c-format +msgid "Try '%s --help' for more information." +msgstr "Polecenie „%s --help” pokaże więcej informacji." + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Error printing the help text (error code %d)" +msgstr "Błąd podczas wypisywania tekstu pomocy (kod błędu %d)" + +#: src/xz/message.c +#, c-format +msgid "Usage: %s [OPTION]... [FILE]...\n" +msgstr "Składnia: %s [OPCJA]... [PLIK]...\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Compress or decompress FILEs in the .xz format." +msgstr "Kompresja lub dekompresja PLIKÓW w formacie .xz." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Mandatory arguments to long options are mandatory for short options too." +msgstr "Argumenty obowiązkowe dla opcji długich są obowiązkowe również dla opcji krótkich." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Operation mode:" +msgstr "Tryb pracy:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force compression" +msgstr "wymuszenie kompresji" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force decompression" +msgstr "wymuszenie dekompresji" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "test compressed file integrity" +msgstr "sprawdzenie integralności plików skompresowanych" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "list information about .xz files" +msgstr "wypisanie informacji o plikach .xz" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Operation modifiers:" +msgstr "Modyfikatory operacji:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "keep (don't delete) input files" +msgstr "zachowanie (nieusuwanie) plików wejściowych" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force overwrite of output file and (de)compress links" +msgstr "nadpisywanie plików wyjściowych i (de)kompresja dowiązań" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "write to standard output and don't delete input files" +msgstr "zapis na standardowe wyjście, nieusuwanie plików wejściowych" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't synchronize the output file to the storage device before removing the input file" +msgstr "bez synchronizacji plików wyjściowych na urządzenie przechowujące przed usunięciem pliku wejściowego" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "decompress only the first stream, and silently ignore possible remaining input data" +msgstr "dekompresja tylko pierwszego strumienia, ciche zignorowanie pozostałych danych wejściowych" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "do not create sparse files when decompressing" +msgstr "nietworzenie plików rzadkich podczas dekompresji" + +#: src/xz/message.c +msgid ".SUF" +msgstr ".ROZ" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use the suffix '.SUF' on compressed files" +msgstr "użycie rozszerzenia „.ROZ” dla plików skompresowanych" + +#: src/xz/message.c +msgid "FILE" +msgstr "PLIK" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "read filenames to process from FILE; if FILE is omitted, filenames are read from the standard input; filenames must be terminated with the newline character" +msgstr "odczyt nazw plików do przetworzenia z PLIKU; jeśli PLIK nie został podany, nazwy są czytane ze standardowego wejścia; muszą być zakończone znakiem nowej linii" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "like --files but use the null character as terminator" +msgstr "podobnie do --files, ale znakiem kończącym musi być NUL" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Basic file format and compression options:" +msgstr "Podstawowe opcje formatu pliku i kompresji:" + +#: src/xz/message.c +msgid "FORMAT" +msgstr "FORMAT" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "file format to encode or decode; possible values are 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'" +msgstr "format pliku do kodowania lub dekodowania; możliwe to „auto” (domyślny), „xz”, „lzma”, „lzip” i „raw”" + +#: src/xz/message.c +msgid "NAME" +msgstr "NAZWA" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "integrity check type: 'none' (use with caution), 'crc32', 'crc64' (default), or 'sha256'" +msgstr "typ kontroli spójności: „none” (ostrożnie!), „crc32”, „crc64” (domyślny) lub „sha256”" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't verify the integrity check when decompressing" +msgstr "bez kontroli sprawdzania integralności przy dekompresji" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression preset; default is 6; take compressor *and* decompressor memory usage into account before using 7-9!" +msgstr "predefiniowane opcje kompresji; domyślna to 6; przed użyciem wartości 7-9 należy wziąć pod uwagę wykorzystanie pamięci przy kompresji *oraz* dekompresji!" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "try to improve compression ratio by using more CPU time; does not affect decompressor memory requirements" +msgstr "próba poprawy współczynnika kompresji z użyciem większej ilości czasu procesora; nie wpływa na wymagania pamięciowe dekompresora" + +#. TRANSLATORS: Short for NUMBER. A longer string is fine but +#. wider than 5 columns makes --long-help a few lines longer. +#: src/xz/message.c +msgid "NUM" +msgstr "ILE" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use at most NUM threads; the default is 0 which uses as many threads as there are processor cores" +msgstr "użycie maksymalnie ILU wątków; domyślnie 0, co oznacza tyle, ile jest rdzeni procesorów" + +#: src/xz/message.c +msgid "SIZE" +msgstr "ROZMIAR" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after every SIZE bytes of input; use this to set the block size for threaded compression" +msgstr "rozpoczęcie nowego bloku .xz co ROZMIAR bajtów wejścia; opcja służy do ustawienia rozmiaru bloku dla kompresji wielowątkowej" + +#: src/xz/message.c +msgid "BLOCKS" +msgstr "BLOKI" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after the given comma-separated intervals of uncompressed data; optionally, specify a filter chain number (0-9) followed by a ':' before the uncompressed data size" +msgstr "rozpoczęcie nowego bloku .xz po rozdzielonych przecinkiem przedziałach danych nieskompresowanych; opcjonalnie można podać numer łańcucha filtrów (0-9) ze znakiem „:” przed rozmiarem danych nieskompresowanych" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "when compressing, if more than NUM milliseconds has passed since the previous flush and reading more input would block, all pending data is flushed out" +msgstr "przy kompresji, jeśli minęło więcej niż CZAS milisekund ostatniego zapisu bloku, a odczyt kolejnych danych byłby blokujący, wszystkie gotowe dane są zapisywane" + +#: src/xz/message.c +msgid "LIMIT" +msgstr "LIMIT" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, no-c-format +msgid "set memory usage limit for compression, decompression, threaded decompression, or all of these; LIMIT is in bytes, % of RAM, or 0 for defaults" +msgstr "ustawienie limitu użycia pamięci dla kompresji, dekompresji, dekompresji wielowątkowej lub wszystkich; LIMIT jest w bajtach, % RAM lub 0 dla limitów domyślnych" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "if compression settings exceed the memory usage limit, give an error instead of adjusting the settings downwards" +msgstr "jeśli ustawienia kompresji przekraczają limit użycia pamięci, zostanie zgłoszony błąd zamiast zmniejszania ustawień" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Custom filter chain for compression (an alternative to using presets):" +msgstr "Łańcuch własnych filtrów do kompresji (alternatywa do używania ustawień predefiniowanych):" + +#: src/xz/message.c +msgid "FILTERS" +msgstr "FILTRY" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set the filter chain using the liblzma filter string syntax; use --filters-help for more information" +msgstr "ustawienie łańcucha filtrów przy użyciu składni łańcucha filtrów liblzma; więcej informacji z opcją --filters-help" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set additional filter chains using the liblzma filter string syntax to use with --block-list" +msgstr "ustawienie dodatkowego łańcucha filtrów przy użyciu składni łańcucha filtrów liblzma do użycia w opcji --block-list" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display more information about the liblzma filter string syntax and exit" +msgstr "więcej informacji o składni lańcuchów filtrów libzma i zakończenie" + +#. TRANSLATORS: Short for OPTIONS. +#: src/xz/message.c +msgid "OPTS" +msgstr "OPCJE" + +#. TRANSLATORS: Use semicolon (or its fullwidth form) +#. in "(valid values; default)" even if it is weird in +#. your language. There are non-translatable strings +#. that look like "(foo, bar, baz; foo)" which list +#. the supported values and the default value. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "LZMA1 or LZMA2; OPTS is a comma-separated list of zero or more of the following options (valid values; default):" +msgstr "LZMA1 lub LZMA2; OPCJE to oddzielona przecinkami lista zera lub większej liczby następujących opcji (wartości poprawne; domyślne):" + +#. TRANSLATORS: Short for PRESET. A longer string is +#. fine but wider than 4 columns makes --long-help +#. one line longer. +#: src/xz/message.c +msgid "PRE" +msgstr "PRE" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "reset options to a preset" +msgstr "ustawienie opcji na predefiniowaną" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "dictionary size" +msgstr "rozmiar słownika" + +#. TRANSLATORS: The word "literal" in "literal context +#. bits" means how many "context bits" to use when +#. encoding literals. A literal is a single 8-bit +#. byte. It doesn't mean "literally" here. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal context bits" +msgstr "liczba bitów kontekstu literału" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal position bits" +msgstr "liczba bitów pozycji literału" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of position bits" +msgstr "liczba bitów pozycji" + +#: src/xz/message.c +msgid "MODE" +msgstr "TRYB" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression mode" +msgstr "tryb kompresji" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "nice length of a match" +msgstr "długość dopasowania" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "match finder" +msgstr "dopasowywacz" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "maximum search depth; 0=automatic (default)" +msgstr "maksymalna głębokość szukania; 0=automatyczna (domyślne)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "x86 BCJ filter (32-bit and 64-bit)" +msgstr "Filtr BCJ x86 (32-bitowy lub 64-bitowy)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM BCJ filter" +msgstr "Filtr BCJ ARM" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM-Thumb BCJ filter" +msgstr "Filtr BCJ ARM-Thumb" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM64 BCJ filter" +msgstr "Filtr BCJ ARM64" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "PowerPC BCJ filter (big endian only)" +msgstr "Filtr BCJ PowerPC (tylko big-endian)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "IA-64 (Itanium) BCJ filter" +msgstr "Filtr BCJ IA-64 (Itanium)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "SPARC BCJ filter" +msgstr "Filtr BCJ SPARC" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "RISC-V BCJ filter" +msgstr "Filtr BCJ RISC-V" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Valid OPTS for all BCJ filters:" +msgstr "Poprawne OPCJE dla wszystkich filtrów BCJ:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start offset for conversions (default=0)" +msgstr "offset początku konwersji (domyślnie=0)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Delta filter; valid OPTS (valid values; default):" +msgstr "Filtr delta; poprawne OPCJE (poprawne wartości; domyślne):" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "distance between bytes being subtracted from each other" +msgstr "odległość między bajtami odejmowanymi od siebie" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Other options:" +msgstr "Inne opcje:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "suppress warnings; specify twice to suppress errors too" +msgstr "pominięcie ostrzeżeń; dwukrotne podanie pomija też błędy" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "be verbose; specify twice for even more verbose" +msgstr "więcej informacji; dwukrotne podanie to jeszcze więcej" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "make warnings not affect the exit status" +msgstr "ustawienie, że ostrzeżenia nie mają wpływu na status zakończenia" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use machine-parsable messages (useful for scripts)" +msgstr "komunikaty w formacie dla maszyny (przydatne do skryptów)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the total amount of RAM and the currently active memory usage limits, and exit" +msgstr "wyświetlenie całkowitej ilości pamięci RAM oraz obecnie aktywnych limitów pamięci i zakończenie pracy" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the short help (lists only the basic options)" +msgstr "wyświetlenie krótkiego opisu (tylko podstawowe opcje)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this long help and exit" +msgstr "wyświetlenie tego długiego opisu i zakończenie" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this short help and exit" +msgstr "wyświetlenie tego krótkiego opisu i zakończenie" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the long help (lists also the advanced options)" +msgstr "wyświetlenie długiego opisu (także opcje zaawansowane)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the version number and exit" +msgstr "wyświetlenie numeru wersji i zakończenie" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "With no FILE, or when FILE is -, read standard input." +msgstr "Jeśli nie podano PLIKU lub PLIK to -, czytane jest standardowe wejście." + +#. TRANSLATORS: This message indicates the bug reporting +#. address for this package. Please add another line saying +#. "\nReport translation bugs to <...>." with the email or WWW +#. address for translation bugs. Thanks! +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Report bugs to <%s> (in English or Finnish)." +msgstr "" +"Błędy prosimy zgłaszać na adres <%s> (w języku angielskim lub fińskim).\n" +"Błędy w tłumaczeniu prosimy zgłaszać na adres ." + +#. TRANSLATORS: The first %s is the name of this software. +#. The second <%s> is an URL. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s home page: <%s>" +msgstr "Strona domowa %s: <%s>" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE." +msgstr "TA WERSJA JEST ROZWOJOWA, NIE PRZEZNACZONA DO UŻYTKU PRODUKCYJNEGO." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, c-format +msgid "Filter chains are set using the --filters=FILTERS or --filters1=FILTERS ... --filters9=FILTERS options. Each filter in the chain can be separated by spaces or '--'. Alternatively a preset %s can be specified instead of a filter chain." +msgstr "Łańcuchy filtrów ustawia się przy użyciu --filters=FILTRY lub --filters1=FILTRY ... --filters9=FILTRY. Każdy filtr w łańcuchu może być rozdzielony spacjami lub „--”. Alternatywnie zamiast łańcucha filtrów można podać predefiniowane %s." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "The supported filters and their options are:" +msgstr "Obsługiwane filtry i ich opcje to:" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "Options must be 'name=value' pairs separated with commas" +msgstr "Opcje muszą być parami „nazwa=wartość” rozdzielonymi przecinkami" + +#: src/xz/options.c +#, c-format +msgid "%s: Invalid option name" +msgstr "%s: Błędna nazwa opcji" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "Invalid option value" +msgstr "Błędna wartość opcji" + +#: src/xz/options.c +#, c-format +msgid "Unsupported LZMA1/LZMA2 preset: %s" +msgstr "Nieobsługiwane ustawienie predefiniowane LZMA1/LZMA2: %s" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "The sum of lc and lp must not exceed 4" +msgstr "Suma lc i lp nie może przekroczyć 4" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Filename has an unknown suffix, skipping" +msgstr "%s: Nazwa pliku ma nieznane rozszerzenie, pominięto" + +#: src/xz/suffix.c +#, c-format +msgid "%s: File already has '%s' suffix, skipping" +msgstr "%s: Plik już ma rozszerzenie „%s”, pominięto" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Invalid filename suffix" +msgstr "%s: Błędne rozszerzenie nazwy pliku" + +#: src/xz/util.c src/liblzma/common/string_conversion.c +msgid "Value is not a non-negative decimal integer" +msgstr "Wartość nie jest nieujemną liczbą całkowitą" + +#: src/xz/util.c +#, c-format +msgid "%s: Invalid multiplier suffix" +msgstr "%s: Błędny przyrostek mnożnika" + +#: src/xz/util.c +msgid "Valid suffixes are 'KiB' (2^10), 'MiB' (2^20), and 'GiB' (2^30)." +msgstr "Poprawne przyrostki to „KiB” (2^10), „MiB” (2^20) i „GiB” (2^30)." + +#: src/xz/util.c +#, c-format +msgid "Value of the option '%s' must be in the range [%, %]" +msgstr "Wartość opcji „%s” musi być w przedziale [%, %]" + +#: src/xz/util.c +msgid "Compressed data cannot be read from a terminal" +msgstr "Dane skompresowane nie mogą być czytane z terminala" + +#: src/xz/util.c +msgid "Compressed data cannot be written to a terminal" +msgstr "Dane skompresowane nie mogą być zapisywane na terminal" + +#: src/lzmainfo/lzmainfo.c +#, c-format +msgid "Usage: %s [--help] [--version] [FILE]...\n" +msgstr "Składnia: %s [--help] [--version] [PLIK]...\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/lzmainfo/lzmainfo.c +msgid "Show information stored in the .lzma file header." +msgstr "Wyświetlanie informacji zapisanych w nagłówku pliku .lzma." + +#: src/lzmainfo/lzmainfo.c +msgid "File is too small to be a .lzma file" +msgstr "Plik jest za mały, aby był plikiem .lzma" + +#: src/lzmainfo/lzmainfo.c +msgid "Not a .lzma file" +msgstr "To nie jest plik .lzma" + +#: src/common/tuklib_exit.c +msgid "Writing to standard output failed" +msgstr "Zapis na standardowe wyjście nie powiódł się" + +#: src/common/tuklib_exit.c +msgid "Unknown error" +msgstr "Nieznany błąd" + +#: src/liblzma/common/string_conversion.c +msgid "Unsupported preset" +msgstr "Nieobsługiwane ustawienie predefiniowane" + +#: src/liblzma/common/string_conversion.c +msgid "Unsupported flag in the preset" +msgstr "Nieobsługiwana flaga w ustawieniu predefiniowanym" + +#: src/liblzma/common/string_conversion.c +msgid "Unknown option name" +msgstr "Nieznana nazwa opcji" + +#: src/liblzma/common/string_conversion.c +msgid "Option value cannot be empty" +msgstr "Wartość opcji nie może być pusta" + +#: src/liblzma/common/string_conversion.c +msgid "Value out of range" +msgstr "Wartość spoza zakresu" + +#: src/liblzma/common/string_conversion.c +msgid "This option does not support any multiplier suffixes" +msgstr "Ta opcja nie obsługuje żadnych przyrostków mnożników" + +#. TRANSLATORS: Don't translate the +#. suffixes "KiB", "MiB", or "GiB" +#. because a user can only specify +#. untranslated suffixes. +#: src/liblzma/common/string_conversion.c +msgid "Invalid multiplier suffix (KiB, MiB, or GiB)" +msgstr "Błędny przyrostek mnożnika (KiB, MiB lub GiB)" + +#: src/liblzma/common/string_conversion.c +msgid "Unknown filter name" +msgstr "Nieznana nazwa filtra" + +#: src/liblzma/common/string_conversion.c +msgid "This filter cannot be used in the .xz format" +msgstr "Ten filtr nie może być używany w formacie .xz" + +#: src/liblzma/common/string_conversion.c +msgid "Memory allocation failed" +msgstr "Nie udało się przydzielić pamięci" + +#: src/liblzma/common/string_conversion.c +msgid "Empty string is not allowed, try '6' if a default value is needed" +msgstr "Łańcuch pusty nie jest dozwolony, jeśli potrzebna jest wartość domyślna, proszę spróbować „6”" + +#: src/liblzma/common/string_conversion.c +msgid "The maximum number of filters is four" +msgstr "Maksymalna liczba filtrów to cztery" + +#: src/liblzma/common/string_conversion.c +msgid "Filter name is missing" +msgstr "Brak nazwy filtra" + +#: src/liblzma/common/string_conversion.c +msgid "Invalid filter chain ('lzma2' missing at the end?)" +msgstr "Błędny łańcuch filtrów (brak „lzma2” na końcu?)" diff --git a/src/native/external/xz/po/pt.po b/src/native/external/xz/po/pt.po new file mode 100644 index 00000000000000..af3ffecbd383f1 --- /dev/null +++ b/src/native/external/xz/po/pt.po @@ -0,0 +1,1278 @@ +# SPDX-License-Identifier: 0BSD +# +# Portuguese (Portugal) Translation for the xz Package +# This file is published under the BSD Zero Clause License. +# Pedro Albuquerque , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: xz 5.8.0-pre1\n" +"Report-Msgid-Bugs-To: xz@tukaani.org\n" +"POT-Creation-Date: 2025-01-29 20:59+0200\n" +"PO-Revision-Date: 2025-03-16 17:37+0000\n" +"Last-Translator: Pedro Albuquerque \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"X-Generator: Poedit 3.5\n" + +#: src/xz/args.c +#, c-format +msgid "%s: Invalid argument to --block-list" +msgstr "%s: argumento inválido para --block-list" + +#: src/xz/args.c +#, c-format +msgid "%s: Too many arguments to --block-list" +msgstr "%s: demasiados argumentos para --block-list" + +#: src/xz/args.c +#, c-format +msgid "In --block-list, block size is missing after filter chain number '%c:'" +msgstr "Em --block-list, falta o tamanho do bloco após filtrar o número da cadeia \"%c:\"" + +#: src/xz/args.c +msgid "0 can only be used as the last element in --block-list" +msgstr "0 só pode ser usado como o último elemento em --block-list" + +#: src/xz/args.c +#, c-format +msgid "%s: Unknown file format type" +msgstr "%s: tipo de formato de ficheiro desconhecido" + +#: src/xz/args.c +#, c-format +msgid "%s: Unsupported integrity check type" +msgstr "%s: tipo de verificação de integridade não suportado" + +#: src/xz/args.c +msgid "Only one file can be specified with '--files' or '--files0'." +msgstr "Só pode especificar um ficheiro com \"--files\" ou \"--files0\"." + +#. TRANSLATORS: This is a translatable +#. string because French needs a space +#. before the colon ("%s : %s"). +#: src/xz/args.c src/xz/coder.c src/xz/file_io.c src/xz/list.c src/xz/options.c +#: src/xz/util.c +#, c-format +msgid "%s: %s" +msgstr "%s: %s" + +#: src/xz/args.c +#, c-format +msgid "The environment variable %s contains too many arguments" +msgstr "A variável de ambiente %s contém demasiados argumentos" + +#: src/xz/args.c +msgid "Compression support was disabled at build time" +msgstr "O suporte a compressão foi desactivado ao compilar" + +#: src/xz/args.c +msgid "Decompression support was disabled at build time" +msgstr "O suporte a descompressão foi desactivado ao compilar" + +#: src/xz/args.c +msgid "Compression of lzip files (.lz) is not supported" +msgstr "A compressão de ficheiros lzip (.lz) não é suportada" + +#: src/xz/args.c +msgid "--block-list is ignored unless compressing to the .xz format" +msgstr "--block-list é ignorado a não ser que comprima para formato .xz" + +#: src/xz/args.c +msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout" +msgstr "Com --format=raw, --suffix=.SUF é requerido, a menos que seja escrito em stdout" + +#: src/xz/coder.c +msgid "Maximum number of filters is four" +msgstr "O número máximo de filtros é quatro" + +#: src/xz/coder.c +#, c-format +msgid "Error in --filters%s=FILTERS option:" +msgstr "Erro na opção --filters%s=FILTERS:" + +#: src/xz/coder.c +msgid "Memory usage limit is too low for the given filter setup." +msgstr "O limite de uso de memória é baixo demais para a configuração de filtro dada." + +#: src/xz/coder.c +#, c-format +msgid "filter chain %u used by --block-list but not specified with --filters%u=" +msgstr "cadeia de filtro %u usada por --block-list mas não especificada com --filters%u=" + +#: src/xz/coder.c +msgid "Using a preset in raw mode is discouraged." +msgstr "O uso de uma predefinição em modo bruto é desencorajado." + +#: src/xz/coder.c +msgid "The exact options of the presets may vary between software versions." +msgstr "As opções exactas de predefinições podem variar entre versões do programa." + +#: src/xz/coder.c +msgid "The .lzma format supports only the LZMA1 filter" +msgstr "O formato .lzma tem só suporta o filtro LZMA1" + +#: src/xz/coder.c +msgid "LZMA1 cannot be used with the .xz format" +msgstr "Impossível utilizar LZMA1 com o formato .xz" + +#: src/xz/coder.c +#, c-format +msgid "Filter chain %u is incompatible with --flush-timeout" +msgstr "A cadeia de filtragem %u é incompatível com --flush-timeout" + +#: src/xz/coder.c +msgid "Switching to single-threaded mode due to --flush-timeout" +msgstr "A mudar para o modo de linha única devido a --flush-timeout" + +#: src/xz/coder.c +#, c-format +msgid "Unsupported options in filter chain %u" +msgstr "Opções não suportadas na cadeia de filtragem %u" + +#: src/xz/coder.c +#, c-format +msgid "Using up to % threads." +msgstr "A usar até % linhas." + +#: src/xz/coder.c +msgid "Unsupported filter chain or filter options" +msgstr "Opções de filtro ou cadeia de filtros não suportadas" + +#: src/xz/coder.c +#, c-format +msgid "Decompression will need %s MiB of memory." +msgstr "A descompressão precisará de %s MiB de memória." + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to %s to not exceed the memory usage limit of %s MiB" +msgstr "Número de linhas reduzido de %s de %s para não exceder o limite de uso de memória de %s MiB" + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to one. The automatic memory usage limit of %s MiB is still being exceeded. %s MiB of memory is required. Continuing anyway." +msgstr "Número de linhas reduzido de %s para uma. O limite automático de utilização de memória de %s MiB ainda continua excedido. Necessita de %s MiB. A continuar mesmo assim." + +#: src/xz/coder.c +#, c-format +msgid "Switching to single-threaded mode to not exceed the memory usage limit of %s MiB" +msgstr "A mudar para o modo de linha única para não exceder o limite de uso de memória de %s MiB" + +#: src/xz/coder.c +#, 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 "Ajustado o tamanho de dicionário de LZMA%c de %s MiB para %s MiB para não exceder o limite de uso de memória de %s MiB" + +#: src/xz/coder.c +#, c-format +msgid "Adjusted LZMA%c dictionary size for --filters%u from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgstr "Ajustado o tamanho de dicionário de LZMA%c para --filters%u de %s MiB para %s MiB para não exceder o limite de uso de memória de %s MiB" + +#: src/xz/coder.c +#, c-format +msgid "Error changing to filter chain %u: %s" +msgstr "Erro ao mudar para a cadeia de filtragem %u: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error creating a pipe: %s" +msgstr "Erro ao criar um túnel: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: poll() failed: %s" +msgstr "%s: poll() falhou: %s" + +#. 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 +#, c-format +msgid "%s: File seems to have been moved, not removing" +msgstr "%s: o ficheiro parece ter sido movido, não será eliminado" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot remove: %s" +msgstr "%s: impossível remover: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file owner: %s" +msgstr "%s: impossível definir o proprietário do ficheiro: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file group: %s" +msgstr "%s: impossível definir o grupo do ficheiro: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file permissions: %s" +msgstr "%s: impossível definir as permissões do ficheiro: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Synchronizing the file failed: %s" +msgstr "%s: falha ao sincronizar o ficheiro: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Synchronizing the directory of the file failed: %s" +msgstr "%s: falha ao sincronizar a pasta do ficheiro: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard input: %s" +msgstr "Erro ao obter as bandeiras de estado da entrada padrão: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a symbolic link, skipping" +msgstr "%s: é uma ligação simbólica, a ignorar" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a directory, skipping" +msgstr "%s: é uma pasta, a ignorar" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Not a regular file, skipping" +msgstr "%s: não é um ficheiro normal, a ignorar" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has setuid or setgid bit set, skipping" +msgstr "%s: o ficheiro tem o bit setuid ou setgid definido, a ignorar" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has sticky bit set, skipping" +msgstr "%s: o ficheiro tem o bit sticky definido, a ignorar" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Input file has more than one hard link, skipping" +msgstr "%s: o ficheiro de entrada tem mais de uma ligação absoluta, a ignorar" + +#: src/xz/file_io.c +msgid "Empty filename, skipping" +msgstr "Nome de ficheiro vazio, a ignorar" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the status flags to standard input: %s" +msgstr "Erro ao restaurar as bandeiras de estado para a entrada padrão: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard output: %s" +msgstr "Erro ao obter as bandeiras de estado do ficheiro da saída padrão: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Opening the directory failed: %s" +msgstr "%s: falha ao abrir a pasta: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Destination is not a regular file" +msgstr "%s: o destino não é um ficheiro normal" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the O_APPEND flag to standard output: %s" +msgstr "Erro ao restaurar a bandeira O_APPEND para a saída padrão: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Closing the file failed: %s" +msgstr "%s: falha ao fechar o ficheiro: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Seeking failed when trying to create a sparse file: %s" +msgstr "%s: falha na procura ao tentar criar um ficheiro escasso: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Read error: %s" +msgstr "%s: erro de leitura: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Error seeking the file: %s" +msgstr "%s: erro ao procurar o ficheiro: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Unexpected end of file" +msgstr "%s: fim de ficheiro inesperado" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Write error: %s" +msgstr "%s: erro de escrita: %s" + +#: src/xz/hardware.c +msgid "Disabled" +msgstr "Desactivado" + +# Espaços adicionados para manter alinhamento com mensagens adjacentes -- Rafael +#: src/xz/hardware.c +msgid "Amount of physical memory (RAM):" +msgstr "Total de memória física (RAM):" + +#: src/xz/hardware.c +msgid "Number of processor threads:" +msgstr "Número de linhas do processador:" + +#: src/xz/hardware.c +msgid "Compression:" +msgstr "Compressão:" + +#: src/xz/hardware.c +msgid "Decompression:" +msgstr "Descompressão:" + +# Espaços reduzidos para manter alinhamento com mensagens adjacentes -- Rafael +#: src/xz/hardware.c +msgid "Multi-threaded decompression:" +msgstr "Descompressão multi-linha:" + +#: src/xz/hardware.c +msgid "Default for -T0:" +msgstr "Pré-definição para -T0:" + +#: src/xz/hardware.c +msgid "Hardware information:" +msgstr "Informação do equipamento:" + +#: src/xz/hardware.c +msgid "Memory usage limits:" +msgstr "Limites de uso de memória:" + +#: src/xz/list.c +msgid "Streams:" +msgstr "Fluxos:" + +#: src/xz/list.c +msgid "Blocks:" +msgstr "Blocos:" + +#: src/xz/list.c +msgid "Compressed size:" +msgstr "Tamanho comprimido:" + +#: src/xz/list.c +msgid "Uncompressed size:" +msgstr "Tamanho descomprimido:" + +#: src/xz/list.c +msgid "Ratio:" +msgstr "Proporção:" + +#: src/xz/list.c +msgid "Check:" +msgstr "Verificar:" + +#: src/xz/list.c +msgid "Stream Padding:" +msgstr "Espaço do fluxo:" + +#: src/xz/list.c +msgid "Memory needed:" +msgstr "Memória requerida:" + +# Espaço adicionado para promover alinhamento, vide "xz -lvv foo.xz" +#: src/xz/list.c +msgid "Sizes in headers:" +msgstr "Tamanho em cabeçalhos:" + +#: src/xz/list.c +msgid "Number of files:" +msgstr "Número de ficheiros:" + +#: src/xz/list.c +msgid "Stream" +msgstr "Fluxo" + +#: src/xz/list.c +msgid "Block" +msgstr "Bloco" + +#: src/xz/list.c +msgid "Blocks" +msgstr "Blocos" + +#: src/xz/list.c +msgid "CompOffset" +msgstr "DesvComp" + +#: src/xz/list.c +msgid "UncompOffset" +msgstr "DesvDescomp" + +#: src/xz/list.c +msgid "CompSize" +msgstr "TamComp" + +#: src/xz/list.c +msgid "UncompSize" +msgstr "TamDescomp" + +#: src/xz/list.c +msgid "TotalSize" +msgstr "Total" + +#: src/xz/list.c +msgid "Ratio" +msgstr "Proporção" + +#: src/xz/list.c +msgid "Check" +msgstr "Verificar" + +#: src/xz/list.c +msgid "CheckVal" +msgstr "ValVerif" + +#: src/xz/list.c +msgid "Padding" +msgstr "Espaço" + +#: src/xz/list.c +msgid "Header" +msgstr "Cabeçalho" + +#: src/xz/list.c +msgid "Flags" +msgstr "Bandeiras" + +#: src/xz/list.c +msgid "MemUsage" +msgstr "UsoMem" + +#: src/xz/list.c +msgid "Filters" +msgstr "Filtros" + +#. TRANSLATORS: Indicates that there is no integrity check. +#. This string is used in tables. In older xz version this +#. string was limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "None" +msgstr "Nenhum" + +#. TRANSLATORS: Indicates that integrity check name is not known, +#. but the Check ID is known (here 2). In older xz version these +#. strings were limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "Unknown-2" +msgstr "SemNome-2" + +# Não exceder 10 caracteres e espaços não são permitidos -- Rafael +#: src/xz/list.c +msgid "Unknown-3" +msgstr "SemNome-3" + +# Não exceder 10 caracteres e espaços não são permitidos -- Rafael +#: src/xz/list.c +msgid "Unknown-5" +msgstr "SemNome-5" + +# Não exceder 10 caracteres e espaços não são permitidos -- Rafael +#: src/xz/list.c +msgid "Unknown-6" +msgstr "SemNome-6" + +# Não exceder 10 caracteres e espaços não são permitidos -- Rafael +#: src/xz/list.c +msgid "Unknown-7" +msgstr "SemNome-7" + +# Não exceder 10 caracteres e espaços não são permitidos -- Rafael +#: src/xz/list.c +msgid "Unknown-8" +msgstr "SemNome-8" + +# Não exceder 10 caracteres e espaços não são permitidos -- Rafael +#: src/xz/list.c +msgid "Unknown-9" +msgstr "SemNome-9" + +# Não exceder 10 caracteres e espaços não são permitidos -- Rafael +#: src/xz/list.c +msgid "Unknown-11" +msgstr "SemNome-11" + +# Não exceder 10 caracteres e espaços não são permitidos -- Rafael +#: src/xz/list.c +msgid "Unknown-12" +msgstr "SemNome-12" + +# Não exceder 10 caracteres e espaços não são permitidos -- Rafael +#: src/xz/list.c +msgid "Unknown-13" +msgstr "SemNome-13" + +# Não exceder 10 caracteres e espaços não são permitidos -- Rafael +#: src/xz/list.c +msgid "Unknown-14" +msgstr "SemNome-14" + +# Não exceder 10 caracteres e espaços não são permitidos -- Rafael +#: src/xz/list.c +msgid "Unknown-15" +msgstr "SemNome-15" + +#: src/xz/list.c +#, c-format +msgid "%s: File is empty" +msgstr "%s: o ficheiro está vazio" + +#: src/xz/list.c +#, c-format +msgid "%s: Too small to be a valid .xz file" +msgstr "%s: muito pequeno para um ficheiro .xz válido" + +#. 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 +msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" +msgstr "Fluxos Blocos Comprimido Descomprimido Rácio Verif. Nome de ficheiro" + +#: src/xz/list.c +msgid "Yes" +msgstr "Sim" + +#: src/xz/list.c +msgid "No" +msgstr "Não" + +#: src/xz/list.c +msgid "Minimum XZ Utils version:" +msgstr "Versão mínima do XZ Utils:" + +#. 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 +#, c-format +msgid "%s file\n" +msgid_plural "%s files\n" +msgstr[0] "%s ficheiro\n" +msgstr[1] "%s ficheiros\n" + +#: src/xz/list.c +msgid "Totals:" +msgstr "Totais:" + +#: src/xz/list.c +msgid "--list works only on .xz files (--format=xz or --format=auto)" +msgstr "--list só funciona em ficheiros .xz (--format=xz ou --format=auto)" + +#: src/xz/list.c +msgid "Try 'lzmainfo' with .lzma files." +msgstr "Tentar \"lzmainfo\" com ficheiros .lzma." + +#: src/xz/list.c +msgid "--list does not support reading from standard input" +msgstr "--list não suporta a leitura da entrada padrão" + +#: src/xz/main.c +#, c-format +msgid "%s: Error reading filenames: %s" +msgstr "%s: erro ao ler nomes de ficheiro: %s" + +#: src/xz/main.c +#, c-format +msgid "%s: Unexpected end of input when reading filenames" +msgstr "%s: fim de entrada inesperado ao ler nomes de ficheiros" + +#: src/xz/main.c +#, c-format +msgid "%s: Null character found when reading filenames; maybe you meant to use '--files0' instead of '--files'?" +msgstr "%s: encontrado carácter nulo ao ler nomes de ficheiro; talvez queira usar \"--files0\" em vez de \"--files\"?" + +#: src/xz/main.c +msgid "Compression and decompression with --robot are not supported yet." +msgstr "Compressão e descompressão com --robot ainda não são suportadas." + +#: src/xz/main.c +msgid "Cannot read data from standard input when reading filenames from standard input" +msgstr "Impossível ler dados da entrada padrão ao ler nomes de ficheiro da entrada padrão" + +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s: " +msgstr "%s: " + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "Internal error (bug)" +msgstr "Erro interno (erro)" + +#: src/xz/message.c +msgid "Cannot establish signal handlers" +msgstr "Impossível estabelecer gestores de sinais" + +#: src/xz/message.c +msgid "No integrity check; not verifying file integrity" +msgstr "Sem teste de integridade; a integridade do ficheiro não será verificada" + +#: src/xz/message.c +msgid "Unsupported type of integrity check; not verifying file integrity" +msgstr "Tipo de verificação de integridade não suportada; a integridade do ficheiro não será verificada" + +#: src/xz/message.c +msgid "Memory usage limit reached" +msgstr "Limite de uso de memória alcançado" + +#: src/xz/message.c +msgid "File format not recognized" +msgstr "Formato de ficheiro não reconhecido" + +#: src/xz/message.c +msgid "Unsupported options" +msgstr "Opções não suportadas" + +#: src/xz/message.c +msgid "Compressed data is corrupt" +msgstr "Os dados comprimidos estão corrompidos" + +#: src/xz/message.c +msgid "Unexpected end of input" +msgstr "Fim de entrada inesperado" + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limiter is disabled." +msgstr "São necessários %s MiB de memória. O limitador está desactivado." + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limit is %s." +msgstr "São necessários %s MiB de memória. O limite é %s." + +#: src/xz/message.c +#, c-format +msgid "%s: Filter chain: %s\n" +msgstr "%s: cadeia de filtros: %s\n" + +#: src/xz/message.c +#, c-format +msgid "Try '%s --help' for more information." +msgstr "Tente \"%s --help\" para mais informações." + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Error printing the help text (error code %d)" +msgstr "Erro ao imprimir o texto de ajuda (erro: %d)" + +#: src/xz/message.c +#, c-format +msgid "Usage: %s [OPTION]... [FILE]...\n" +msgstr "Uso: %s [OPÇÃO]... FICHEIRO...\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Compress or decompress FILEs in the .xz format." +msgstr "Comprimir ou descomprimir FICHEIROs no formato .xz." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Mandatory arguments to long options are mandatory for short options too." +msgstr "Argumentos obrigatórios para opções longas são também obrigatórios para opções curtas." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Operation mode:" +msgstr "Modo de operação:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force compression" +msgstr "forçar compressão" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force decompression" +msgstr "forçar descompressão" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "test compressed file integrity" +msgstr "testar integridade do ficheiro comprimido" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "list information about .xz files" +msgstr "listar informação sobre ficheiros .xz" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Operation modifiers:" +msgstr "Modificadores de operação:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "keep (don't delete) input files" +msgstr "manter (não eliminar) ficheiros de entrada" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force overwrite of output file and (de)compress links" +msgstr "forçar substituição de ficheiros de saída e ligações de (des)compressão" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "write to standard output and don't delete input files" +msgstr "escrever na saída padrão e não eliminar ficheiros de entrada" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't synchronize the output file to the storage device before removing the input file" +msgstr "não sincronizar o ficheiro de saída com o dispositivo de armazenamento antes de remover o ficheiro de entrada" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "decompress only the first stream, and silently ignore possible remaining input data" +msgstr "descomprimir só o primeiro fluxo e ignoras silenciosamente possíveis dados de entrada restantes" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "do not create sparse files when decompressing" +msgstr "não criar ficheiros esparsos ao descomprimir" + +#: src/xz/message.c +msgid ".SUF" +msgstr ".SUF" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use the suffix '.SUF' on compressed files" +msgstr "usar o sufixo \".SUF\" em ficheiros comprimidos" + +#: src/xz/message.c +msgid "FILE" +msgstr "FICH" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "read filenames to process from FILE; if FILE is omitted, filenames are read from the standard input; filenames must be terminated with the newline character" +msgstr "ler nomes de ficheiro a processar de FICH; se FICH for omitido, os nomes serão lidos da entrada padrão; os nomes de ficheiro devem terminar com o carácter de nova linha" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "like --files but use the null character as terminator" +msgstr "como --files, mas usa o carácter nulo como terminador" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Basic file format and compression options:" +msgstr "Opções básicas de formato e compressão de ficheiro:" + +#: src/xz/message.c +msgid "FORMAT" +msgstr "FORMATO" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "file format to encode or decode; possible values are 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'" +msgstr "formato de ficheiro a codificar/descodificar; os valores possíveis são \"auto\" (pré-definição), \"xz\", \"lzma\", \"lzip\", e \"raw\"" + +#: src/xz/message.c +msgid "NAME" +msgstr "NOME" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "integrity check type: 'none' (use with caution), 'crc32', 'crc64' (default), or 'sha256'" +msgstr "tipo de teste de integridade: 'none' (use com cautela), 'crc32', 'crc64' (pré-definição), ou 'sha256'" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't verify the integrity check when decompressing" +msgstr "não verificar a integridade ao descomprimir" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression preset; default is 6; take compressor *and* decompressor memory usage into account before using 7-9!" +msgstr "pré-definição de compressão; a pré-definição é 6; ter em conta o uso de memória do compressor *e* descompressor antes de usar 7-9!" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "try to improve compression ratio by using more CPU time; does not affect decompressor memory requirements" +msgstr "tentar melhorar o rácio de compressão usando mais tempo de CPU; não afecta os requisitos de memória do descompressor" + +#. TRANSLATORS: Short for NUMBER. A longer string is fine but +#. wider than 5 columns makes --long-help a few lines longer. +#: src/xz/message.c +msgid "NUM" +msgstr "NÚM" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use at most NUM threads; the default is 0 which uses as many threads as there are processor cores" +msgstr "usa no máximo NÚM linhas; a pré-definição é 1; defina para 0 para usar tantas linhas como núcleos de processadores haja" + +#: src/xz/message.c +msgid "SIZE" +msgstr "TAMANHO" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after every SIZE bytes of input; use this to set the block size for threaded compression" +msgstr "iniciar novo bloco .xz após cada TAM bytes de entrada; use para definir o tamanho de bloco para compressão com linhas" + +#: src/xz/message.c +msgid "BLOCKS" +msgstr "BLOCOS" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after the given comma-separated intervals of uncompressed data; optionally, specify a filter chain number (0-9) followed by a ':' before the uncompressed data size" +msgstr "iniciar um bloco .xz após os intervalos de dados descomprimidos indicados, separados por vírgulas; optionalmente, especifique umnúmero de cadeia de filtro (0-9) seguido de ':' antes do tamanho descomprimido" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "when compressing, if more than NUM milliseconds has passed since the previous flush and reading more input would block, all pending data is flushed out" +msgstr "ao comprimir, se mais de NÚM milissegundos tiverem passado desde o despejo anterior e ler mais dados daentrada bloquearia, todos os dados pendentes serão despejados" + +#: src/xz/message.c +msgid "LIMIT" +msgstr "LIMITE" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, no-c-format +msgid "set memory usage limit for compression, decompression, threaded decompression, or all of these; LIMIT is in bytes, % of RAM, or 0 for defaults" +msgstr "definir limite de uso da memória para compressão, decompressão, descompressão em linhas, ou todos; LIMITE em bytes, % de RAM, ou 0 para pré-definições" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "if compression settings exceed the memory usage limit, give an error instead of adjusting the settings downwards" +msgstr "se as configurações de compressão excederem o limite de uso de memória, devolve um erro em vez de reduzir as configurações" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Custom filter chain for compression (an alternative to using presets):" +msgstr "Cadeia de filtragem personalizada para compressão (alternativa às pré-definições):" + +#: src/xz/message.c +msgid "FILTERS" +msgstr "FILTROS" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set the filter chain using the liblzma filter string syntax; use --filters-help for more information" +msgstr "definir a cadeia de filtros usando a sintaxe da cadeia de filtragem liblzma; use --filters-help para mais informação" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set additional filter chains using the liblzma filter string syntax to use with --block-list" +msgstr "definir cadeias de filtros adicionais usando a sintaxe da cadeia de filtragem liblzma com --block-list" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display more information about the liblzma filter string syntax and exit" +msgstr "mostrar mais informação sobre a sintaxe da cadeia de filtragem liblzma e sair" + +#. TRANSLATORS: Short for OPTIONS. +#: src/xz/message.c +msgid "OPTS" +msgstr "OPÇS" + +#. TRANSLATORS: Use semicolon (or its fullwidth form) +#. in "(valid values; default)" even if it is weird in +#. your language. There are non-translatable strings +#. that look like "(foo, bar, baz; foo)" which list +#. the supported values and the default value. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "LZMA1 or LZMA2; OPTS is a comma-separated list of zero or more of the following options (valid values; default):" +msgstr "LZMA1 ou LZMA2; OPÇS é uma lista separada por vírgulas de zero ou mais das seguintes opções (valores válidos; pré-definição):" + +#. TRANSLATORS: Short for PRESET. A longer string is +#. fine but wider than 4 columns makes --long-help +#. one line longer. +#: src/xz/message.c +msgid "PRE" +msgstr "PRE" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "reset options to a preset" +msgstr "repor opções numa pré-definição" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "dictionary size" +msgstr "tamanho do dicionário" + +#. TRANSLATORS: The word "literal" in "literal context +#. bits" means how many "context bits" to use when +#. encoding literals. A literal is a single 8-bit +#. byte. It doesn't mean "literally" here. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal context bits" +msgstr "número de bits de contexto literais" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal position bits" +msgstr "número de bits de posição literais" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of position bits" +msgstr "número de bits de posição" + +#: src/xz/message.c +msgid "MODE" +msgstr "MODO" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression mode" +msgstr "modo de compressão" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "nice length of a match" +msgstr "tamanho simpático duma correspondência" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "match finder" +msgstr "localizador de correspondências" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "maximum search depth; 0=automatic (default)" +msgstr "profundidade máxima de procura; 0=automática (pré-definição)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "x86 BCJ filter (32-bit and 64-bit)" +msgstr "filtro x86 BCJ (32-bit e 64-bit)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM BCJ filter" +msgstr "filtro ARM BCJ" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM-Thumb BCJ filter" +msgstr "filtro ARM-Thumb BCJ" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM64 BCJ filter" +msgstr "filtro ARM64 BCJ" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "PowerPC BCJ filter (big endian only)" +msgstr "Filtro PowerPC BCJ (só big endian)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "IA-64 (Itanium) BCJ filter" +msgstr "filtro IA-64 (Itanium) BCJ" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "SPARC BCJ filter" +msgstr "Filtro SPARC BCJ" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "RISC-V BCJ filter" +msgstr "Filtro RISC-V BCJ" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Valid OPTS for all BCJ filters:" +msgstr "OPÇS válidas para todos os filtros BCJ:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start offset for conversions (default=0)" +msgstr "desvio inicial para conversões (pré-definição=0)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Delta filter; valid OPTS (valid values; default):" +msgstr "Filtro Delta; OPTS válidas (valores válidos; pré-definição):" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "distance between bytes being subtracted from each other" +msgstr "distância entre bytes subtraídos uns dos outros" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Other options:" +msgstr "Outras opções:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "suppress warnings; specify twice to suppress errors too" +msgstr "suprimir avisos; especificar duas vezes para suprimir também os erros" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "be verbose; specify twice for even more verbose" +msgstr "ser verboso; especificar duas vezes para ainda mais detalhes" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "make warnings not affect the exit status" +msgstr "fazer avisos não afecta o estado da saída" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use machine-parsable messages (useful for scripts)" +msgstr "usar mensagens analisáveis por máquina (útil para scripts)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the total amount of RAM and the currently active memory usage limits, and exit" +msgstr "mostra a quantidade total de RAM e os limites de uso de memória actualmente activos e sai" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the short help (lists only the basic options)" +msgstr "mostrar a ajuda curta (lista só as opções básicas)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this long help and exit" +msgstr "mostrar a ajuda longa e sair" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this short help and exit" +msgstr "mostrar esta ajuda curta e sair" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the long help (lists also the advanced options)" +msgstr "mostrar a ajuda longa (lista também as opções avançadas)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the version number and exit" +msgstr "mostrar o número da versão e sai" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "With no FILE, or when FILE is -, read standard input." +msgstr "Sem FICH, ou quando FICH é -, lê da entrada padrão." + +#. TRANSLATORS: This message indicates the bug reporting +#. address for this package. Please add another line saying +#. "\nReport translation bugs to <...>." with the email or WWW +#. address for translation bugs. Thanks! +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Report bugs to <%s> (in English or Finnish)." +msgstr "Relatar erros em <%s> (em inglês ou finlandês)." + +#. TRANSLATORS: The first %s is the name of this software. +#. The second <%s> is an URL. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s home page: <%s>" +msgstr "Página inicial %s: <%s>" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE." +msgstr "ESTA É UMA VERSÃO DE DESENVOLVIMENTO NÃO DESTINADA A USO EM PRODUÇÃO." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, c-format +msgid "Filter chains are set using the --filters=FILTERS or --filters1=FILTERS ... --filters9=FILTERS options. Each filter in the chain can be separated by spaces or '--'. Alternatively a preset %s can be specified instead of a filter chain." +msgstr "As cadeias de filtragem são definidas com --filters=FILTERS ou --filters1=FILTERS ... --filters9=FILTERS. Cada filtro na cadeia pode ser separado por espaços ou '--'. Como alternativa, pode especificar uma pré-definição %s em vez da cadeia de filtragem." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "The supported filters and their options are:" +msgstr "Os filtros suportados e respectivas opções são:" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "Options must be 'name=value' pairs separated with commas" +msgstr "As opções devem ser pares \"nome=valor\" separados por vírgulas" + +#: src/xz/options.c +#, c-format +msgid "%s: Invalid option name" +msgstr "%s: nome de opção inválido" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "Invalid option value" +msgstr "Valor de opção inválido" + +#: src/xz/options.c +#, c-format +msgid "Unsupported LZMA1/LZMA2 preset: %s" +msgstr "Predefinição LZMA1/LZMA2 não suportada: %s" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "The sum of lc and lp must not exceed 4" +msgstr "A soma de lc e lp não deve exceder 4" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Filename has an unknown suffix, skipping" +msgstr "%s: nome de ficheiro com sufixo desconhecido, a ignorar" + +#: src/xz/suffix.c +#, c-format +msgid "%s: File already has '%s' suffix, skipping" +msgstr "%s: o ficheiro já tem o sufixo \"%s\", a ignorar" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Invalid filename suffix" +msgstr "%s: sufixo de nome de ficheiro inválido" + +#: src/xz/util.c src/liblzma/common/string_conversion.c +msgid "Value is not a non-negative decimal integer" +msgstr "O valor não é um inteiro decimal não-negativo" + +#: src/xz/util.c +#, c-format +msgid "%s: Invalid multiplier suffix" +msgstr "%s: sufixo multiplicador inválido" + +#: src/xz/util.c +msgid "Valid suffixes are 'KiB' (2^10), 'MiB' (2^20), and 'GiB' (2^30)." +msgstr "Sufixos válidos são \"KiB\" (2^10), \"MiB\" (2^20) e \"GiB\" (2^30)." + +#: src/xz/util.c +#, c-format +msgid "Value of the option '%s' must be in the range [%, %]" +msgstr "O valor da opção \"%s\" deve estar no intervalo [%, %]" + +#: src/xz/util.c +msgid "Compressed data cannot be read from a terminal" +msgstr "Dados comprimidos não podem ser lidos de um terminal" + +#: src/xz/util.c +msgid "Compressed data cannot be written to a terminal" +msgstr "Dados comprimidos não podem ser escritos num terminal" + +#: src/lzmainfo/lzmainfo.c +#, c-format +msgid "Usage: %s [--help] [--version] [FILE]...\n" +msgstr "Uso: %s [--help] [--version] [FICH]...\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/lzmainfo/lzmainfo.c +msgid "Show information stored in the .lzma file header." +msgstr "Mostrar informação no cabeçalho do ficheiro .lzma." + +#: src/lzmainfo/lzmainfo.c +msgid "File is too small to be a .lzma file" +msgstr "O ficheiro é muito pequeno para um ficheiro .lzma" + +#: src/lzmainfo/lzmainfo.c +msgid "Not a .lzma file" +msgstr "Não é um ficheiro .lzma" + +#: src/common/tuklib_exit.c +msgid "Writing to standard output failed" +msgstr "A escrita para a saída padrão falhou" + +#: src/common/tuklib_exit.c +msgid "Unknown error" +msgstr "Erro desconhecido" + +#: src/liblzma/common/string_conversion.c +msgid "Unsupported preset" +msgstr "Pré-definição não suportada" + +#: src/liblzma/common/string_conversion.c +msgid "Unsupported flag in the preset" +msgstr "Bandeira não suportada na pré-definição" + +#: src/liblzma/common/string_conversion.c +msgid "Unknown option name" +msgstr "Nome de opção desconhecido" + +#: src/liblzma/common/string_conversion.c +msgid "Option value cannot be empty" +msgstr "O valor da opção não pode estar vazio" + +#: src/liblzma/common/string_conversion.c +msgid "Value out of range" +msgstr "Valor fora do intervalo" + +#: src/liblzma/common/string_conversion.c +msgid "This option does not support any multiplier suffixes" +msgstr "Esta opção não suporta sufixos de multiplicação" + +#. TRANSLATORS: Don't translate the +#. suffixes "KiB", "MiB", or "GiB" +#. because a user can only specify +#. untranslated suffixes. +#: src/liblzma/common/string_conversion.c +msgid "Invalid multiplier suffix (KiB, MiB, or GiB)" +msgstr "Sufixo multiplicador inválido (KiB, MiB, ou GiB)" + +#: src/liblzma/common/string_conversion.c +msgid "Unknown filter name" +msgstr "Nome de filtro desconhecido" + +#: src/liblzma/common/string_conversion.c +msgid "This filter cannot be used in the .xz format" +msgstr "Impossível utilizar este filtro com o formato .xz" + +#: src/liblzma/common/string_conversion.c +msgid "Memory allocation failed" +msgstr "Falha ao alocar memória" + +#: src/liblzma/common/string_conversion.c +msgid "Empty string is not allowed, try '6' if a default value is needed" +msgstr "Não são permitidas cadeias vazias, tente \"6\" se precisa de uma pré-definição" + +#: src/liblzma/common/string_conversion.c +msgid "The maximum number of filters is four" +msgstr "O número máximo de filtros é quatro" + +#: src/liblzma/common/string_conversion.c +msgid "Filter name is missing" +msgstr "Nome de filtro em falta" + +#: src/liblzma/common/string_conversion.c +msgid "Invalid filter chain ('lzma2' missing at the end?)" +msgstr "Cadeia de filtragem inválida ('lzma2' em falta no fim?)" diff --git a/src/native/external/xz/po/pt_BR.po b/src/native/external/xz/po/pt_BR.po new file mode 100644 index 00000000000000..7515ac85b70a78 --- /dev/null +++ b/src/native/external/xz/po/pt_BR.po @@ -0,0 +1,1683 @@ +# SPDX-License-Identifier: 0BSD +# +# Brazilian Portuguese translations for xz package +# Traduções em português brasileiro para o pacote xz. +# This file is published under the BSD Zero Clause License. +# Rafael Fontenelle , 2019-2024. +# +msgid "" +msgstr "" +"Project-Id-Version: xz 5.6.0-pre2\n" +"Report-Msgid-Bugs-To: xz@tukaani.org\n" +"POT-Creation-Date: 2025-01-29 20:59+0200\n" +"PO-Revision-Date: 2024-09-22 23:10-0300\n" +"Last-Translator: Rafael Fontenelle \n" +"Language-Team: Brazilian Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"Plural-Forms: nplurals=2; plural=(n > 1)\n" +"X-Generator: Gtranslator 46.1\n" + +#: src/xz/args.c +#, c-format +msgid "%s: Invalid argument to --block-list" +msgstr "%s: Argumento inválido para --block-list" + +#: src/xz/args.c +#, c-format +msgid "%s: Too many arguments to --block-list" +msgstr "%s: Argumentos demais para --block-list" + +#: src/xz/args.c +#, c-format +msgid "In --block-list, block size is missing after filter chain number '%c:'" +msgstr "Em --block-list, está faltando o tamanho do bloco após o número da cadeia de filtros \"%c:\"" + +#: src/xz/args.c +msgid "0 can only be used as the last element in --block-list" +msgstr "0 só pode ser usado como o último elemento em --block-list" + +#: src/xz/args.c +#, c-format +msgid "%s: Unknown file format type" +msgstr "%s: Tipo de formato de arquivo desconhecido" + +#: src/xz/args.c +#, c-format +msgid "%s: Unsupported integrity check type" +msgstr "%s: Tipo de verificação de integridade sem suporte" + +#: src/xz/args.c +msgid "Only one file can be specified with '--files' or '--files0'." +msgstr "Somente um arquivo pode ser especificado com \"--files\" ou \"--files0\"." + +#. TRANSLATORS: This is a translatable +#. string because French needs a space +#. before the colon ("%s : %s"). +#: src/xz/args.c src/xz/coder.c src/xz/file_io.c src/xz/list.c src/xz/options.c +#: src/xz/util.c +#, c-format +msgid "%s: %s" +msgstr "%s: %s" + +#: src/xz/args.c +#, c-format +msgid "The environment variable %s contains too many arguments" +msgstr "A variável de ambiente %s contém argumentos demais" + +#: src/xz/args.c +msgid "Compression support was disabled at build time" +msgstr "Suporte a compressão foi desabilitado em tempo de compilação" + +#: src/xz/args.c +msgid "Decompression support was disabled at build time" +msgstr "Suporte a descompressão foi desabilitado em tempo de compilação" + +#: src/xz/args.c +msgid "Compression of lzip files (.lz) is not supported" +msgstr "A compactação de arquivos lzip (.lz) não é suportada" + +#: src/xz/args.c +msgid "--block-list is ignored unless compressing to the .xz format" +msgstr "--block-list é ignorado a menos que seja compactado para o formato .xz" + +#: src/xz/args.c +msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout" +msgstr "Com --format=raw, --suffix=.SUF é exigido, a menos que esteja escrevendo para stdout" + +#: src/xz/coder.c +msgid "Maximum number of filters is four" +msgstr "O número máximo de filtros é quatro" + +#: src/xz/coder.c +#, c-format +msgid "Error in --filters%s=FILTERS option:" +msgstr "Erro na opção --filters%s=FILTROS:" + +#: src/xz/coder.c +msgid "Memory usage limit is too low for the given filter setup." +msgstr "O limite de uso de memória é baixo demais para a configuração de filtro dada." + +#: src/xz/coder.c +#, c-format +msgid "filter chain %u used by --block-list but not specified with --filters%u=" +msgstr "cadeia de filtros %u usada por --block-list, mas não especificada com --filters%u=" + +#: src/xz/coder.c +msgid "Using a preset in raw mode is discouraged." +msgstr "O uso de uma predefinição em modo bruto é desencorajado." + +#: src/xz/coder.c +msgid "The exact options of the presets may vary between software versions." +msgstr "As opções exatas de predefinições podem variar entre versões do software." + +#: src/xz/coder.c +msgid "The .lzma format supports only the LZMA1 filter" +msgstr "O formato .lzma possui suporte apenas ao filtro LZMA1" + +#: src/xz/coder.c +msgid "LZMA1 cannot be used with the .xz format" +msgstr "LZMA1 não pode ser usado com o formato .xz" + +#: src/xz/coder.c +#, c-format +msgid "Filter chain %u is incompatible with --flush-timeout" +msgstr "A cadeia de filtros %u é incompatível com --flush-timeout" + +#: src/xz/coder.c +msgid "Switching to single-threaded mode due to --flush-timeout" +msgstr "Alternando para o modo de thread única por causa de --flush-timeout" + +#: src/xz/coder.c +#, c-format +msgid "Unsupported options in filter chain %u" +msgstr "Opções sem suporte na cadeia de filtros %u" + +#: src/xz/coder.c +#, c-format +msgid "Using up to % threads." +msgstr "Usando até % threads." + +#: src/xz/coder.c +msgid "Unsupported filter chain or filter options" +msgstr "Opções de filtro ou cadeia de filtros sem suporte" + +#: src/xz/coder.c +#, c-format +msgid "Decompression will need %s MiB of memory." +msgstr "A descompressão precisará de %s MiB de memória." + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to %s to not exceed the memory usage limit of %s MiB" +msgstr "Reduzido o número de threads de %s para %s para não exceder o limite de uso de memória de %s MiB" + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to one. The automatic memory usage limit of %s MiB is still being exceeded. %s MiB of memory is required. Continuing anyway." +msgstr "Reduzido o número de threads de %s para um. O limite de uso de memória automática de %s MiB ainda está sendo excedido. %s MiB de memória é necessário. Continuando de qualquer maneira." + +#: src/xz/coder.c +#, c-format +msgid "Switching to single-threaded mode to not exceed the memory usage limit of %s MiB" +msgstr "Alternando para o modo de thread única para não exceder o limite de uso de memória de %s MiB" + +#: src/xz/coder.c +#, 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 "Ajustado o tamanho de dicionário de LZMA%c de %s MiB para %s MiB para não exceder o limite de uso de memória de %s MiB" + +#: src/xz/coder.c +#, c-format +msgid "Adjusted LZMA%c dictionary size for --filters%u from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgstr "Tamanho do dicionário LZMA%c ajustado para --filters%u de %s MiB para %s MiB para não exceder o limite de uso de memória de %s MiB" + +#: src/xz/coder.c +#, c-format +msgid "Error changing to filter chain %u: %s" +msgstr "Erro ao alterar para a cadeia de filtros %u: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error creating a pipe: %s" +msgstr "Erro ao criar um pipe: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: poll() failed: %s" +msgstr "%s: poll() falhou: %s" + +#. 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 +#, c-format +msgid "%s: File seems to have been moved, not removing" +msgstr "%s: O arquivo parece ter sido movido, não será removido" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot remove: %s" +msgstr "%s: Não foi possível remover: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file owner: %s" +msgstr "%s: Não foi possível definir o dono do arquivo: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file group: %s" +msgstr "%s: Não foi possível definir o grupo do arquivo: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file permissions: %s" +msgstr "%s: Não foi possível definir as permissões do arquivo: %s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Closing the file failed: %s" +msgid "%s: Synchronizing the file failed: %s" +msgstr "%s: Fechamento do arquivo falhou: %s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Closing the file failed: %s" +msgid "%s: Synchronizing the directory of the file failed: %s" +msgstr "%s: Fechamento do arquivo falhou: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard input: %s" +msgstr "Erro ao obter os sinalizadores de status da entrada padrão: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a symbolic link, skipping" +msgstr "%s: É um link simbólico, ignorando" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a directory, skipping" +msgstr "%s: É um diretório, ignorando" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Not a regular file, skipping" +msgstr "%s: Não é um arquivo comum, ignorando" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has setuid or setgid bit set, skipping" +msgstr "%s: O arquivo possui o bit setuid ou setgid definido, ignorando" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has sticky bit set, skipping" +msgstr "%s: O arquivo possui o bit sticky definido, ignorando" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Input file has more than one hard link, skipping" +msgstr "%s: O arquivo de entrada possui mais de um link físico, ignorando" + +#: src/xz/file_io.c +msgid "Empty filename, skipping" +msgstr "Nome de arquivo vazio, ignorando" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the status flags to standard input: %s" +msgstr "Erro ao restaurar os sinalizadores de status para entrada padrão: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard output: %s" +msgstr "Erro ao obter os sinalizadores de status de arquivo da saída padrão: %s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Closing the file failed: %s" +msgid "%s: Opening the directory failed: %s" +msgstr "%s: Fechamento do arquivo falhou: %s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Not a regular file, skipping" +msgid "%s: Destination is not a regular file" +msgstr "%s: Não é um arquivo comum, ignorando" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the O_APPEND flag to standard output: %s" +msgstr "Erro ao restaurar o sinalizador O_APPEND para a saída padrão: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Closing the file failed: %s" +msgstr "%s: Fechamento do arquivo falhou: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Seeking failed when trying to create a sparse file: %s" +msgstr "%s: Busca falhou ao tentar criar um arquivo esparso: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Read error: %s" +msgstr "%s: Erro de leitura: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Error seeking the file: %s" +msgstr "%s: Erro ao buscar o arquivo: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Unexpected end of file" +msgstr "%s: Fim de arquivo inesperado" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Write error: %s" +msgstr "%s: Erro de escrita: %s" + +#: src/xz/hardware.c +msgid "Disabled" +msgstr "Desabilitado" + +#: src/xz/hardware.c +msgid "Amount of physical memory (RAM):" +msgstr "Quantidade total de memória física (RAM):" + +#: src/xz/hardware.c +msgid "Number of processor threads:" +msgstr "Número de threads de processador:" + +#: src/xz/hardware.c +msgid "Compression:" +msgstr "Compactação:" + +#: src/xz/hardware.c +msgid "Decompression:" +msgstr "Descompactação:" + +#: src/xz/hardware.c +msgid "Multi-threaded decompression:" +msgstr "Descompactação com várias threads:" + +#: src/xz/hardware.c +msgid "Default for -T0:" +msgstr "Padrão para -T0:" + +#: src/xz/hardware.c +msgid "Hardware information:" +msgstr "Informações de hardware:" + +#: src/xz/hardware.c +msgid "Memory usage limits:" +msgstr "Memory usage limits:" + +#: src/xz/list.c +msgid "Streams:" +msgstr "Fluxos:" + +#: src/xz/list.c +msgid "Blocks:" +msgstr "Blocos:" + +#: src/xz/list.c +msgid "Compressed size:" +msgstr "Tamanho compactado:" + +#: src/xz/list.c +msgid "Uncompressed size:" +msgstr "Tamanho não compactado:" + +#: src/xz/list.c +msgid "Ratio:" +msgstr "Proporção:" + +#: src/xz/list.c +msgid "Check:" +msgstr "Verificação:" + +#: src/xz/list.c +msgid "Stream Padding:" +msgstr "Ajuste do fluxo:" + +#: src/xz/list.c +msgid "Memory needed:" +msgstr "Memória exigida:" + +#: src/xz/list.c +msgid "Sizes in headers:" +msgstr "Tamanhos nos cabeçalhos:" + +#: src/xz/list.c +msgid "Number of files:" +msgstr "Número de arquivos:" + +#: src/xz/list.c +msgid "Stream" +msgstr "Fluxo" + +#: src/xz/list.c +msgid "Block" +msgstr "Bloco" + +#: src/xz/list.c +msgid "Blocks" +msgstr "Blocos" + +#: src/xz/list.c +msgid "CompOffset" +msgstr "DeslocComp" + +#: src/xz/list.c +msgid "UncompOffset" +msgstr "DeslocDescomp" + +#: src/xz/list.c +msgid "CompSize" +msgstr "TamComp" + +#: src/xz/list.c +msgid "UncompSize" +msgstr "TamDescomp" + +#: src/xz/list.c +msgid "TotalSize" +msgstr "TamTotal" + +#: src/xz/list.c +msgid "Ratio" +msgstr "Proporção" + +#: src/xz/list.c +msgid "Check" +msgstr "Verificação" + +#: src/xz/list.c +msgid "CheckVal" +msgstr "ValorVerific." + +#: src/xz/list.c +msgid "Padding" +msgstr "Preench." + +#: src/xz/list.c +msgid "Header" +msgstr "Cabeçalho" + +#: src/xz/list.c +msgid "Flags" +msgstr "Sinalizadores" + +#: src/xz/list.c +msgid "MemUsage" +msgstr "UsoMem" + +#: src/xz/list.c +msgid "Filters" +msgstr "Filtros" + +#. TRANSLATORS: Indicates that there is no integrity check. +#. This string is used in tables. In older xz version this +#. string was limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "None" +msgstr "Nenhuma" + +#. TRANSLATORS: Indicates that integrity check name is not known, +#. but the Check ID is known (here 2). In older xz version these +#. strings were limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "Unknown-2" +msgstr "Incógnito2" + +# Não exceder 10 caracteres e espaços não são permitidos -- Rafael +#: src/xz/list.c +msgid "Unknown-3" +msgstr "Incógnito3" + +# Não exceder 10 caracteres e espaços não são permitidos -- Rafael +#: src/xz/list.c +msgid "Unknown-5" +msgstr "Incógnito5" + +# Não exceder 10 caracteres e espaços não são permitidos -- Rafael +#: src/xz/list.c +msgid "Unknown-6" +msgstr "Incógnito6" + +# Não exceder 10 caracteres e espaços não são permitidos -- Rafael +#: src/xz/list.c +msgid "Unknown-7" +msgstr "Incógnito7" + +# Não exceder 10 caracteres e espaços não são permitidos -- Rafael +#: src/xz/list.c +msgid "Unknown-8" +msgstr "Incógnito8" + +# Não exceder 10 caracteres e espaços não são permitidos -- Rafael +#: src/xz/list.c +msgid "Unknown-9" +msgstr "Incógnito9" + +# Não exceder 10 caracteres e espaços não são permitidos -- Rafael +#: src/xz/list.c +msgid "Unknown-11" +msgstr "Incógnito11" + +# Não exceder 10 caracteres e espaços não são permitidos -- Rafael +#: src/xz/list.c +msgid "Unknown-12" +msgstr "Incógnito12" + +# Não exceder 10 caracteres e espaços não são permitidos -- Rafael +#: src/xz/list.c +msgid "Unknown-13" +msgstr "Incógnito13" + +# Não exceder 10 caracteres e espaços não são permitidos -- Rafael +#: src/xz/list.c +msgid "Unknown-14" +msgstr "Incógnito14" + +# Não exceder 10 caracteres e espaços não são permitidos -- Rafael +#: src/xz/list.c +msgid "Unknown-15" +msgstr "Incógnito15" + +#: src/xz/list.c +#, c-format +msgid "%s: File is empty" +msgstr "%s: O arquivo está vazio" + +#: src/xz/list.c +#, c-format +msgid "%s: Too small to be a valid .xz file" +msgstr "%s: Pequeno demais para ser um arquivo .xz válido" + +#. 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 +msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" +msgstr "Fluxos Blocos Comprimido Descomprimid Propo Verif Nome de Arquivo" + +#: src/xz/list.c +msgid "Yes" +msgstr "Sim" + +#: src/xz/list.c +msgid "No" +msgstr "Não" + +#: src/xz/list.c +#, fuzzy +#| msgid " Minimum XZ Utils version: %s\n" +msgid "Minimum XZ Utils version:" +msgstr " Versão mínima do XZ Utils: %s\n" + +#. 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 +#, c-format +msgid "%s file\n" +msgid_plural "%s files\n" +msgstr[0] "%s arquivo\n" +msgstr[1] "%s arquivos\n" + +#: src/xz/list.c +msgid "Totals:" +msgstr "Totais:" + +#: src/xz/list.c +msgid "--list works only on .xz files (--format=xz or --format=auto)" +msgstr "--list funciona apenas em arquivos .xz (--format=xz ou --format=auto)" + +#: src/xz/list.c +msgid "Try 'lzmainfo' with .lzma files." +msgstr "Tente 'lzmainfo' com arquivos .lzma." + +#: src/xz/list.c +msgid "--list does not support reading from standard input" +msgstr "--list não possui suporte a leitura da entrada padrão" + +#: src/xz/main.c +#, c-format +msgid "%s: Error reading filenames: %s" +msgstr "%s: Erro ao ler nomes de arquivo: %s" + +#: src/xz/main.c +#, c-format +msgid "%s: Unexpected end of input when reading filenames" +msgstr "%s: Fim da entrada inesperado ao ler nomes de arquivos" + +#: src/xz/main.c +#, c-format +msgid "%s: Null character found when reading filenames; maybe you meant to use '--files0' instead of '--files'?" +msgstr "%s: Caractere nulo encontrado ao ler nomes de arquivos; talvez você queria usar \"--files0\" em vez de \"--files\"?" + +#: src/xz/main.c +msgid "Compression and decompression with --robot are not supported yet." +msgstr "Ainda não há suporte a compressão e descompressão com --robot." + +#: src/xz/main.c +msgid "Cannot read data from standard input when reading filenames from standard input" +msgstr "Não é possível ler dados da entrada padrão ao ler nomes de arquivos da entrada padrão" + +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s: " +msgstr "%s: " + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "Internal error (bug)" +msgstr "Erro interno (bug)" + +#: src/xz/message.c +msgid "Cannot establish signal handlers" +msgstr "Não foi possível estabelecer manipuladores de sinais" + +#: src/xz/message.c +msgid "No integrity check; not verifying file integrity" +msgstr "Sem verificação de integridade; não será verificada a integridade do arquivo" + +#: src/xz/message.c +msgid "Unsupported type of integrity check; not verifying file integrity" +msgstr "Tipo de verificação de integridade sem suporte; não será verificada a integridade do arquivo" + +#: src/xz/message.c +msgid "Memory usage limit reached" +msgstr "Limite de uso de memória alcançado" + +#: src/xz/message.c +msgid "File format not recognized" +msgstr "Formato de arquivo não reconhecido" + +#: src/xz/message.c +msgid "Unsupported options" +msgstr "Opções sem suporte" + +#: src/xz/message.c +msgid "Compressed data is corrupt" +msgstr "Os dados comprimidos estão corrompidos" + +#: src/xz/message.c +msgid "Unexpected end of input" +msgstr "Fim da entrada inesperado" + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limiter is disabled." +msgstr "%s MiB de memória é necessário. O limitador está desabilitado." + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limit is %s." +msgstr "%s MiB de memória é necessário. O limite é %s." + +#: src/xz/message.c +#, c-format +msgid "%s: Filter chain: %s\n" +msgstr "%s: Cadeia de filtros: %s\n" + +#: src/xz/message.c +#, c-format +msgid "Try '%s --help' for more information." +msgstr "Tente \"%s --help\" para mais informações." + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Error printing the help text (error code %d)" +msgstr "" + +#: src/xz/message.c +#, c-format +msgid "Usage: %s [OPTION]... [FILE]...\n" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "Usage: %s [OPTION]... [FILE]...\n" +#| "Compress or decompress FILEs in the .xz format.\n" +#| "\n" +msgid "Compress or decompress FILEs in the .xz format." +msgstr "" +"Uso: %s [OPÇÕES]... [ARQUIVO]...\n" +"Comprime e descomprime ARQUIVOs no formato .xz.\n" +"\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Mandatory arguments to long options are mandatory for short options too.\n" +msgid "Mandatory arguments to long options are mandatory for short options too." +msgstr "Argumentos obrigatórios para opções longas também o são para opções curtas.\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " Operation mode:\n" +msgid "Operation mode:" +msgstr " Modo de operação:\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Decompression:" +msgid "force compression" +msgstr "Descompactação:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Decompression:" +msgid "force decompression" +msgstr "Descompactação:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "test compressed file integrity" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "list information about .xz files" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Operation modifiers:\n" +msgid "Operation modifiers:" +msgstr "" +"\n" +" Modificadores de opções:\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "keep (don't delete) input files" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force overwrite of output file and (de)compress links" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Writing to standard output failed" +msgid "write to standard output and don't delete input files" +msgstr "A escrita para a saída padrão falhou" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't synchronize the output file to the storage device before removing the input file" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --single-stream decompress only the first stream, and silently\n" +#| " ignore possible remaining input data" +msgid "decompress only the first stream, and silently ignore possible remaining input data" +msgstr "" +" --single-stream descomprime apenas o primeiro fluxo, e ignora de forma\n" +" silenciosa possíveis dados de entrada restantes" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "do not create sparse files when decompressing" +msgstr "" + +#: src/xz/message.c +msgid ".SUF" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use the suffix '.SUF' on compressed files" +msgstr "" + +#: src/xz/message.c +msgid "FILE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "read filenames to process from FILE; if FILE is omitted, filenames are read from the standard input; filenames must be terminated with the newline character" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "like --files but use the null character as terminator" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Basic file format and compression options:\n" +msgid "Basic file format and compression options:" +msgstr "" +"\n" +" Opções básicas de formato de arquivo e compressão:\n" + +#: src/xz/message.c +msgid "FORMAT" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "file format to encode or decode; possible values are 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'" +msgstr "" + +#: src/xz/message.c +msgid "NAME" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "integrity check type: 'none' (use with caution), 'crc32', 'crc64' (default), or 'sha256'" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " --ignore-check don't verify the integrity check when decompressing" +msgid "don't verify the integrity check when decompressing" +msgstr " --ignore-check não faz a verificação de integridade ao descomprimir" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " -0 ... -9 compression preset; default is 6; take compressor *and*\n" +#| " decompressor memory usage into account before using 7-9!" +msgid "compression preset; default is 6; take compressor *and* decompressor memory usage into account before using 7-9!" +msgstr "" +" -0 ... -9 predefinição de compressão; padrão é 6; leve o uso de\n" +" memória do compressor *e* descompressor em conta\n" +" antes de usar 7-9!" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " -e, --extreme try to improve compression ratio by using more CPU time;\n" +#| " does not affect decompressor memory requirements" +msgid "try to improve compression ratio by using more CPU time; does not affect decompressor memory requirements" +msgstr "" +" -e, --extreme tenta melhorar a proporção de compressão usando mais\n" +" tempo de CPU; não afeta os requisitos de memória do\n" +" descompressor" + +#. TRANSLATORS: Short for NUMBER. A longer string is fine but +#. wider than 5 columns makes --long-help a few lines longer. +#: src/xz/message.c +msgid "NUM" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " -T, --threads=NUM use at most NUM threads; the default is 0 which uses\n" +#| " as many threads as there are processor cores" +msgid "use at most NUM threads; the default is 0 which uses as many threads as there are processor cores" +msgstr "" +" -T, --threads=NÚM usa no máximo NÚM threads; o padrão é 0 que usa\n" +" o máximo de threads que há de núcleos de processador" + +#: src/xz/message.c +msgid "SIZE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --block-size=SIZE\n" +#| " start a new .xz block after every SIZE bytes of input;\n" +#| " use this to set the block size for threaded compression" +msgid "start a new .xz block after every SIZE bytes of input; use this to set the block size for threaded compression" +msgstr "" +" --block-size=TAM\n" +" inicia novo bloco .xz após cada TAM bytes de entrada;\n" +" use isso para definido o tamanho de bloco para\n" +" compressão com threads" + +#: src/xz/message.c +msgid "BLOCKS" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --block-list=BLOCKS\n" +#| " start a new .xz block after the given comma-separated\n" +#| " intervals of uncompressed data; optionally, specify a\n" +#| " filter chain number (0-9) followed by a ':' before the\n" +#| " uncompressed data size" +msgid "start a new .xz block after the given comma-separated intervals of uncompressed data; optionally, specify a filter chain number (0-9) followed by a ':' before the uncompressed data size" +msgstr "" +" --block-list=BLOCOS\n" +" inicia um novo bloco .xz após os intervalos dados,\n" +" separados por vírgula, de dados descomprimidos;\n" +" opcionalmente, especifique um número de cadeia de\n" +" filtros (0-9) seguido por um ':' antes do tamanho\n" +" dos dados descompactados" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --flush-timeout=TIMEOUT\n" +#| " when compressing, if more than TIMEOUT milliseconds has\n" +#| " passed since the previous flush and reading more input\n" +#| " would block, all pending data is flushed out" +msgid "when compressing, if more than NUM milliseconds has passed since the previous flush and reading more input would block, all pending data is flushed out" +msgstr "" +" --flush-timeout=TEMPO-LIMITE\n" +" ao comprimir, se mais de TEMPO-LIMITE milissegundos\n" +" tiverem passado desde a liberação anterior e a leitura\n" +" de mais entrada bloquearia, todos os dados pendentes\n" +" serão liberados" + +#: src/xz/message.c +msgid "LIMIT" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, no-c-format +msgid "set memory usage limit for compression, decompression, threaded decompression, or all of these; LIMIT is in bytes, % of RAM, or 0 for defaults" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --no-adjust if compression settings exceed the memory usage limit,\n" +#| " give an error instead of adjusting the settings downwards" +msgid "if compression settings exceed the memory usage limit, give an error instead of adjusting the settings downwards" +msgstr "" +" --no-adjust se configurações de compressão exceder o limite\n" +" de uso de memória, fornece um erro em vez de\n" +" ajustar as configurações para baixo" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Custom filter chain for compression (alternative for using presets):" +msgid "Custom filter chain for compression (an alternative to using presets):" +msgstr "" +"\n" +" Cadeia de filtros personalizada para compressão (alternativa à predefinição):" + +#: src/xz/message.c +msgid "FILTERS" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " --filters=FILTERS set the filter chain using the liblzma filter string\n" +#| " syntax; use --filters-help for more information" +msgid "set the filter chain using the liblzma filter string syntax; use --filters-help for more information" +msgstr "" +"\n" +" --filters=FILTROS define a cadeia de filtros usando a sintaxe de filtro\n" +" do liblzma; use --filters-help para mais informações" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --filters1=FILTERS ... --filters9=FILTERS\n" +#| " set additional filter chains using the liblzma filter\n" +#| " string syntax to use with --block-list" +msgid "set additional filter chains using the liblzma filter string syntax to use with --block-list" +msgstr "" +"--filters1=FILTROS ... --filters9=FILTROS\n" +" define cadeias de filtros adicionais usando a sintaxe\n" +" de filtro liblzma para usar com --block-list" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --filters-help display more information about the liblzma filter string\n" +#| " syntax and exit." +msgid "display more information about the liblzma filter string syntax and exit" +msgstr "" +" --filters-help exibe mais informações sobre a sintaxe de filtro liblzma\n" +" e sai." + +#. TRANSLATORS: Short for OPTIONS. +#: src/xz/message.c +msgid "OPTS" +msgstr "" + +#. TRANSLATORS: Use semicolon (or its fullwidth form) +#. in "(valid values; default)" even if it is weird in +#. your language. There are non-translatable strings +#. that look like "(foo, bar, baz; foo)" which list +#. the supported values and the default value. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "LZMA1 or LZMA2; OPTS is a comma-separated list of zero or more of the following options (valid values; default):" +msgstr "" + +#. TRANSLATORS: Short for PRESET. A longer string is +#. fine but wider than 4 columns makes --long-help +#. one line longer. +#: src/xz/message.c +msgid "PRE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "reset options to a preset" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "dictionary size" +msgstr "" + +#. TRANSLATORS: The word "literal" in "literal context +#. bits" means how many "context bits" to use when +#. encoding literals. A literal is a single 8-bit +#. byte. It doesn't mean "literally" here. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal context bits" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal position bits" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Number of processor threads:" +msgid "number of position bits" +msgstr "Número de threads de processador:" + +#: src/xz/message.c +msgid "MODE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Decompression:" +msgid "compression mode" +msgstr "Descompactação:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "nice length of a match" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "match finder" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "maximum search depth; 0=automatic (default)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "x86 BCJ filter (32-bit and 64-bit)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM-Thumb BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM64 BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "PowerPC BCJ filter (big endian only)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "IA-64 (Itanium) BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "SPARC BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "RISC-V BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Valid OPTS for all BCJ filters:" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start offset for conversions (default=0)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Delta filter; valid OPTS (valid values; default):" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "distance between bytes being subtracted from each other" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Other options:\n" +msgid "Other options:" +msgstr "" +"\n" +" Outras opções:\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "suppress warnings; specify twice to suppress errors too" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "be verbose; specify twice for even more verbose" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " -Q, --no-warn make warnings not affect the exit status" +msgid "make warnings not affect the exit status" +msgstr " -Q, --no-warn faz os avisos não afetarem o status de saída" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " --robot use machine-parsable messages (useful for scripts)" +msgid "use machine-parsable messages (useful for scripts)" +msgstr " --robot usa mensagens analisáveis por máquina (útil p/ scripts)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --info-memory display the total amount of RAM and the currently active\n" +#| " memory usage limits, and exit" +msgid "display the total amount of RAM and the currently active memory usage limits, and exit" +msgstr "" +" --info-memory exibe a quantidade total de RAM e os limites de uso\n" +" de memória atualmente ativos e sai" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the short help (lists only the basic options)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this long help and exit" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this short help and exit" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the long help (lists also the advanced options)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " -V, --version display the version number and exit" +msgid "display the version number and exit" +msgstr " -V, --version exibe o número de versão e sai" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, fuzzy +#| msgid "" +#| "\n" +#| "With no FILE, or when FILE is -, read standard input.\n" +msgid "With no FILE, or when FILE is -, read standard input." +msgstr "" +"\n" +"Sem ARQUIVO, ou quando ARQUIVO é -, lê da entrada padrão.\n" + +#. TRANSLATORS: This message indicates the bug reporting +#. address for this package. Please add another line saying +#. "\nReport translation bugs to <...>." with the email or WWW +#. address for translation bugs. Thanks! +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, fuzzy, c-format +#| msgid "Report bugs to <%s> (in English or Finnish).\n" +msgid "Report bugs to <%s> (in English or Finnish)." +msgstr "" +"Relate erros para <%s> (em inglês ou finlandês).\n" +"Relate erros de tradução para .\n" + +#. TRANSLATORS: The first %s is the name of this software. +#. The second <%s> is an URL. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, fuzzy, c-format +#| msgid "%s home page: <%s>\n" +msgid "%s home page: <%s>" +msgstr "Site do %s: <%s>\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE." +msgstr "ESSA É UMA VERSÃO DE DESENVOLVIMENTO, NÃO DESTINADA PARA USO EM PRODUÇÃO." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy, c-format +#| msgid "" +#| "Filter chains are set using the --filters=FILTERS or\n" +#| "--filters1=FILTERS ... --filters9=FILTERS options. Each filter in the chain\n" +#| "can be separated by spaces or '--'. Alternatively a preset <0-9>[e] can be\n" +#| "specified instead of a filter chain.\n" +msgid "Filter chains are set using the --filters=FILTERS or --filters1=FILTERS ... --filters9=FILTERS options. Each filter in the chain can be separated by spaces or '--'. Alternatively a preset %s can be specified instead of a filter chain." +msgstr "" +"As cadeias de filtros são definidas usando as opções --filters=FILTROS ou\n" +"--filters1=FILTROS ... --filters9=FILTROS. Cada filtro na cadeia pode ser\n" +"separado por espaços ou \"--\". Alternativamente, uma predefinição <0-9>[e]\n" +"pode ser especificada em vez de uma cadeia de filtros.\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "The supported filters and their options are:" +msgstr "Os filtros suportados e suas opções são:" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Options must be 'name=value' pairs separated with commas" +msgid "Options must be 'name=value' pairs separated with commas" +msgstr "%s: As opções devem ser pares \"nome=valor\" separados por vírgulas" + +#: src/xz/options.c +#, c-format +msgid "%s: Invalid option name" +msgstr "%s: Nome de opção inválido" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Invalid option value" +msgid "Invalid option value" +msgstr "%s: Valor de opção inválido" + +#: src/xz/options.c +#, c-format +msgid "Unsupported LZMA1/LZMA2 preset: %s" +msgstr "Predefinição LZMA1/LZMA2 sem suporte: %s" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "The sum of lc and lp must not exceed 4" +msgstr "A soma de lc e lp não deve exceder 4" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Filename has an unknown suffix, skipping" +msgstr "%s: O nome de arquivo tem um sufixo desconhecido, ignorando" + +#: src/xz/suffix.c +#, c-format +msgid "%s: File already has '%s' suffix, skipping" +msgstr "%s: O arquivo já tem o sufixo \"%s\", ignorando" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Invalid filename suffix" +msgstr "%s: Sufixo de nome de arquivo inválido" + +#: src/xz/util.c src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Value is not a non-negative decimal integer" +msgid "Value is not a non-negative decimal integer" +msgstr "%s: O valor não é um inteiro integral decimal" + +#: src/xz/util.c +#, c-format +msgid "%s: Invalid multiplier suffix" +msgstr "%s: Sufixo multiplicador inválido" + +#: src/xz/util.c +msgid "Valid suffixes are 'KiB' (2^10), 'MiB' (2^20), and 'GiB' (2^30)." +msgstr "Sufixos válidos são \"KiB\" (2^10), \"MiB\" (2^20) e \"GiB\" (2^30)." + +#: src/xz/util.c +#, c-format +msgid "Value of the option '%s' must be in the range [%, %]" +msgstr "O valor da opção \"%s\" deve estar no intervalo [%, %]" + +#: src/xz/util.c +msgid "Compressed data cannot be read from a terminal" +msgstr "Dados comprimidos não podem ser lidos de um terminal" + +#: src/xz/util.c +msgid "Compressed data cannot be written to a terminal" +msgstr "Dados comprimidos não podem ser escrito para um terminal" + +#: src/lzmainfo/lzmainfo.c +#, fuzzy, c-format +#| msgid "" +#| "Usage: %s [--help] [--version] [FILE]...\n" +#| "Show information stored in the .lzma file header" +msgid "Usage: %s [--help] [--version] [FILE]...\n" +msgstr "" +"Uso: %s [--help] [--version] [ARQUIVO]...\n" +"Mostra informações armazenadas no cabeçalho do arquivo .lzma" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/lzmainfo/lzmainfo.c +#, fuzzy +#| msgid "" +#| "Usage: %s [--help] [--version] [FILE]...\n" +#| "Show information stored in the .lzma file header" +msgid "Show information stored in the .lzma file header." +msgstr "" +"Uso: %s [--help] [--version] [ARQUIVO]...\n" +"Mostra informações armazenadas no cabeçalho do arquivo .lzma" + +#: src/lzmainfo/lzmainfo.c +msgid "File is too small to be a .lzma file" +msgstr "Arquivo é pequeno demais para ser um arquivo .lzma" + +#: src/lzmainfo/lzmainfo.c +msgid "Not a .lzma file" +msgstr "Não é um arquivo .lzma" + +#: src/common/tuklib_exit.c +msgid "Writing to standard output failed" +msgstr "A escrita para a saída padrão falhou" + +#: src/common/tuklib_exit.c +msgid "Unknown error" +msgstr "Erro desconhecido" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "Unsupported options" +msgid "Unsupported preset" +msgstr "Opções sem suporte" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "Unsupported filter chain or filter options" +msgid "Unsupported flag in the preset" +msgstr "Opções de filtro ou cadeia de filtros sem suporte" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Invalid option name" +msgid "Unknown option name" +msgstr "%s: Nome de opção inválido" + +#: src/liblzma/common/string_conversion.c +msgid "Option value cannot be empty" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "Value out of range" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "This option does not support any multiplier suffixes" +msgstr "" + +#. TRANSLATORS: Don't translate the +#. suffixes "KiB", "MiB", or "GiB" +#. because a user can only specify +#. untranslated suffixes. +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Invalid multiplier suffix" +msgid "Invalid multiplier suffix (KiB, MiB, or GiB)" +msgstr "%s: Sufixo multiplicador inválido" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Unknown file format type" +msgid "Unknown filter name" +msgstr "%s: Tipo de formato de arquivo desconhecido" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "LZMA1 cannot be used with the .xz format" +msgid "This filter cannot be used in the .xz format" +msgstr "LZMA1 não pode ser usado com o formato .xz" + +#: src/liblzma/common/string_conversion.c +msgid "Memory allocation failed" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "Empty string is not allowed, try '6' if a default value is needed" +msgstr "" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "Maximum number of filters is four" +msgid "The maximum number of filters is four" +msgstr "O número máximo de filtros é quatro" + +#: src/liblzma/common/string_conversion.c +msgid "Filter name is missing" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "Invalid filter chain ('lzma2' missing at the end?)" +msgstr "" + +#~ msgid "" +#~ " -z, --compress force compression\n" +#~ " -d, --decompress force decompression\n" +#~ " -t, --test test compressed file integrity\n" +#~ " -l, --list list information about .xz files" +#~ msgstr "" +#~ " -z, --compress força a compressão\n" +#~ " -d, --decompress força a descompressão\n" +#~ " -t, --test testa a integridade do arquivo comprimido\n" +#~ " -l, --list lista informações sobre arquivos .xz" + +#~ 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 mantém (não exclui) os arquivos de entrada\n" +#~ " -f, --force força a sobrescrita do arquivo de entrada e a \n" +#~ " (des)compressão de links\n" +#~ " -c, --stdout escreve a entrada padrão e não exclui os arquivos\n" +#~ " de entrada" + +#~ msgid "" +#~ " --no-sparse do not create sparse files when decompressing\n" +#~ " -S, --suffix=.SUF use the suffix '.SUF' on compressed files\n" +#~ " --files[=FILE] read filenames to process from FILE; if FILE is\n" +#~ " omitted, filenames are read from the standard input;\n" +#~ " filenames must be terminated with the newline character\n" +#~ " --files0[=FILE] like --files but use the null character as terminator" +#~ msgstr "" +#~ " --no-sparse não cria arquivos esparsos ao descomprimir\n" +#~ " -S, --suffix=.SUF usa o sufixo \".SUF\" em arquivos comprimidos\n" +#~ " --files[=ARQUIVO]\n" +#~ " lê nomes de arquivos para processar de ARQUIVO;\n" +#~ " se ARQUIVO for omitido, nomes de arquivos são\n" +#~ " lidos da entrada padrão; nomes de arquivos devem\n" +#~ " terminar com o caractere de nova linha\n" +#~ " --files0[=ARQUIVO]\n" +#~ " similar a --files, mas usa o caractere nulo como\n" +#~ " terminador" + +#~ msgid "" +#~ " -F, --format=FMT file format to encode or decode; possible values are\n" +#~ " 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'\n" +#~ " -C, --check=CHECK integrity check type: 'none' (use with caution),\n" +#~ " 'crc32', 'crc64' (default), or 'sha256'" +#~ msgstr "" +#~ " -F, --format=FMT formato de arquivo para codificar ou decodificar;\n" +#~ " valores possíveis são\n" +#~ " \"auto\" (padrão), \"xz\", \"lzma\", \"lzip\" e \"raw\"\n" +#~ " -C, --check=VERIF tipo de verificação de integridade: \"none\" (cuidado!),\n" +#~ " \"crc32\", \"crc64\" (padrão) ou \"sha256\"" + +#, no-c-format +#~ msgid "" +#~ " --memlimit-compress=LIMIT\n" +#~ " --memlimit-decompress=LIMIT\n" +#~ " --memlimit-mt-decompress=LIMIT\n" +#~ " -M, --memlimit=LIMIT\n" +#~ " set memory usage limit for compression, decompression,\n" +#~ " threaded decompression, or all of these; LIMIT is in\n" +#~ " bytes, % of RAM, or 0 for defaults" +#~ msgstr "" +#~ " --memlimit-compress=LIMITE\n" +#~ " --memlimit-decompress=LIMITE\n" +#~ " --memlimit-mt-decompress=LIMITE\n" +#~ " -M, --memlimit=LIMITE\n" +#~ " define o limite de uso de memória para compressão,\n" +#~ " descompressão, compactação em threads ou todas essas;\n" +#~ " LIMITE é em bytes, % de RAM ou 0 para padrões" + +#~ msgid "" +#~ "\n" +#~ " --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n" +#~ " --lzma2[=OPTS] more of the following options (valid values; default):\n" +#~ " preset=PRE reset options to a preset (0-9[e])\n" +#~ " dict=NUM dictionary size (4KiB - 1536MiB; 8MiB)\n" +#~ " lc=NUM number of literal context bits (0-4; 3)\n" +#~ " lp=NUM number of literal position bits (0-4; 0)\n" +#~ " pb=NUM number of position bits (0-4; 2)\n" +#~ " mode=MODE compression mode (fast, normal; normal)\n" +#~ " nice=NUM nice length of a match (2-273; 64)\n" +#~ " mf=NAME match finder (hc3, hc4, bt2, bt3, bt4; bt4)\n" +#~ " depth=NUM maximum search depth; 0=automatic (default)" +#~ msgstr "" +#~ "\n" +#~ "--lzma1[=OPÇÕES] LZMA1/LZMA2; OPÇÕES é uma lista separada por vírgula de\n" +#~ "--lzma2[=OPÇÕES] zero ou + das opções abaixo (valores válidos, padrão):\n" +#~ " preset=PRE redefine opções para predefinição (0-9[e])\n" +#~ " dict=NÚM tam. de dicionário (4KiB - 1536MiB; 8MiB)\n" +#~ " lc=NÚM núm. de bits de contexto literal (0-4; 3)\n" +#~ " lp=NÚM núm. de bits de posição literal (0-4; 0)\n" +#~ " pb=NÚM núm. de bits de posição (0-4; 2)\n" +#~ " mode=MODO modo de compressão (fast, normal; normal)\n" +#~ " nice=NÚM tam. de nice de correspondência (2-273; 64)\n" +#~ " mf=NOME localizador de correspondência\n" +#~ " (hc3, hc4, bt2, bt3, bt4; bt4)\n" +#~ " depth=NUM máximo de profundidade de pesquisa;\n" +#~ " 0=automatic (padrão)" + +#~ msgid "" +#~ "\n" +#~ " --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n" +#~ " --arm[=OPTS] ARM BCJ filter\n" +#~ " --armthumb[=OPTS] ARM-Thumb BCJ filter\n" +#~ " --arm64[=OPTS] ARM64 BCJ filter\n" +#~ " --powerpc[=OPTS] PowerPC BCJ filter (big endian only)\n" +#~ " --ia64[=OPTS] IA-64 (Itanium) BCJ filter\n" +#~ " --sparc[=OPTS] SPARC BCJ filter\n" +#~ " --riscv[=OPTS] RISC-V BCJ filter\n" +#~ " Valid OPTS for all BCJ filters:\n" +#~ " start=NUM start offset for conversions (default=0)" +#~ msgstr "" +#~ "\n" +#~ " --x86[=OPÇÕES] filtro BCJ x86 (32 bits e 64 bits)\n" +#~ " --arm[=OPÇÕES] filtro BCJ ARM\n" +#~ " --armthumb[=OPÇÕES] filtro BCJ ARM-Thumb\n" +#~ " --arm64[=OPÇÕES] filtro BCJ ARM64\n" +#~ " --powerpc[=OPÇÕES] filtro BCJ PowerPC (big endian apenas)\n" +#~ " --ia64[=OPÇÕES] filtro BCJ IA-64 (Itanium)\n" +#~ " --sparc[=OPÇÕES] filtro BCJ SPARC\n" +#~ " --riscv[=OPÇÕES] filtro BCJ RISC-V\n" +#~ " OPÇÕES válidas para todos os filtros BCJ:\n" +#~ " start=NUM deslocamento inicial para conversões\n" +#~ " (padrão=0)" + +#~ msgid "" +#~ "\n" +#~ " --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n" +#~ " dist=NUM distance between bytes being subtracted\n" +#~ " from each other (1-256; 1)" +#~ msgstr "" +#~ "\n" +#~ " --delta[=OPÇÕES] filtro delta; OPÇÕES válidas (valores válidos, padrão):\n" +#~ " dist=NÚM distância entre bytes sendo subtraído\n" +#~ " de cada um (1-256; 1)" + +#~ msgid "" +#~ " -q, --quiet suppress warnings; specify twice to suppress errors too\n" +#~ " -v, --verbose be verbose; specify twice for even more verbose" +#~ msgstr "" +#~ " -q, --quiet suprime avisos, use duas vezes para suprimir erros também\n" +#~ " -v, --verbose ser detalhado; use duas vezes para ainda mais detalhes" + +#~ 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 exibe a ajuda curto (lista apenas as opções básicas)\n" +#~ " -H, --long-help exibe essa ajuda longa e sai" + +#~ 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 exibe essa ajuda curta e sai\n" +#~ " -H, --long-help exibe a ajuda longa (lista também as opções avançadas)" + +#~ msgid "Failed to enable the sandbox" +#~ msgstr "Falha ao habilitar o sandbox" + +#~ msgid "Sandbox is disabled due to incompatible command line arguments" +#~ msgstr "Sandbox está desabilitado em razão de argumentos de linha de comando incompatíveis" + +#~ msgid "Sandbox was successfully enabled" +#~ msgstr "Sandbox foi habilitado com sucesso" + +# Espaços adicionados para manter alinhamento com mensagens adjacentes -- Rafael +#~ msgid "Memory usage limit for compression: " +#~ msgstr "Limite de uso de memória para compressão: " + +#~ msgid " Streams: %s\n" +#~ msgstr " Fluxos: %s\n" + +#~ msgid " Blocks: %s\n" +#~ msgstr " Blocos: %s\n" + +#~ msgid " Ratio: %s\n" +#~ msgstr " Proporção: %s\n" + +#~ msgid " Check: %s\n" +#~ msgstr " Verificação: %s\n" + +#~ msgid "" +#~ " Streams:\n" +#~ " Stream Blocks CompOffset UncompOffset CompSize UncompSize Ratio Check Padding" +#~ msgstr "" +#~ " Fluxos:\n" +#~ " Fluxo Blocos DeslocComp DeslocDescomp TamanhoComp TamanhoDescomp Propo Verif Ajuste" + +#~ msgid "" +#~ " Blocks:\n" +#~ " Stream Block CompOffset UncompOffset TotalSize UncompSize Ratio Check" +#~ msgstr "" +#~ " Blocos:\n" +#~ " Fluxo Bloco DeslocComp DeslocDescomp TamanhoTotal TamanhoDecomp Propo Verif" + +#~ msgid " CheckVal %*s Header Flags CompSize MemUsage Filters" +#~ msgstr " ValVerif %*s Cabeç Sinaliz TamComp UsoMem Filtros" + +#~ msgid "The selected match finder requires at least nice=%" +#~ msgstr "O localizador de correspondência selecionado requer pelo menos nice=%" diff --git a/src/native/external/xz/po/ro.po b/src/native/external/xz/po/ro.po new file mode 100644 index 00000000000000..1bbd358a703f21 --- /dev/null +++ b/src/native/external/xz/po/ro.po @@ -0,0 +1,1311 @@ +# SPDX-License-Identifier: 0BSD +# +# Romanian translation for XZ Utils package. +# Mesajele în limba română pentru pachetul XZ Utils. +# This file is published under the BSD Zero Clause License. +# +# Remus-Gabriel Chelu , 2022 - 2025. +# +# Cronologia traducerii fișierului „xz”: +# Traducerea inițială, făcută de R-GC, pentru versiunea xz 5.2.5. +# Actualizare a traducerii pentru versiunea 5.2.6 (nepublicată în TP), făcută de R-GC, 2022. +# Actualizare a algoritmului formelor de plural (de la „trei” la „patru” experimental). +# Actualizare a traducerii pentru versiunea 5.4.0-pre1, făcută de R-GC, noi-2022. +# Actualizare a traducerii pentru versiunea 5.4.0-pre2, făcută de R-GC, dec-2022. +# Actualizare a traducerii pentru versiunea 5.4.3, făcută de R-GC, mai-2023. +# Actualizare a traducerii pentru versiunea 5.4.4-pre1, făcută de R-GC, iul-2023. +# Actualizare a traducerii pentru versiunea 5.6.0-pre1, făcută de R-GC, feb-2024. +# Actualizare a traducerii pentru versiunea 5.6.0-pre2, făcută de R-GC, feb-2024. +# Actualizare a traducerii pentru versiunea 5.7.1-dev1, făcută de R-GC, ian-2025. +# Actualizare a traducerii pentru versiunea 5.8.0-pre1, făcută de R-GC, mar-2025. +# Actualizare a traducerii pentru versiunea Y, făcută de X, Z(luna-anul). +# +msgid "" +msgstr "" +"Project-Id-Version: xz 5.8.0-pre1\n" +"Report-Msgid-Bugs-To: xz@tukaani.org\n" +"POT-Creation-Date: 2025-01-29 20:59+0200\n" +"PO-Revision-Date: 2025-03-09 19:21+0100\n" +"Last-Translator: Remus-Gabriel Chelu \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=((n==1) ? 0 : (n==2) ? 1 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 2 : 3);\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"X-Generator: Poedit 3.5\n" + +#: src/xz/args.c +#, c-format +msgid "%s: Invalid argument to --block-list" +msgstr "%s: Argument nevalid pentru opțiunea „--block-list”" + +#: src/xz/args.c +#, c-format +msgid "%s: Too many arguments to --block-list" +msgstr "%s: Prea multe argumente pentru opțiunea „--block-list”" + +#: src/xz/args.c +#, c-format +msgid "In --block-list, block size is missing after filter chain number '%c:'" +msgstr "În „--block-list”, dimensiunea blocului lipsește după numărul lanțului de filtrare „%c”:" + +#: src/xz/args.c +msgid "0 can only be used as the last element in --block-list" +msgstr "0 poate fi folosit doar ca ultimul element din opțiunea „--block-list”" + +#: src/xz/args.c +#, c-format +msgid "%s: Unknown file format type" +msgstr "%s: Tip de format de fișier necunoscut" + +#: src/xz/args.c +#, c-format +msgid "%s: Unsupported integrity check type" +msgstr "%s: Tip de verificare a integrității neacceptat" + +#: src/xz/args.c +msgid "Only one file can be specified with '--files' or '--files0'." +msgstr "Numai un fișier poate fi specificat cu „--files” sau „--files0”." + +#. TRANSLATORS: This is a translatable +#. string because French needs a space +#. before the colon ("%s : %s"). +#: src/xz/args.c src/xz/coder.c src/xz/file_io.c src/xz/list.c src/xz/options.c +#: src/xz/util.c +#, c-format +msgid "%s: %s" +msgstr "%s: %s" + +#: src/xz/args.c +#, c-format +msgid "The environment variable %s contains too many arguments" +msgstr "Variabila de mediu „%s” conține prea multe argumente" + +#: src/xz/args.c +msgid "Compression support was disabled at build time" +msgstr "Suportul de comprimare a fost dezactivat în timpul construirii" + +#: src/xz/args.c +msgid "Decompression support was disabled at build time" +msgstr "Suportul de decomprimare a fost dezactivat în timpul construirii" + +#: src/xz/args.c +msgid "Compression of lzip files (.lz) is not supported" +msgstr "Comprimarea fișierelor lzip (.lz) nu este acceptată" + +#: src/xz/args.c +msgid "--block-list is ignored unless compressing to the .xz format" +msgstr "opțiunea „--block-list” este ignorată dacă nu se comprimă în formatul .xz" + +#: src/xz/args.c +msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout" +msgstr "Cu opțiunea „--format=raw”, este necesară opțiunea „--suffix=.SUF”, cu excepția cazului în care se scrie la ieșirea standard" + +#: src/xz/coder.c +msgid "Maximum number of filters is four" +msgstr "Numărul maxim de filtre este patru" + +#: src/xz/coder.c +#, c-format +msgid "Error in --filters%s=FILTERS option:" +msgstr "Eroare în opțiunea „--filters%s=FILTRE”:" + +#: src/xz/coder.c +msgid "Memory usage limit is too low for the given filter setup." +msgstr "Limita de utilizare a memoriei este prea mică pentru configurarea dată filtrului." + +#: src/xz/coder.c +#, c-format +msgid "filter chain %u used by --block-list but not specified with --filters%u=" +msgstr "lanțul de filtre %u este utilizat de „--block-list”, dar nu este specificat cu „--filters%u=”" + +# Notă: +# cu toate că sunt împotriva americanismelor, am preferat folosirea cuvîntului american, „românizat”, pentru a avea o traducere fluidă, fără construcții încărcate și inecesare... +#: src/xz/coder.c +msgid "Using a preset in raw mode is discouraged." +msgstr "Utilizarea unei presetări în modul brut este descurajată." + +#: src/xz/coder.c +msgid "The exact options of the presets may vary between software versions." +msgstr "Opțiunile exacte ale presetărilor pot varia între versiunile de software." + +#: src/xz/coder.c +msgid "The .lzma format supports only the LZMA1 filter" +msgstr "Formatul .lzma acceptă numai filtrul LZMA1" + +#: src/xz/coder.c +msgid "LZMA1 cannot be used with the .xz format" +msgstr "LZMA1 nu poate fi utilizat cu formatul .xz" + +#: src/xz/coder.c +#, c-format +msgid "Filter chain %u is incompatible with --flush-timeout" +msgstr "Lanțul de filtre %u este incompatibil cu opțiunea „--flush-timeout”" + +#: src/xz/coder.c +msgid "Switching to single-threaded mode due to --flush-timeout" +msgstr "Se trece la modul cu un singur fir de execuție datorită opțiunii „--flush-timeout”" + +#: src/xz/coder.c +#, c-format +msgid "Unsupported options in filter chain %u" +msgstr "Opțiuni neacceptate în lanțul de filtre %u" + +# NOTĂ: +# - să intru în contact cu dezvoltatorii, pentru ai ruga să introducă a doua formă de plural +# (necesară cel puțin pentru limba română): +# „Se utilizează până la % de fire.” +# **** +# construcție necesară pentru mașini cu +# procesoare/nuclee > 10 +# === +# cred că deja au apărut astfel de „monștrii” +#: src/xz/coder.c +#, c-format +msgid "Using up to % threads." +msgstr "Se utilizează până la % fire de execuție." + +#: src/xz/coder.c +msgid "Unsupported filter chain or filter options" +msgstr "Lanț de filtre sau opțiuni de filtrare neacceptate" + +#: src/xz/coder.c +#, c-format +msgid "Decompression will need %s MiB of memory." +msgstr "Decomprimarea va avea nevoie de %sMio de memorie." + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to %s to not exceed the memory usage limit of %s MiB" +msgstr "Numărul de fire de execuție a fost redus de la %s la %s pentru a nu se depăși limita de utilizare a memoriei de %sMio" + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to one. The automatic memory usage limit of %s MiB is still being exceeded. %s MiB of memory is required. Continuing anyway." +msgstr "S-a redus numărul de fire de execuție de la %s la unul. Limita automată de utilizare a memoriei de %sMio este încă depășită. Sunt necesari %sMio de memorie. Se continuă în ciuda acestui lucru." + +#: src/xz/coder.c +#, c-format +msgid "Switching to single-threaded mode to not exceed the memory usage limit of %s MiB" +msgstr "S-a trecut la modul cu un singur-fir de execuție pentru a nu se depăși limita de utilizare a memoriei de %sMio" + +#: src/xz/coder.c +#, 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 "S-a ajustat dimensiunea dicționarului LZMA%c de la %sMio la %sMio pentru a nu se depăși limita de utilizare a memoriei de %sMio" + +#: src/xz/coder.c +#, c-format +msgid "Adjusted LZMA%c dictionary size for --filters%u from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgstr "S-a ajustat dimensiunea dicționarului LZMA%c pentru „--filters%u” de la %sMio la %sMio pentru a nu depăși limita de utilizare a memoriei de %sMio" + +#: src/xz/coder.c +#, c-format +msgid "Error changing to filter chain %u: %s" +msgstr "Eroare la schimbarea lanțului de filtrare %u: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error creating a pipe: %s" +msgstr "Eroare la crearea unei conducte: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: poll() failed: %s" +msgstr "%s: poll() a eșuat: %s" + +#. 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 +#, c-format +msgid "%s: File seems to have been moved, not removing" +msgstr "%s: Fișierul pare să fi fost mutat, nu eliminat" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot remove: %s" +msgstr "%s: Nu se poate elimina: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file owner: %s" +msgstr "%s: Nu se poate configura proprietarul fișierului: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file group: %s" +msgstr "%s: Nu se poate configura grupul proprietar al fișierului: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file permissions: %s" +msgstr "%s: Nu se pot configura permisiunile fișierului: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Synchronizing the file failed: %s" +msgstr "%s: Sincronizarea fișierului a eșuat: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Synchronizing the directory of the file failed: %s" +msgstr "%s: Sincronizarea directorului fișierului a eșuat: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard input: %s" +msgstr "Eroare la obținerea indicatorilor de stare a fișierului de la intrarea standard: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a symbolic link, skipping" +msgstr "%s: Este o legătură simbolică, se omite" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a directory, skipping" +msgstr "%s: Este un director, se omite" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Not a regular file, skipping" +msgstr "%s: Nu este un fișier obișnuit, se omite" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has setuid or setgid bit set, skipping" +msgstr "%s: Fișierul are activați biții «setuid» sau «setgid», se omite" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has sticky bit set, skipping" +msgstr "%s: Fișierul are activat bitul lipicios(sticky), se omite" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Input file has more than one hard link, skipping" +msgstr "%s: Fișierul de intrare are mai mult de o legătură dură, se omite" + +#: src/xz/file_io.c +msgid "Empty filename, skipping" +msgstr "Numele fișierului este gol, se omite" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the status flags to standard input: %s" +msgstr "Eroare la restabilirea indicatorilor de stare la intrarea standard: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard output: %s" +msgstr "Eroare la obținerea indicatorilor de stare a fișierului de la ieșirea standard: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Opening the directory failed: %s" +msgstr "%s: Deschiderea directorului a eșuat: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Destination is not a regular file" +msgstr "%s: Destinația nu este un fișier obișnuit" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the O_APPEND flag to standard output: %s" +msgstr "Eroare la restabilirea indicatorului O_APPEND la ieșirea standard: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Closing the file failed: %s" +msgstr "%s: Închiderea fișierului a eșuat: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Seeking failed when trying to create a sparse file: %s" +msgstr "%s: Căutarea a eșuat când se încerca crearea unui fișier dispers(sparse): %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Read error: %s" +msgstr "%s: Eroare de citire: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Error seeking the file: %s" +msgstr "%s: Eroare la explorarea fișierului: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Unexpected end of file" +msgstr "%s: Sfârșit neașteptat al fișierului" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Write error: %s" +msgstr "%s: Eroare de scriere: %s" + +#: src/xz/hardware.c +msgid "Disabled" +msgstr "Dezactivat" + +#: src/xz/hardware.c +msgid "Amount of physical memory (RAM):" +msgstr "Cantitatea totală de memorie fizică (RAM):" + +#: src/xz/hardware.c +msgid "Number of processor threads:" +msgstr "Numărul de fire de execuție ale procesorului:" + +#: src/xz/hardware.c +msgid "Compression:" +msgstr "Comprimare:" + +#: src/xz/hardware.c +msgid "Decompression:" +msgstr "Decomprimare:" + +#: src/xz/hardware.c +msgid "Multi-threaded decompression:" +msgstr "Decomprimare cu multiple-fire de execuție:" + +# R-GC, scrie: +# ATENȚIE: +# este vorba de: +# T0 = momentul 0, și nu de: +# TO = la, către. pe, în... +# **** +# probabil tipul de literă folosit de mine în Poedit, să +# nu diferențieze prea mult O de 0... +#: src/xz/hardware.c +msgid "Default for -T0:" +msgstr "Implicit pentru -T0:" + +#: src/xz/hardware.c +msgid "Hardware information:" +msgstr "Informații despre componentele mașinii:" + +#: src/xz/hardware.c +msgid "Memory usage limits:" +msgstr "Limitele de utilizare a memoriei:" + +#: src/xz/list.c +msgid "Streams:" +msgstr "Fluxuri:" + +#: src/xz/list.c +msgid "Blocks:" +msgstr "Blocuri:" + +#: src/xz/list.c +msgid "Compressed size:" +msgstr "Dimensiune comprimată:" + +#: src/xz/list.c +msgid "Uncompressed size:" +msgstr "Dimensiune decomprimată:" + +#: src/xz/list.c +msgid "Ratio:" +msgstr "Raport:" + +#: src/xz/list.c +msgid "Check:" +msgstr "Verificare:" + +#: src/xz/list.c +msgid "Stream Padding:" +msgstr "Completare flux:" + +#: src/xz/list.c +msgid "Memory needed:" +msgstr "Memorie necesară:" + +#: src/xz/list.c +msgid "Sizes in headers:" +msgstr "Dim. în antete:" + +#: src/xz/list.c +msgid "Number of files:" +msgstr "Numărul de fișiere:" + +#: src/xz/list.c +msgid "Stream" +msgstr "Flux" + +#: src/xz/list.c +msgid "Block" +msgstr "Bloc" + +#: src/xz/list.c +msgid "Blocks" +msgstr "Blocuri" + +#: src/xz/list.c +msgid "CompOffset" +msgstr "PozițieComprim" + +#: src/xz/list.c +msgid "UncompOffset" +msgstr "PozițieDecomprim" + +#: src/xz/list.c +msgid "CompSize" +msgstr "DimComp" + +#: src/xz/list.c +msgid "UncompSize" +msgstr "DimDecomp" + +#: src/xz/list.c +msgid "TotalSize" +msgstr "DimTotală" + +#: src/xz/list.c +msgid "Ratio" +msgstr "Raport" + +#: src/xz/list.c +msgid "Check" +msgstr "Verificare" + +#: src/xz/list.c +msgid "CheckVal" +msgstr "ValVerificare" + +#: src/xz/list.c +msgid "Padding" +msgstr "Completare" + +#: src/xz/list.c +msgid "Header" +msgstr "Antet" + +#: src/xz/list.c +msgid "Flags" +msgstr "Indicatori" + +#: src/xz/list.c +msgid "MemUsage" +msgstr "UtilizareMem" + +#: src/xz/list.c +msgid "Filters" +msgstr "Filtre" + +#. TRANSLATORS: Indicates that there is no integrity check. +#. This string is used in tables. In older xz version this +#. string was limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "None" +msgstr "Nici una" + +#. TRANSLATORS: Indicates that integrity check name is not known, +#. but the Check ID is known (here 2). In older xz version these +#. strings were limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "Unknown-2" +msgstr "Necunos-2" + +#: src/xz/list.c +msgid "Unknown-3" +msgstr "Necunos-3" + +#: src/xz/list.c +msgid "Unknown-5" +msgstr "Necunos-5" + +#: src/xz/list.c +msgid "Unknown-6" +msgstr "Necunos-6" + +#: src/xz/list.c +msgid "Unknown-7" +msgstr "Necunos-7" + +#: src/xz/list.c +msgid "Unknown-8" +msgstr "Necunos-8" + +#: src/xz/list.c +msgid "Unknown-9" +msgstr "Necunos-9" + +#: src/xz/list.c +msgid "Unknown-11" +msgstr "Necunos-11" + +#: src/xz/list.c +msgid "Unknown-12" +msgstr "Necunos-12" + +#: src/xz/list.c +msgid "Unknown-13" +msgstr "Necunos-13" + +#: src/xz/list.c +msgid "Unknown-14" +msgstr "Necunos-14" + +#: src/xz/list.c +msgid "Unknown-15" +msgstr "Necunos-15" + +#: src/xz/list.c +#, c-format +msgid "%s: File is empty" +msgstr "%s: Fișierul este gol" + +#: src/xz/list.c +#, c-format +msgid "%s: Too small to be a valid .xz file" +msgstr "%s: Prea mic pentru a fi un fișier .xz valid" + +#. 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 +msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" +msgstr "Fluxuri Blocuri Comprimare Decomprimare Raport Verificare Nume fișier" + +#: src/xz/list.c +msgid "Yes" +msgstr "Da" + +#: src/xz/list.c +msgid "No" +msgstr "Nu" + +#: src/xz/list.c +msgid "Minimum XZ Utils version:" +msgstr "Versiunea minimă XZ Utils:" + +#. 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 +#, c-format +msgid "%s file\n" +msgid_plural "%s files\n" +msgstr[0] "un fișier\n" +msgstr[1] "două fișiere\n" +msgstr[2] "%s fișiere\n" +msgstr[3] "%s de fișiere\n" + +#: src/xz/list.c +msgid "Totals:" +msgstr "Totaluri:" + +#: src/xz/list.c +msgid "--list works only on .xz files (--format=xz or --format=auto)" +msgstr "„--list” funcționează numai pe fișierele .xz („--format=xz” sau „--format=auto”)" + +#: src/xz/list.c +msgid "Try 'lzmainfo' with .lzma files." +msgstr "Încercați «lzmainfo» cu fișiere .lzma ." + +#: src/xz/list.c +msgid "--list does not support reading from standard input" +msgstr "„--list” nu acceptă citirea de la intrarea standard" + +#: src/xz/main.c +#, c-format +msgid "%s: Error reading filenames: %s" +msgstr "%s: Eroare la citirea numelor de fișiere: %s" + +#: src/xz/main.c +#, c-format +msgid "%s: Unexpected end of input when reading filenames" +msgstr "%s: Sfârșit neașteptat al intrării la citirea numelor de fișiere" + +# Adaptînd sugestia făcută de Daniel Șerbănescu asupra traducerii cuvîntului „null”, am modificat +# traducerea de la:„Caracter nul găsit...”, la: +# „Caracter nul(null) găsit...” +# Sugestia făcută de el în baza obiecției că în pagina web, «dexonline» definiția cuvîntului nul, este un pic ambiguă; nu are o bază prea solidă, +# din următoarele motive: +# - pagina în cauză e construită, alimentată și menținută de persoane voluntare, precum noi ca traducători de software. +# - intrările pentru definiția cuvîntului „nul”, sînt extrase din dicționare de uz general; niciuna dintre ele, nu a ieșit dintr-un dicționar tehnic, cu atît mai puțin unul de informatică. +# - utilizatorul software-ului «xz», direct de la linia de comandă, mă îndoiesc că va fi un utilizator ce nu este familiarizat cu nomenclatura din informatică (pentru restul utilizatorilor, acest mesaj nu va fi vizibil, pentru că-l vor utiliza din spatele unui software „IGU” «InterfațăGrafică(de)Utilizator» +#: src/xz/main.c +#, c-format +msgid "%s: Null character found when reading filenames; maybe you meant to use '--files0' instead of '--files'?" +msgstr "%s: Caracter nul(null) găsit la citirea numelor de fișiere; poate ați vrut să utilizați „--files0” în loc de „--files”?" + +#: src/xz/main.c +msgid "Compression and decompression with --robot are not supported yet." +msgstr "Comprimarea și decomprimarea cu „--robot” nu sunt încă acceptate." + +#: src/xz/main.c +msgid "Cannot read data from standard input when reading filenames from standard input" +msgstr "Nu se pot citi date de la intrarea standard atunci când se citesc numele de fișiere de la intrarea standard" + +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s: " +msgstr "%s: " + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "Internal error (bug)" +msgstr "Eroare internă (bug)" + +#: src/xz/message.c +msgid "Cannot establish signal handlers" +msgstr "Nu se pot stabili gestionarii de semnal" + +#: src/xz/message.c +msgid "No integrity check; not verifying file integrity" +msgstr "Fără verificare a integrității; nu se verifică integritatea fișierului" + +#: src/xz/message.c +msgid "Unsupported type of integrity check; not verifying file integrity" +msgstr "Tip neacceptat de verificare a integrității; nu se verifică integritatea fișierului" + +#: src/xz/message.c +msgid "Memory usage limit reached" +msgstr "Limita de utilizare a memoriei a fost atinsă" + +#: src/xz/message.c +msgid "File format not recognized" +msgstr "Formatul fișierului nu este recunoscut" + +#: src/xz/message.c +msgid "Unsupported options" +msgstr "Opțiuni neacceptate" + +#: src/xz/message.c +msgid "Compressed data is corrupt" +msgstr "Datele comprimate sunt corupte" + +#: src/xz/message.c +msgid "Unexpected end of input" +msgstr "Sfârșit neașteptat al intrării" + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limiter is disabled." +msgstr "Se necesită %sMio de memorie. Limitarea este dezactivată." + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limit is %s." +msgstr "Se necesită %sMio de memorie. Limita este de %s." + +#: src/xz/message.c +#, c-format +msgid "%s: Filter chain: %s\n" +msgstr "%s: Lanț de filtre: %s\n" + +#: src/xz/message.c +#, c-format +msgid "Try '%s --help' for more information." +msgstr "Încercați «%s --help» pentru mai multe informații." + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Error printing the help text (error code %d)" +msgstr "Eroare la afișarea textului de ajutor (cod de eroare %d)" + +#: src/xz/message.c +#, c-format +msgid "Usage: %s [OPTION]... [FILE]...\n" +msgstr "Utilizare: %s [OPȚIUNE]... [FIȘIER]...\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Compress or decompress FILEs in the .xz format." +msgstr "Comprimă sau decomprimă FIȘIER(e) în formatul .xz ." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Mandatory arguments to long options are mandatory for short options too." +msgstr "Argumentele obligatorii pentru opțiunile lungi sunt de asemenea obligatorii pentru opțiunile scurte." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Operation mode:" +msgstr "Mod de operare:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force compression" +msgstr "forțează comprimarea" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force decompression" +msgstr "forțează decomprimarea" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "test compressed file integrity" +msgstr "testează integritatea fișierului comprimat" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "list information about .xz files" +msgstr "listează informații despre fișierele .xz" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Operation modifiers:" +msgstr "Modificatori operație:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "keep (don't delete) input files" +msgstr "păstrează (nu șterge) fișierele de intrare" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force overwrite of output file and (de)compress links" +msgstr "forțează suprascrierea fișierului de ieșire și (de)comprimă legăturile" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "write to standard output and don't delete input files" +msgstr "scrie la ieșirea standard și nu șterge fișierele de intrare" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't synchronize the output file to the storage device before removing the input file" +msgstr "nu sincronizează fișierul de ieșire cu dispozitivul de stocare înainte de a elimina fișierul de intrare" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "decompress only the first stream, and silently ignore possible remaining input data" +msgstr "decomprimă doar primul flux și ignoră în tăcere posibilele date de intrare rămase" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "do not create sparse files when decompressing" +msgstr "nu creează fișiere disperse când decomprimă" + +#: src/xz/message.c +msgid ".SUF" +msgstr ".SUF" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use the suffix '.SUF' on compressed files" +msgstr "utilizează sufixul „.SUF” pentru fișierele comprimate" + +#: src/xz/message.c +msgid "FILE" +msgstr "FIȘIER" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "read filenames to process from FILE; if FILE is omitted, filenames are read from the standard input; filenames must be terminated with the newline character" +msgstr "citește numele fișierelor de procesat din FIȘIER; dacă FIȘIER este omis, numele de fișiere sunt citite de la intrarea standard; numele de fișiere trebuie să fie terminate cu caracterul de linie nouă" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "like --files but use the null character as terminator" +msgstr "ca „--files”, dar folosește caracterul null ca terminator" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Basic file format and compression options:" +msgstr "Formatul de bază al fișierului și opțiunile de comprimare:" + +#: src/xz/message.c +msgid "FORMAT" +msgstr "FORMAT" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "file format to encode or decode; possible values are 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'" +msgstr "formatul de fișier pentru codificare sau decodificare; valorile posibile sunt „auto” (implicit), „xz”, „lzma”, „lzip” și „raw”" + +#: src/xz/message.c +msgid "NAME" +msgstr "NUME" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "integrity check type: 'none' (use with caution), 'crc32', 'crc64' (default), or 'sha256'" +msgstr "tip de verificare a integrității: „none” (utilizați cu precauție), „crc32”, „crc64” (implicit) sau „sha256”" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't verify the integrity check when decompressing" +msgstr "nu se efectuează verificarea integrității la decomprimare" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression preset; default is 6; take compressor *and* decompressor memory usage into account before using 7-9!" +msgstr "presetare comprimare; valoarea implicită este 6; luați în considerare memoria utilizată de instrumentul de comprimare *și* de instrumentul de decomprimare, înainte de a utiliza presetările 7-9!" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "try to improve compression ratio by using more CPU time; does not affect decompressor memory requirements" +msgstr "încearcă să îmbunătățească raportul de comprimare folosind mai mult timp CPU-ul; nu afectează cerințele de memorie ale instrumentului de decomprimare" + +#. TRANSLATORS: Short for NUMBER. A longer string is fine but +#. wider than 5 columns makes --long-help a few lines longer. +#: src/xz/message.c +msgid "NUM" +msgstr "NUMĂR" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use at most NUM threads; the default is 0 which uses as many threads as there are processor cores" +msgstr "utilizează cel mult NUMĂR fire de execuție; valoarea implicită este 0, care utilizează atâtea fire de execuție câte nuclee există în procesor" + +#: src/xz/message.c +msgid "SIZE" +msgstr "DIM" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after every SIZE bytes of input; use this to set the block size for threaded compression" +msgstr "începe un nou bloc .xz după fiecare DIM octeți de intrare utilizați acest lucru pentru a stabili dimensiunea blocului pentru comprimarea cu fire de execuție" + +#: src/xz/message.c +msgid "BLOCKS" +msgstr "BLOCURI" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after the given comma-separated intervals of uncompressed data; optionally, specify a filter chain number (0-9) followed by a ':' before the uncompressed data size" +msgstr "începe un nou bloc .xz după intervalele specificate separate prin virgule, de date necomprimate; opțional, specificați un număr de lanț de filtrare (0-9) urmat de „:” înainte de dimensiunea datelor necomprimate" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "when compressing, if more than NUM milliseconds has passed since the previous flush and reading more input would block, all pending data is flushed out" +msgstr "la comprimare, dacă au trecut mai mult de NUMĂR de milisecunde de la curățarea anterioară și citirea mai multor intrări s-ar bloca, toate datele în așteptare sunt eliminate" + +#: src/xz/message.c +msgid "LIMIT" +msgstr "LIMITA" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, no-c-format +msgid "set memory usage limit for compression, decompression, threaded decompression, or all of these; LIMIT is in bytes, % of RAM, or 0 for defaults" +msgstr "stabilește limita de utilizare a memoriei pentru comprimare, decomprimare, decomprimare cu fire sau toate acestea; LIMITA este în octeți, % din RAM sau 0 pentru valorile implicite" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "if compression settings exceed the memory usage limit, give an error instead of adjusting the settings downwards" +msgstr "dacă valorile de comprimare depășesc limita de utilizare a memoriei, dă o eroare în loc să reducă val. stabilite" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Custom filter chain for compression (an alternative to using presets):" +msgstr "Lanț de filtrare personalizat pentru comprimare (alternativă la utilizarea presetărilor):" + +#: src/xz/message.c +msgid "FILTERS" +msgstr "FILTRE" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set the filter chain using the liblzma filter string syntax; use --filters-help for more information" +msgstr "definește lanțul de filtre folosind sintaxa șirului de filtre liblzma; utilizați „--filters-help” pentru mai multe informații" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set additional filter chains using the liblzma filter string syntax to use with --block-list" +msgstr "definește lanțuri de filtre suplimentare folosind sintaxa șirului de filtre liblzma pentru a fi utilizate cu opțiunea „--block-list”" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display more information about the liblzma filter string syntax and exit" +msgstr "afișează mai multe informații despre sintaxa șirului de filtre liblzma și iese" + +#. TRANSLATORS: Short for OPTIONS. +#: src/xz/message.c +msgid "OPTS" +msgstr "OPȚI" + +#. TRANSLATORS: Use semicolon (or its fullwidth form) +#. in "(valid values; default)" even if it is weird in +#. your language. There are non-translatable strings +#. that look like "(foo, bar, baz; foo)" which list +#. the supported values and the default value. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "LZMA1 or LZMA2; OPTS is a comma-separated list of zero or more of the following options (valid values; default):" +msgstr "LZMA1 sau LZMA2; OPȚI este o listă separată prin virgule, de niciuna sau de mai multe dintre următoarele opțiuni (între paranteze: valorile valide, și cele implicite)" + +#. TRANSLATORS: Short for PRESET. A longer string is +#. fine but wider than 4 columns makes --long-help +#. one line longer. +#: src/xz/message.c +msgid "PRE" +msgstr "PRE" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "reset options to a preset" +msgstr "restabilește opțiunile la o presetare" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "dictionary size" +msgstr "dimensiunea dicționarului" + +#. TRANSLATORS: The word "literal" in "literal context +#. bits" means how many "context bits" to use when +#. encoding literals. A literal is a single 8-bit +#. byte. It doesn't mean "literally" here. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal context bits" +msgstr "numărul de biți de context literal" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal position bits" +msgstr "numărul de biți de poziție literală" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of position bits" +msgstr "numărul de biți de poziție" + +#: src/xz/message.c +msgid "MODE" +msgstr "MOD" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression mode" +msgstr "modul de comprimare" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "nice length of a match" +msgstr "lungimea „drăguță” a unei potriviri" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "match finder" +msgstr "găsitor de potriviri" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "maximum search depth; 0=automatic (default)" +msgstr "adâncimea maximă de căutare; 0=automată (valoarea implicită)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "x86 BCJ filter (32-bit and 64-bit)" +msgstr "filtru BCJ x86 (32-biți și 64-biți)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM BCJ filter" +msgstr "filtru BCJ ARM" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM-Thumb BCJ filter" +msgstr "filtru BCJ ARM-Thumb" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM64 BCJ filter" +msgstr "filtru ARM64 BCJ" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "PowerPC BCJ filter (big endian only)" +msgstr "filtru BCJ PowerPC (numai big endian)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "IA-64 (Itanium) BCJ filter" +msgstr "filtru BCJ IA-64 (Itanium)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "SPARC BCJ filter" +msgstr "filtru BCJ SPARC" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "RISC-V BCJ filter" +msgstr "filtru BCJ RISC-V" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Valid OPTS for all BCJ filters:" +msgstr "OPȚIUNI valide pentru toate filtrele BCJ:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start offset for conversions (default=0)" +msgstr "poziția de pornire a conversiilor (implicit=0)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Delta filter; valid OPTS (valid values; default):" +msgstr "Filtru delta; OPȚI valabile (valori valabile; implicit):" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "distance between bytes being subtracted from each other" +msgstr "distanța dintre octeți fiind dedusă scăzând un octet din celălalt" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Other options:" +msgstr "Alte opțiuni:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "suppress warnings; specify twice to suppress errors too" +msgstr "suprimă avertismentele; specificați-o de două ori pentru a suprima și erorile" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "be verbose; specify twice for even more verbose" +msgstr "descriere detaliată; specificați-o de două ori pentru și mai multe detalii" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "make warnings not affect the exit status" +msgstr "face ca avertismentele să nu afecteze starea de ieșire" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use machine-parsable messages (useful for scripts)" +msgstr "utilizează mesaje analizabile de mașină (utile pentru scripturi)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the total amount of RAM and the currently active memory usage limits, and exit" +msgstr "afișează cantitatea totală de memorie RAM și limitele de utilizare a memoriei active în prezent, și iese" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the short help (lists only the basic options)" +msgstr "afișează ajutorul scurt (enumeră doar opțiunile de bază)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this long help and exit" +msgstr "afișează acest ajutor lung(detaliat) și iese" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this short help and exit" +msgstr "afișează acest scurt mesaj de ajutor, și iese" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the long help (lists also the advanced options)" +msgstr "afișează mesajul detaliat de ajutor (afișează și opțiunile avansate)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the version number and exit" +msgstr "afișează numărul versiunii, și iese" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "With no FILE, or when FILE is -, read standard input." +msgstr "Fără FIȘIER, sau când FIȘIER este „-”, citește de la intrarea standard." + +#. TRANSLATORS: This message indicates the bug reporting +#. address for this package. Please add another line saying +#. "\nReport translation bugs to <...>." with the email or WWW +#. address for translation bugs. Thanks! +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Report bugs to <%s> (in English or Finnish)." +msgstr "" +"Raportați erorile la <%s> (în engleză sau finlandeză).\n" +"Raportați erorile de traducere la " + +#. TRANSLATORS: The first %s is the name of this software. +#. The second <%s> is an URL. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s home page: <%s>" +msgstr "Pagina principală a %s: <%s>" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE." +msgstr "ACEASTA ESTE O VERSIUNE DE DEZVOLTARE, NEDESTINATĂ UTILIZĂRII ÎN PRODUCȚIE." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, c-format +msgid "Filter chains are set using the --filters=FILTERS or --filters1=FILTERS ... --filters9=FILTERS options. Each filter in the chain can be separated by spaces or '--'. Alternatively a preset %s can be specified instead of a filter chain." +msgstr "Lanțurile de filtre sunt definite cu ajutorul opțiunilor „--filters=FILTRE” sau „--filters1=FILTRE ... --filters9=FILTRE”. Fiecare filtru din lanț poate fi separat prin spații sau „--”. Alternativ, se poate specifica o presetare %s în locul unui lanț de filtre." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "The supported filters and their options are:" +msgstr "Filtrele acceptate și opțiunile acestora sunt:" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "Options must be 'name=value' pairs separated with commas" +msgstr "Opțiunile trebuie să fie perechi „nume=valoare” separate prin virgule" + +#: src/xz/options.c +#, c-format +msgid "%s: Invalid option name" +msgstr "%s: Nume de opțiune nevalid" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "Invalid option value" +msgstr "Valoare nevalidă a opțiunii" + +#: src/xz/options.c +#, c-format +msgid "Unsupported LZMA1/LZMA2 preset: %s" +msgstr "Presetare LZMA1/LZMA2 neacceptată: %s" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "The sum of lc and lp must not exceed 4" +msgstr "Suma de lc și lp nu trebuie să depășească 4" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Filename has an unknown suffix, skipping" +msgstr "%s: Numele fișierului are un sufix necunoscut, se omite" + +#: src/xz/suffix.c +#, c-format +msgid "%s: File already has '%s' suffix, skipping" +msgstr "%s: Fișierul are deja sufixul „%s”, se omite" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Invalid filename suffix" +msgstr "%s: Sufixul numelui de fișier nu este valid" + +#: src/xz/util.c src/liblzma/common/string_conversion.c +msgid "Value is not a non-negative decimal integer" +msgstr "Valoarea nu este un număr întreg zecimal nenegativ" + +#: src/xz/util.c +#, c-format +msgid "%s: Invalid multiplier suffix" +msgstr "%s: Sufix multiplicator nevalid" + +#: src/xz/util.c +msgid "Valid suffixes are 'KiB' (2^10), 'MiB' (2^20), and 'GiB' (2^30)." +msgstr "Sufixele valide sunt „KiB” (2^10), „MiB” (2^20) și „GiB” (2^30)." + +#: src/xz/util.c +#, c-format +msgid "Value of the option '%s' must be in the range [%, %]" +msgstr "Valoarea opțiunii „%s” trebuie să fie în intervalul [%, %]" + +#: src/xz/util.c +msgid "Compressed data cannot be read from a terminal" +msgstr "Datele comprimate nu pot fi citite de pe un terminal" + +#: src/xz/util.c +msgid "Compressed data cannot be written to a terminal" +msgstr "Datele comprimate nu pot fi scrise pe un terminal" + +#: src/lzmainfo/lzmainfo.c +#, c-format +msgid "Usage: %s [--help] [--version] [FILE]...\n" +msgstr "Utilizare: %s [--help] [--version] [FIȘIER]...\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/lzmainfo/lzmainfo.c +msgid "Show information stored in the .lzma file header." +msgstr "Afișează informațiile stocate în antetul fișierului .lzma ." + +#: src/lzmainfo/lzmainfo.c +msgid "File is too small to be a .lzma file" +msgstr "Prea mic pentru a fi un fișier .lzma" + +#: src/lzmainfo/lzmainfo.c +msgid "Not a .lzma file" +msgstr "Nu este un fișier .lzma" + +#: src/common/tuklib_exit.c +msgid "Writing to standard output failed" +msgstr "Scrierea la ieșirea standard a eșuat" + +#: src/common/tuklib_exit.c +msgid "Unknown error" +msgstr "Eroare necunoscută" + +#: src/liblzma/common/string_conversion.c +msgid "Unsupported preset" +msgstr "Presetare neacceptată" + +#: src/liblzma/common/string_conversion.c +msgid "Unsupported flag in the preset" +msgstr "Fanion neadmis în presetare" + +#: src/liblzma/common/string_conversion.c +msgid "Unknown option name" +msgstr "Nume de opțiune necunoscut" + +#: src/liblzma/common/string_conversion.c +msgid "Option value cannot be empty" +msgstr "Valoarea opțiunii nu poate fi vidă" + +#: src/liblzma/common/string_conversion.c +msgid "Value out of range" +msgstr "Valoare în afara intervalului" + +#: src/liblzma/common/string_conversion.c +msgid "This option does not support any multiplier suffixes" +msgstr "Această opțiune nu acceptă sufixe de multiplicare" + +#. TRANSLATORS: Don't translate the +#. suffixes "KiB", "MiB", or "GiB" +#. because a user can only specify +#. untranslated suffixes. +#: src/liblzma/common/string_conversion.c +msgid "Invalid multiplier suffix (KiB, MiB, or GiB)" +msgstr "Sufix multiplicator nevalid (KiB, MiB, sau GiB)" + +#: src/liblzma/common/string_conversion.c +msgid "Unknown filter name" +msgstr "Nume de filtru necunoscut" + +#: src/liblzma/common/string_conversion.c +msgid "This filter cannot be used in the .xz format" +msgstr "Acest filtru nu poate fi utilizat în formatul .xz" + +#: src/liblzma/common/string_conversion.c +msgid "Memory allocation failed" +msgstr "Alocarea memoriei a eșuat" + +#: src/liblzma/common/string_conversion.c +msgid "Empty string is not allowed, try '6' if a default value is needed" +msgstr "Șirul vid nu este permis, încercați „6” dacă este necesară o valoare implicită" + +#: src/liblzma/common/string_conversion.c +msgid "The maximum number of filters is four" +msgstr "Numărul maxim de filtre este patru" + +#: src/liblzma/common/string_conversion.c +msgid "Filter name is missing" +msgstr "Lipsește numele filtrului" + +#: src/liblzma/common/string_conversion.c +msgid "Invalid filter chain ('lzma2' missing at the end?)" +msgstr "Lanț de filtre nevalid (lipsește, „lzma2”, la sfârșit?)" diff --git a/src/native/external/xz/po/sr.po b/src/native/external/xz/po/sr.po new file mode 100644 index 00000000000000..65ad7e97a84492 --- /dev/null +++ b/src/native/external/xz/po/sr.po @@ -0,0 +1,1264 @@ +# SPDX-License-Identifier: 0BSD +# +# Serbian translation of xz. +# This file is published under the BSD Zero Clause License. +# Мирослав Николић , 2020-2025. +msgid "" +msgstr "" +"Project-Id-Version: xz 5.7.1-dev1\n" +"Report-Msgid-Bugs-To: xz@tukaani.org\n" +"POT-Creation-Date: 2025-01-29 20:59+0200\n" +"PO-Revision-Date: 2025-02-03 07:28+0100\n" +"Last-Translator: Мирослав Николић \n" +"Language-Team: Serbian <(nothing)>\n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"X-Generator: Poedit 3.5\n" + +#: src/xz/args.c +#, c-format +msgid "%s: Invalid argument to --block-list" +msgstr "%s: Неисправан аргумент за „--block-list“" + +#: src/xz/args.c +#, c-format +msgid "%s: Too many arguments to --block-list" +msgstr "%s: Превише аргумената за „--block-list“" + +#: src/xz/args.c +#, c-format +msgid "In --block-list, block size is missing after filter chain number '%c:'" +msgstr "У „--block-list“, величина блока недостаје након ланца филтера број „%c:“" + +#: src/xz/args.c +msgid "0 can only be used as the last element in --block-list" +msgstr "0 се може користити само као последњи елемент у „--block-list“-у" + +#: src/xz/args.c +#, c-format +msgid "%s: Unknown file format type" +msgstr "%s: Непозната врста формата датотеке" + +#: src/xz/args.c +#, c-format +msgid "%s: Unsupported integrity check type" +msgstr "%s: Неподржана врста провере целовитости" + +#: src/xz/args.c +msgid "Only one file can be specified with '--files' or '--files0'." +msgstr "Само једну датотеку можете навести са „--files“ или „--files0“." + +#. TRANSLATORS: This is a translatable +#. string because French needs a space +#. before the colon ("%s : %s"). +#: src/xz/args.c src/xz/coder.c src/xz/file_io.c src/xz/list.c src/xz/options.c +#: src/xz/util.c +#, c-format +msgid "%s: %s" +msgstr "%s: %s" + +#: src/xz/args.c +#, c-format +msgid "The environment variable %s contains too many arguments" +msgstr "Променљива окружења „%s“ садржи превише аргумената" + +#: src/xz/args.c +msgid "Compression support was disabled at build time" +msgstr "Подршка запакивања је искључена у време изградње" + +#: src/xz/args.c +msgid "Decompression support was disabled at build time" +msgstr "Подршка распакивања је искључена у време изградње" + +#: src/xz/args.c +msgid "Compression of lzip files (.lz) is not supported" +msgstr "Запакивање „lzip“ датотека (.lz) није подржано" + +#: src/xz/args.c +msgid "--block-list is ignored unless compressing to the .xz format" +msgstr "„--block-list“ се занемарује осим ако се пакује у „.xz“ формат" + +#: src/xz/args.c +msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout" +msgstr "Са „--format=raw“, „--suffix=.SUF“ је потребно осим ако се пише на стандардни излаз" + +#: src/xz/coder.c +msgid "Maximum number of filters is four" +msgstr "Највећи број филтера је четири" + +#: src/xz/coder.c +#, c-format +msgid "Error in --filters%s=FILTERS option:" +msgstr "Грешка у опцији „--filters%s=ФИЛТЕРИ“:" + +#: src/xz/coder.c +msgid "Memory usage limit is too low for the given filter setup." +msgstr "Ограничење коришћења меморије је премало за дато подешавање филтера." + +#: src/xz/coder.c +#, c-format +msgid "filter chain %u used by --block-list but not specified with --filters%u=" +msgstr "ланац филтера „%u“ је коришћен од „--block-list“ али није наведен са „--filters%u=“" + +#: src/xz/coder.c +msgid "Using a preset in raw mode is discouraged." +msgstr "Коришћење претподешавања у сировом режиму је обесхрабрујуће." + +#: src/xz/coder.c +msgid "The exact options of the presets may vary between software versions." +msgstr "Тачне опције претподешавања се могу разликовати од издања до издања софтвера." + +#: src/xz/coder.c +msgid "The .lzma format supports only the LZMA1 filter" +msgstr "Формат „.lzma“ подржава само „LZMA1“ филтер" + +#: src/xz/coder.c +msgid "LZMA1 cannot be used with the .xz format" +msgstr "Не можете користити „LZMA1“ са „.xz“ форматом" + +#: src/xz/coder.c +#, c-format +msgid "Filter chain %u is incompatible with --flush-timeout" +msgstr "Ланац филтера „%u“ није сагласан са „--flush-timeout“" + +#: src/xz/coder.c +msgid "Switching to single-threaded mode due to --flush-timeout" +msgstr "Пребацујем се на режим једне нити због „--flush-timeout“" + +#: src/xz/coder.c +#, c-format +msgid "Unsupported options in filter chain %u" +msgstr "Неподржане опције у ланцу филтера %u" + +#: src/xz/coder.c +#, c-format +msgid "Using up to % threads." +msgstr "Користим до % нити." + +#: src/xz/coder.c +msgid "Unsupported filter chain or filter options" +msgstr "Неподржан ланац филтера или опције филтера" + +#: src/xz/coder.c +#, c-format +msgid "Decompression will need %s MiB of memory." +msgstr "За распакивање ће бити потребно %s MiB меморије." + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to %s to not exceed the memory usage limit of %s MiB" +msgstr "Број нити је смањен са %s на %s да се не би прекорачило ограничење коришћења меморије од %s MiB" + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to one. The automatic memory usage limit of %s MiB is still being exceeded. %s MiB of memory is required. Continuing anyway." +msgstr "Број нити је смањен са %s на једну. Аутоматско ограничење коришћења меморије од %s MiB је ипак премашено. %s MiB меморије је потребно. Ипак настављам." + +#: src/xz/coder.c +#, c-format +msgid "Switching to single-threaded mode to not exceed the memory usage limit of %s MiB" +msgstr "Прелазим на режим једне нити да се не би прекорачило ограничење коришћења меморије од %s MiB" + +#: src/xz/coder.c +#, 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 "Величина „LZMA%c“ речника је промењена са %s на %s да се неби прекорачило ограничење коришћења меморије од %s MiB" + +#: src/xz/coder.c +#, c-format +msgid "Adjusted LZMA%c dictionary size for --filters%u from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgstr "Величина „LZMA%c“ речника је промењена за „--filters%u“ са %s MiB на %s MiB да се не прекорачи ограничење коришћења меморије од %s MiB" + +#: src/xz/coder.c +#, c-format +msgid "Error changing to filter chain %u: %s" +msgstr "Грешка промене на ланац филтера „%u“: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error creating a pipe: %s" +msgstr "Грешка стварања спојке: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: poll() failed: %s" +msgstr "%s: „poll()“ није успело: %s" + +#. 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 +#, c-format +msgid "%s: File seems to have been moved, not removing" +msgstr "%s: Изгледа да је датотека премештена, не уклањам" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot remove: %s" +msgstr "%s: Не могу да уклоним: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file owner: %s" +msgstr "%s: Не могу да поставим власника датотеке: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file group: %s" +msgstr "%s: Не могу да поставим групу датотеке: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file permissions: %s" +msgstr "%s: Не могу да поставим овлашћења датотеке: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Synchronizing the file failed: %s" +msgstr "%s: Усклађивање датотеке није успело: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Synchronizing the directory of the file failed: %s" +msgstr "%s: Усклађивање директоријума датотеке није успело: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard input: %s" +msgstr "Грешка добављања заставица стања датотеке са стандардног улаза: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a symbolic link, skipping" +msgstr "%s: Јесте симболичка веза прескачем" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a directory, skipping" +msgstr "%s: Јесте директоријум, прескачем" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Not a regular file, skipping" +msgstr "%s: Није обична датотека, прескачем" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has setuid or setgid bit set, skipping" +msgstr "%s: Датотека има постављен „setuid“ или „setgid“ бит, прескачем" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has sticky bit set, skipping" +msgstr "%s: Датотека има постављен лепљиви бит, прескачем" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Input file has more than one hard link, skipping" +msgstr "%s: Улазна датотека има више од једне чврсте везе, прескачем" + +#: src/xz/file_io.c +msgid "Empty filename, skipping" +msgstr "Празан назив датотеке, прескачем" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the status flags to standard input: %s" +msgstr "Грешка повраћаја заставица стања на стандардни улаз: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard output: %s" +msgstr "Грешка добављања заставица стања датотеке са стандардног излаза: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Opening the directory failed: %s" +msgstr "%s: Отварање директоријума није успело: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Destination is not a regular file" +msgstr "%s: Одредиште није обична датотека" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the O_APPEND flag to standard output: %s" +msgstr "Грешка повраћаја заставице „O_APPEND“ на стандардни излаз: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Closing the file failed: %s" +msgstr "%s: Затварање датотеке није успело: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Seeking failed when trying to create a sparse file: %s" +msgstr "%s: Премотавање није успело приликом покушаја прављења оскудне датотеке: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Read error: %s" +msgstr "%s: Грешка читања: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Error seeking the file: %s" +msgstr "%s: Грешка приликом претраге датотеке: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Unexpected end of file" +msgstr "%s: Неочекиван крај датотеке" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Write error: %s" +msgstr "%s: Грешка писања: %s" + +#: src/xz/hardware.c +msgid "Disabled" +msgstr "Искључено" + +#: src/xz/hardware.c +msgid "Amount of physical memory (RAM):" +msgstr "Укупна количина физичке меморије (RAM):" + +#: src/xz/hardware.c +msgid "Number of processor threads:" +msgstr "Број нити процесора:" + +#: src/xz/hardware.c +msgid "Compression:" +msgstr "Запакивање:" + +#: src/xz/hardware.c +msgid "Decompression:" +msgstr "Распакивање:" + +#: src/xz/hardware.c +msgid "Multi-threaded decompression:" +msgstr "Вишенитно распакивање:" + +#: src/xz/hardware.c +msgid "Default for -T0:" +msgstr "Основно за „-T0“:" + +#: src/xz/hardware.c +msgid "Hardware information:" +msgstr "О хардверу:" + +#: src/xz/hardware.c +msgid "Memory usage limits:" +msgstr "Ограничење коришћења меморије:" + +#: src/xz/list.c +msgid "Streams:" +msgstr "Токови:" + +#: src/xz/list.c +msgid "Blocks:" +msgstr "Блокови:" + +#: src/xz/list.c +msgid "Compressed size:" +msgstr "Величина сажетог:" + +#: src/xz/list.c +msgid "Uncompressed size:" +msgstr "Величина несажетог:" + +#: src/xz/list.c +msgid "Ratio:" +msgstr "Однос:" + +#: src/xz/list.c +msgid "Check:" +msgstr "Провери:" + +#: src/xz/list.c +msgid "Stream Padding:" +msgstr "Попуна тока:" + +#: src/xz/list.c +msgid "Memory needed:" +msgstr "Потребна меморија:" + +#: src/xz/list.c +msgid "Sizes in headers:" +msgstr "Величине у заглављима:" + +#: src/xz/list.c +msgid "Number of files:" +msgstr "Број датотека:" + +#: src/xz/list.c +msgid "Stream" +msgstr "Ток" + +#: src/xz/list.c +msgid "Block" +msgstr "Блок" + +#: src/xz/list.c +msgid "Blocks" +msgstr "Блокови" + +#: src/xz/list.c +msgid "CompOffset" +msgstr "ПомерЗапак" + +#: src/xz/list.c +msgid "UncompOffset" +msgstr "ПомерНсжтог" + +#: src/xz/list.c +msgid "CompSize" +msgstr "ВлчнаЗапак" + +#: src/xz/list.c +msgid "UncompSize" +msgstr "ВлчнаНсжтог" + +#: src/xz/list.c +msgid "TotalSize" +msgstr "УкупнаВлчна" + +#: src/xz/list.c +msgid "Ratio" +msgstr "Однос" + +#: src/xz/list.c +msgid "Check" +msgstr "Провери" + +#: src/xz/list.c +msgid "CheckVal" +msgstr "ПровериВредн" + +#: src/xz/list.c +msgid "Padding" +msgstr "Попуна" + +#: src/xz/list.c +msgid "Header" +msgstr "Заглавље" + +#: src/xz/list.c +msgid "Flags" +msgstr "Заставице" + +#: src/xz/list.c +msgid "MemUsage" +msgstr "КоришћМемор" + +#: src/xz/list.c +msgid "Filters" +msgstr "Филтери" + +#. TRANSLATORS: Indicates that there is no integrity check. +#. This string is used in tables. In older xz version this +#. string was limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "None" +msgstr "Ништа" + +#. TRANSLATORS: Indicates that integrity check name is not known, +#. but the Check ID is known (here 2). In older xz version these +#. strings were limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "Unknown-2" +msgstr "Незнано-2" + +#: src/xz/list.c +msgid "Unknown-3" +msgstr "Незнано-3" + +#: src/xz/list.c +msgid "Unknown-5" +msgstr "Незнано-5" + +#: src/xz/list.c +msgid "Unknown-6" +msgstr "Незнано-6" + +#: src/xz/list.c +msgid "Unknown-7" +msgstr "Незнано-7" + +#: src/xz/list.c +msgid "Unknown-8" +msgstr "Незнано-8" + +#: src/xz/list.c +msgid "Unknown-9" +msgstr "Незнано-9" + +#: src/xz/list.c +msgid "Unknown-11" +msgstr "Незнано-11" + +#: src/xz/list.c +msgid "Unknown-12" +msgstr "Незнано-12" + +#: src/xz/list.c +msgid "Unknown-13" +msgstr "Незнано-13" + +#: src/xz/list.c +msgid "Unknown-14" +msgstr "Незнано-14" + +#: src/xz/list.c +msgid "Unknown-15" +msgstr "Незнано-15" + +#: src/xz/list.c +#, c-format +msgid "%s: File is empty" +msgstr "%s: Датотека је празна" + +#: src/xz/list.c +#, c-format +msgid "%s: Too small to be a valid .xz file" +msgstr "%s: Премало је да би било исправна „.xz“ датотека" + +#. 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 +msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" +msgstr "Токови Блокови Запаковано Распаковано Однос Провера Датотека" + +#: src/xz/list.c +msgid "Yes" +msgstr "Да" + +#: src/xz/list.c +msgid "No" +msgstr "Не" + +#: src/xz/list.c +msgid "Minimum XZ Utils version:" +msgstr "Најмање издање XZ помагала:" + +#. 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 +#, c-format +msgid "%s file\n" +msgid_plural "%s files\n" +msgstr[0] "%s датотека\n" +msgstr[1] "%s датотеке\n" +msgstr[2] "%s датотека\n" + +#: src/xz/list.c +msgid "Totals:" +msgstr "Укупно:" + +#: src/xz/list.c +msgid "--list works only on .xz files (--format=xz or --format=auto)" +msgstr "„--list“ ради само над „.xz“ датотекама (--format=xz или --format=auto)" + +#: src/xz/list.c +msgid "Try 'lzmainfo' with .lzma files." +msgstr "Пробајте „lzmainfo“ са „.lzma“ датотекама." + +#: src/xz/list.c +msgid "--list does not support reading from standard input" +msgstr "„--list“ не подржава читање са стандардног улаза" + +#: src/xz/main.c +#, c-format +msgid "%s: Error reading filenames: %s" +msgstr "%s: Грешка читања назива датотека: %s" + +#: src/xz/main.c +#, c-format +msgid "%s: Unexpected end of input when reading filenames" +msgstr "%s: Неочекивани крај улаза приликом читања назива датотека" + +#: src/xz/main.c +#, c-format +msgid "%s: Null character found when reading filenames; maybe you meant to use '--files0' instead of '--files'?" +msgstr "%s: Нађох ништаван знак приликом читања назива датотека; можда сте хтели да користите „--files0“ уместо „--files“?" + +#: src/xz/main.c +msgid "Compression and decompression with --robot are not supported yet." +msgstr "Запакивање и распакивање са „--robot“ није још подржано." + +#: src/xz/main.c +msgid "Cannot read data from standard input when reading filenames from standard input" +msgstr "Не могу да читам податке са стандардног улаза приликом читања назива датотека са стандардног улаза" + +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s: " +msgstr "%s: " + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "Internal error (bug)" +msgstr "Унутрашња грешка (бубица)" + +#: src/xz/message.c +msgid "Cannot establish signal handlers" +msgstr "Не могу да успоставим руковаоце сигналом" + +#: src/xz/message.c +msgid "No integrity check; not verifying file integrity" +msgstr "Нема провере целовитости; не проверавам целовитост датотеке" + +#: src/xz/message.c +msgid "Unsupported type of integrity check; not verifying file integrity" +msgstr "Неподржана врста провере целовитости; не проверавам целовитост датотеке" + +#: src/xz/message.c +msgid "Memory usage limit reached" +msgstr "Ограничење коришћења меморије је достигнуто" + +#: src/xz/message.c +msgid "File format not recognized" +msgstr "Није препознат формат датотеке" + +#: src/xz/message.c +msgid "Unsupported options" +msgstr "Неподржане опције" + +#: src/xz/message.c +msgid "Compressed data is corrupt" +msgstr "Запаковани подаци су оштећени" + +#: src/xz/message.c +msgid "Unexpected end of input" +msgstr "Неочекиван крај улаза" + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limiter is disabled." +msgstr "%s MiB меморије је потребно. Ограничавач је онемогућен." + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limit is %s." +msgstr "%s MiB меморије је потребно. Ограничење је %s." + +#: src/xz/message.c +#, c-format +msgid "%s: Filter chain: %s\n" +msgstr "%s: Ланац филтера: %s\n" + +#: src/xz/message.c +#, c-format +msgid "Try '%s --help' for more information." +msgstr "Пробајте „%s --help“ за више података." + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Error printing the help text (error code %d)" +msgstr "Грешка исписивања текста помоћи (код грешке %d)" + +#: src/xz/message.c +#, c-format +msgid "Usage: %s [OPTION]... [FILE]...\n" +msgstr "Коришћење: %s [ОПЦИЈА]... [ДАТОТЕКА]...\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Compress or decompress FILEs in the .xz format." +msgstr "Пакује или распакује ДАТОТЕКЕ у „.xz“ формату." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Mandatory arguments to long options are mandatory for short options too." +msgstr "Обавезни аргументи за дуге опције су такође обавезни и за кратке опције." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Operation mode:" +msgstr "Режим рада:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force compression" +msgstr "приморава запакивање" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force decompression" +msgstr "приморава распакивање" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "test compressed file integrity" +msgstr "испробава целовитост запаковане датотеке" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "list information about .xz files" +msgstr "исписује информације о „.xz“ даттотекама" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Operation modifiers:" +msgstr "Измењивачи рада:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "keep (don't delete) input files" +msgstr "задржава (не брише) улазне датотеке" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force overwrite of output file and (de)compress links" +msgstr "приморава преписивање излазне датотеке и (рас)пакује везе" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "write to standard output and don't delete input files" +msgstr "пише на стандардни излаз и не брише улазне датотеке" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't synchronize the output file to the storage device before removing the input file" +msgstr "не усклађује излазну датотеку са смештајним уређајем пре уклањања улазне датотеке" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "decompress only the first stream, and silently ignore possible remaining input data" +msgstr "распакује само први ток, и тихо занемарује могуће преостале улазне податке" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "do not create sparse files when decompressing" +msgstr "не ствара привидне датотеке када распакује" + +#: src/xz/message.c +msgid ".SUF" +msgstr ".SUF" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use the suffix '.SUF' on compressed files" +msgstr "користи суфикс „.SUF“ на запакованим датотекама" + +#: src/xz/message.c +msgid "FILE" +msgstr "ДАТОТЕКА" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "read filenames to process from FILE; if FILE is omitted, filenames are read from the standard input; filenames must be terminated with the newline character" +msgstr "чита називе датотека процесу из ДАТОТЕКА; ако је ДАТОТЕКА изостављено, називи датотека се читају са стандардног улаза; називи датотека се морају завршавати знаком новог реда" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "like --files but use the null character as terminator" +msgstr "исто као „--files“ али користи знак ништице као окончавач" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Basic file format and compression options:" +msgstr "Основне опције формата датотеке и запакивања:" + +#: src/xz/message.c +msgid "FORMAT" +msgstr "ФОРМАТ" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "file format to encode or decode; possible values are 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'" +msgstr "формат датотеке за шифровање или дешифровање; могуће вредности су „auto“ (основно), xz, lzma, lzip, и raw" + +#: src/xz/message.c +msgid "NAME" +msgstr "НАЗИВ" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "integrity check type: 'none' (use with caution), 'crc32', 'crc64' (default), or 'sha256'" +msgstr "врста провере целовитости: „none“ (користите уз опрез), „crc32“, „crc64“ (основно), или „sha256“" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't verify the integrity check when decompressing" +msgstr "не потврђује проверу целовитости приликом распакивања" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression preset; default is 6; take compressor *and* decompressor memory usage into account before using 7-9!" +msgstr "претподешавање запакивања; основно је 6; узмите у обзир коришћење меморије запакивања *и* распакивања пре него ли употребите 7-9!" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "try to improve compression ratio by using more CPU time; does not affect decompressor memory requirements" +msgstr "покушава да побољша однос запакивања користећи више времена процесора; не утиче на потребе меморије распакивача" + +#. TRANSLATORS: Short for NUMBER. A longer string is fine but +#. wider than 5 columns makes --long-help a few lines longer. +#: src/xz/message.c +msgid "NUM" +msgstr "БРОЈ" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use at most NUM threads; the default is 0 which uses as many threads as there are processor cores" +msgstr "користи највише БРОЈ нити; основно је 0 за коришћење онолико нити колико има језгара процесора" + +#: src/xz/message.c +msgid "SIZE" +msgstr "ВЕЛИЧИНА" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after every SIZE bytes of input; use this to set the block size for threaded compression" +msgstr "започиње нови „.xz“ блок након свака ВЕЛИЧИНА бајта улаза; користите ово да поставите величину блока за нитирано запакивање" + +#: src/xz/message.c +msgid "BLOCKS" +msgstr "БЛОКОВИ" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after the given comma-separated intervals of uncompressed data; optionally, specify a filter chain number (0-9) followed by a ':' before the uncompressed data size" +msgstr "започиње нови „.xz“ блок након датих зарезом одвојених интервала несажетих података; изборно, наводи број ланца филтера (0-9) за којим следе „:“ пре величине несажетих података" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "when compressing, if more than NUM milliseconds has passed since the previous flush and reading more input would block, all pending data is flushed out" +msgstr "приликом запакивања, ако је прошло више од ВРЕМЕ_ИСТЕКА милисекунди до претходног убацивања и читања још улаза блокираће, сви подаци на чекању се истискују ван" + +#: src/xz/message.c +msgid "LIMIT" +msgstr "ОГРАНИЧЕЊЕ" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, no-c-format +msgid "set memory usage limit for compression, decompression, threaded decompression, or all of these; LIMIT is in bytes, % of RAM, or 0 for defaults" +msgstr "поставља ограничење коришћења меморије за запакивање, распакивање, распакивање нити или за све ово; ОГРАНИЧЕЊЕ је у бајтовима, % РАМ-а или 0 за основно" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "if compression settings exceed the memory usage limit, give an error instead of adjusting the settings downwards" +msgstr "ако подешавања запакивања пређу ограничење коришћења меморије, даје грешку уместо дотеривања подешавања" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Custom filter chain for compression (an alternative to using presets):" +msgstr "Произвољни ланац филтера за запакивање (алтернатива за коришћење предподешавања):" + +#: src/xz/message.c +msgid "FILTERS" +msgstr "ФИЛТЕРИ" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set the filter chain using the liblzma filter string syntax; use --filters-help for more information" +msgstr "поставља ланац филтера користећи синтаксу ниске „liblzma“ филтера; користите „--filters-help“ за више информација" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set additional filter chains using the liblzma filter string syntax to use with --block-list" +msgstr "поставља додатне ланце филтера користећи синтаксу ниске „liblzma“ филтера за коришћење са „--block-list“" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display more information about the liblzma filter string syntax and exit" +msgstr "приказује више информација о синтакси ниске „liblzma“ филтера и излази" + +#. TRANSLATORS: Short for OPTIONS. +#: src/xz/message.c +msgid "OPTS" +msgstr "ОПЦИЈЕ" + +#. TRANSLATORS: Use semicolon (or its fullwidth form) +#. in "(valid values; default)" even if it is weird in +#. your language. There are non-translatable strings +#. that look like "(foo, bar, baz; foo)" which list +#. the supported values and the default value. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "LZMA1 or LZMA2; OPTS is a comma-separated list of zero or more of the following options (valid values; default):" +msgstr "LZMA1 или LZMA2; ОПЦИЈЕ је зарезом раздвојен списак нула или више следећих опција (исправне вредности; основно):" + +#. TRANSLATORS: Short for PRESET. A longer string is +#. fine but wider than 4 columns makes --long-help +#. one line longer. +#: src/xz/message.c +msgid "PRE" +msgstr "ПРЕ" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "reset options to a preset" +msgstr "враћа опције на предподешеност" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "dictionary size" +msgstr "величина речника" + +#. TRANSLATORS: The word "literal" in "literal context +#. bits" means how many "context bits" to use when +#. encoding literals. A literal is a single 8-bit +#. byte. It doesn't mean "literally" here. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal context bits" +msgstr "број битова контекста литерала" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal position bits" +msgstr "број битова положаја литерала" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of position bits" +msgstr "број битова положаја" + +#: src/xz/message.c +msgid "MODE" +msgstr "РЕЖИМ" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression mode" +msgstr "режим запакивања" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "nice length of a match" +msgstr "фина дужина поклапања" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "match finder" +msgstr "поклапа налазача" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "maximum search depth; 0=automatic (default)" +msgstr "највећа дубина претраге; 0=аутоматски (основно)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "x86 BCJ filter (32-bit and 64-bit)" +msgstr "x86 BCJ филтер (32-бита и 64-бита)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM BCJ filter" +msgstr "ARM BCJ филтер" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM-Thumb BCJ filter" +msgstr "ARM-Thumb BCJ филтер" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM64 BCJ filter" +msgstr "ARM64 BCJ филтер" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "PowerPC BCJ filter (big endian only)" +msgstr "PowerPC BCJ филтер (само велика крајност)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "IA-64 (Itanium) BCJ filter" +msgstr "IA-64 (Itanium) BCJ филтер" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "SPARC BCJ filter" +msgstr "SPARC BCJ филтер" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "RISC-V BCJ filter" +msgstr "RISC-V BCJ филтер" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Valid OPTS for all BCJ filters:" +msgstr "Исправне ОПЦИЈЕ за све BCJ филтере:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start offset for conversions (default=0)" +msgstr "померај почетка за претварање (основно=0)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Delta filter; valid OPTS (valid values; default):" +msgstr "Делта филтер; исправне ОПЦИЈЕ (исправне вредности; основно):" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "distance between bytes being subtracted from each other" +msgstr "растојање између бајтова који су одузети један од другог" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Other options:" +msgstr "Остале опције:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "suppress warnings; specify twice to suppress errors too" +msgstr "потискује упозорења; наведите два пута да би потискивао и грешке" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "be verbose; specify twice for even more verbose" +msgstr "бива опширан; наведите два пута за још више опширности" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "make warnings not affect the exit status" +msgstr "чини да упозорења не делују на стање излаза" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use machine-parsable messages (useful for scripts)" +msgstr "користи поруке обрадиве рачунаром (корисно за скрипте)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the total amount of RAM and the currently active memory usage limits, and exit" +msgstr "приказује укупан износ РАМ-а и тренутно ограничење коришћења активне меморије, и излази" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the short help (lists only the basic options)" +msgstr "приказује кратку помоћ (исписује само основне опције)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this long help and exit" +msgstr "приказује ову опширну помоћ и излази" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this short help and exit" +msgstr "приказује ову кратку помоћ и излази" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the long help (lists also the advanced options)" +msgstr "приказује дугу помоћ (исписује такође и напредне опције)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the version number and exit" +msgstr "приказује број издања и излази" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "With no FILE, or when FILE is -, read standard input." +msgstr "Без ДАТОТЕКЕ, или када је ДАТОТЕКА -, чита стандардни улаз." + +#. TRANSLATORS: This message indicates the bug reporting +#. address for this package. Please add another line saying +#. "\nReport translation bugs to <...>." with the email or WWW +#. address for translation bugs. Thanks! +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Report bugs to <%s> (in English or Finnish)." +msgstr "Грешке пријавите на <%s> (на енглеском или финском)." + +#. TRANSLATORS: The first %s is the name of this software. +#. The second <%s> is an URL. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s home page: <%s>" +msgstr "„%s“ матична страница: <%s>" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE." +msgstr "ОВО ЈЕ РАЗВОЈНО ИЗДАЊЕ И НИЈЕ НАМЕЊЕНО ЗА ПРОФЕСИОНАЛНУ УПОТРЕБУ." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, c-format +msgid "Filter chains are set using the --filters=FILTERS or --filters1=FILTERS ... --filters9=FILTERS options. Each filter in the chain can be separated by spaces or '--'. Alternatively a preset %s can be specified instead of a filter chain." +msgstr "Ланци филтера су постављени са опцијама „--filters=ФИЛТЕРИ“ или „--filters1=ФИЛТЕРИ“ ... „--filters9=ФИЛТЕРИ“. Сваки филтер у ланцу се може одвојити размацима или „--“. Или предподешеност „%s“ се може навести уместо ланца филтера." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "The supported filters and their options are:" +msgstr "Подржани филтери и њихове опције су:" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "Options must be 'name=value' pairs separated with commas" +msgstr "Опције морају бити парови „назив=вредност“ раздвојени зарезима" + +#: src/xz/options.c +#, c-format +msgid "%s: Invalid option name" +msgstr "%s: Неисправан назив опције" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "Invalid option value" +msgstr "Неисправна вредност опције" + +#: src/xz/options.c +#, c-format +msgid "Unsupported LZMA1/LZMA2 preset: %s" +msgstr "Неподржано претподешавање „LZMA1/LZMA2“: %s" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "The sum of lc and lp must not exceed 4" +msgstr "Збир „lc“ и „lp“ не сме премашити 4" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Filename has an unknown suffix, skipping" +msgstr "%s: Назив датотеке има непознат суфикс, прескачем" + +#: src/xz/suffix.c +#, c-format +msgid "%s: File already has '%s' suffix, skipping" +msgstr "%s: Датотека већ има суфикс „%s“, прескачем" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Invalid filename suffix" +msgstr "%s: Неисправан суфикс назива датотеке" + +#: src/xz/util.c src/liblzma/common/string_conversion.c +msgid "Value is not a non-negative decimal integer" +msgstr "Вредност није не-негативан децимални цео број" + +#: src/xz/util.c +#, c-format +msgid "%s: Invalid multiplier suffix" +msgstr "%s: Неисправан суфикс умножавача" + +#: src/xz/util.c +msgid "Valid suffixes are 'KiB' (2^10), 'MiB' (2^20), and 'GiB' (2^30)." +msgstr "Исправни суфикси су KiB (2^10), MiB (2^20), и GiB (2^30)." + +#: src/xz/util.c +#, c-format +msgid "Value of the option '%s' must be in the range [%, %]" +msgstr "Вредност опције „%s“ мора бити у опсегу [%, %]" + +#: src/xz/util.c +msgid "Compressed data cannot be read from a terminal" +msgstr "Запаковани подаци се не могу читати из терминала" + +#: src/xz/util.c +msgid "Compressed data cannot be written to a terminal" +msgstr "Запаковани подаци се не могу писати на терминал" + +#: src/lzmainfo/lzmainfo.c +#, c-format +msgid "Usage: %s [--help] [--version] [FILE]...\n" +msgstr "Коришћење: %s [--help] [--version] [ДАТОТЕКА]...\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/lzmainfo/lzmainfo.c +msgid "Show information stored in the .lzma file header." +msgstr "Приказује информације смештене у заглављу „.lzma“ датотеке." + +#: src/lzmainfo/lzmainfo.c +msgid "File is too small to be a .lzma file" +msgstr "Датотека је премала да би била „.lzma“ датотека" + +#: src/lzmainfo/lzmainfo.c +msgid "Not a .lzma file" +msgstr "Није „.lzma“ датотека" + +#: src/common/tuklib_exit.c +msgid "Writing to standard output failed" +msgstr "Писање на стандардни излаз није успело" + +#: src/common/tuklib_exit.c +msgid "Unknown error" +msgstr "Непозната грешка" + +#: src/liblzma/common/string_conversion.c +msgid "Unsupported preset" +msgstr "Неподржано предподешавање" + +#: src/liblzma/common/string_conversion.c +msgid "Unsupported flag in the preset" +msgstr "Неподржана заставица у предподешавању" + +#: src/liblzma/common/string_conversion.c +msgid "Unknown option name" +msgstr "Непознат назив опције" + +#: src/liblzma/common/string_conversion.c +msgid "Option value cannot be empty" +msgstr "Вредност опције не може бити празна" + +#: src/liblzma/common/string_conversion.c +msgid "Value out of range" +msgstr "Вредност је ван опсега" + +#: src/liblzma/common/string_conversion.c +msgid "This option does not support any multiplier suffixes" +msgstr "Ова опција не подржава никакве суфиксе умножавача" + +#. TRANSLATORS: Don't translate the +#. suffixes "KiB", "MiB", or "GiB" +#. because a user can only specify +#. untranslated suffixes. +#: src/liblzma/common/string_conversion.c +msgid "Invalid multiplier suffix (KiB, MiB, or GiB)" +msgstr "Неисправан суфикс умножавача (KiB, MiB, или GiB)" + +#: src/liblzma/common/string_conversion.c +msgid "Unknown filter name" +msgstr "Непознат назив филтера" + +#: src/liblzma/common/string_conversion.c +msgid "This filter cannot be used in the .xz format" +msgstr "Филтер се не може користити у „.xz“ формату" + +#: src/liblzma/common/string_conversion.c +msgid "Memory allocation failed" +msgstr "Додела меморије није успела" + +#: src/liblzma/common/string_conversion.c +msgid "Empty string is not allowed, try '6' if a default value is needed" +msgstr "Празна ниска није дозвољена, пробајте 6 ако је основна вредност потребна" + +#: src/liblzma/common/string_conversion.c +msgid "The maximum number of filters is four" +msgstr "Највећи број филтера је четири" + +#: src/liblzma/common/string_conversion.c +msgid "Filter name is missing" +msgstr "Недостаје назив филтера" + +#: src/liblzma/common/string_conversion.c +msgid "Invalid filter chain ('lzma2' missing at the end?)" +msgstr "Неисправан ланац филтера („lzma2“ недостаје на крају?)" diff --git a/src/native/external/xz/po/sv.po b/src/native/external/xz/po/sv.po new file mode 100644 index 00000000000000..354569270814b3 --- /dev/null +++ b/src/native/external/xz/po/sv.po @@ -0,0 +1,1271 @@ +# SPDX-License-Identifier: 0BSD +# +# Swedish translation for xz. +# Copyright (C) The XZ Utils authors and contributors +# This file is published under the BSD Zero Clause License. +# +# Sebastian Rasmussen , 2019. +# Anders Jonsson , 2024. +# Luna Jernberg , 2022, 2023, 2024, 2025. +# # +msgid "" +msgstr "" +"Project-Id-Version: xz 5.7.1-dev1\n" +"Report-Msgid-Bugs-To: xz@tukaani.org\n" +"POT-Creation-Date: 2025-01-29 20:59+0200\n" +"PO-Revision-Date: 2025-01-24 11:03+0100\n" +"Last-Translator: Luna Jernberg \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"X-Generator: Poedit 3.5\n" +"X-Poedit-Bookmarks: -1,10,-1,-1,-1,-1,-1,-1,-1,-1\n" + +#: src/xz/args.c +#, c-format +msgid "%s: Invalid argument to --block-list" +msgstr "%s: Ogiltigt argument till --block-list" + +#: src/xz/args.c +#, c-format +msgid "%s: Too many arguments to --block-list" +msgstr "%s: För många argument till --block-list" + +#: src/xz/args.c +#, c-format +msgid "In --block-list, block size is missing after filter chain number '%c:'" +msgstr "I --block-list saknas blockstorlek efter filterkedjenummer ”%c:”" + +#: src/xz/args.c +msgid "0 can only be used as the last element in --block-list" +msgstr "0 kan endast användas som det sista elementet i --block-list" + +#: src/xz/args.c +#, c-format +msgid "%s: Unknown file format type" +msgstr "%s: Okänd filformatstyp" + +#: src/xz/args.c +#, c-format +msgid "%s: Unsupported integrity check type" +msgstr "%s: Integritetskontrolltyp stöds inte" + +#: src/xz/args.c +msgid "Only one file can be specified with '--files' or '--files0'." +msgstr "Endast en fil kan anges med ”--files” eller ”--files0”." + +#. TRANSLATORS: This is a translatable +#. string because French needs a space +#. before the colon ("%s : %s"). +#: src/xz/args.c src/xz/coder.c src/xz/file_io.c src/xz/list.c src/xz/options.c +#: src/xz/util.c +#, c-format +msgid "%s: %s" +msgstr "%s: %s" + +#: src/xz/args.c +#, c-format +msgid "The environment variable %s contains too many arguments" +msgstr "Miljövariabeln %s innehåller för många argument" + +#: src/xz/args.c +msgid "Compression support was disabled at build time" +msgstr "Komprimeringsstöd inaktiverades vid byggtid" + +#: src/xz/args.c +msgid "Decompression support was disabled at build time" +msgstr "Dekomprimeringsstöd inaktiverades vid byggtid" + +#: src/xz/args.c +msgid "Compression of lzip files (.lz) is not supported" +msgstr "Komprimering av lzip-filer (.lz) stöds inte" + +#: src/xz/args.c +msgid "--block-list is ignored unless compressing to the .xz format" +msgstr "--block-list ignoreras såvida du inte komprimerar till .xz-formatet" + +#: src/xz/args.c +msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout" +msgstr "Med --format=raw krävs --suffix=.SUF om data inte skrivs till standard ut" + +#: src/xz/coder.c +msgid "Maximum number of filters is four" +msgstr "Maximalt antal filter är fyra" + +#: src/xz/coder.c +#, c-format +msgid "Error in --filters%s=FILTERS option:" +msgstr "Fel i flagga för --filters%s=FILTER:" + +#: src/xz/coder.c +msgid "Memory usage limit is too low for the given filter setup." +msgstr "Begränsning av minnesanvändning är allt för låg för den angivna filteruppsättningen." + +#: src/xz/coder.c +#, c-format +msgid "filter chain %u used by --block-list but not specified with --filters%u=" +msgstr "filterkedja %u används av --block-list men inte specificerad med --filters%u=" + +#: src/xz/coder.c +msgid "Using a preset in raw mode is discouraged." +msgstr "Det avråds från att använda en förinställning i rått läge." + +#: src/xz/coder.c +msgid "The exact options of the presets may vary between software versions." +msgstr "De exakta flaggorna för förinställningar kan variera mellan programversioner." + +#: src/xz/coder.c +msgid "The .lzma format supports only the LZMA1 filter" +msgstr "Formatet .lzma har endast stöd för LZMA1-filtret" + +#: src/xz/coder.c +msgid "LZMA1 cannot be used with the .xz format" +msgstr "LZMA1 kan inte användas tillsammans med .xz-formatet" + +#: src/xz/coder.c +#, c-format +msgid "Filter chain %u is incompatible with --flush-timeout" +msgstr "Filterkedja %u är inkompatibel med --flush-timeout" + +#: src/xz/coder.c +msgid "Switching to single-threaded mode due to --flush-timeout" +msgstr "Växlar till entrådsläge på grund av --flush-timeout" + +#: src/xz/coder.c +#, c-format +msgid "Unsupported options in filter chain %u" +msgstr "Flaggor som inte stöds i filterkedjan %u" + +#: src/xz/coder.c +#, c-format +msgid "Using up to % threads." +msgstr "Använder upp till % trådar." + +#: src/xz/coder.c +msgid "Unsupported filter chain or filter options" +msgstr "Filterkedja eller filterflaggor stöds inte" + +#: src/xz/coder.c +#, c-format +msgid "Decompression will need %s MiB of memory." +msgstr "Dekomprimering kommer att kräva %s MiB minne." + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to %s to not exceed the memory usage limit of %s MiB" +msgstr "Reducerade antalet trådar från %s till %s för att inte överstiga begränsningen av minnesanvändning på %s MiB" + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to one. The automatic memory usage limit of %s MiB is still being exceeded. %s MiB of memory is required. Continuing anyway." +msgstr "Reducerade antalet trådar från %s till en. Den automatiska minnesanvändningsgränsen på %s MiB överskrids fortfarande. %s MiB minne krävs. Fortsätter i alla fall." + +#: src/xz/coder.c +#, c-format +msgid "Switching to single-threaded mode to not exceed the memory usage limit of %s MiB" +msgstr "Ändrar till enkeltrådat läge för att inte överskrida minnesanvändningsgränsen på %s MiB" + +#: src/xz/coder.c +#, 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 "Justerade storlek för LZMA%c-lexikon från %s MiB till %s MiB för att inte överstiga begränsningen av minnesanvändning på %s MiB" + +#: src/xz/coder.c +#, c-format +msgid "Adjusted LZMA%c dictionary size for --filters%u from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgstr "Justerade storlek för LZMA%c-lexikon för --filters%u från %s MiB till %s MiB för att inte överskrida minnesanvändningsgränsen på %s MiB" + +#: src/xz/coder.c +#, c-format +msgid "Error changing to filter chain %u: %s" +msgstr "Fel vid ändring till filterkedja %u: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error creating a pipe: %s" +msgstr "Fel vid skapande av rörledning: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: poll() failed: %s" +msgstr "%s: poll() misslyckades: %s" + +#. 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 +#, c-format +msgid "%s: File seems to have been moved, not removing" +msgstr "%s: Filen verkar ha flyttats, tar inte bort" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot remove: %s" +msgstr "%s: Kan inte ta bort: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file owner: %s" +msgstr "%s: Kan inte sätta filägaren: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file group: %s" +msgstr "%s: Kan inte sätta filgruppen: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file permissions: %s" +msgstr "%s: Kan inte sätta filrättigheterna: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Synchronizing the file failed: %s" +msgstr "%s: Synkroniseringen av filen misslyckades: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Synchronizing the directory of the file failed: %s" +msgstr "%s:Synkroniseringen av filens katalog misslyckades:: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard input: %s" +msgstr "Fel vid hämtning av filstatusflaggor från standard in: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a symbolic link, skipping" +msgstr "%s: Är en symbolisk länk, hoppar över" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a directory, skipping" +msgstr "%s: Är en katalog, hoppar över" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Not a regular file, skipping" +msgstr "%s: Är inte en vanlig fil, hoppar över" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has setuid or setgid bit set, skipping" +msgstr "%s: Filen har setuid- eller setgid-biten satt, hoppar över" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has sticky bit set, skipping" +msgstr "%s: Filen har stickybiten satt, hoppar över" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Input file has more than one hard link, skipping" +msgstr "%s: Indatafilen har mer än en hårdlänk, hoppar över" + +#: src/xz/file_io.c +msgid "Empty filename, skipping" +msgstr "Tomt filnamn, hoppar över" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the status flags to standard input: %s" +msgstr "Fel vid återställning av statusflaggorna för standard in: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard output: %s" +msgstr "Fel vid hämtning av filstatusflaggorna från standard ut: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Opening the directory failed: %s" +msgstr "%s: Att öppna katalogen misslyckades: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Destination is not a regular file" +msgstr "%s: Destinationen är inte en vanlig fil" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the O_APPEND flag to standard output: %s" +msgstr "Fel vid återställning av O_APPEND-flaggan till standard ut: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Closing the file failed: %s" +msgstr "%s: Stängning av filen misslyckades: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Seeking failed when trying to create a sparse file: %s" +msgstr "%s: Sökning misslyckades vid skapande av gles fil: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Read error: %s" +msgstr "%s: Läsfel: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Error seeking the file: %s" +msgstr "%s: Fel vid sökning i fil: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Unexpected end of file" +msgstr "%s: Oväntat filslut" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Write error: %s" +msgstr "%s: Skrivfel: %s" + +#: src/xz/hardware.c +msgid "Disabled" +msgstr "Inaktiverad" + +#: src/xz/hardware.c +msgid "Amount of physical memory (RAM):" +msgstr "Totalt mängd fysiskt minne (RAM):" + +#: src/xz/hardware.c +msgid "Number of processor threads:" +msgstr "Antal processortrådar:" + +#: src/xz/hardware.c +msgid "Compression:" +msgstr "Komprimering:" + +#: src/xz/hardware.c +msgid "Decompression:" +msgstr "Dekomprimering:" + +#: src/xz/hardware.c +msgid "Multi-threaded decompression:" +msgstr "Flertrådad dekomprimering:" + +#: src/xz/hardware.c +msgid "Default for -T0:" +msgstr "Standard för -T0:" + +#: src/xz/hardware.c +msgid "Hardware information:" +msgstr "Hårdvaruinformation:" + +#: src/xz/hardware.c +msgid "Memory usage limits:" +msgstr "Minnesanvändningsgränser:" + +#: src/xz/list.c +msgid "Streams:" +msgstr "Strömmar:" + +#: src/xz/list.c +msgid "Blocks:" +msgstr "Block:" + +#: src/xz/list.c +msgid "Compressed size:" +msgstr "Komprimerad storlek:" + +#: src/xz/list.c +msgid "Uncompressed size:" +msgstr "Okomprimerad storlek:" + +#: src/xz/list.c +msgid "Ratio:" +msgstr "Förhållande:" + +#: src/xz/list.c +msgid "Check:" +msgstr "Kontroll:" + +#: src/xz/list.c +msgid "Stream Padding:" +msgstr "Strömfyllnad:" + +#: src/xz/list.c +msgid "Memory needed:" +msgstr "Minne som behövs:" + +#: src/xz/list.c +msgid "Sizes in headers:" +msgstr "Storlek i huvuden:" + +#: src/xz/list.c +msgid "Number of files:" +msgstr "Antal filer:" + +#: src/xz/list.c +msgid "Stream" +msgstr "Ström" + +#: src/xz/list.c +msgid "Block" +msgstr "Block" + +#: src/xz/list.c +msgid "Blocks" +msgstr "Block" + +#: src/xz/list.c +msgid "CompOffset" +msgstr "Komprimerad position" + +#: src/xz/list.c +msgid "UncompOffset" +msgstr "Okomprimerad position" + +#: src/xz/list.c +msgid "CompSize" +msgstr "Komprimerad storlek" + +#: src/xz/list.c +msgid "UncompSize" +msgstr "Okomprimerad storlek" + +#: src/xz/list.c +msgid "TotalSize" +msgstr "Total storlek" + +#: src/xz/list.c +msgid "Ratio" +msgstr "Förhållande" + +#: src/xz/list.c +msgid "Check" +msgstr "Kontroll" + +#: src/xz/list.c +msgid "CheckVal" +msgstr "Kontrollvärde" + +#: src/xz/list.c +msgid "Padding" +msgstr "Fyllnad" + +#: src/xz/list.c +msgid "Header" +msgstr "Huvud" + +#: src/xz/list.c +msgid "Flags" +msgstr "Flaggor" + +#: src/xz/list.c +msgid "MemUsage" +msgstr "Minnesanvändning" + +#: src/xz/list.c +msgid "Filters" +msgstr "Filters" + +#. TRANSLATORS: Indicates that there is no integrity check. +#. This string is used in tables. In older xz version this +#. string was limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "None" +msgstr "Ingen" + +#. TRANSLATORS: Indicates that integrity check name is not known, +#. but the Check ID is known (here 2). In older xz version these +#. strings were limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "Unknown-2" +msgstr "Okänd-2" + +#: src/xz/list.c +msgid "Unknown-3" +msgstr "Okänd-3" + +#: src/xz/list.c +msgid "Unknown-5" +msgstr "Okänd-5" + +#: src/xz/list.c +msgid "Unknown-6" +msgstr "Okänd-6" + +#: src/xz/list.c +msgid "Unknown-7" +msgstr "Okänd-7" + +#: src/xz/list.c +msgid "Unknown-8" +msgstr "Okänd-8" + +#: src/xz/list.c +msgid "Unknown-9" +msgstr "Okänd-9" + +#: src/xz/list.c +msgid "Unknown-11" +msgstr "Okänd-11" + +#: src/xz/list.c +msgid "Unknown-12" +msgstr "Okänd-12" + +#: src/xz/list.c +msgid "Unknown-13" +msgstr "Okänd-13" + +#: src/xz/list.c +msgid "Unknown-14" +msgstr "Okänd-14" + +#: src/xz/list.c +msgid "Unknown-15" +msgstr "Okänd-15" + +#: src/xz/list.c +#, c-format +msgid "%s: File is empty" +msgstr "%s: Fil är tom" + +#: src/xz/list.c +#, c-format +msgid "%s: Too small to be a valid .xz file" +msgstr "%s: För liten för att vara en giltig .xz-fil" + +#. 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 +msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" +msgstr "Strmr Block Komprimerd Okomprimerd Förh. Kntrll Filnamn" + +#: src/xz/list.c +msgid "Yes" +msgstr "Ja" + +#: src/xz/list.c +msgid "No" +msgstr "Nej" + +#: src/xz/list.c +msgid "Minimum XZ Utils version:" +msgstr "Minsta XZ Utils version:" + +#. 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 +#, c-format +msgid "%s file\n" +msgid_plural "%s files\n" +msgstr[0] "%s fil\n" +msgstr[1] "%s filer\n" + +#: src/xz/list.c +msgid "Totals:" +msgstr "Total:" + +#: src/xz/list.c +msgid "--list works only on .xz files (--format=xz or --format=auto)" +msgstr "--list fungerar endast med .xz-filer (--format=xz eller --format=auto)" + +#: src/xz/list.c +msgid "Try 'lzmainfo' with .lzma files." +msgstr "Pröva ”lzmainfo” med .lzma-filer." + +#: src/xz/list.c +msgid "--list does not support reading from standard input" +msgstr "--list saknar stöd för att läsa från standard in" + +#: src/xz/main.c +#, c-format +msgid "%s: Error reading filenames: %s" +msgstr "%s: Fel vid läsning av filnamn: %s" + +#: src/xz/main.c +#, c-format +msgid "%s: Unexpected end of input when reading filenames" +msgstr "%s: Oväntat slut av indata vid läsning av filnamn" + +#: src/xz/main.c +#, c-format +msgid "%s: Null character found when reading filenames; maybe you meant to use '--files0' instead of '--files'?" +msgstr "%s: Nulltecken hittades vid läsning av filnamn; kanske du menade att använda ”--files0” istället för ”--files”?" + +#: src/xz/main.c +msgid "Compression and decompression with --robot are not supported yet." +msgstr "Komprimering och dekomprimering med --robot stöds inte än." + +#: src/xz/main.c +msgid "Cannot read data from standard input when reading filenames from standard input" +msgstr "Kan inte läsa data från standard in när filnamn läses från standard in" + +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s: " +msgstr "%s: " + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "Internal error (bug)" +msgstr "Internt fel" + +#: src/xz/message.c +msgid "Cannot establish signal handlers" +msgstr "Kan inte etablera signalhanterare" + +#: src/xz/message.c +msgid "No integrity check; not verifying file integrity" +msgstr "Ingen integritetskontroll; kan inte verifiera filintegritet" + +#: src/xz/message.c +msgid "Unsupported type of integrity check; not verifying file integrity" +msgstr "Typ av integritetskontroll stöds inte; verifierar inte filintegritet" + +#: src/xz/message.c +msgid "Memory usage limit reached" +msgstr "Begränsning av minnesanvändning uppnådd" + +#: src/xz/message.c +msgid "File format not recognized" +msgstr "Filformat okänt" + +#: src/xz/message.c +msgid "Unsupported options" +msgstr "Flaggor stöds inte" + +#: src/xz/message.c +msgid "Compressed data is corrupt" +msgstr "Komprimerad data är korrupt" + +#: src/xz/message.c +msgid "Unexpected end of input" +msgstr "Oväntat avslut av indata" + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limiter is disabled." +msgstr "%s MiB minne krävs. Begränsaren inaktiverad." + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limit is %s." +msgstr "%s MiB minne krävs. Begränsningen är %s." + +#: src/xz/message.c +#, c-format +msgid "%s: Filter chain: %s\n" +msgstr "%s: Filterkedja: %s\n" + +#: src/xz/message.c +#, c-format +msgid "Try '%s --help' for more information." +msgstr "Testa ”%s --help” för mer information." + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Error printing the help text (error code %d)" +msgstr "Fel vid utskrift av hjälptexten (felkod %d)" + +#: src/xz/message.c +#, c-format +msgid "Usage: %s [OPTION]... [FILE]...\n" +msgstr "Användning: %s [ALTERNATIV]... [FIL]...\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Compress or decompress FILEs in the .xz format." +msgstr "Komprimera eller dekomprimera FILER i formatet .xz." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Mandatory arguments to long options are mandatory for short options too." +msgstr "Obligatoriska argument för långa alternativ är också obligatoriska för korta alternativ." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Operation mode:" +msgstr "Operationsläge:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force compression" +msgstr "tvinga komprimering" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force decompression" +msgstr "tvinga dekomprimering" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "test compressed file integrity" +msgstr "testa den komprimerade filens integritet" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "list information about .xz files" +msgstr "lista information om .xz-filer" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Operation modifiers:" +msgstr "Operationsmodifierare:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "keep (don't delete) input files" +msgstr "behåll (ta inte bort) indatafiler" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force overwrite of output file and (de)compress links" +msgstr "tvinga överskrift av utdatafilen och (av)komprimera länkar" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "write to standard output and don't delete input files" +msgstr "skriv till standardutdata och ta inte bort indatafiler" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't synchronize the output file to the storage device before removing the input file" +msgstr "synkronisera inte utdatafilen till lagringsenheten innan du tar bort indatafilen" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "decompress only the first stream, and silently ignore possible remaining input data" +msgstr "dekomprimera endast den första strömmen och ignorera eventuellt kvarvarande indata i tysthet" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "do not create sparse files when decompressing" +msgstr "skapa inte glesa filer vid dekomprimering" + +#: src/xz/message.c +msgid ".SUF" +msgstr ".SUF" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use the suffix '.SUF' on compressed files" +msgstr "använd suffixet '.SUF' på komprimerade filer" + +#: src/xz/message.c +msgid "FILE" +msgstr "FIL" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "read filenames to process from FILE; if FILE is omitted, filenames are read from the standard input; filenames must be terminated with the newline character" +msgstr "läs filnamn att bearbeta från FIL; om FIL utelämnas läses filnamnen från standardinmatningen; filnamn måste avslutas med nyradstecknet" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "like --files but use the null character as terminator" +msgstr "som --filer men använd null-tecknet som terminator" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Basic file format and compression options:" +msgstr "Grundläggande filformat och komprimeringsalternativ:" + +#: src/xz/message.c +msgid "FORMAT" +msgstr "FORMAT" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "file format to encode or decode; possible values are 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'" +msgstr "filformat för kodning eller avkodning; möjliga värden är 'auto' (standard), 'xz', 'lzma', 'lzip' och 'raw'" + +#: src/xz/message.c +msgid "NAME" +msgstr "NAMN" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "integrity check type: 'none' (use with caution), 'crc32', 'crc64' (default), or 'sha256'" +msgstr "integritetskontrolltyp: 'ingen' (använd med försiktighet), 'crc32', 'crc64' (standard) eller 'sha256'" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't verify the integrity check when decompressing" +msgstr "verifiera inte integritetskontrollen vid dekomprimering" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression preset; default is 6; take compressor *and* decompressor memory usage into account before using 7-9!" +msgstr "förinställd komprimering; standard är 6; ta hänsyn till användningen av kompressor *och* dekomprimeringsminne innan du använder 7-9!" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "try to improve compression ratio by using more CPU time; does not affect decompressor memory requirements" +msgstr "försök att förbättra kompressionsförhållandet genom att använda mer CPU-tid; påverkar inte dekomprimeringsminneskraven" + +#. TRANSLATORS: Short for NUMBER. A longer string is fine but +#. wider than 5 columns makes --long-help a few lines longer. +#: src/xz/message.c +msgid "NUM" +msgstr "NUM" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use at most NUM threads; the default is 0 which uses as many threads as there are processor cores" +msgstr "använd som mest NUM trådar; standard är 0 som använder lika många trådar som det finns processorkärnor" + +#: src/xz/message.c +msgid "SIZE" +msgstr "STORLEK" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after every SIZE bytes of input; use this to set the block size for threaded compression" +msgstr "starta ett nytt .xz-block efter varje STORLEK-byte med inmatning; använd detta för att ställa in blockstorleken för flertrådad kompression" + +#: src/xz/message.c +msgid "BLOCKS" +msgstr "BLOCK" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after the given comma-separated intervals of uncompressed data; optionally, specify a filter chain number (0-9) followed by a ':' before the uncompressed data size" +msgstr "starta ett nytt .xz-block efter de givna kommaseparerade intervallen av okomprimerad data; ange eventuellt ett filterkedjenummer (0-9) följt av ett ':' före den okomprimerade datastorleken" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "when compressing, if more than NUM milliseconds has passed since the previous flush and reading more input would block, all pending data is flushed out" +msgstr "vid komprimering, om mer än NUM millisekunder har gått sedan föregående tömning och läsning av mer indata skulle blockeras, rensas all väntande data ut" + +#: src/xz/message.c +msgid "LIMIT" +msgstr "GRÄNSVÄRDE" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, no-c-format +msgid "set memory usage limit for compression, decompression, threaded decompression, or all of these; LIMIT is in bytes, % of RAM, or 0 for defaults" +msgstr "ställ in minnesanvändningsgräns för komprimering, dekompression, flertrådad dekompression eller alla dessa; GRÄNSVÄRDE är i byte, % av RAM-minnet eller 0 för standardinställningar" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "if compression settings exceed the memory usage limit, give an error instead of adjusting the settings downwards" +msgstr "om komprimeringsinställningarna överskrider minnesanvändningsgränsen, ge ett felmeddelande istället för att justera inställningarna nedåt" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Custom filter chain for compression (an alternative to using presets):" +msgstr "Anpassad filterkedja för komprimering (ett alternativ till förinställningar):" + +#: src/xz/message.c +msgid "FILTERS" +msgstr "FILTER" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set the filter chain using the liblzma filter string syntax; use --filters-help for more information" +msgstr "ställ in filterkedjan med hjälp av liblzma-filtersträngsyntaxen; använd --filters-help för mer information" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set additional filter chains using the liblzma filter string syntax to use with --block-list" +msgstr "ställ in ytterligare filterkedjor med hjälp av liblzma-filtersträngsyntaxen att använda med --block-list" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display more information about the liblzma filter string syntax and exit" +msgstr "visa mer information om liblzma filtersträngsyntax och avsluta" + +#. TRANSLATORS: Short for OPTIONS. +#: src/xz/message.c +msgid "OPTS" +msgstr "ALTERNATIV" + +#. TRANSLATORS: Use semicolon (or its fullwidth form) +#. in "(valid values; default)" even if it is weird in +#. your language. There are non-translatable strings +#. that look like "(foo, bar, baz; foo)" which list +#. the supported values and the default value. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "LZMA1 or LZMA2; OPTS is a comma-separated list of zero or more of the following options (valid values; default):" +msgstr "LZMA1 eller LZMA2; OPTS är en kommaseparerad lista med noll eller fler av följande alternativ (giltiga värden; standard):" + +#. TRANSLATORS: Short for PRESET. A longer string is +#. fine but wider than 4 columns makes --long-help +#. one line longer. +#: src/xz/message.c +msgid "PRE" +msgstr "FÖRINSTÄLLNING" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "reset options to a preset" +msgstr "återställ alternativ till en förinställning" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "dictionary size" +msgstr "ordboksstorlek" + +#. TRANSLATORS: The word "literal" in "literal context +#. bits" means how many "context bits" to use when +#. encoding literals. A literal is a single 8-bit +#. byte. It doesn't mean "literally" here. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal context bits" +msgstr "antal bokstavliga kontextbitar" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal position bits" +msgstr "antal bokstavliga positionsbitar" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of position bits" +msgstr "antal positionsbitar" + +#: src/xz/message.c +msgid "MODE" +msgstr "LÄGE" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression mode" +msgstr "komprimeringsläge" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "nice length of a match" +msgstr "fin längd på en match" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "match finder" +msgstr "träffsökare" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "maximum search depth; 0=automatic (default)" +msgstr "maximalt sökdjup; 0=automatisk (standard)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "x86 BCJ filter (32-bit and 64-bit)" +msgstr "x86 BCJ-filter (32-bitars och 64-bitars)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM BCJ filter" +msgstr "ARM BCJ-filter" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM-Thumb BCJ filter" +msgstr "ARM-Thumb BCJ-filter" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM64 BCJ filter" +msgstr "ARM64 BCJ-filter" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "PowerPC BCJ filter (big endian only)" +msgstr "PowerPC BCJ-filter (endast big endian)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "IA-64 (Itanium) BCJ filter" +msgstr "IA-64 (Itanium) BCJ-filter" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "SPARC BCJ filter" +msgstr "SPARC BCJ-filter" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "RISC-V BCJ filter" +msgstr "RISC-V BCJ-filter" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Valid OPTS for all BCJ filters:" +msgstr "Giltiga ALTERNATIV för alla BCJ-filter:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start offset for conversions (default=0)" +msgstr "startoffset för omvandlingar (standard=0)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Delta filter; valid OPTS (valid values; default):" +msgstr "Delta filter; giltiga ALTERNATIV (giltiga värden; standard):" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "distance between bytes being subtracted from each other" +msgstr "avståndet mellan byte som subtraheras från varandra" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Other options:" +msgstr "Andra alternativ:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "suppress warnings; specify twice to suppress errors too" +msgstr "dämpa varningar; ange två gånger för att dämpa fel också" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "be verbose; specify twice for even more verbose" +msgstr "var utförlig; specificera två gånger för ännu mer utförlighet" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "make warnings not affect the exit status" +msgstr "åt inte varningar påverka avslutningsstatus" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use machine-parsable messages (useful for scripts)" +msgstr "använd maskintolkningsbara meddelanden (användbara för skript)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the total amount of RAM and the currently active memory usage limits, and exit" +msgstr "visa den totala mängden RAM och de för närvarande aktiva minnesanvändningsgränserna och avsluta" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the short help (lists only the basic options)" +msgstr "visa den korta hjälpen (visar endast de grundläggande alternativen)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this long help and exit" +msgstr "visa den långa hjälpen och avsluta" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this short help and exit" +msgstr "visa den korta hjälpen och avsluta" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the long help (lists also the advanced options)" +msgstr "visa den långa hjälpen (visar även de avancerade alternativen)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the version number and exit" +msgstr "visa versionsnumret och avsluta" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "With no FILE, or when FILE is -, read standard input." +msgstr "Med FIL, eller när FIL är -, läs standard in." + +#. TRANSLATORS: This message indicates the bug reporting +#. address for this package. Please add another line saying +#. "\nReport translation bugs to <...>." with the email or WWW +#. address for translation bugs. Thanks! +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Report bugs to <%s> (in English or Finnish)." +msgstr "" +"Rapportera fel till <%s> (på engelska eller finska).\n" +"Rapportera översättningsfel till " + +#. TRANSLATORS: The first %s is the name of this software. +#. The second <%s> is an URL. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s home page: <%s>" +msgstr "%s hemsida: <%s>" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE." +msgstr "DETTA ÄR EN UTVECKLINGSVERSION SOM INTE ÄR AVSEDD FÖR PRODUKTIONSANVÄNDNING." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, c-format +msgid "Filter chains are set using the --filters=FILTERS or --filters1=FILTERS ... --filters9=FILTERS options. Each filter in the chain can be separated by spaces or '--'. Alternatively a preset %s can be specified instead of a filter chain." +msgstr "Filterkedjor ställs in med alternativen --filters=FILTERS eller --filters1=FILTER ... --filters9=FILTER. Varje filter i kedjan kan separeras med mellanslag eller '--'. Alternativt kan en förinställd %s specificeras istället för en filterkedja." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "The supported filters and their options are:" +msgstr "Filtren som stöds och flaggorna för dem är:" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "Options must be 'name=value' pairs separated with commas" +msgstr "Alternativ måste vara ”namn=värde”-par separerade med kommatecken" + +#: src/xz/options.c +#, c-format +msgid "%s: Invalid option name" +msgstr "%s: Ogiltigt flaggnamn" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "Invalid option value" +msgstr "Ogiltigt alternativvärde" + +#: src/xz/options.c +#, c-format +msgid "Unsupported LZMA1/LZMA2 preset: %s" +msgstr "LZMA1/LZMA2-förinställning stöds inte: %s" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "The sum of lc and lp must not exceed 4" +msgstr "Summan av lc och lp får inte överstiga 4" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Filename has an unknown suffix, skipping" +msgstr "%s: Filnamn har okänd filändelse, hoppar över" + +#: src/xz/suffix.c +#, c-format +msgid "%s: File already has '%s' suffix, skipping" +msgstr "%s: Filen har redan ändelsen ”%s”, hoppar över" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Invalid filename suffix" +msgstr "%s: Ogiltig filnamnsändelse" + +#: src/xz/util.c src/liblzma/common/string_conversion.c +msgid "Value is not a non-negative decimal integer" +msgstr "Värdet är inte ett icke-negativt, decimalt heltal" + +#: src/xz/util.c +#, c-format +msgid "%s: Invalid multiplier suffix" +msgstr "%s: Ogiltig multipeländelse" + +#: src/xz/util.c +msgid "Valid suffixes are 'KiB' (2^10), 'MiB' (2^20), and 'GiB' (2^30)." +msgstr "Giltiga suffix är ”KiB” (2^10), ”MiB” (2^20) och ”GiB” (2^30)." + +#: src/xz/util.c +#, c-format +msgid "Value of the option '%s' must be in the range [%, %]" +msgstr "Värdet för flaggan ”%s” måste vara inom intervallet [%, %]" + +#: src/xz/util.c +msgid "Compressed data cannot be read from a terminal" +msgstr "Komprimerad data kan inte läsas från en terminal" + +#: src/xz/util.c +msgid "Compressed data cannot be written to a terminal" +msgstr "Komprimerad data kan inte skrivas till en terminal" + +#: src/lzmainfo/lzmainfo.c +#, c-format +msgid "Usage: %s [--help] [--version] [FILE]...\n" +msgstr "Användning: %s [--help] [--version] [FIL]…\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/lzmainfo/lzmainfo.c +msgid "Show information stored in the .lzma file header." +msgstr "Visa information som lagrats i .lzma-filhuvudet" + +#: src/lzmainfo/lzmainfo.c +msgid "File is too small to be a .lzma file" +msgstr "Filen är för liten för att vara en giltig .lzma-fil" + +#: src/lzmainfo/lzmainfo.c +msgid "Not a .lzma file" +msgstr "Inte en .lzma-fil" + +#: src/common/tuklib_exit.c +msgid "Writing to standard output failed" +msgstr "Skrivning till standard ut misslyckades" + +#: src/common/tuklib_exit.c +msgid "Unknown error" +msgstr "Okänt fel" + +#: src/liblzma/common/string_conversion.c +msgid "Unsupported preset" +msgstr "Förinställning stöds inte" + +#: src/liblzma/common/string_conversion.c +msgid "Unsupported flag in the preset" +msgstr "Flagga som inte stöds i förinställningen" + +#: src/liblzma/common/string_conversion.c +msgid "Unknown option name" +msgstr "Okänt alternativnamn" + +#: src/liblzma/common/string_conversion.c +msgid "Option value cannot be empty" +msgstr "Alternativvärdet får inte vara tomt" + +#: src/liblzma/common/string_conversion.c +msgid "Value out of range" +msgstr "Värde utanför intervallet" + +#: src/liblzma/common/string_conversion.c +msgid "This option does not support any multiplier suffixes" +msgstr "Det här alternativet stöder inte några multiplikatorsuffix" + +#. TRANSLATORS: Don't translate the +#. suffixes "KiB", "MiB", or "GiB" +#. because a user can only specify +#. untranslated suffixes. +#: src/liblzma/common/string_conversion.c +msgid "Invalid multiplier suffix (KiB, MiB, or GiB)" +msgstr "Ogiltigt multiplikatorsuffix (KiB, MiB eller GiB)" + +#: src/liblzma/common/string_conversion.c +msgid "Unknown filter name" +msgstr "Okänt filternamn" + +#: src/liblzma/common/string_conversion.c +msgid "This filter cannot be used in the .xz format" +msgstr "Detta filter kan inte användas med .xz-formatet" + +#: src/liblzma/common/string_conversion.c +msgid "Memory allocation failed" +msgstr "Minnesallokering misslyckades" + +#: src/liblzma/common/string_conversion.c +msgid "Empty string is not allowed, try '6' if a default value is needed" +msgstr "Tom sträng är inte tillåten, försök '6' om ett standardvärde behövs" + +#: src/liblzma/common/string_conversion.c +msgid "The maximum number of filters is four" +msgstr "Det maximala antalet filter är fyra" + +#: src/liblzma/common/string_conversion.c +msgid "Filter name is missing" +msgstr "Filternamn saknas" + +#: src/liblzma/common/string_conversion.c +msgid "Invalid filter chain ('lzma2' missing at the end?)" +msgstr "Ogiltig filterkedja ('lzma2' saknas på slutet?)" diff --git a/src/native/external/xz/po/tr.po b/src/native/external/xz/po/tr.po new file mode 100644 index 00000000000000..1c8d231010af0f --- /dev/null +++ b/src/native/external/xz/po/tr.po @@ -0,0 +1,1264 @@ +# SPDX-License-Identifier: 0BSD +# +# Turkish translation for xz. +# This file is published under the BSD Zero Clause License. +# +# Emir SARI , 2022-2025. +# +msgid "" +msgstr "" +"Project-Id-Version: xz 5.7.1-dev1\n" +"Report-Msgid-Bugs-To: xz@tukaani.org\n" +"POT-Creation-Date: 2025-01-29 20:59+0200\n" +"PO-Revision-Date: 2025-01-25 17:00+0300\n" +"Last-Translator: Emir SARI \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: src/xz/args.c +#, c-format +msgid "%s: Invalid argument to --block-list" +msgstr "%s: --block-list için geçersiz argüman" + +#: src/xz/args.c +#, c-format +msgid "%s: Too many arguments to --block-list" +msgstr "%s: --block-list için çok fazla argüman" + +#: src/xz/args.c +#, c-format +msgid "In --block-list, block size is missing after filter chain number '%c:'" +msgstr "--block-list içinde, süzgeç zinciri numarası '%c' sonrası blok boyutu eksik:" + +#: src/xz/args.c +msgid "0 can only be used as the last element in --block-list" +msgstr "0, yalnızca --block-list içindeki son öge olarak kullanılabilir" + +#: src/xz/args.c +#, c-format +msgid "%s: Unknown file format type" +msgstr "%s: Bilinmeyen dosya biçimi türü" + +#: src/xz/args.c +#, c-format +msgid "%s: Unsupported integrity check type" +msgstr "%s: Desteklenmeyen bütünlük denetimi türü" + +#: src/xz/args.c +msgid "Only one file can be specified with '--files' or '--files0'." +msgstr "'--files' veya '--files0' ile yalnızca bir dosya belirtilebilir." + +#. TRANSLATORS: This is a translatable +#. string because French needs a space +#. before the colon ("%s : %s"). +#: src/xz/args.c src/xz/coder.c src/xz/file_io.c src/xz/list.c src/xz/options.c +#: src/xz/util.c +#, c-format +msgid "%s: %s" +msgstr "%s: %s" + +#: src/xz/args.c +#, c-format +msgid "The environment variable %s contains too many arguments" +msgstr "Çevre değişkeni %s, pek fazla argüman içeriyor" + +#: src/xz/args.c +msgid "Compression support was disabled at build time" +msgstr "Sıkıştırma desteği, yapım sırasında devre dışı bırakıldı" + +#: src/xz/args.c +msgid "Decompression support was disabled at build time" +msgstr "Sıkıştırma açma desteği, yapım sırasında devre dışı bırakıldı" + +#: src/xz/args.c +msgid "Compression of lzip files (.lz) is not supported" +msgstr "lzip dosyalarının (.lz) sıkıştırılması desteklenmiyor" + +#: src/xz/args.c +msgid "--block-list is ignored unless compressing to the .xz format" +msgstr ".xz biçimine sıkıştırılmadığı durumlarda --block-list yok sayılır" + +#: src/xz/args.c +msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout" +msgstr "stdout'a yazılmıyorsa --format-raw ile --suffix=.SUF gereklidir" + +#: src/xz/coder.c +msgid "Maximum number of filters is four" +msgstr "Olabilecek en çok süzgeç sayısı dörttür" + +#: src/xz/coder.c +#, c-format +msgid "Error in --filters%s=FILTERS option:" +msgstr "--filters%s=SÜZGEÇLER seçeneğinde hata:" + +#: src/xz/coder.c +msgid "Memory usage limit is too low for the given filter setup." +msgstr "Verilen süzgeç ayarı için bellek kullanım sınırı pek düşük." + +#: src/xz/coder.c +#, c-format +msgid "filter chain %u used by --block-list but not specified with --filters%u=" +msgstr "Süzgeç zinciri %u --block-list tarafından kullanılıyor; ancak --filters%u= ile belirtilmemiş." + +#: src/xz/coder.c +msgid "Using a preset in raw mode is discouraged." +msgstr "Ham kipte bir önayar kullanımı önerilmez." + +#: src/xz/coder.c +msgid "The exact options of the presets may vary between software versions." +msgstr "Önayarların kesin seçenekleri yazılım sürümleri arasında ayrım gösterebilir." + +#: src/xz/coder.c +msgid "The .lzma format supports only the LZMA1 filter" +msgstr ".lzma biçimi, yalnızca LZMA1 süzgecini destekler" + +#: src/xz/coder.c +msgid "LZMA1 cannot be used with the .xz format" +msgstr "LZMA1, .xz biçimi ile birlikte kullanılamaz" + +#: src/xz/coder.c +#, c-format +msgid "Filter chain %u is incompatible with --flush-timeout" +msgstr "Süzgeç zinciri %u, --flush-timeout ile uyumsuz" + +#: src/xz/coder.c +msgid "Switching to single-threaded mode due to --flush-timeout" +msgstr "--flush-timeout nedeniyle tek iş parçacıklı kipe geçiliyor" + +#: src/xz/coder.c +#, c-format +msgid "Unsupported options in filter chain %u" +msgstr "Süzgeç zinciri %u ile desteklenmeyen seçenekler" + +#: src/xz/coder.c +#, c-format +msgid "Using up to % threads." +msgstr "En çok % iş parçacığı kullanılıyor." + +#: src/xz/coder.c +msgid "Unsupported filter chain or filter options" +msgstr "Desteklenmeyen süzgeç zinciri veya süzgeç seçenekleri" + +#: src/xz/coder.c +#, c-format +msgid "Decompression will need %s MiB of memory." +msgstr "Sıkıştırma açma, %s MiB belleğe gereksinim duyacak." + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to %s to not exceed the memory usage limit of %s MiB" +msgstr "%3$s MiB bellek kullanımı sınırını aşmamak için iş parçacığı sayısı %1$s -> %2$s olarak ayarlandı" + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to one. The automatic memory usage limit of %s MiB is still being exceeded. %s MiB of memory is required. Continuing anyway." +msgstr "İş parçacıklarının sayısı %s -> 1 olarak azaltıldı. %s MiB otomatik bellek sınırı hâlâ aşılıyor. %s MiB belleğe gereksinim var. Yine de sürdürülüyor." + +#: src/xz/coder.c +#, c-format +msgid "Switching to single-threaded mode to not exceed the memory usage limit of %s MiB" +msgstr "%s MiB bellek kullanım sınırını aşmamak için tek iş parçacıklı kipe geçiliyor" + +#: src/xz/coder.c +#, 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 "%4$s MiB bellek kullanımı sınırını aşmamak için LZMA%1$c sözlük boyutu %2$s MiB'dan %3$s MiB'e ayarlandı" + +#: src/xz/coder.c +#, c-format +msgid "Adjusted LZMA%c dictionary size for --filters%u from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgstr "%5$s MiB bellek kullanımı sınırını aşmamak için --filters%2$u için olan LZMA%1$c sözlük boyutu %3$s MiB'den %4$s MiB'a ayarlandı" + +#: src/xz/coder.c +#, c-format +msgid "Error changing to filter chain %u: %s" +msgstr "Süzgeç zinciri %u olarak değiştirilirken hata: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error creating a pipe: %s" +msgstr "Veriyolu oluştururken hata: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: poll() failed: %s" +msgstr "%s: poll() başarısız oldu: %s" + +#. 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 +#, c-format +msgid "%s: File seems to have been moved, not removing" +msgstr "%s: Dosya taşınmış gibi görünüyor, kaldırılmıyor" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot remove: %s" +msgstr "%s: Kaldırılamıyor: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file owner: %s" +msgstr "%s: Dosya sahibi ayarlanamıyor: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file group: %s" +msgstr "%s: Dosya grubu ayarlanamıyor: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file permissions: %s" +msgstr "%s: Dosya izinleri ayarlanamıyor: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Synchronizing the file failed: %s" +msgstr "%s: Dosyayı eşzamanlama başarısız: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Synchronizing the directory of the file failed: %s" +msgstr "%s: Dosyanın dizinini eşzamanlama başarısız: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard input: %s" +msgstr "Standart girdi'den dosya durum bayrakları alınırken hata: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a symbolic link, skipping" +msgstr "%s: Bir sembolik bağ, atlanıyor" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a directory, skipping" +msgstr "%s: Bir dizin, atlanıyor" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Not a regular file, skipping" +msgstr "%s: Olağan bir dosya değil, atlanıyor" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has setuid or setgid bit set, skipping" +msgstr "%s: Dosyanın setuid'si veya setgid biti ayarlanmış, atlanıyor" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has sticky bit set, skipping" +msgstr "%s: Dosyanın yapışkan bit seti var, atlanıyor" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Input file has more than one hard link, skipping" +msgstr "%s: Girdi dosyasında birden çok sabit bağ var, atlanıyor" + +#: src/xz/file_io.c +msgid "Empty filename, skipping" +msgstr "Boş dosya adı, atlanıyor" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the status flags to standard input: %s" +msgstr "Standart girdi'ye durum bayrakları geri yüklenirken hata: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard output: %s" +msgstr "Standart çıktı'dan dosya durum bayrakları alınırken hata: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Opening the directory failed: %s" +msgstr "%s: Dizini açma başarısız: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Destination is not a regular file" +msgstr "%s: Hedef olağan bir dosya değil" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the O_APPEND flag to standard output: %s" +msgstr "Standart çıktı'dan O_APPEND bayrağı geri yüklenirken hata: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Closing the file failed: %s" +msgstr "%s: Dosyayı kapatma başarısız: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Seeking failed when trying to create a sparse file: %s" +msgstr "%s: Bir aralıklı dosya oluşturmaya çalışırken arama başarısız: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Read error: %s" +msgstr "%s: Okuma hatası: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Error seeking the file: %s" +msgstr "%s: Dosyayı ararken hata: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Unexpected end of file" +msgstr "%s: Dosyanın beklenmedik sonu" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Write error: %s" +msgstr "%s: Yazma hatası: %s" + +#: src/xz/hardware.c +msgid "Disabled" +msgstr "Devre dışı" + +#: src/xz/hardware.c +msgid "Amount of physical memory (RAM):" +msgstr "Fiziksel bellek miktarı (RAM):" + +#: src/xz/hardware.c +msgid "Number of processor threads:" +msgstr "İşlemci iş parçacığı sayısı:" + +#: src/xz/hardware.c +msgid "Compression:" +msgstr "Sıkıştırma:" + +#: src/xz/hardware.c +msgid "Decompression:" +msgstr "Sıkıştırma açma:" + +#: src/xz/hardware.c +msgid "Multi-threaded decompression:" +msgstr "Çok iş parçacıklı sıkıştırma açma:" + +#: src/xz/hardware.c +msgid "Default for -T0:" +msgstr "-T0 için öntanımlı:" + +#: src/xz/hardware.c +msgid "Hardware information:" +msgstr "Donanım bilgisi:" + +#: src/xz/hardware.c +msgid "Memory usage limits:" +msgstr "Bellek kullanım sınırları:" + +#: src/xz/list.c +msgid "Streams:" +msgstr "Akışlar:" + +#: src/xz/list.c +msgid "Blocks:" +msgstr "Bloklar:" + +#: src/xz/list.c +msgid "Compressed size:" +msgstr "Sıkıştırılmış boyut:" + +#: src/xz/list.c +msgid "Uncompressed size:" +msgstr "Sıkıştırılmamış boyut:" + +#: src/xz/list.c +msgid "Ratio:" +msgstr "Oran:" + +#: src/xz/list.c +msgid "Check:" +msgstr "Denetim:" + +#: src/xz/list.c +msgid "Stream Padding:" +msgstr "Akış dolgusu:" + +#: src/xz/list.c +msgid "Memory needed:" +msgstr "Gereken bellek:" + +#: src/xz/list.c +msgid "Sizes in headers:" +msgstr "Üstbilgideki boyut:" + +#: src/xz/list.c +msgid "Number of files:" +msgstr "Dosya sayısı:" + +#: src/xz/list.c +msgid "Stream" +msgstr "Akış" + +#: src/xz/list.c +msgid "Block" +msgstr "Blok" + +#: src/xz/list.c +msgid "Blocks" +msgstr "Bloklar" + +#: src/xz/list.c +msgid "CompOffset" +msgstr "SkştrOfseti" + +#: src/xz/list.c +msgid "UncompOffset" +msgstr "SkştrmmşOfset" + +#: src/xz/list.c +msgid "CompSize" +msgstr "SkştrBoyut" + +#: src/xz/list.c +msgid "UncompSize" +msgstr "SkştrmmşBoyut" + +#: src/xz/list.c +msgid "TotalSize" +msgstr "ToplamBoyut" + +#: src/xz/list.c +msgid "Ratio" +msgstr "Oran" + +#: src/xz/list.c +msgid "Check" +msgstr "Denetim" + +#: src/xz/list.c +msgid "CheckVal" +msgstr "DğrDentm" + +#: src/xz/list.c +msgid "Padding" +msgstr "Dolgu" + +#: src/xz/list.c +msgid "Header" +msgstr "Üstveri" + +#: src/xz/list.c +msgid "Flags" +msgstr "Bayrak" + +#: src/xz/list.c +msgid "MemUsage" +msgstr "BelKullnm" + +#: src/xz/list.c +msgid "Filters" +msgstr "Süzgeçler" + +#. TRANSLATORS: Indicates that there is no integrity check. +#. This string is used in tables. In older xz version this +#. string was limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "None" +msgstr "Yok" + +#. TRANSLATORS: Indicates that integrity check name is not known, +#. but the Check ID is known (here 2). In older xz version these +#. strings were limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "Unknown-2" +msgstr "?-2" + +#: src/xz/list.c +msgid "Unknown-3" +msgstr "?-3" + +#: src/xz/list.c +msgid "Unknown-5" +msgstr "?-5" + +#: src/xz/list.c +msgid "Unknown-6" +msgstr "?-6" + +#: src/xz/list.c +msgid "Unknown-7" +msgstr "?-7" + +#: src/xz/list.c +msgid "Unknown-8" +msgstr "?-8" + +#: src/xz/list.c +msgid "Unknown-9" +msgstr "?-9" + +#: src/xz/list.c +msgid "Unknown-11" +msgstr "?-11" + +#: src/xz/list.c +msgid "Unknown-12" +msgstr "?-12" + +#: src/xz/list.c +msgid "Unknown-13" +msgstr "?-13" + +#: src/xz/list.c +msgid "Unknown-14" +msgstr "?-14" + +#: src/xz/list.c +msgid "Unknown-15" +msgstr "?-15" + +#: src/xz/list.c +#, c-format +msgid "%s: File is empty" +msgstr "%s: Dosya boş" + +#: src/xz/list.c +#, c-format +msgid "%s: Too small to be a valid .xz file" +msgstr "%s: Geçerli bir .xz dosyası olabilmek için pek küçük" + +#. 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 +msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" +msgstr " Akış Blok Sıkıştırıl. Sıkıştırmas. Oran Denetim Dosya ad" + +#: src/xz/list.c +msgid "Yes" +msgstr "Evet" + +#: src/xz/list.c +msgid "No" +msgstr "Hayır" + +#: src/xz/list.c +msgid "Minimum XZ Utils version:" +msgstr "En düşük XZ Utils sürümü:" + +#. 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 +#, c-format +msgid "%s file\n" +msgid_plural "%s files\n" +msgstr[0] "%s dosya\n" +msgstr[1] "%s dosya\n" + +#: src/xz/list.c +msgid "Totals:" +msgstr "Toplamlar:" + +#: src/xz/list.c +msgid "--list works only on .xz files (--format=xz or --format=auto)" +msgstr "--list, yalnızca .xz dosyalarında çalışır (--format=xz veya --format=auto)" + +#: src/xz/list.c +msgid "Try 'lzmainfo' with .lzma files." +msgstr ".lzma dosyalarıyla 'lzmainfo'yu deneyin." + +#: src/xz/list.c +msgid "--list does not support reading from standard input" +msgstr "--list, standart girdi'den okumayı desteklemez" + +#: src/xz/main.c +#, c-format +msgid "%s: Error reading filenames: %s" +msgstr "%s: Dosya adları okunurken hata: %s" + +#: src/xz/main.c +#, c-format +msgid "%s: Unexpected end of input when reading filenames" +msgstr "%s: Dosya adları okunurken beklenmedik girdi sonu" + +#: src/xz/main.c +#, c-format +msgid "%s: Null character found when reading filenames; maybe you meant to use '--files0' instead of '--files'?" +msgstr "%s: Dosya adları okunurken boş karakter bulundu; '--files' yerine '--files0' mı demek istediniz?" + +#: src/xz/main.c +msgid "Compression and decompression with --robot are not supported yet." +msgstr "--robot ile sıkıştırma ve sıkıştırma açma henüz desteklenmiyor." + +#: src/xz/main.c +msgid "Cannot read data from standard input when reading filenames from standard input" +msgstr "Standart girdi'den dosya adları okunurken standart girdi'den veri okunamıyor" + +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s: " +msgstr "%s: " + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "Internal error (bug)" +msgstr "İç hata (yazılım hatası)" + +#: src/xz/message.c +msgid "Cannot establish signal handlers" +msgstr "Sinyal işleyicileri tesis edilemiyor" + +#: src/xz/message.c +msgid "No integrity check; not verifying file integrity" +msgstr "Bütünlülük denetimi yok; dosya bütünlüğü doğrulanmıyor" + +#: src/xz/message.c +msgid "Unsupported type of integrity check; not verifying file integrity" +msgstr "Desteklenmeyen bütünlülük denetimi türü; dosya bütünlüğü doğrulanmıyor" + +#: src/xz/message.c +msgid "Memory usage limit reached" +msgstr "Bellek kullanım sınırına erişildi" + +#: src/xz/message.c +msgid "File format not recognized" +msgstr "Dosya biçimi tanımlanamıyor" + +#: src/xz/message.c +msgid "Unsupported options" +msgstr "Desteklenmeyen seçenekler" + +#: src/xz/message.c +msgid "Compressed data is corrupt" +msgstr "Sıkıştırılmış veri hasarlı" + +#: src/xz/message.c +msgid "Unexpected end of input" +msgstr "Beklenmedik girdi sonu" + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limiter is disabled." +msgstr "%s MiB bellek gerekiyor. Sınırlandırıcı devre dışı bırakıldı." + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limit is %s." +msgstr "%s MiB bellek gerekiyor. Sınır, %s." + +#: src/xz/message.c +#, c-format +msgid "%s: Filter chain: %s\n" +msgstr "%s: Süzgeç zinciri: %s\n" + +#: src/xz/message.c +#, c-format +msgid "Try '%s --help' for more information." +msgstr "Daha fazla bilgi için '%s --help' deneyin." + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Error printing the help text (error code %d)" +msgstr "Yardım metni yazdırılırken hata (hata kodu %d)" + +#: src/xz/message.c +#, c-format +msgid "Usage: %s [OPTION]... [FILE]...\n" +msgstr "Kullanım: %s [SEÇENEK]... [DOSYA]...\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Compress or decompress FILEs in the .xz format." +msgstr ".xz biçimindeki DOSYAları sıkıştır veya sıkıştırmasını aç." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Mandatory arguments to long options are mandatory for short options too." +msgstr "Uzun seçenekler için zorunlu olan argümanlar kısalar için de öyledir." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Operation mode:" +msgstr "İşlem kipi:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force compression" +msgstr "sıkıştırmayı zorla" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force decompression" +msgstr "sıkıştırma açmayı zorla" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "test compressed file integrity" +msgstr "sıkıştırılmış dosya bütünlüğünü sına" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "list information about .xz files" +msgstr ".xz dosyaları hakkında bilgi ver" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Operation modifiers:" +msgstr "İşlem niteleyicileri:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "keep (don't delete) input files" +msgstr "girdi dosyalarını tut (silme)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force overwrite of output file and (de)compress links" +msgstr "çıktı dosyalarının üzerine yazılmasını zorla ve bağlantıları çöz" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "write to standard output and don't delete input files" +msgstr "standart çıktıya yaz ve girdi dosyalarını silme" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't synchronize the output file to the storage device before removing the input file" +msgstr "girdi dosyasını kaldırmadan önce çıktı dosyasını depolama aygıtına eşzamanlama" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "decompress only the first stream, and silently ignore possible remaining input data" +msgstr "yalnızca ilk akışı çöz ve kalan olası girdi verisini sessizce yok say" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "do not create sparse files when decompressing" +msgstr "sıkıştırma çözerken seyrek dosyalar oluşturma" + +#: src/xz/message.c +msgid ".SUF" +msgstr ".SUF" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use the suffix '.SUF' on compressed files" +msgstr "sıkıştırılmış dosyalarda '.SUF' sonekini kullan" + +#: src/xz/message.c +msgid "FILE" +msgstr "DOSYA" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "read filenames to process from FILE; if FILE is omitted, filenames are read from the standard input; filenames must be terminated with the newline character" +msgstr "DOSYA'dan işlemek için dosya adlarını oku; DOSYA verilmemişse dosya adları standart girdiden okunur; dosya adları, yenisatır karakteriyle sonlandırılmalıdır" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "like --files but use the null character as terminator" +msgstr "--files gibi; ancak sonlandırıcı olarak boş karakterini kullanır" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Basic file format and compression options:" +msgstr "Temel dosya biçimi ve sıkıştırma seçenekleri:" + +#: src/xz/message.c +msgid "FORMAT" +msgstr "BİÇİM" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "file format to encode or decode; possible values are 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'" +msgstr "kodlamak veya çözmek için dosya biçimi; olası değerler: 'auto' (öntanımlı), 'xz', 'lzma', 'lzip' ve 'raw'" + +#: src/xz/message.c +msgid "NAME" +msgstr "AD" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "integrity check type: 'none' (use with caution), 'crc32', 'crc64' (default), or 'sha256'" +msgstr "bütünlük denetimi türü: 'none' (dikkatlı kullanın), 'crc32', 'crc64' (öntanımlı) veya 'sha256'" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't verify the integrity check when decompressing" +msgstr "sıkıştırmayı açarken bütünlük denetimini doğrulama" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression preset; default is 6; take compressor *and* decompressor memory usage into account before using 7-9!" +msgstr "sıkıştırma önayarı; öntanımlı 6'dır; 7-9 kullanmadan önce sıkıştırıcı *ve* açıcı bellek kullanımını dikkate alın" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "try to improve compression ratio by using more CPU time; does not affect decompressor memory requirements" +msgstr "daha çok CPU zamanı kullanarak sıkıştırma oranını iyileştirmeye çalış; sıkıştırma açıcı bellek gereksinimlerini etkilemez" + +#. TRANSLATORS: Short for NUMBER. A longer string is fine but +#. wider than 5 columns makes --long-help a few lines longer. +#: src/xz/message.c +msgid "NUM" +msgstr "SAYI" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use at most NUM threads; the default is 0 which uses as many threads as there are processor cores" +msgstr "en çok SAYI iş parçacığı kullan; öntanımlı 1; var olan işlemci çekirdeği kadar iş parçacığı kullanmak için 0'a ayarlayın" + +#: src/xz/message.c +msgid "SIZE" +msgstr "BOYUT" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after every SIZE bytes of input; use this to set the block size for threaded compression" +msgstr "her BOYUT bayt girdiden sonra yeni bir .xz bloku başlat; iş parçacığı kullanan sıkıştırma için blok boyutunu ayarlamak için bunu kullanın" + +#: src/xz/message.c +msgid "BLOCKS" +msgstr "BLOKLAR" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after the given comma-separated intervals of uncompressed data; optionally, specify a filter chain number (0-9) followed by a ':' before the uncompressed data size" +msgstr "verilen virgülle ayrılmış sıkıştırılmamış veri aralığından sonra yeni bir .xz bloku başlat; isteğe bağlı olarak, sıkıştırılmamış veri boyutundan önce bir süzgeç zinciri numarası belirtin (0-9, sonrasında ':' gelir)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "when compressing, if more than NUM milliseconds has passed since the previous flush and reading more input would block, all pending data is flushed out" +msgstr "sıkıştırırken, bir önceki floştan SAYI milisaniyeden daha çok zaman geçtiyse ve daha çok okuma engelleyecekse tüm bekleyen veri floşlanır" + +#: src/xz/message.c +msgid "LIMIT" +msgstr "SINIR" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, no-c-format +msgid "set memory usage limit for compression, decompression, threaded decompression, or all of these; LIMIT is in bytes, % of RAM, or 0 for defaults" +msgstr "sıkıştırma, sıkıştırma açma, çok iş parçacıklı sıkıştırma açma veya bunların tümü için için bellek kullanımı sınırı ayarla; SINIR; bayt, bellek yüzdesi veya öntanımlılar için 0 olabilir" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "if compression settings exceed the memory usage limit, give an error instead of adjusting the settings downwards" +msgstr "sıkıştırma ayarları bellek kullanımı sınırını aşıyorsa ayarı aşağı doğru çekmek yerine bir hata ver" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Custom filter chain for compression (an alternative to using presets):" +msgstr "Sıkıştırma için özel süzgeç zinciri (önayar kullanımı alternatifi):" + +#: src/xz/message.c +msgid "FILTERS" +msgstr "SÜZGEÇLER" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set the filter chain using the liblzma filter string syntax; use --filters-help for more information" +msgstr "süzgeç zincirini liblzma süzgeç zinciri sözdizimi kullanarak ayarla; daha fazla bilgi için --filters-help kullanın" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set additional filter chains using the liblzma filter string syntax to use with --block-list" +msgstr "--block-list ile kullanmak üzere liblzma süzgeç dizisi sözdizimi kullanarak ek süzgeç zincirleri ayarla" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display more information about the liblzma filter string syntax and exit" +msgstr "liblzma süzgeç dizisi sözdizimi hakkında daha fazla bilgi görüntüle ve çık" + +#. TRANSLATORS: Short for OPTIONS. +#: src/xz/message.c +msgid "OPTS" +msgstr "SÇNK" + +#. TRANSLATORS: Use semicolon (or its fullwidth form) +#. in "(valid values; default)" even if it is weird in +#. your language. There are non-translatable strings +#. that look like "(foo, bar, baz; foo)" which list +#. the supported values and the default value. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "LZMA1 or LZMA2; OPTS is a comma-separated list of zero or more of the following options (valid values; default):" +msgstr "LZMA1 veya LZMA2; SÇNK (seçenekler), aşağıdaki seçeneklerin hiçbirini veya bir sayısını içeren virgülle ayrılmış bir listedir (geçerli değerler; öntanımlı):" + +#. TRANSLATORS: Short for PRESET. A longer string is +#. fine but wider than 4 columns makes --long-help +#. one line longer. +#: src/xz/message.c +msgid "PRE" +msgstr "ÖN" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "reset options to a preset" +msgstr "seçenekleri bir önayara sıfırla" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "dictionary size" +msgstr "sözlük boyutu" + +#. TRANSLATORS: The word "literal" in "literal context +#. bits" means how many "context bits" to use when +#. encoding literals. A literal is a single 8-bit +#. byte. It doesn't mean "literally" here. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal context bits" +msgstr "düz bağlam bitleri sayısı" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal position bits" +msgstr "düz konum bitleri sayısı" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of position bits" +msgstr "konum bitleri sayısı" + +#: src/xz/message.c +msgid "MODE" +msgstr "KİP" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression mode" +msgstr "sıkıştırma kipi" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "nice length of a match" +msgstr "eşleşmenin öncelik uzunluğu" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "match finder" +msgstr "eşleşme bulucusu" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "maximum search depth; 0=automatic (default)" +msgstr "en çok arama derinliği; 0=kendiliğinden (öntanımlı)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "x86 BCJ filter (32-bit and 64-bit)" +msgstr "x86 BCJ süzgeci (32 ve 64 bit)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM BCJ filter" +msgstr "ARM BCJ süzgeci" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM-Thumb BCJ filter" +msgstr "ARM-Thumb BCJ süzgeci" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM64 BCJ filter" +msgstr "ARM64 BCJ süzgeci" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "PowerPC BCJ filter (big endian only)" +msgstr "PowerPC BCJ süzgeci (yalnızca son büyük haneli)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "IA-64 (Itanium) BCJ filter" +msgstr "IA-64 (Itanium) BCJ süzgeci" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "SPARC BCJ filter" +msgstr "SPARC BCJ süzgeci" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "RISC-V BCJ filter" +msgstr "RISC-V BCJ süzgeci" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Valid OPTS for all BCJ filters:" +msgstr "Tüm BCJ süzgeçleri için geçerli SÇNK:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start offset for conversions (default=0)" +msgstr "dönüşümler için başlangıç ofseti (öntanımlı)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Delta filter; valid OPTS (valid values; default):" +msgstr "Fark süzgeci; geçerli SÇNK (geçerli değerler; öntanımlı):" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "distance between bytes being subtracted from each other" +msgstr "birbirinden çıkarılan baytlar arasındaki uzaklık" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Other options:" +msgstr "Diğer seçenekler:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "suppress warnings; specify twice to suppress errors too" +msgstr "uyarıları sustur; hataları susturmak için iki kez belirt" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "be verbose; specify twice for even more verbose" +msgstr "ayrıntılı ol; daha da ayrıntı için iki kez belirt" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "make warnings not affect the exit status" +msgstr "uyarıların çıkış durumunu etkilemesine izin verme" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use machine-parsable messages (useful for scripts)" +msgstr "makine tarafından ayrıştırılabilir iletiler kullan (betikler için yararlı)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the total amount of RAM and the currently active memory usage limits, and exit" +msgstr "toplam RAM miktarını ve şu anki bellek kullanımı sınırlarını görüntüle ve çık" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the short help (lists only the basic options)" +msgstr "kısa yardımı görüntüle (yalnızca temel seçenekleri listeler)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this long help and exit" +msgstr "bu uzun yardımı görüntüle ve çık" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this short help and exit" +msgstr "bu kısa yardımı görüntüle ve çık" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the long help (lists also the advanced options)" +msgstr "bu uzun yardımı görüntüle (ayrıca gelişmiş seçenekleri listeler)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the version number and exit" +msgstr "sürüm numarasını görüntüle ve çık" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "With no FILE, or when FILE is -, read standard input." +msgstr "DOSYA olmadan veya DOSYA - iken standart girdi'yi oku." + +#. TRANSLATORS: This message indicates the bug reporting +#. address for this package. Please add another line saying +#. "\nReport translation bugs to <...>." with the email or WWW +#. address for translation bugs. Thanks! +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Report bugs to <%s> (in English or Finnish)." +msgstr "Hataları <%s> adresine bildir (İngilizce veya Fince)." + +#. TRANSLATORS: The first %s is the name of this software. +#. The second <%s> is an URL. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s home page: <%s>" +msgstr "%s ana sayfası: <%s>" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE." +msgstr "BU, NORMAL KULLANIM İÇİN OLMAYAN BİR GELİŞTİRME SÜRÜMÜDÜR." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, c-format +msgid "Filter chains are set using the --filters=FILTERS or --filters1=FILTERS ... --filters9=FILTERS options. Each filter in the chain can be separated by spaces or '--'. Alternatively a preset %s can be specified instead of a filter chain." +msgstr "Süzgeç zincirleri --filters=SÜZGEÇLER veya --filters1=SÜZGEÇLER ... --filters9=SÜZGEÇLER seçenekleri kullanılarak ayarlanır. Zincirdeki her bir seçenek boşluklar veya '--' ile ayrılabilir. Alternatif olarak, bir süzgeç zinciri yerine bir %s önayarı da belirtilebilir." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "The supported filters and their options are:" +msgstr "Desteklenmeyen süzgeçler ve onların seçenekleri:" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "Options must be 'name=value' pairs separated with commas" +msgstr "Seçenekler, virgülle ayrılmış 'ad=değer' çiftleri olmalıdır" + +#: src/xz/options.c +#, c-format +msgid "%s: Invalid option name" +msgstr "%s: Geçersiz seçenek adı" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "Invalid option value" +msgstr "Geçersiz seçenek değeri" + +#: src/xz/options.c +#, c-format +msgid "Unsupported LZMA1/LZMA2 preset: %s" +msgstr "Desteklenmeyen LZMA1/LZMA2 önayarı: %s" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "The sum of lc and lp must not exceed 4" +msgstr "lc ve lp'nin toplamı 4'ü geçmemelidir" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Filename has an unknown suffix, skipping" +msgstr "%s: Dosya adında bilinmeyen sonek var, atlanıyor" + +#: src/xz/suffix.c +#, c-format +msgid "%s: File already has '%s' suffix, skipping" +msgstr "%s: Dosyada '%s' soneki halihazırda var, atlanıyor" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Invalid filename suffix" +msgstr "%s: Geçersiz dosya adı soneki" + +#: src/xz/util.c src/liblzma/common/string_conversion.c +msgid "Value is not a non-negative decimal integer" +msgstr "Değer, bir negatif olmayan ondalık tamsayı" + +#: src/xz/util.c +#, c-format +msgid "%s: Invalid multiplier suffix" +msgstr "%s: Geçersiz çoklayıcı soneki" + +#: src/xz/util.c +msgid "Valid suffixes are 'KiB' (2^10), 'MiB' (2^20), and 'GiB' (2^30)." +msgstr "Geçerli sonekler: 'KiB' (2^10), 'MiB' (2^20) ve 'GiB' (2^30)." + +#: src/xz/util.c +#, c-format +msgid "Value of the option '%s' must be in the range [%, %]" +msgstr "'%s' seçeneği değeri erimde olmalıdır [%, %]" + +#: src/xz/util.c +msgid "Compressed data cannot be read from a terminal" +msgstr "Bir uçbirimden sıkıştırılmış veri okunamaz" + +#: src/xz/util.c +msgid "Compressed data cannot be written to a terminal" +msgstr "Bir uçbirime sıkıştırılmış veri yazılamaz" + +#: src/lzmainfo/lzmainfo.c +#, c-format +msgid "Usage: %s [--help] [--version] [FILE]...\n" +msgstr "Kullanım: %s [--help] [--version] [DOSYA]...\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/lzmainfo/lzmainfo.c +msgid "Show information stored in the .lzma file header." +msgstr ".lzma dosya üstbilgisinde depolanan bilgiyi göster." + +#: src/lzmainfo/lzmainfo.c +msgid "File is too small to be a .lzma file" +msgstr "Geçerli bir .xz dosyası olabilmek için pek küçük" + +#: src/lzmainfo/lzmainfo.c +msgid "Not a .lzma file" +msgstr "Bir .lzma dosyası değil" + +#: src/common/tuklib_exit.c +msgid "Writing to standard output failed" +msgstr "Standart çıktı'ya yazma başarısız" + +#: src/common/tuklib_exit.c +msgid "Unknown error" +msgstr "Bilinmeyen hata" + +#: src/liblzma/common/string_conversion.c +msgid "Unsupported preset" +msgstr "Desteklenmeyen önayarlar" + +#: src/liblzma/common/string_conversion.c +msgid "Unsupported flag in the preset" +msgstr "Önayarda desteklenmeyen bayrak" + +#: src/liblzma/common/string_conversion.c +msgid "Unknown option name" +msgstr "Geçersiz seçenek adı" + +#: src/liblzma/common/string_conversion.c +msgid "Option value cannot be empty" +msgstr "Seçenek değeri boş olamaz" + +#: src/liblzma/common/string_conversion.c +msgid "Value out of range" +msgstr "Değer erim dışında" + +#: src/liblzma/common/string_conversion.c +msgid "This option does not support any multiplier suffixes" +msgstr "Bu seçenek herhangi bir çoklayıcı soneklerini desteklemiyor" + +#. TRANSLATORS: Don't translate the +#. suffixes "KiB", "MiB", or "GiB" +#. because a user can only specify +#. untranslated suffixes. +#: src/liblzma/common/string_conversion.c +msgid "Invalid multiplier suffix (KiB, MiB, or GiB)" +msgstr "Geçersiz çoklayıcı soneki (KiB, MiB veya GiB)" + +#: src/liblzma/common/string_conversion.c +msgid "Unknown filter name" +msgstr "Bilinmeyen süzgeç adı" + +#: src/liblzma/common/string_conversion.c +msgid "This filter cannot be used in the .xz format" +msgstr "Bu süzgeç .xz biçiminde kullanılamaz" + +#: src/liblzma/common/string_conversion.c +msgid "Memory allocation failed" +msgstr "Bellek ayırma başarısız" + +#: src/liblzma/common/string_conversion.c +msgid "Empty string is not allowed, try '6' if a default value is needed" +msgstr "Boş diziye izin verilmiyor; bir öntanımlı değer gerekiyorsa '6' deneyin" + +#: src/liblzma/common/string_conversion.c +msgid "The maximum number of filters is four" +msgstr "Olabilecek en çok süzgeç sayısı dörttür" + +#: src/liblzma/common/string_conversion.c +msgid "Filter name is missing" +msgstr "Süzgeç adı eksik" + +#: src/liblzma/common/string_conversion.c +msgid "Invalid filter chain ('lzma2' missing at the end?)" +msgstr "Geçersiz süzgeç zinciri (sonda 'lzma2' mi eksik?)" diff --git a/src/native/external/xz/po/uk.po b/src/native/external/xz/po/uk.po new file mode 100644 index 00000000000000..b5bcde6f23f962 --- /dev/null +++ b/src/native/external/xz/po/uk.po @@ -0,0 +1,1268 @@ +# SPDX-License-Identifier: 0BSD +# +# Ukrainian translation for xz. +# This file is published under the BSD Zero Clause License. +# Copyright (C) The XZ Utils authors and contributors +# +# Yuri Chornoivan , 2019, 2022, 2023, 2024, 2025. +msgid "" +msgstr "" +"Project-Id-Version: xz 5.7.1-dev1\n" +"Report-Msgid-Bugs-To: xz@tukaani.org\n" +"POT-Creation-Date: 2025-01-29 20:59+0200\n" +"PO-Revision-Date: 2025-01-24 13:54+0200\n" +"Last-Translator: Yuri Chornoivan \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Lokalize 23.04.3\n" + +#: src/xz/args.c +#, c-format +msgid "%s: Invalid argument to --block-list" +msgstr "%s: некоректний аргумент --block-list" + +#: src/xz/args.c +#, c-format +msgid "%s: Too many arguments to --block-list" +msgstr "%s: забагато аргументів --block-list" + +#: src/xz/args.c +#, c-format +msgid "In --block-list, block size is missing after filter chain number '%c:'" +msgstr "У --block-list пропущено розмір блоку після номера ланцюжка фільтрів «%c:»" + +#: src/xz/args.c +msgid "0 can only be used as the last element in --block-list" +msgstr "0 можна використовувати лише як останній елемент у --block-list" + +#: src/xz/args.c +#, c-format +msgid "%s: Unknown file format type" +msgstr "%s: невідомий тип формату файлів" + +#: src/xz/args.c +#, c-format +msgid "%s: Unsupported integrity check type" +msgstr "%s: непідтримуваний тип перевірки цілісності" + +#: src/xz/args.c +msgid "Only one file can be specified with '--files' or '--files0'." +msgstr "Разом із параметрами --files або --files0 можна вказувати лише один файл." + +#. TRANSLATORS: This is a translatable +#. string because French needs a space +#. before the colon ("%s : %s"). +#: src/xz/args.c src/xz/coder.c src/xz/file_io.c src/xz/list.c src/xz/options.c +#: src/xz/util.c +#, c-format +msgid "%s: %s" +msgstr "%s: %s" + +#: src/xz/args.c +#, c-format +msgid "The environment variable %s contains too many arguments" +msgstr "У змінній середовища %s міститься надто багато аргументів" + +#: src/xz/args.c +msgid "Compression support was disabled at build time" +msgstr "Підтримку стискання було вимкнено під час збирання програми" + +#: src/xz/args.c +msgid "Decompression support was disabled at build time" +msgstr "Підтримку розпаковування було вимкнено під час збирання програми" + +#: src/xz/args.c +msgid "Compression of lzip files (.lz) is not supported" +msgstr "Підтримки стискання файлів lzip (.lz) не передбачено" + +#: src/xz/args.c +msgid "--block-list is ignored unless compressing to the .xz format" +msgstr "--block-list буде проігноровано, якщо дані не стискаються до формату .xz" + +#: src/xz/args.c +msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout" +msgstr "" +"Якщо вказано --format=raw, слід вказати і --suffix=.SUF, якщо дані\n" +"виводяться не до стандартного виведення" + +#: src/xz/coder.c +msgid "Maximum number of filters is four" +msgstr "Максимальна кількість фільтрів — чотири" + +#: src/xz/coder.c +#, c-format +msgid "Error in --filters%s=FILTERS option:" +msgstr "Помилка у параметрі --filters%s=ФІЛЬТРИ:" + +#: src/xz/coder.c +msgid "Memory usage limit is too low for the given filter setup." +msgstr "Обмеження на використання пам'яті є надто жорстким для вказаного налаштування фільтрів." + +#: src/xz/coder.c +#, c-format +msgid "filter chain %u used by --block-list but not specified with --filters%u=" +msgstr "у --block-list використано ланцюжок фільтрів %u, але його не вказано за допомогою --filters%u=" + +#: src/xz/coder.c +msgid "Using a preset in raw mode is discouraged." +msgstr "Не варто користуватися визначенням рівня у режимі без обробки." + +#: src/xz/coder.c +msgid "The exact options of the presets may vary between software versions." +msgstr "Точний перелік параметрів рівнів може залежати від версій програмного забезпечення." + +#: src/xz/coder.c +msgid "The .lzma format supports only the LZMA1 filter" +msgstr "У форматі .lzma передбачено підтримку лише фільтра LZMA1" + +#: src/xz/coder.c +msgid "LZMA1 cannot be used with the .xz format" +msgstr "LZMA1 не можна використовувати разом із визначенням формату .xz" + +#: src/xz/coder.c +#, c-format +msgid "Filter chain %u is incompatible with --flush-timeout" +msgstr "Ланцюжок фільтрування %u є несумісним із параметром --flush-timeout" + +#: src/xz/coder.c +msgid "Switching to single-threaded mode due to --flush-timeout" +msgstr "Перемикаємося на однопотоковий режим через використання --flush-timeout" + +#: src/xz/coder.c +#, c-format +msgid "Unsupported options in filter chain %u" +msgstr "Непідтримувані параметри у ланцюжку фільтрів %u" + +#: src/xz/coder.c +#, c-format +msgid "Using up to % threads." +msgstr "Використовуємо до % потоків обробки." + +#: src/xz/coder.c +msgid "Unsupported filter chain or filter options" +msgstr "Непідтримуваний ланцюжок фільтрування або непідтримувані параметри фільтрування" + +#: src/xz/coder.c +#, c-format +msgid "Decompression will need %s MiB of memory." +msgstr "Для розпаковування знадобляться %s МіБ пам'яті." + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to %s to not exceed the memory usage limit of %s MiB" +msgstr "Зменшено кількість потоків обробки з %s до %s, щоб не перевищувати обмеження щодо використання пам'яті у %s МіБ" + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to one. The automatic memory usage limit of %s MiB is still being exceeded. %s MiB of memory is required. Continuing anyway." +msgstr "Кількість потоків обробки зменшено з %s до одного. Автоматичне обмеження використання пам'яті у %s МіБ усе ще перевищено. Потрібно %s МіБ пам'яті. Продовжуємо роботу попри це." + +#: src/xz/coder.c +#, c-format +msgid "Switching to single-threaded mode to not exceed the memory usage limit of %s MiB" +msgstr "Перемикаємося на однопотоковий режим, щоб не перевищувати обмеження щодо використання пам'яті у %s МіБ" + +#: src/xz/coder.c +#, 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 "Скориговано розмір словника LZMA%c з %s МіБ до %s МіБ, щоб не перевищувати обмеження на використання пам'яті у %s МіБ" + +#: src/xz/coder.c +#, c-format +msgid "Adjusted LZMA%c dictionary size for --filters%u from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgstr "Скориговано розмір словника LZMA%c для --filters%u з %s МіБ до %s МіБ, щоб не перевищувати обмеження на використання пам'яті у %s МіБ" + +#: src/xz/coder.c +#, c-format +msgid "Error changing to filter chain %u: %s" +msgstr "Помилка під час спроби перейти до ланцюжка фільтрів %u: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error creating a pipe: %s" +msgstr "Помилка під час створення каналу: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: poll() failed: %s" +msgstr "%s: помилка poll(): %s" + +#. 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 +#, c-format +msgid "%s: File seems to have been moved, not removing" +msgstr "%s: здається, файл пересунуто; не вилучаємо" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot remove: %s" +msgstr "%s: не вдалося вилучити: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file owner: %s" +msgstr "%s: не вдалося встановити власника файла: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file group: %s" +msgstr "%s: не вдалося встановити групу власника файла: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file permissions: %s" +msgstr "%s: не вдалося встановити права доступу до файла: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Synchronizing the file failed: %s" +msgstr "%s: не вдалося синхронізувати файл: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Synchronizing the directory of the file failed: %s" +msgstr "%s: не вдалося синхронізувати каталог файла: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard input: %s" +msgstr "Помилка під час спроби отримання прапорців стану файла зі стандартного джерела вхідних даних: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a symbolic link, skipping" +msgstr "%s: є символічним посиланням; пропускаємо" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a directory, skipping" +msgstr "%s: є каталогом; пропускаємо" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Not a regular file, skipping" +msgstr "%s: не є звичайним файлом; пропускаємо" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has setuid or setgid bit set, skipping" +msgstr "%s: для файла встановлено біт setuid або setgid; пропускаємо" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has sticky bit set, skipping" +msgstr "%s: для файла встановлено липкий біт; пропускаємо" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Input file has more than one hard link, skipping" +msgstr "%s: виявлено декілька жорстких посилань на файл із вхідними даними; пропускаємо" + +#: src/xz/file_io.c +msgid "Empty filename, skipping" +msgstr "Порожня назва файла; пропускаємо" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the status flags to standard input: %s" +msgstr "Помилка під час спроби відновлення прапорців стану для стандартного джерела вхідних даних: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard output: %s" +msgstr "Помилка під час спроби отримання прапорців стану файла зі стандартного виведення: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Opening the directory failed: %s" +msgstr "%s: не вдалося відкрити каталог: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Destination is not a regular file" +msgstr "%s: призначення не є звичайним файлом" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the O_APPEND flag to standard output: %s" +msgstr "Помилка під час спроби відновлення прапорця O_APPEND для стандартного виведення: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Closing the file failed: %s" +msgstr "%s: не вдалося закрити файл: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Seeking failed when trying to create a sparse file: %s" +msgstr "%s: помилка позиціювання під час спроби створити розріджений файл: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Read error: %s" +msgstr "%s: помилка читання: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Error seeking the file: %s" +msgstr "%s: помилка позиціювання у файлі: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Unexpected end of file" +msgstr "%s: неочікуваний кінець файла" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Write error: %s" +msgstr "%s: помилка під час спроби запису: %s" + +#: src/xz/hardware.c +msgid "Disabled" +msgstr "Вимкнено" + +#: src/xz/hardware.c +msgid "Amount of physical memory (RAM):" +msgstr "Обсяг фізичної пам'яті (RAM): " + +#: src/xz/hardware.c +msgid "Number of processor threads:" +msgstr "Кількість потоків обробки процесором:" + +#: src/xz/hardware.c +msgid "Compression:" +msgstr "Стискання:" + +#: src/xz/hardware.c +msgid "Decompression:" +msgstr "Розпакування:" + +#: src/xz/hardware.c +msgid "Multi-threaded decompression:" +msgstr "Багатопотокове розпаковування:" + +#: src/xz/hardware.c +msgid "Default for -T0:" +msgstr "Типове для -T0:" + +#: src/xz/hardware.c +msgid "Hardware information:" +msgstr "Дані щодо обладнання:" + +#: src/xz/hardware.c +msgid "Memory usage limits:" +msgstr "Обмеження на використання пам'яті:" + +#: src/xz/list.c +msgid "Streams:" +msgstr "Потоки:" + +#: src/xz/list.c +msgid "Blocks:" +msgstr "Блоки:" + +#: src/xz/list.c +msgid "Compressed size:" +msgstr "Стиснутий розмір:" + +#: src/xz/list.c +msgid "Uncompressed size:" +msgstr "Нестиснутий розмір:" + +#: src/xz/list.c +msgid "Ratio:" +msgstr "Пропорція:" + +#: src/xz/list.c +msgid "Check:" +msgstr "Перевірка:" + +#: src/xz/list.c +msgid "Stream Padding:" +msgstr "Доповнення потоку:" + +#: src/xz/list.c +msgid "Memory needed:" +msgstr "Потрібний об'єм пам'яті:" + +#: src/xz/list.c +msgid "Sizes in headers:" +msgstr "Розмір у заголовках:" + +#: src/xz/list.c +msgid "Number of files:" +msgstr "Кількість файлів:" + +#: src/xz/list.c +msgid "Stream" +msgstr "Потік" + +#: src/xz/list.c +msgid "Block" +msgstr "Блок" + +#: src/xz/list.c +msgid "Blocks" +msgstr "Блоки" + +#: src/xz/list.c +msgid "CompOffset" +msgstr "СтисЗсув" + +#: src/xz/list.c +msgid "UncompOffset" +msgstr "НестисЗсув" + +#: src/xz/list.c +msgid "CompSize" +msgstr "СтисРозмір" + +#: src/xz/list.c +msgid "UncompSize" +msgstr "НестисРозмір" + +#: src/xz/list.c +msgid "TotalSize" +msgstr "Загальний розмір" + +#: src/xz/list.c +msgid "Ratio" +msgstr "Пропорція" + +#: src/xz/list.c +msgid "Check" +msgstr "Перевірка" + +#: src/xz/list.c +msgid "CheckVal" +msgstr "ЗначПерев" + +#: src/xz/list.c +msgid "Padding" +msgstr "Заповн" + +#: src/xz/list.c +msgid "Header" +msgstr "Заголов" + +#: src/xz/list.c +msgid "Flags" +msgstr "Прапор" + +#: src/xz/list.c +msgid "MemUsage" +msgstr "ВикПам" + +#: src/xz/list.c +msgid "Filters" +msgstr "Фільтри" + +#. TRANSLATORS: Indicates that there is no integrity check. +#. This string is used in tables. In older xz version this +#. string was limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "None" +msgstr "Немає" + +#. TRANSLATORS: Indicates that integrity check name is not known, +#. but the Check ID is known (here 2). In older xz version these +#. strings were limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "Unknown-2" +msgstr "Невідомо-2" + +#: src/xz/list.c +msgid "Unknown-3" +msgstr "Невідомо-3" + +#: src/xz/list.c +msgid "Unknown-5" +msgstr "Невідомо-5" + +#: src/xz/list.c +msgid "Unknown-6" +msgstr "Невідомо-6" + +#: src/xz/list.c +msgid "Unknown-7" +msgstr "Невідомо-7" + +#: src/xz/list.c +msgid "Unknown-8" +msgstr "Невідомо-8" + +#: src/xz/list.c +msgid "Unknown-9" +msgstr "Невідомо-9" + +#: src/xz/list.c +msgid "Unknown-11" +msgstr "Невідом-11" + +#: src/xz/list.c +msgid "Unknown-12" +msgstr "Невідом-12" + +#: src/xz/list.c +msgid "Unknown-13" +msgstr "Невідом-13" + +#: src/xz/list.c +msgid "Unknown-14" +msgstr "Невідом-14" + +#: src/xz/list.c +msgid "Unknown-15" +msgstr "Невідом-15" + +#: src/xz/list.c +#, c-format +msgid "%s: File is empty" +msgstr "%s: файл порожній" + +#: src/xz/list.c +#, c-format +msgid "%s: Too small to be a valid .xz file" +msgstr "%s: є надто малим для коректного файла .xz" + +#. 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 +msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" +msgstr "Потоки Блоки Стиснуті Нестиснуті Коеф. Перев. Назва файла" + +#: src/xz/list.c +msgid "Yes" +msgstr "Так" + +#: src/xz/list.c +msgid "No" +msgstr "Ні" + +#: src/xz/list.c +msgid "Minimum XZ Utils version:" +msgstr "Мінімальна версія програм XZ:" + +#. 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 +#, c-format +msgid "%s file\n" +msgid_plural "%s files\n" +msgstr[0] "%s файл\n" +msgstr[1] "%s файли\n" +msgstr[2] "%s файлів\n" + +#: src/xz/list.c +msgid "Totals:" +msgstr "Загалом:" + +#: src/xz/list.c +msgid "--list works only on .xz files (--format=xz or --format=auto)" +msgstr "--list працює лише для файлів .xz (--format=xz або --format=auto)" + +#: src/xz/list.c +msgid "Try 'lzmainfo' with .lzma files." +msgstr "Спробуйте «lzmainfo» із файлами .lzma." + +#: src/xz/list.c +msgid "--list does not support reading from standard input" +msgstr "Використання --list скасовує підтримку читання зі стандартного джерела вхідних даних" + +#: src/xz/main.c +#, c-format +msgid "%s: Error reading filenames: %s" +msgstr "%s: помилка під час читання назв файлів: %s" + +#: src/xz/main.c +#, c-format +msgid "%s: Unexpected end of input when reading filenames" +msgstr "%s: неочікуваний кінець вхідних даних під час читання назв файлів" + +#: src/xz/main.c +#, c-format +msgid "%s: Null character found when reading filenames; maybe you meant to use '--files0' instead of '--files'?" +msgstr "%s: під час читання назв файлів виявлено нуль-символ; можливо, ви хотіли скористатися --files0, а не --files?" + +#: src/xz/main.c +msgid "Compression and decompression with --robot are not supported yet." +msgstr "У поточній версії ще не передбачено підтримки стискання або розпаковування з параметром --robot." + +#: src/xz/main.c +msgid "Cannot read data from standard input when reading filenames from standard input" +msgstr "Читання даних зі стандартного джерела вхідних даних неможливе, якщо зі стандартного джерела даних виконується читання назв файлів standard input" + +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s: " +msgstr "%s: " + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "Internal error (bug)" +msgstr "Внутрішня помилка (вада)" + +#: src/xz/message.c +msgid "Cannot establish signal handlers" +msgstr "Не вдалося встановити обробники сигналів" + +#: src/xz/message.c +msgid "No integrity check; not verifying file integrity" +msgstr "Немає перевірки цілісності; цілісність файлів перевірено не буде" + +#: src/xz/message.c +msgid "Unsupported type of integrity check; not verifying file integrity" +msgstr "Непідтримуваний тип перевірки цілісності; перевірки цілісності виконано не буде" + +#: src/xz/message.c +msgid "Memory usage limit reached" +msgstr "Перевищено обмеження на використання пам'яті" + +#: src/xz/message.c +msgid "File format not recognized" +msgstr "Формат файла не розпізнано" + +#: src/xz/message.c +msgid "Unsupported options" +msgstr "Непідтримувані параметри" + +#: src/xz/message.c +msgid "Compressed data is corrupt" +msgstr "Стиснені дані пошкоджено" + +#: src/xz/message.c +msgid "Unexpected end of input" +msgstr "Несподіваний кінець вхідних даних" + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limiter is disabled." +msgstr "Потрібно %s МіБ пам'яті. Обмеження вимкнено." + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limit is %s." +msgstr "Потрібно %s МіБ пам'яті. Маємо обмеження у %s." + +#: src/xz/message.c +#, c-format +msgid "%s: Filter chain: %s\n" +msgstr "%s: ланцюжок фільтрування: %s\n" + +#: src/xz/message.c +#, c-format +msgid "Try '%s --help' for more information." +msgstr "Спробуйте «%s --help» для отримання докладнішого опису." + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Error printing the help text (error code %d)" +msgstr "Помилка при друці тексту довідки (код помилки %d)" + +#: src/xz/message.c +#, c-format +msgid "Usage: %s [OPTION]... [FILE]...\n" +msgstr "Використання: %s [ПАРАМЕТР]... [ФАЙЛ]...\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Compress or decompress FILEs in the .xz format." +msgstr "Стиснути або розпакувати файли у форматі .xz." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Mandatory arguments to long options are mandatory for short options too." +msgstr "Обов’язкові аргументи для довгих форм запису параметрів є обов’язковими і для скорочених форм." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Operation mode:" +msgstr "Режим роботи:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force compression" +msgstr "примусове стискання" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force decompression" +msgstr "примусове розпаковування" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "test compressed file integrity" +msgstr "перевірити цілісність стиснутого файла" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "list information about .xz files" +msgstr "вивести відомості щодо файлів .xz" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Operation modifiers:" +msgstr "Модифікатори режиму роботи:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "keep (don't delete) input files" +msgstr "зберегти (не вилучати) вхідні файли" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force overwrite of output file and (de)compress links" +msgstr "примусово перезаписувати файл-результат і стискати посилання" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "write to standard output and don't delete input files" +msgstr "записати до стандартного виведення даних і не вилучати файли вхідних даних" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't synchronize the output file to the storage device before removing the input file" +msgstr "не синхронізувати файл-результат з пристроєм сховища даних до вилучення вхідного файла" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "decompress only the first stream, and silently ignore possible remaining input data" +msgstr "розпакувати лише перший потік і без запитань ігнорувати решту вхідних даних" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "do not create sparse files when decompressing" +msgstr "не створювати розріджених файлів при розпаковуванні" + +#: src/xz/message.c +msgid ".SUF" +msgstr ".СУФ" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use the suffix '.SUF' on compressed files" +msgstr "використати суфікс «.СУФ» для стиснутих файлів" + +#: src/xz/message.c +msgid "FILE" +msgstr "ФАЙЛ" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "read filenames to process from FILE; if FILE is omitted, filenames are read from the standard input; filenames must be terminated with the newline character" +msgstr "прочитати назви файлів для обробки з файла ФАЙЛ; якщо ФАЙЛ не вказано, назви буде прочитано зі стандартного джерела вхідних даних; список назв файлів має бути завершено символом нового рядка" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "like --files but use the null character as terminator" +msgstr "подібно до --files, але з використанням нуль-символу як роздільника" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Basic file format and compression options:" +msgstr "Параметри базового формату файлів та стискання:" + +#: src/xz/message.c +msgid "FORMAT" +msgstr "ФОРМАТ" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "file format to encode or decode; possible values are 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'" +msgstr "формат файлів для кодування або декодування; можливі значення: auto (типовий), xz, lzma, lzip і raw" + +#: src/xz/message.c +msgid "NAME" +msgstr "НАЗВА" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "integrity check type: 'none' (use with caution), 'crc32', 'crc64' (default), or 'sha256'" +msgstr "тип перевірки цілісності: none («немає», будьте обережні), crc32, crc64 (типовий) або sha256" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't verify the integrity check when decompressing" +msgstr "не виконувати перевірку цілісності при розпаковуванні" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression preset; default is 6; take compressor *and* decompressor memory usage into account before using 7-9!" +msgstr "рівень стискання; типовим є 6; візьміть до уваги параметри використання пам'яті для пакування і розпакування, перш ніж використовувати рівні 7-9!" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "try to improve compression ratio by using more CPU time; does not affect decompressor memory requirements" +msgstr "спробувати поліпшити рівень стискання ширшим використанням процесора; не впливає на вимоги щодо пам'яті для розпаковування" + +#. TRANSLATORS: Short for NUMBER. A longer string is fine but +#. wider than 5 columns makes --long-help a few lines longer. +#: src/xz/message.c +msgid "NUM" +msgstr "ЧИСЛО" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use at most NUM threads; the default is 0 which uses as many threads as there are processor cores" +msgstr "використовувати не більше N потоків; типовим є значення 0, за якого програма використовує стільки потоків, скільки є ядер у процесора" + +#: src/xz/message.c +msgid "SIZE" +msgstr "РОЗМІР" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after every SIZE bytes of input; use this to set the block size for threaded compression" +msgstr "розпочинати новий файл .xz кожні РОЗМІР байтів вхідних даних; цим параметром слід користуватися для встановлення розміру блоку для пакування у декілька потоків" + +#: src/xz/message.c +msgid "BLOCKS" +msgstr "БЛОКИ" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after the given comma-separated intervals of uncompressed data; optionally, specify a filter chain number (0-9) followed by a ':' before the uncompressed data size" +msgstr "розпочинати нові блоки .xz після вказаних інтервалів нестиснених даних; записи відокремлюються комами; можна вказати номер ланцюжка фільтрів (0-9) із завершальною «:» до розміру нестиснених даних" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "when compressing, if more than NUM milliseconds has passed since the previous flush and reading more input would block, all pending data is flushed out" +msgstr "під час стискання, якщо з часу попереднього спорожнення буфера і читання додаткового блоку вхідних даних минуло більше за ЧАС_ОЧІКУВАННЯ мілісекунд, витерти усі дані у черзі" + +#: src/xz/message.c +msgid "LIMIT" +msgstr "ОБМЕЖЕННЯ" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, no-c-format +msgid "set memory usage limit for compression, decompression, threaded decompression, or all of these; LIMIT is in bytes, % of RAM, or 0 for defaults" +msgstr "встановити обмеження на використання пам'яті для стискання, розпаковування, потокового розпаковування або усіх режимів; ОБМЕЖЕННЯ слід вказувати у байтах, % RAM або вказати 0 (типове значення)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "if compression settings exceed the memory usage limit, give an error instead of adjusting the settings downwards" +msgstr "якщо параметри стискання призводять до перевищення обмежень на пам'ять, вивести помилку і не коригувати параметри" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Custom filter chain for compression (an alternative to using presets):" +msgstr "Нетиповий ланцюжок фільтрування для стискання (альтернатива використання рівнів):" + +#: src/xz/message.c +msgid "FILTERS" +msgstr "ФІЛЬТРИ" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set the filter chain using the liblzma filter string syntax; use --filters-help for more information" +msgstr "встановити ланцюжок фільтрів за допомогою синтаксису рядків фільтрів liblzma; скористайтеся --filters-help, щоб дізнатися більше" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set additional filter chains using the liblzma filter string syntax to use with --block-list" +msgstr "встановити додаткові ланцюжки фільтрів за допомогою синтаксису рядків ланцюжка фільтрів liblzma для використання з --block-list" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display more information about the liblzma filter string syntax and exit" +msgstr "вивести докладніші відомості щодо синтаксису рядків liblzma і завершити роботу" + +#. TRANSLATORS: Short for OPTIONS. +#: src/xz/message.c +msgid "OPTS" +msgstr "ПАРАМ" + +#. TRANSLATORS: Use semicolon (or its fullwidth form) +#. in "(valid values; default)" even if it is weird in +#. your language. There are non-translatable strings +#. that look like "(foo, bar, baz; foo)" which list +#. the supported values and the default value. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "LZMA1 or LZMA2; OPTS is a comma-separated list of zero or more of the following options (valid values; default):" +msgstr "LZMA1 або LZMA2; ПАРАМ є список відокремлених комами нуля або декількох параметрів (коректні значення; типове):" + +#. TRANSLATORS: Short for PRESET. A longer string is +#. fine but wider than 4 columns makes --long-help +#. one line longer. +#: src/xz/message.c +msgid "PRE" +msgstr "НАБ" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "reset options to a preset" +msgstr "скинути параметри до початкового набору" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "dictionary size" +msgstr "розмір словника" + +#. TRANSLATORS: The word "literal" in "literal context +#. bits" means how many "context bits" to use when +#. encoding literals. A literal is a single 8-bit +#. byte. It doesn't mean "literally" here. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal context bits" +msgstr "кількість бітів буквального контексту" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal position bits" +msgstr "кількість буквальних позиційних бітів" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of position bits" +msgstr "кількість позиційних бітів" + +#: src/xz/message.c +msgid "MODE" +msgstr "РЕЖИМ" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression mode" +msgstr "режим стискання" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "nice length of a match" +msgstr "форматована довжина відповідності" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "match finder" +msgstr "пошук відповідників" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "maximum search depth; 0=automatic (default)" +msgstr "максимальна глибина пошуку; 0=автоматична (типове значення)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "x86 BCJ filter (32-bit and 64-bit)" +msgstr "фільтр BCJ x86 (32-бітовий і 64-бітовий)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM BCJ filter" +msgstr "фільтр BCJ ARM" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM-Thumb BCJ filter" +msgstr "фільтр BCJ ARM-Thumb" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM64 BCJ filter" +msgstr "фільтр BCJ ARM64" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "PowerPC BCJ filter (big endian only)" +msgstr "фільтр BCJ PowerPC (лише зі зворотним порядком байтів)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "IA-64 (Itanium) BCJ filter" +msgstr "фільтр BCJ IA-64 (Itanium)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "SPARC BCJ filter" +msgstr "фільтр BCJ SPARC" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "RISC-V BCJ filter" +msgstr "фільтр BCJ RISC-V" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Valid OPTS for all BCJ filters:" +msgstr "Коректні значення ПАРАМ для усіх фільтрів BCJ:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start offset for conversions (default=0)" +msgstr "початковий відступ для перетворень (типовий=0)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Delta filter; valid OPTS (valid values; default):" +msgstr "дельта-фільтр; коректні ПАРАМЕТРИ (значення; типове):" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "distance between bytes being subtracted from each other" +msgstr "відстань між байтами, які віднімаються один від одного" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Other options:" +msgstr "Інші параметри:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "suppress warnings; specify twice to suppress errors too" +msgstr "придушити попередження; вкажіть двічі, щоб придушити і помилки" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "be verbose; specify twice for even more verbose" +msgstr "режим докладних повідомлень; вкажіть двічі для збільшення докладності" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "make warnings not affect the exit status" +msgstr "попередження не впливають на стан виходу" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use machine-parsable messages (useful for scripts)" +msgstr "використовувати повідомлення для обробки комп'ютером (корисно для створення сценаріїв)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the total amount of RAM and the currently active memory usage limits, and exit" +msgstr "вивести загальні дані щодо оперативної пам'яті і поточних обмежень щодо її використання, потім завершити роботу" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the short help (lists only the basic options)" +msgstr "показати скорочену довідку (лише список основних параметрів)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this long help and exit" +msgstr "показати цю розширену довідку і завершити роботу" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this short help and exit" +msgstr "показати цю коротку довідку і завершити роботу" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the long help (lists also the advanced options)" +msgstr "показати розгорнуту довідку (із усіма додатковими параметрами)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the version number and exit" +msgstr "показати дані щодо версії і завершити роботу" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "With no FILE, or when FILE is -, read standard input." +msgstr "Якщо вхідний файл не вказано, або якщо вказано символ -, читання буде виконано зі стандартного джерела вхідних даних." + +#. TRANSLATORS: This message indicates the bug reporting +#. address for this package. Please add another line saying +#. "\nReport translation bugs to <...>." with the email or WWW +#. address for translation bugs. Thanks! +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Report bugs to <%s> (in English or Finnish)." +msgstr "Сповіщайте розробників про вади за адресою <%s> (англійською і фінською)." + +#. TRANSLATORS: The first %s is the name of this software. +#. The second <%s> is an URL. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s home page: <%s>" +msgstr "Домашня сторінка %s: <%s>" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE." +msgstr "ЦЕ ТЕСТОВА ВЕРСІЯ, ЯКУ НЕ ПРИЗНАЧЕНО ДЛЯ ПРОМИСЛОВОГО ВИКОРИСТАННЯ." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, c-format +msgid "Filter chains are set using the --filters=FILTERS or --filters1=FILTERS ... --filters9=FILTERS options. Each filter in the chain can be separated by spaces or '--'. Alternatively a preset %s can be specified instead of a filter chain." +msgstr "Ланцюжки фільтрування встановлюються за допомогою параметрів --filters=ФІЛЬТРИ або --filters1=ФІЛЬТРИ ... --filters9=ФІЛЬТРИ. Кожен фільтр у ланцюжку можна відокремлювати від інших пробілами або «--». Крім того, можна вказати шаблон %s замість ланцюжка фільтрів." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "The supported filters and their options are:" +msgstr "Підтримувані фільтри та їхні параметри:" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "Options must be 'name=value' pairs separated with commas" +msgstr "параметри -- пари «назва=значення», відокремлені комами" + +#: src/xz/options.c +#, c-format +msgid "%s: Invalid option name" +msgstr "%s: некоректна назва параметра" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "Invalid option value" +msgstr "Некоректне значення параметра" + +#: src/xz/options.c +#, c-format +msgid "Unsupported LZMA1/LZMA2 preset: %s" +msgstr "Непідтримуваний рівень стискання LZMA1/LZMA2: %s" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "The sum of lc and lp must not exceed 4" +msgstr "Сума lc і lp не повинна перевищувати 4" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Filename has an unknown suffix, skipping" +msgstr "%s: назва файла має невідомий суфікс; пропускаємо" + +#: src/xz/suffix.c +#, c-format +msgid "%s: File already has '%s' suffix, skipping" +msgstr "%s: файл вже має суфікс назви %s; пропускаємо" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Invalid filename suffix" +msgstr "%s: некоректний суфікс назви файла" + +#: src/xz/util.c src/liblzma/common/string_conversion.c +msgid "Value is not a non-negative decimal integer" +msgstr "значення не є невід'ємним десятковим цілим" + +#: src/xz/util.c +#, c-format +msgid "%s: Invalid multiplier suffix" +msgstr "%s: некоректний суфікс множника" + +#: src/xz/util.c +msgid "Valid suffixes are 'KiB' (2^10), 'MiB' (2^20), and 'GiB' (2^30)." +msgstr "Коректними є суфікси «KiB» (2^10), «MiB» (2^20) та «GiB» (2^30)." + +#: src/xz/util.c +#, c-format +msgid "Value of the option '%s' must be in the range [%, %]" +msgstr "Значення параметра «%s» має належати до діапазону [%, %]" + +#: src/xz/util.c +msgid "Compressed data cannot be read from a terminal" +msgstr "Стиснені дані неможливо прочитати з термінала" + +#: src/xz/util.c +msgid "Compressed data cannot be written to a terminal" +msgstr "Стиснені дані неможливо записати до термінала" + +#: src/lzmainfo/lzmainfo.c +#, c-format +msgid "Usage: %s [--help] [--version] [FILE]...\n" +msgstr "Користування: %s [--help] [--version] [ФАЙЛ]...\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/lzmainfo/lzmainfo.c +msgid "Show information stored in the .lzma file header." +msgstr "Показати відомості, що зберігаються у заголовку файла .lzma." + +#: src/lzmainfo/lzmainfo.c +msgid "File is too small to be a .lzma file" +msgstr "Файл є надто малим, щоб бути файлом .lzma" + +#: src/lzmainfo/lzmainfo.c +msgid "Not a .lzma file" +msgstr "Не є файлом .lzma" + +#: src/common/tuklib_exit.c +msgid "Writing to standard output failed" +msgstr "Не вдалося записати дані до стандартного виведення" + +#: src/common/tuklib_exit.c +msgid "Unknown error" +msgstr "Невідома помилка" + +#: src/liblzma/common/string_conversion.c +msgid "Unsupported preset" +msgstr "Непідтримуваний набір параметрів" + +#: src/liblzma/common/string_conversion.c +msgid "Unsupported flag in the preset" +msgstr "Непідтримуваний прапорець у наборі параметрів" + +#: src/liblzma/common/string_conversion.c +msgid "Unknown option name" +msgstr "Невідома назва параметра" + +#: src/liblzma/common/string_conversion.c +msgid "Option value cannot be empty" +msgstr "Значення параметра не може бути порожнім" + +#: src/liblzma/common/string_conversion.c +msgid "Value out of range" +msgstr "Значення поза діапазоном" + +#: src/liblzma/common/string_conversion.c +msgid "This option does not support any multiplier suffixes" +msgstr "У цьому параметрі не передбачено використання суфіксів-множників" + +#. TRANSLATORS: Don't translate the +#. suffixes "KiB", "MiB", or "GiB" +#. because a user can only specify +#. untranslated suffixes. +#: src/liblzma/common/string_conversion.c +msgid "Invalid multiplier suffix (KiB, MiB, or GiB)" +msgstr "некоректний суфікс множника (KiB, MiB або GiB)" + +#: src/liblzma/common/string_conversion.c +msgid "Unknown filter name" +msgstr "Невідома назва фільтра" + +#: src/liblzma/common/string_conversion.c +msgid "This filter cannot be used in the .xz format" +msgstr "Цей фільтр не можна використовувати у форматі .xz" + +#: src/liblzma/common/string_conversion.c +msgid "Memory allocation failed" +msgstr "Не вдалося отримати місце у пам'яті" + +#: src/liblzma/common/string_conversion.c +msgid "Empty string is not allowed, try '6' if a default value is needed" +msgstr "Не можна використовувати порожній рядок; спробуйте «6», якщо потрібне типове значення" + +#: src/liblzma/common/string_conversion.c +msgid "The maximum number of filters is four" +msgstr "Максимальна кількість фільтрів — чотири" + +#: src/liblzma/common/string_conversion.c +msgid "Filter name is missing" +msgstr "Пропущено назву фільтра" + +#: src/liblzma/common/string_conversion.c +msgid "Invalid filter chain ('lzma2' missing at the end?)" +msgstr "Некоректний ланцюжок фільтрування (пропущено lzma2 у кінці?)" diff --git a/src/native/external/xz/po/vi.po b/src/native/external/xz/po/vi.po new file mode 100644 index 00000000000000..184fcfe3ebe7f1 --- /dev/null +++ b/src/native/external/xz/po/vi.po @@ -0,0 +1,1671 @@ +# SPDX-License-Identifier: 0BSD +# +# Vietnamese translations for xz package +# Bản dịch tiếng Việt cho gói xz. +# This file is published under the BSD Zero Clause License. +# Trần Ngọc Quân , 2014-2024. +# +msgid "" +msgstr "" +"Project-Id-Version: xz 5.6.0-pre2\n" +"Report-Msgid-Bugs-To: xz@tukaani.org\n" +"POT-Creation-Date: 2025-01-29 20:59+0200\n" +"PO-Revision-Date: 2024-02-24 10:23+0700\n" +"Last-Translator: Trần Ngọc Quân \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Gtranslator 42.0\n" + +#: src/xz/args.c +#, c-format +msgid "%s: Invalid argument to --block-list" +msgstr "%s: Đối số cho --block-list không hợp lệ" + +#: src/xz/args.c +#, c-format +msgid "%s: Too many arguments to --block-list" +msgstr "%s: Quá nhiều đối số cho --block-list" + +#: src/xz/args.c +#, c-format +msgid "In --block-list, block size is missing after filter chain number '%c:'" +msgstr "Trong --block-list, cỡ khối thiếu sau số mắt xích bộ lọc '%c:'" + +#: src/xz/args.c +msgid "0 can only be used as the last element in --block-list" +msgstr "0 chỉ có thể dùng như là phần tử cuối trong --block-list" + +#: src/xz/args.c +#, c-format +msgid "%s: Unknown file format type" +msgstr "%s: Không hiểu kiểu định dạng tập tin" + +#: src/xz/args.c +#, c-format +msgid "%s: Unsupported integrity check type" +msgstr "%s: Không hỗ trợ kiểu kiểm tra toàn vẹn" + +#: src/xz/args.c +msgid "Only one file can be specified with '--files' or '--files0'." +msgstr "Chỉ được đưa ra một tập tin cho “--files” hay “--files0”." + +#. TRANSLATORS: This is a translatable +#. string because French needs a space +#. before the colon ("%s : %s"). +#: src/xz/args.c src/xz/coder.c src/xz/file_io.c src/xz/list.c src/xz/options.c +#: src/xz/util.c +#, c-format +msgid "%s: %s" +msgstr "%s: %s" + +#: src/xz/args.c +#, c-format +msgid "The environment variable %s contains too many arguments" +msgstr "Biến môi trường %s chứa quá nhiều đối số" + +#: src/xz/args.c +msgid "Compression support was disabled at build time" +msgstr "Hỗ trợ nén đã bị vô hiệu hóa tại thời điểm biên dịch" + +#: src/xz/args.c +msgid "Decompression support was disabled at build time" +msgstr "Hỗ trợ giải nén đã bị vô hiệu hóa tại thời điểm biên dịch" + +#: src/xz/args.c +msgid "Compression of lzip files (.lz) is not supported" +msgstr "Nén tệp lzip (.lz) không được hỗ trợ" + +#: src/xz/args.c +msgid "--block-list is ignored unless compressing to the .xz format" +msgstr "--block-list bị bỏ qua trừ khi nén theo định dạng .xz" + +#: src/xz/args.c +msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout" +msgstr "Với --format=raw, --suffix=.SUF được yêu cầu trừ trường hợp ghi ra đầu ra tiêu chuẩn" + +#: src/xz/coder.c +msgid "Maximum number of filters is four" +msgstr "Số lượng bộ lọc tối đa là bốn" + +#: src/xz/coder.c +#, c-format +msgid "Error in --filters%s=FILTERS option:" +msgstr "Có lỗi trong tùy chọn --filters%s=FILTERS:" + +#: src/xz/coder.c +msgid "Memory usage limit is too low for the given filter setup." +msgstr "Mức giới hạn dùng bộ nhớ là quá thấp cho việc cài đặt bộ lọc đã cho." + +#: src/xz/coder.c +#, c-format +msgid "filter chain %u used by --block-list but not specified with --filters%u=" +msgstr "móc xích lọc %u được sử dụng bởi --block-list nhưng lại chưa đưa ra gì với --filters%u=" + +#: src/xz/coder.c +msgid "Using a preset in raw mode is discouraged." +msgstr "Dùng hiện tại trong chế độ thô là ngớ ngẩn." + +#: src/xz/coder.c +msgid "The exact options of the presets may vary between software versions." +msgstr "Các tùy chọn trích xuất của chỉnh trước có thể biến đổi phụ thuộc vào phiên bản." + +#: src/xz/coder.c +msgid "The .lzma format supports only the LZMA1 filter" +msgstr "Định dạng .lzma chỉ hỗ trợ bộ lọc LZMA1" + +#: src/xz/coder.c +msgid "LZMA1 cannot be used with the .xz format" +msgstr "LZMA1 không thể được dùng với định dạng .xz" + +#: src/xz/coder.c +#, c-format +msgid "Filter chain %u is incompatible with --flush-timeout" +msgstr "Móc xích lọc %u là không tương thích với --flush-timeout" + +#: src/xz/coder.c +msgid "Switching to single-threaded mode due to --flush-timeout" +msgstr "Chuyển sang chế độ đơn tuyến trình bởi vì --flush-timeout" + +#: src/xz/coder.c +#, c-format +msgid "Unsupported options in filter chain %u" +msgstr "Các tùy chọn không được hỗ trợ trong chuỗi móc xích %u" + +#: src/xz/coder.c +#, c-format +msgid "Using up to % threads." +msgstr "Dùng đến % tuyến trình." + +#: src/xz/coder.c +msgid "Unsupported filter chain or filter options" +msgstr "Không hỗ trợ lọc móc xích hay tùy chọn lọc" + +#: src/xz/coder.c +#, c-format +msgid "Decompression will need %s MiB of memory." +msgstr "Giải nén sẽ cần %s MiB bộ nhớ." + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to %s to not exceed the memory usage limit of %s MiB" +msgstr "Đã giảm số lượng tuyến trình từ %s xuống %s để không vượt quá giới hạn sử dụng bộ nhớ là %s MiB" + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to one. The automatic memory usage limit of %s MiB is still being exceeded. %s MiB of memory is required. Continuing anyway." +msgstr "Đã giảm số lượng tuyến trình từ %s xuống còn một. Giới hạn sử dụng bộ nhớ tự động %s MiB vẫn đang bị vượt quá. Cần có %s MiB bộ nhớ. Vẫn tiếp tục." + +#: src/xz/coder.c +#, c-format +msgid "Switching to single-threaded mode to not exceed the memory usage limit of %s MiB" +msgstr "Chuyển sang chế độ đơn tuyến trình để không vượt quá giới hạn sử dụng bộ nhớ là %sMiB" + +#: src/xz/coder.c +#, 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 "Chỉnh cỡ từ điển LZMA%c từ %s MiB thành %s MiB để không vượt quá giới hạn tiêu dùng bộ nhớ là %s MiB" + +#: src/xz/coder.c +#, c-format +msgid "Adjusted LZMA%c dictionary size for --filters%u from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgstr "Chỉnh cỡ từ điển LZMA%c cho --filters%u từ %s MiB thành %s MiB để không vượt quá giới hạn tiêu dùng bộ nhớ là %s MiB" + +#: src/xz/coder.c +#, c-format +msgid "Error changing to filter chain %u: %s" +msgstr "Gặp lỗi thay đổi chuỗi móc xích lọc %u: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error creating a pipe: %s" +msgstr "Gặp lỗi khi tạo một ống dẫn: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: poll() failed: %s" +msgstr "%s: hàm poll() bị lỗi: %s" + +#. 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 +#, c-format +msgid "%s: File seems to have been moved, not removing" +msgstr "%s: Tập tin có lẽ đã bị di chuyển, không phải gỡ bỏ" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot remove: %s" +msgstr "%s: Không thể gỡ bỏ: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file owner: %s" +msgstr "%s: Không thể đặt chủ sở hữu tập tin: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file group: %s" +msgstr "%s: Không thể đặt nhóm tập tin: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file permissions: %s" +msgstr "%s: Không thể đặt chế độ đọc ghi cho tập tin: %s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Closing the file failed: %s" +msgid "%s: Synchronizing the file failed: %s" +msgstr "%s: Gặp lỗi khi đóng tập tin: %s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Closing the file failed: %s" +msgid "%s: Synchronizing the directory of the file failed: %s" +msgstr "%s: Gặp lỗi khi đóng tập tin: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard input: %s" +msgstr "Gặp lỗi khi lấy các cờ trạng thái tập tin từ đầu vào tiêu chuẩn: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a symbolic link, skipping" +msgstr "%s: Là một liên kết mềm nên bỏ qua" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a directory, skipping" +msgstr "%s: Không phải là một thư mục nên bỏ qua" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Not a regular file, skipping" +msgstr "%s: Không phải là tập tin thường nên bỏ qua" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has setuid or setgid bit set, skipping" +msgstr "%s: Tập tin có đặt bít setuid hoặc setgid nên bỏ qua" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has sticky bit set, skipping" +msgstr "%s: Tập tin có bít sticky nên bỏ qua" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Input file has more than one hard link, skipping" +msgstr "%s: Tập tin đầu vào có nhiều hơn một liên kết cứng nên bỏ qua" + +#: src/xz/file_io.c +msgid "Empty filename, skipping" +msgstr "Tên tập tin trống rỗng nên bỏ qua" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the status flags to standard input: %s" +msgstr "Gặp lỗi khi phục hồi các cờ trạng thái tới đầu vào tiêu chuẩn: %s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard output: %s" +msgstr "Gặp lỗi khi lấy các cờ trạng thái tập tin từ đầu vào tiêu chuẩn: %s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Closing the file failed: %s" +msgid "%s: Opening the directory failed: %s" +msgstr "%s: Gặp lỗi khi đóng tập tin: %s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Not a regular file, skipping" +msgid "%s: Destination is not a regular file" +msgstr "%s: Không phải là tập tin thường nên bỏ qua" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the O_APPEND flag to standard output: %s" +msgstr "Gặp lỗi khi phục hồi cờ O_APPEND trên đầu ra tiêu chuẩn: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Closing the file failed: %s" +msgstr "%s: Gặp lỗi khi đóng tập tin: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Seeking failed when trying to create a sparse file: %s" +msgstr "%s: Gặp lỗi khi di chuyển vị trí đọc khi cố tạo một tập tin rải rác: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Read error: %s" +msgstr "%s: Lỗi đọc: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Error seeking the file: %s" +msgstr "%s: Gặp lỗi khi di chuyển vị trí đọc tập tin: %s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Unexpected end of file" +msgstr "%s: Kết thúc tập tin bất ngờ" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Write error: %s" +msgstr "%s: Lỗi ghi: %s" + +#: src/xz/hardware.c +msgid "Disabled" +msgstr "Bị tắt" + +#: src/xz/hardware.c +msgid "Amount of physical memory (RAM):" +msgstr "Tổng dung lượng bộ nhớ vật lý (RAM):" + +#: src/xz/hardware.c +msgid "Number of processor threads:" +msgstr "Số luồng bộ xử lý:" + +#: src/xz/hardware.c +msgid "Compression:" +msgstr "Nén:" + +#: src/xz/hardware.c +msgid "Decompression:" +msgstr "Giải nén:" + +#: src/xz/hardware.c +msgid "Multi-threaded decompression:" +msgstr "Giải nén đa luồng:" + +#: src/xz/hardware.c +msgid "Default for -T0:" +msgstr "Mặc định cho -T0:" + +#: src/xz/hardware.c +msgid "Hardware information:" +msgstr "Thông tin phần cứng:" + +#: src/xz/hardware.c +msgid "Memory usage limits:" +msgstr "Đã chạm mốc giới hạn sử dụng bộ nhớ:" + +#: src/xz/list.c +msgid "Streams:" +msgstr "Các luồng dữ liệu:" + +#: src/xz/list.c +msgid "Blocks:" +msgstr "Khối:" + +#: src/xz/list.c +msgid "Compressed size:" +msgstr "Kích cỡ đã nén:" + +#: src/xz/list.c +msgid "Uncompressed size:" +msgstr "Kích cỡ đã giải nén:" + +#: src/xz/list.c +msgid "Ratio:" +msgstr "Tỉ lệ:" + +#: src/xz/list.c +msgid "Check:" +msgstr "Kiểm tra:" + +#: src/xz/list.c +msgid "Stream Padding:" +msgstr "Đệm luồng dữ liệu:" + +#: src/xz/list.c +msgid "Memory needed:" +msgstr "Bộ nhớ cần:" + +#: src/xz/list.c +msgid "Sizes in headers:" +msgstr "Kích cỡ phần đầu:" + +#: src/xz/list.c +msgid "Number of files:" +msgstr "Số lượng tập tin:" + +#: src/xz/list.c +msgid "Stream" +msgstr "Luồng dữ liệu" + +#: src/xz/list.c +msgid "Block" +msgstr "Khối" + +#: src/xz/list.c +msgid "Blocks" +msgstr "Khối" + +#: src/xz/list.c +msgid "CompOffset" +msgstr "BùNén" + +#: src/xz/list.c +msgid "UncompOffset" +msgstr "BùGiảiNén" + +#: src/xz/list.c +msgid "CompSize" +msgstr "CỡNén" + +#: src/xz/list.c +msgid "UncompSize" +msgstr "CỡGiảiNén" + +#: src/xz/list.c +msgid "TotalSize" +msgstr "CỡTổng" + +#: src/xz/list.c +msgid "Ratio" +msgstr "Tỷ lệ" + +#: src/xz/list.c +msgid "Check" +msgstr "Kiểm tra" + +#: src/xz/list.c +msgid "CheckVal" +msgstr "Gtr.Kiểm" + +#: src/xz/list.c +msgid "Padding" +msgstr "Đệm" + +#: src/xz/list.c +msgid "Header" +msgstr "Phần đầu" + +#: src/xz/list.c +msgid "Flags" +msgstr "Cờ" + +#: src/xz/list.c +msgid "MemUsage" +msgstr "DùngBộNhớ" + +#: src/xz/list.c +msgid "Filters" +msgstr "Bộ lọc" + +#. TRANSLATORS: Indicates that there is no integrity check. +#. This string is used in tables. In older xz version this +#. string was limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "None" +msgstr "Không" + +#. TRANSLATORS: Indicates that integrity check name is not known, +#. but the Check ID is known (here 2). In older xz version these +#. strings were limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "Unknown-2" +msgstr "ChưaBiết2" + +#: src/xz/list.c +msgid "Unknown-3" +msgstr "ChưaBiết3" + +#: src/xz/list.c +msgid "Unknown-5" +msgstr "ChưaBiết5" + +#: src/xz/list.c +msgid "Unknown-6" +msgstr "ChưaBiết6" + +#: src/xz/list.c +msgid "Unknown-7" +msgstr "ChưaBiết7" + +#: src/xz/list.c +msgid "Unknown-8" +msgstr "ChưaBiết8" + +#: src/xz/list.c +msgid "Unknown-9" +msgstr "ChưaBiết9" + +#: src/xz/list.c +msgid "Unknown-11" +msgstr "ChưaBiết11" + +#: src/xz/list.c +msgid "Unknown-12" +msgstr "ChưaBiết12" + +#: src/xz/list.c +msgid "Unknown-13" +msgstr "ChưaBiết13" + +#: src/xz/list.c +msgid "Unknown-14" +msgstr "ChưaBiết14" + +#: src/xz/list.c +msgid "Unknown-15" +msgstr "ChưaBiết15" + +#: src/xz/list.c +#, c-format +msgid "%s: File is empty" +msgstr "%s: Tập tin trống rỗng" + +#: src/xz/list.c +#, c-format +msgid "%s: Too small to be a valid .xz file" +msgstr "%s: Là quá nhỏ đối với tập tin .xz hợp lệ" + +#. 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 +msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" +msgstr "Luồng Khối Nén Giải nén Tỷ lệ Ktra Tập tin" + +#: src/xz/list.c +msgid "Yes" +msgstr "Có" + +#: src/xz/list.c +msgid "No" +msgstr "Không" + +#: src/xz/list.c +#, fuzzy +#| msgid " Minimum XZ Utils version: %s\n" +msgid "Minimum XZ Utils version:" +msgstr " Phiên bản “XZ Utils” tối thiểu: %s\n" + +#. 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 +#, c-format +msgid "%s file\n" +msgid_plural "%s files\n" +msgstr[0] "%s tập tin\n" + +#: src/xz/list.c +msgid "Totals:" +msgstr "Tổng cộng:" + +#: src/xz/list.c +msgid "--list works only on .xz files (--format=xz or --format=auto)" +msgstr "--list chỉ hoạt động trên các tập tin .xz (--format=xz hay --format=auto)" + +#: src/xz/list.c +msgid "Try 'lzmainfo' with .lzma files." +msgstr "Thử 'lzmainfo' với các tập tin .lzma." + +#: src/xz/list.c +msgid "--list does not support reading from standard input" +msgstr "--list không hỗ trợ đọc từ đầu vào tiêu chuẩn" + +#: src/xz/main.c +#, c-format +msgid "%s: Error reading filenames: %s" +msgstr "%s: Gặp lỗi khi đọc tên tập tin: %s" + +#: src/xz/main.c +#, c-format +msgid "%s: Unexpected end of input when reading filenames" +msgstr "%s: Gặp kết thúc đầu vào bất ngờ khi đọc các tên tập tin" + +#: src/xz/main.c +#, c-format +msgid "%s: Null character found when reading filenames; maybe you meant to use '--files0' instead of '--files'?" +msgstr "%s: Gặp ký hiệu null khi đọc tên tập tin; có lẽ ý bạn muốn là dùng “--files0” chứ không phải “--files'?" + +#: src/xz/main.c +msgid "Compression and decompression with --robot are not supported yet." +msgstr "Nén và giải nén với --robot vẫn chưa được hỗ trợ." + +#: src/xz/main.c +msgid "Cannot read data from standard input when reading filenames from standard input" +msgstr "Không thể đọc dữ liệu từ đầu vào tiêu chuẩn khi đọc tập tin từ đầu vào tiêu chuẩn" + +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s: " +msgstr "%s: " + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "Internal error (bug)" +msgstr "Lỗi nội bộ (lỗi)" + +#: src/xz/message.c +msgid "Cannot establish signal handlers" +msgstr "Không thể thiết lập bộ xử lý tín hiệu" + +#: src/xz/message.c +msgid "No integrity check; not verifying file integrity" +msgstr "Không có kiểm tra toàn vẹn nên không thể thẩm tra tính toàn vẹn của tập tin" + +#: src/xz/message.c +msgid "Unsupported type of integrity check; not verifying file integrity" +msgstr "Kiểu kiểm tra toàn vẹn chưa được hỗ trợ; nên không thể thẩm tra tính toàn vẹn của tập tin" + +#: src/xz/message.c +msgid "Memory usage limit reached" +msgstr "Đã chạm mốc giới hạn sử dụng bộ nhớ" + +#: src/xz/message.c +msgid "File format not recognized" +msgstr "Không nhận ra định dạng tập tin" + +#: src/xz/message.c +msgid "Unsupported options" +msgstr "Tùy chọn không được hỗ trợ" + +#: src/xz/message.c +msgid "Compressed data is corrupt" +msgstr "Dữ liệu đã nén bị hỏng" + +#: src/xz/message.c +msgid "Unexpected end of input" +msgstr "Gặp kết thúc đầu vào bất ngờ" + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limiter is disabled." +msgstr "Yêu cầu cần có %s MiB bộ nhớ. Nhưng giới hạn bị tắt." + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limit is %s." +msgstr "Yêu cầu cần có %s MiB bộ nhớ. Nhưng giới hạn là %s." + +#: src/xz/message.c +#, c-format +msgid "%s: Filter chain: %s\n" +msgstr "%s: Móc xích lọc: %s\n" + +#: src/xz/message.c +#, c-format +msgid "Try '%s --help' for more information." +msgstr "Hãy chạy lệnh “%s --help” để xem thông tin thêm." + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Error printing the help text (error code %d)" +msgstr "" + +#: src/xz/message.c +#, c-format +msgid "Usage: %s [OPTION]... [FILE]...\n" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "Usage: %s [OPTION]... [FILE]...\n" +#| "Compress or decompress FILEs in the .xz format.\n" +#| "\n" +msgid "Compress or decompress FILEs in the .xz format." +msgstr "" +"Cách dùng: %s [TÙY CHỌN]... [TẬP TIN]...\n" +"Nén hoặc giải nén các TẬP TIN có định dạng .xz.\n" +"\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Mandatory arguments to long options are mandatory for short options too.\n" +msgid "Mandatory arguments to long options are mandatory for short options too." +msgstr "Các tùy chọn dài bắt buộc phải có đối số thì với tùy chọn ngắn cũng vậy.\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " Operation mode:\n" +msgid "Operation mode:" +msgstr " Chế độ thao tác:\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Decompression:" +msgid "force compression" +msgstr "Giải nén:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Decompression:" +msgid "force decompression" +msgstr "Giải nén:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "test compressed file integrity" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "list information about .xz files" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Operation modifiers:\n" +msgid "Operation modifiers:" +msgstr "" +"\n" +" Bộ chỉnh sửa thao tác:\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "keep (don't delete) input files" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force overwrite of output file and (de)compress links" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Writing to standard output failed" +msgid "write to standard output and don't delete input files" +msgstr "Gặp lỗi khi ghi dữ liệu vào đầu ra tiêu chuẩn" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't synchronize the output file to the storage device before removing the input file" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --single-stream decompress only the first stream, and silently\n" +#| " ignore possible remaining input data" +msgid "decompress only the first stream, and silently ignore possible remaining input data" +msgstr "" +" --single-stream chỉ giải nén luồng dữ liệu đầu, và bỏ qua\n" +" dữ liệu đầu vào còn lại có thể" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "do not create sparse files when decompressing" +msgstr "" + +#: src/xz/message.c +msgid ".SUF" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use the suffix '.SUF' on compressed files" +msgstr "" + +#: src/xz/message.c +msgid "FILE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "read filenames to process from FILE; if FILE is omitted, filenames are read from the standard input; filenames must be terminated with the newline character" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "like --files but use the null character as terminator" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Basic file format and compression options:\n" +msgid "Basic file format and compression options:" +msgstr "" +"\n" +" Các tùy chọn về định dạng và nén cơ bản:\n" + +#: src/xz/message.c +msgid "FORMAT" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "file format to encode or decode; possible values are 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'" +msgstr "" + +#: src/xz/message.c +msgid "NAME" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "integrity check type: 'none' (use with caution), 'crc32', 'crc64' (default), or 'sha256'" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " --ignore-check don't verify the integrity check when decompressing" +msgid "don't verify the integrity check when decompressing" +msgstr " --ignore-check không thẩm tra tính toàn vẹn khi giải nén" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " -0 ... -9 compression preset; default is 6; take compressor *and*\n" +#| " decompressor memory usage into account before using 7-9!" +msgid "compression preset; default is 6; take compressor *and* decompressor memory usage into account before using 7-9!" +msgstr "" +" -0 ... -9 đặt mức nén; mặc định là 6; tiêu dùng nhiều bộ nhớ khi nén\n" +" và giải nén, nên tính toán trước khi dùng 7-9!" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " -e, --extreme try to improve compression ratio by using more CPU time;\n" +#| " does not affect decompressor memory requirements" +msgid "try to improve compression ratio by using more CPU time; does not affect decompressor memory requirements" +msgstr "" +" -e, --extreme cố gắng nâng cao mức nén bằng cách dùng nhiều CPU hơn;\n" +" nhưng không yêu cần nhiều bộ nhớ khi giải nén" + +#. TRANSLATORS: Short for NUMBER. A longer string is fine but +#. wider than 5 columns makes --long-help a few lines longer. +#: src/xz/message.c +msgid "NUM" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " -T, --threads=NUM use at most NUM threads; the default is 0 which uses\n" +#| " as many threads as there are processor cores" +msgid "use at most NUM threads; the default is 0 which uses as many threads as there are processor cores" +msgstr "" +" -T, --threads=SỐ dùng tối đa là SỐ tuyến trình; mặc định là 0 ý là\n" +" dùng số lượng bằng số lõi vi xử lý" + +#: src/xz/message.c +msgid "SIZE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --block-size=SIZE\n" +#| " start a new .xz block after every SIZE bytes of input;\n" +#| " use this to set the block size for threaded compression" +msgid "start a new .xz block after every SIZE bytes of input; use this to set the block size for threaded compression" +msgstr "" +" --block-size=CỠ\n" +" bắt đầu một khối .xz mới sau mỗi CỠ byte của đầu vào;\n" +" dùng tùy chọn này để đặt cỡ khối cho nén tuyến trình" + +#: src/xz/message.c +msgid "BLOCKS" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --block-list=BLOCKS\n" +#| " start a new .xz block after the given comma-separated\n" +#| " intervals of uncompressed data; optionally, specify a\n" +#| " filter chain number (0-9) followed by a ':' before the\n" +#| " uncompressed data size" +msgid "start a new .xz block after the given comma-separated intervals of uncompressed data; optionally, specify a filter chain number (0-9) followed by a ':' before the uncompressed data size" +msgstr "" +" --block-list=CỠ\n" +" bắt đầu một khối .xz mới sau một danh sách ngăn\n" +" cách bằng dấu phẩy nhịp dữ của dữ liệu chưa nén; tùy chọn\n" +" chỉ định số móc xích bộ lọc (0-9) theo sau là ':' trước\n" +" kích cỡ dữ liệu chưa nén" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --flush-timeout=TIMEOUT\n" +#| " when compressing, if more than TIMEOUT milliseconds has\n" +#| " passed since the previous flush and reading more input\n" +#| " would block, all pending data is flushed out" +msgid "when compressing, if more than NUM milliseconds has passed since the previous flush and reading more input would block, all pending data is flushed out" +msgstr "" +" --flush-timeout=THỜI_GIAN_CHỜ\n" +" khi đang nén, nếu đã trải qua hơn THỜI_GIAN_CHỜ milli-giây\n" +" kể từ lần đẩy dữ liệu lên đĩa trước đó và đang đọc thêm\n" +" khối nữa, mọi dữ liệu đang chờ sẽ được ghi lên đĩa" + +#: src/xz/message.c +msgid "LIMIT" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, no-c-format +msgid "set memory usage limit for compression, decompression, threaded decompression, or all of these; LIMIT is in bytes, % of RAM, or 0 for defaults" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --no-adjust if compression settings exceed the memory usage limit,\n" +#| " give an error instead of adjusting the settings downwards" +msgid "if compression settings exceed the memory usage limit, give an error instead of adjusting the settings downwards" +msgstr "" +" --no-adjust nếu các cài đặt nén vượt quá giới hạn dùng bộ nhớ,\n" +" đưa ra một lỗi thay vì sửa đổi các cài đặt xuống" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Custom filter chain for compression (alternative for using presets):" +msgid "Custom filter chain for compression (an alternative to using presets):" +msgstr "" +"\n" +" Móc xích lọc tùy chỉnh cho nén (thay cho việc dùng chỉnh trước):" + +#: src/xz/message.c +msgid "FILTERS" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " --filters=FILTERS set the filter chain using the liblzma filter string\n" +#| " syntax; use --filters-help for more information" +msgid "set the filter chain using the liblzma filter string syntax; use --filters-help for more information" +msgstr "" +"\n" +" --filters=CÁC_BỘ_LỌC đặt móc xích bộ lọc sử dụng cú pháp chuỗi bộ lọc\n" +" liblzma dùng để biết thêm chi tiết" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --filters1=FILTERS ... --filters9=FILTERS\n" +#| " set additional filter chains using the liblzma filter\n" +#| " string syntax to use with --block-list" +msgid "set additional filter chains using the liblzma filter string syntax to use with --block-list" +msgstr "" +" --filters1=CÁC_BỘ_LỌC ... --filters9=CÁC_BỘ_LỌC\n" +" đặt móc xích lọc thêm sử dụng cú pháp chuỗi bộ lọc\n" +" liblzma để dùng với --block-list" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --filters-help display more information about the liblzma filter string\n" +#| " syntax and exit." +msgid "display more information about the liblzma filter string syntax and exit" +msgstr "" +" --filters-help hiển thị thêm thông tin về cú pháp bộ lọc liblzma\n" +" rồi thoát." + +#. TRANSLATORS: Short for OPTIONS. +#: src/xz/message.c +msgid "OPTS" +msgstr "" + +#. TRANSLATORS: Use semicolon (or its fullwidth form) +#. in "(valid values; default)" even if it is weird in +#. your language. There are non-translatable strings +#. that look like "(foo, bar, baz; foo)" which list +#. the supported values and the default value. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "LZMA1 or LZMA2; OPTS is a comma-separated list of zero or more of the following options (valid values; default):" +msgstr "" + +#. TRANSLATORS: Short for PRESET. A longer string is +#. fine but wider than 4 columns makes --long-help +#. one line longer. +#: src/xz/message.c +msgid "PRE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "reset options to a preset" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "dictionary size" +msgstr "" + +#. TRANSLATORS: The word "literal" in "literal context +#. bits" means how many "context bits" to use when +#. encoding literals. A literal is a single 8-bit +#. byte. It doesn't mean "literally" here. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal context bits" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal position bits" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Number of processor threads:" +msgid "number of position bits" +msgstr "Số luồng bộ xử lý:" + +#: src/xz/message.c +msgid "MODE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Decompression:" +msgid "compression mode" +msgstr "Giải nén:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "nice length of a match" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "match finder" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "maximum search depth; 0=automatic (default)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "x86 BCJ filter (32-bit and 64-bit)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM-Thumb BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM64 BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "PowerPC BCJ filter (big endian only)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "IA-64 (Itanium) BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "SPARC BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "RISC-V BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Valid OPTS for all BCJ filters:" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start offset for conversions (default=0)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Delta filter; valid OPTS (valid values; default):" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "distance between bytes being subtracted from each other" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Other options:\n" +msgid "Other options:" +msgstr "" +"\n" +" Tùy chọn khác:\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "suppress warnings; specify twice to suppress errors too" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "be verbose; specify twice for even more verbose" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " -Q, --no-warn make warnings not affect the exit status" +msgid "make warnings not affect the exit status" +msgstr "" +" -Q, --no-warn làm cho các cảnh báo không ảnh hưởng đến\n" +" trạng thái thoát" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " --robot use machine-parsable messages (useful for scripts)" +msgid "use machine-parsable messages (useful for scripts)" +msgstr "" +" --robot dùng các thông báo mà máy có thể phân tích\n" +" (hữu dụng với scripts)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --info-memory display the total amount of RAM and the currently active\n" +#| " memory usage limits, and exit" +msgid "display the total amount of RAM and the currently active memory usage limits, and exit" +msgstr "" +" --info-memory hiển thị tổng lượng RAM và mức giới hạn tiêu dùng\n" +" bộ nhớ hiện tại, rồi thoát" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the short help (lists only the basic options)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this long help and exit" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this short help and exit" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the long help (lists also the advanced options)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " -V, --version display the version number and exit" +msgid "display the version number and exit" +msgstr " -V, --version hiển thị số phiên bản và thoát" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, fuzzy +#| msgid "" +#| "\n" +#| "With no FILE, or when FILE is -, read standard input.\n" +msgid "With no FILE, or when FILE is -, read standard input." +msgstr "" +"\n" +"Không có TẬP_TIN, hoặc TẬP_TIN là “-”, thì đọc đầu vào tiêu chuẩn.\n" + +#. TRANSLATORS: This message indicates the bug reporting +#. address for this package. Please add another line saying +#. "\nReport translation bugs to <...>." with the email or WWW +#. address for translation bugs. Thanks! +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, fuzzy, c-format +#| msgid "Report bugs to <%s> (in English or Finnish).\n" +msgid "Report bugs to <%s> (in English or Finnish)." +msgstr "" +"Hãy báo cáo lỗi cho <%s> (bằng tiếng Anh hoặc Phần Lan).\n" +"Thông báo lỗi dịch cho: .\n" + +#. TRANSLATORS: The first %s is the name of this software. +#. The second <%s> is an URL. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, fuzzy, c-format +#| msgid "%s home page: <%s>\n" +msgid "%s home page: <%s>" +msgstr "Trang chủ %s: <%s>.\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE." +msgstr "ĐÂY LÀ PHIÊN BẢN PHÁT TRIỂN VÀ NÓ KHÔNG PHÙ HỢP VỚI MỤC ĐÍCH SẢN XUẤT." + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy, c-format +#| msgid "" +#| "Filter chains are set using the --filters=FILTERS or\n" +#| "--filters1=FILTERS ... --filters9=FILTERS options. Each filter in the chain\n" +#| "can be separated by spaces or '--'. Alternatively a preset <0-9>[e] can be\n" +#| "specified instead of a filter chain.\n" +msgid "Filter chains are set using the --filters=FILTERS or --filters1=FILTERS ... --filters9=FILTERS options. Each filter in the chain can be separated by spaces or '--'. Alternatively a preset %s can be specified instead of a filter chain." +msgstr "" +"Các móc xích lọc được đặt bằng --filters=CÁC_BỘ_LỌC hoặc các tùy chọn\n" +"--filters1=CÁC_BỘ_LỌC ... --filters9=CÁC_BỘ_LỌC. Mỗi bộ lọc trong chuỗi\n" +"có thể được ngăn cách bằng khoảng trắng hoặc '--'. Cách khác là dùng <0-9>[e]\n" +"để chỉ định thay thay cho móc xích lọc.\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "The supported filters and their options are:" +msgstr "Các bộ lọc và các tùy chọn của chúng được hỗ trợ là:" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Options must be 'name=value' pairs separated with commas" +msgid "Options must be 'name=value' pairs separated with commas" +msgstr "%s: Các tùy chọn phải là các cặp “tên=giá_trị” ngăn cách nhau bằng dấu phẩy" + +#: src/xz/options.c +#, c-format +msgid "%s: Invalid option name" +msgstr "%s: Tên tùy chọn không hợp lệ" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Invalid option value" +msgid "Invalid option value" +msgstr "%s: Giá trị của tùy chọn không hợp lệ" + +#: src/xz/options.c +#, c-format +msgid "Unsupported LZMA1/LZMA2 preset: %s" +msgstr "Hiện nay chưa hỗ trợ LZMA1/LZMA2: %s" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "The sum of lc and lp must not exceed 4" +msgstr "Tổng số lượng lc và lp không được vượt quá 4" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Filename has an unknown suffix, skipping" +msgstr "%s: Tên tập tin có phần hậu tố chưa biết nên bỏ qua" + +#: src/xz/suffix.c +#, c-format +msgid "%s: File already has '%s' suffix, skipping" +msgstr "%s: Tập tin đã sẵn có hậu tố “%s” nên bỏ qua" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Invalid filename suffix" +msgstr "%s: Hậu tố tên tập tin không hợp lệ" + +#: src/xz/util.c src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Value is not a non-negative decimal integer" +msgid "Value is not a non-negative decimal integer" +msgstr "%s: Giá trị không phải là số thập phân nguyên không âm" + +#: src/xz/util.c +#, c-format +msgid "%s: Invalid multiplier suffix" +msgstr "%s: Hậu tố (đơn vị) nhân tố không hợp lệ" + +#: src/xz/util.c +msgid "Valid suffixes are 'KiB' (2^10), 'MiB' (2^20), and 'GiB' (2^30)." +msgstr "Các hậu tố (đơn vị) hợp lệ là “KiB” (2^10), “MiB” (2^20), và “GiB” (2^30)." + +#: src/xz/util.c +#, c-format +msgid "Value of the option '%s' must be in the range [%, %]" +msgstr "Giá trị của tùy chọn “%s” phải nằm trong vùng [%, %]" + +#: src/xz/util.c +msgid "Compressed data cannot be read from a terminal" +msgstr "Dữ liệu đã nén không thể đọc từ thiết bị cuối" + +#: src/xz/util.c +msgid "Compressed data cannot be written to a terminal" +msgstr "Dữ liệu đã nén không thể ghi ra thiết bị cuối" + +#: src/lzmainfo/lzmainfo.c +#, fuzzy, c-format +#| msgid "" +#| "Usage: %s [--help] [--version] [FILE]...\n" +#| "Show information stored in the .lzma file header" +msgid "Usage: %s [--help] [--version] [FILE]...\n" +msgstr "" +"Cách dùng: %s [--help] [--version] [TẬP TIN]...\n" +"Hiển thị thông tin được lưu trong phần đầu của tập tin .lzma" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/lzmainfo/lzmainfo.c +#, fuzzy +#| msgid "" +#| "Usage: %s [--help] [--version] [FILE]...\n" +#| "Show information stored in the .lzma file header" +msgid "Show information stored in the .lzma file header." +msgstr "" +"Cách dùng: %s [--help] [--version] [TẬP TIN]...\n" +"Hiển thị thông tin được lưu trong phần đầu của tập tin .lzma" + +#: src/lzmainfo/lzmainfo.c +msgid "File is too small to be a .lzma file" +msgstr "Tập tin quá nhỏ để có thể là một tin .lzma" + +#: src/lzmainfo/lzmainfo.c +msgid "Not a .lzma file" +msgstr "Không phải là một tập tin .lzma" + +#: src/common/tuklib_exit.c +msgid "Writing to standard output failed" +msgstr "Gặp lỗi khi ghi dữ liệu vào đầu ra tiêu chuẩn" + +#: src/common/tuklib_exit.c +msgid "Unknown error" +msgstr "Lỗi chưa biết" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "Unsupported options" +msgid "Unsupported preset" +msgstr "Tùy chọn không được hỗ trợ" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "Unsupported filter chain or filter options" +msgid "Unsupported flag in the preset" +msgstr "Không hỗ trợ lọc móc xích hay tùy chọn lọc" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Invalid option name" +msgid "Unknown option name" +msgstr "%s: Tên tùy chọn không hợp lệ" + +#: src/liblzma/common/string_conversion.c +msgid "Option value cannot be empty" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "Value out of range" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "This option does not support any multiplier suffixes" +msgstr "" + +#. TRANSLATORS: Don't translate the +#. suffixes "KiB", "MiB", or "GiB" +#. because a user can only specify +#. untranslated suffixes. +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Invalid multiplier suffix" +msgid "Invalid multiplier suffix (KiB, MiB, or GiB)" +msgstr "%s: Hậu tố (đơn vị) nhân tố không hợp lệ" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Unknown file format type" +msgid "Unknown filter name" +msgstr "%s: Không hiểu kiểu định dạng tập tin" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "LZMA1 cannot be used with the .xz format" +msgid "This filter cannot be used in the .xz format" +msgstr "LZMA1 không thể được dùng với định dạng .xz" + +#: src/liblzma/common/string_conversion.c +msgid "Memory allocation failed" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "Empty string is not allowed, try '6' if a default value is needed" +msgstr "" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "Maximum number of filters is four" +msgid "The maximum number of filters is four" +msgstr "Số lượng bộ lọc tối đa là bốn" + +#: src/liblzma/common/string_conversion.c +msgid "Filter name is missing" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "Invalid filter chain ('lzma2' missing at the end?)" +msgstr "" + +#~ msgid "" +#~ " -z, --compress force compression\n" +#~ " -d, --decompress force decompression\n" +#~ " -t, --test test compressed file integrity\n" +#~ " -l, --list list information about .xz files" +#~ msgstr "" +#~ " -z, --compress ép buộc nén\n" +#~ " -d, --decompress ép buộc giải nén\n" +#~ " -t, --test kiểm tra tính toàn vẹn của tập tin nén\n" +#~ " -l, --list liệt kê các thông tin về tập tin .xz" + +#~ 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 giữ lại (đừng xóa) tập tin đầu vào\n" +#~ " -f, --force buộc ghi đè tập tin đầu ra và (giải) nén các liên kết\n" +#~ " -c, --stdout ghi ra đầu ra tiêu chuẩn và không xóa tập tin đầu vào" + +#~ msgid "" +#~ " --no-sparse do not create sparse files when decompressing\n" +#~ " -S, --suffix=.SUF use the suffix '.SUF' on compressed files\n" +#~ " --files[=FILE] read filenames to process from FILE; if FILE is\n" +#~ " omitted, filenames are read from the standard input;\n" +#~ " filenames must be terminated with the newline character\n" +#~ " --files0[=FILE] like --files but use the null character as terminator" +#~ msgstr "" +#~ " --no-sparse đừng tạo các tập tin rải rác khi giải nén\n" +#~ " -S, --suffix=.ĐUÔI dùng hậu tố “.ĐUÔI” trên các tập tin nén\n" +#~ " --files[=TẬP-TIN] đọc các tập tin cần xử lý từ TẬP-TIN; nếu không có\n" +#~ " TẬP-TIN thì tên tập tin sẽ được đọc vào từ đầu vào tiêu\n" +#~ " chuẩn; chúng phải được kết thúc bằng ký tự dòng mới\n" +#~ " --files0[=TẬP-TIN] giống --files nhưng ký tự kết thúc là null" + +#~ msgid "" +#~ " -F, --format=FMT file format to encode or decode; possible values are\n" +#~ " 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'\n" +#~ " -C, --check=CHECK integrity check type: 'none' (use with caution),\n" +#~ " 'crc32', 'crc64' (default), or 'sha256'" +#~ msgstr "" +#~ " -F, --format=ĐDạng định dạng tập tin cần mã hóa hoặc giải mã; giá trị có thể\n" +#~ " là “auto” (mặc định), “xz”, “lzma”, “lzip”, và “raw”\n" +#~ " -C, --check=KIỂM kiểu kiểm tra toàn vẹn: “none” (thận trọng khi dùng),\n" +#~ " “crc32”, “crc64” (mặc định), hay “sha256”" + +#, no-c-format +#~ msgid "" +#~ " --memlimit-compress=LIMIT\n" +#~ " --memlimit-decompress=LIMIT\n" +#~ " --memlimit-mt-decompress=LIMIT\n" +#~ " -M, --memlimit=LIMIT\n" +#~ " set memory usage limit for compression, decompression,\n" +#~ " threaded decompression, or all of these; LIMIT is in\n" +#~ " bytes, % of RAM, or 0 for defaults" +#~ msgstr "" +#~ " --memlimit-compress=GIỚI_HẠN\n" +#~ " --memlimit-decompress=GIỚI_HẠN\n" +#~ " --memlimit-mt-decompress=GIỚI_HẠN\n" +#~ " -M, --memlimit=GIỚI_HẠN\n" +#~ " đặt mức giới hạn dùng bộ nhớ cho việc nén, giải nén,\n" +#~ " giải nén tuyến trình, hoặc tất cả; GIỚI_HẠN có đơn vị là\n" +#~ " byte, % của RAM, hay 0 cho mặc định" + +#~ msgid "" +#~ "\n" +#~ " --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n" +#~ " --lzma2[=OPTS] more of the following options (valid values; default):\n" +#~ " preset=PRE reset options to a preset (0-9[e])\n" +#~ " dict=NUM dictionary size (4KiB - 1536MiB; 8MiB)\n" +#~ " lc=NUM number of literal context bits (0-4; 3)\n" +#~ " lp=NUM number of literal position bits (0-4; 0)\n" +#~ " pb=NUM number of position bits (0-4; 2)\n" +#~ " mode=MODE compression mode (fast, normal; normal)\n" +#~ " nice=NUM nice length of a match (2-273; 64)\n" +#~ " mf=NAME match finder (hc3, hc4, bt2, bt3, bt4; bt4)\n" +#~ " depth=NUM maximum search depth; 0=automatic (default)" +#~ msgstr "" +#~ "\n" +#~ " --lzma1[=CTC] LZMA1 hay LZMA2; CÁC-TÙY-CHỌN là danh sách của không hoặc\n" +#~ " --lzma2[=CTC] hơn các tùy chọn sau đây (giá trị hợp lệ; mặc định):\n" +#~ " preset=PRE các tùy chọn tối ưu nén (0-9[e])\n" +#~ " dict=SỐ cỡ từ điển (4KiB - 1536MiB; 8MiB)\n" +#~ " lc=SỐ số bít ngữ cảnh văn bản (0-4; 3)\n" +#~ " lp=SỐ số bít vị trí văn bản (0-4; 0)\n" +#~ " pb=SỐ số bít vị trí (0-4; 2)\n" +#~ " mode=CHẾ_ĐỘ chế độ nén (fast, normal; normal)\n" +#~ " nice=SỐ chiều dài “tốt” của khớp (2-273; 64)\n" +#~ " mf=TÊN bộ tìm khớp (hc3, hc4, bt2, bt3, bt4; bt4)\n" +#~ " depth=SỐ mức sâu tìm kiếm tối đa; 0=tự động (mặc định)" + +#~ msgid "" +#~ "\n" +#~ " --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n" +#~ " --arm[=OPTS] ARM BCJ filter\n" +#~ " --armthumb[=OPTS] ARM-Thumb BCJ filter\n" +#~ " --arm64[=OPTS] ARM64 BCJ filter\n" +#~ " --powerpc[=OPTS] PowerPC BCJ filter (big endian only)\n" +#~ " --ia64[=OPTS] IA-64 (Itanium) BCJ filter\n" +#~ " --sparc[=OPTS] SPARC BCJ filter\n" +#~ " --riscv[=OPTS] RISC-V BCJ filter\n" +#~ " Valid OPTS for all BCJ filters:\n" +#~ " start=NUM start offset for conversions (default=0)" +#~ msgstr "" +#~ "\n" +#~ " --x86[=OPTS] bộ lọc x86 BCJ (32-bit và 64-bit)\n" +#~ " --arm[=OPTS] bộ lọc ARM BCJ\n" +#~ " --armthumb[=OPTS] bộ lọc ARM-Thumb BCJ\n" +#~ " --arm64[=OPTS] bộ lọc ARM64 BCJ\n" +#~ " --powerpc[=OPTS] bộ lọc PowerPC BCJ (chỉ big endian)\n" +#~ " --ia64[=OPTS] bộ lọc IA-64 (Itanium) BCJ\n" +#~ " --sparc[=OPTS] bộ lọc SPARC BCJ\n" +#~ " --riscv[=OPTS] bộ lọc RISC-V BCJ\n" +#~ " các tùy chọn hợp lệ cho mọi bộ lọc BCJ:\n" +#~ " start=SỐ khoảng bù khởi đầu cho chuyển đổi (mặc định=0)" + +#~ msgid "" +#~ "\n" +#~ " --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n" +#~ " dist=NUM distance between bytes being subtracted\n" +#~ " from each other (1-256; 1)" +#~ msgstr "" +#~ "\n" +#~ " --delta[=OPTS] bộ lọc Delta;\n" +#~ " CÁC-TÙY-CHỌN hợp lệ (giá trị hợp lệ; mặc định):\n" +#~ " dist=SỐ khoảng cách giữa các byte được trừ từ\n" +#~ " những cái khác (1-256; 1)" + +#~ msgid "" +#~ " -q, --quiet suppress warnings; specify twice to suppress errors too\n" +#~ " -v, --verbose be verbose; specify twice for even more verbose" +#~ msgstr "" +#~ " -q, --quiet không xuất các cảnh báo;\n" +#~ " chỉ định hai lần nến bạn muốn chặn cả báo lỗi\n" +#~ " -v, --verbose thông báo chi tiết; dùng hai lần nếu muốn chi tiết hơn" + +#~ 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 hiển thị trợ giúp dạng ngắn gọn\n" +#~ " (chỉ liệt kê các tùy chọn cơ bản)\n" +#~ " -H, --long-help hiển thị trợ giúp đầy đủ rồi thoát" + +#~ 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 hiển thị trợ giúp dạng ngắn gọn rồi thoát\n" +#~ " -H, --long-help hiển thị trợ giúp đầy đủ\n" +#~ " (liệt kê cả những tùy chọn cấp cao)" + +#~ msgid "Failed to enable the sandbox" +#~ msgstr "Không bật được sandbox" + +#~ msgid "Memory usage limit for compression: " +#~ msgstr "Mức giới hạn dùng bộ nhớ cho nén: " + +#~ msgid " Streams: %s\n" +#~ msgstr " Luồng dữ liệu: %s\n" + +#~ msgid " Blocks: %s\n" +#~ msgstr " Khối: %s\n" + +#~ msgid " Ratio: %s\n" +#~ msgstr " Tỷ lệ nén: %s\n" + +#~ msgid " Check: %s\n" +#~ msgstr " Kiểm tra: %s\n" + +#~ msgid "" +#~ " Streams:\n" +#~ " Stream Blocks CompOffset UncompOffset CompSize UncompSize Ratio Check Padding" +#~ msgstr "" +#~ " Luồng dữ liệu:\n" +#~ " Luồng Khối BùNén BùGiảiNén CỡNén CỡGiảiNén TỷLệ Ktra Đệm" + +#~ msgid "" +#~ " Blocks:\n" +#~ " Stream Block CompOffset UncompOffset TotalSize UncompSize Ratio Check" +#~ msgstr "" +#~ " Khối:\n" +#~ " Luồng Khối BùNén BùGiảiNén CỡTổng CỡGiảiNén TỷLệ Ktra" + +#~ msgid " CheckVal %*s Header Flags CompSize MemUsage Filters" +#~ msgstr " GTrịKiểm %*s Đầu Cờ CỡNén DùngRAM BộLọc" + +#~ msgid "The selected match finder requires at least nice=%" +#~ msgstr "Bộ tìm khớp đã chọn yêu cầu mức “tốt” ít nhất là nice=%" + +#~ msgid "Error setting O_NONBLOCK on standard input: %s" +#~ msgstr "Lỗi cài đặt O_NONBLOCK trên đầu vào tiêu chuẩn: %s" + +#~ msgid "Error setting O_NONBLOCK on standard output: %s" +#~ msgstr "Lỗi cài đặt O_NONBLOCK trên đầu ra tiêu chuẩn: %s" + +#~ msgid "" +#~ " --block-size=SIZE\n" +#~ " when compressing to the .xz format, start a new block\n" +#~ " after every SIZE bytes of input; 0=disabled (default)" +#~ msgstr "" +#~ " --block-size=CỠ\n" +#~ " khi nén thành định dạng .xz, bắt đầu khối mới\n" +#~ " sau mỗi SỐ byte đầu vào; 0=tắt (mặc định)" diff --git a/src/native/external/xz/po/xz.pot-header b/src/native/external/xz/po/xz.pot-header new file mode 100644 index 00000000000000..6d277c90f29b42 --- /dev/null +++ b/src/native/external/xz/po/xz.pot-header @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: 0BSD +# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) The XZ Utils authors and contributors +# This file is published under the BSD Zero Clause License. +# FIRST AUTHOR , YEAR. +# diff --git a/src/native/external/xz/po/zh_CN.po b/src/native/external/xz/po/zh_CN.po new file mode 100644 index 00000000000000..f6f45719208260 --- /dev/null +++ b/src/native/external/xz/po/zh_CN.po @@ -0,0 +1,1650 @@ +# SPDX-License-Identifier: 0BSD +# +# xz 软件包的简体中文翻译。 +# Chinese translations for xz package +# This file is published under the BSD Zero Clause License. +# Boyuan Yang <073plan@gmail.com>, 2019, 2022, 2023, 2024. +# Mingye Wang , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: xz-5.6.0-pre2\n" +"Report-Msgid-Bugs-To: xz@tukaani.org\n" +"POT-Creation-Date: 2025-01-29 20:59+0200\n" +"PO-Revision-Date: 2024-08-27 13:08+0800\n" +"Last-Translator: Mingye Wang (Artoria2e5) \n" +"Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"X-Generator: Poedit 3.4.4\n" + +#: src/xz/args.c +#, c-format +msgid "%s: Invalid argument to --block-list" +msgstr "%s:--block-list 的无效参数" + +#: src/xz/args.c +#, c-format +msgid "%s: Too many arguments to --block-list" +msgstr "%s:--block-list 得到过多参数" + +#: src/xz/args.c +#, c-format +msgid "In --block-list, block size is missing after filter chain number '%c:'" +msgstr "在 --block-list 中,块大小在过滤器链编号 '%c:' 之后缺失" + +#: src/xz/args.c +msgid "0 can only be used as the last element in --block-list" +msgstr "0 仅可用于 --block-list 的最后一个元素" + +#: src/xz/args.c +#, c-format +msgid "%s: Unknown file format type" +msgstr "%s:未知文件格式类型" + +#: src/xz/args.c +#, c-format +msgid "%s: Unsupported integrity check type" +msgstr "%s:不支持的完整性检查类型" + +#: src/xz/args.c +msgid "Only one file can be specified with '--files' or '--files0'." +msgstr "仅可使用 '--files' 或 '--files0' 指定单个文件。" + +#. TRANSLATORS: This is a translatable +#. string because French needs a space +#. before the colon ("%s : %s"). +#: src/xz/args.c src/xz/coder.c src/xz/file_io.c src/xz/list.c src/xz/options.c +#: src/xz/util.c +#, c-format +msgid "%s: %s" +msgstr "%s:%s" + +#: src/xz/args.c +#, c-format +msgid "The environment variable %s contains too many arguments" +msgstr "环境变量 %s 包含过多参数" + +#: src/xz/args.c +msgid "Compression support was disabled at build time" +msgstr "压缩支持已在构建时禁用" + +#: src/xz/args.c +msgid "Decompression support was disabled at build time" +msgstr "解压支持已在构建时禁用" + +#: src/xz/args.c +msgid "Compression of lzip files (.lz) is not supported" +msgstr "不支持对 lzip 文件 (.lz) 的压缩" + +#: src/xz/args.c +msgid "--block-list is ignored unless compressing to the .xz format" +msgstr "除非压缩为 .xz 格式,--block-list 将被忽略" + +#: src/xz/args.c +msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout" +msgstr "启用 --format-raw 选项时,必须指定 --suffix=.SUF 获知写入至标准输出" + +#: src/xz/coder.c +msgid "Maximum number of filters is four" +msgstr "过滤器最多数量为四" + +#: src/xz/coder.c +#, c-format +msgid "Error in --filters%s=FILTERS option:" +msgstr "在 --filters%s=过滤器 选项中出现错误:" + +#: src/xz/coder.c +msgid "Memory usage limit is too low for the given filter setup." +msgstr "内存用量限制对指定过滤器设置过低。" + +#: src/xz/coder.c +#, c-format +msgid "filter chain %u used by --block-list but not specified with --filters%u=" +msgstr "--block-list 使用了过滤器链 %u,但未经由 --filters%u= 指定" + +#: src/xz/coder.c +msgid "Using a preset in raw mode is discouraged." +msgstr "不推荐在 raw 模式使用预设等级。" + +#: src/xz/coder.c +msgid "The exact options of the presets may vary between software versions." +msgstr "各个预设等级所使用的准确选项列表在不同软件版本之间可能不同。" + +#: src/xz/coder.c +msgid "The .lzma format supports only the LZMA1 filter" +msgstr ".lzma 格式只支持 LZMA1 过滤器" + +#: src/xz/coder.c +msgid "LZMA1 cannot be used with the .xz format" +msgstr "LZMA1 无法用于 .xz 格式" + +#: src/xz/coder.c +#, c-format +msgid "Filter chain %u is incompatible with --flush-timeout" +msgstr "过滤器链 %u 和 --flush-timeout 不兼容" + +#: src/xz/coder.c +msgid "Switching to single-threaded mode due to --flush-timeout" +msgstr "因 --flush-timeout 而切换至单线程模式" + +#: src/xz/coder.c +#, c-format +msgid "Unsupported options in filter chain %u" +msgstr "过滤器链 %u 中存在不支持的选项" + +#: src/xz/coder.c +#, c-format +msgid "Using up to % threads." +msgstr "使用最多 % 个线程。" + +#: src/xz/coder.c +msgid "Unsupported filter chain or filter options" +msgstr "不支持的过滤器链或过滤器选项" + +#: src/xz/coder.c +#, c-format +msgid "Decompression will need %s MiB of memory." +msgstr "解压缩需要 %s MiB 的内存。" + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to %s to not exceed the memory usage limit of %s MiB" +msgstr "已将所使用的线程数从 %s 减小为 %s,以不超出 %s MiB 的内存用量限制" + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to one. The automatic memory usage limit of %s MiB is still being exceeded. %s MiB of memory is required. Continuing anyway." +msgstr "已将所使用的线程数从 %s 减小为 1。这仍然超出了自动的内存使用限制 %s MiB。需要 %s MiB 的内存。继续操作。" + +#: src/xz/coder.c +#, c-format +msgid "Switching to single-threaded mode to not exceed the memory usage limit of %s MiB" +msgstr "正在切换到单线程模式以不超出 %s MiB 的内存用量限制" + +#: src/xz/coder.c +#, 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 "已调整 LZMA%c 字典大小(从 %s MiB 调整为 %s MiB),以不超出 %s MiB 的内存用量限制" + +#: src/xz/coder.c +#, c-format +msgid "Adjusted LZMA%c dictionary size for --filters%u from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgstr "已调整 --filters%2$u LZMA%1$c 字典大小(从 %3$s MiB 调整为 %4$s MiB),以不超出 %5$s MiB 的内存用量限制" + +#: src/xz/coder.c +#, c-format +msgid "Error changing to filter chain %u: %s" +msgstr "更改为过滤器链 %u 时出错:%s" + +#: src/xz/file_io.c +#, c-format +msgid "Error creating a pipe: %s" +msgstr "创建管道时出错:%s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: poll() failed: %s" +msgstr "%s:poll() 失败:%s" + +#. 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 +#, c-format +msgid "%s: File seems to have been moved, not removing" +msgstr "%s:文件似乎已移动,不再进行删除操作" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot remove: %s" +msgstr "%s:无法删除:%s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file owner: %s" +msgstr "%s:无法设置文件所有者:%s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file group: %s" +msgstr "%s:无法设置文件所有组:%s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file permissions: %s" +msgstr "%s:无法设置文件权限:%s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Closing the file failed: %s" +msgid "%s: Synchronizing the file failed: %s" +msgstr "%s:关闭文件失败:%s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Closing the file failed: %s" +msgid "%s: Synchronizing the directory of the file failed: %s" +msgstr "%s:关闭文件失败:%s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard input: %s" +msgstr "从标准输入获取文件状态标志出错:%s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a symbolic link, skipping" +msgstr "%s:是符号链接,跳过" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a directory, skipping" +msgstr "%s:是目录,跳过" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Not a regular file, skipping" +msgstr "%s:不是标准文件,跳过" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has setuid or setgid bit set, skipping" +msgstr "%s:文件有设置用户ID或设置组ID标识,跳过" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has sticky bit set, skipping" +msgstr "%s:文件有粘滞位标识,跳过" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Input file has more than one hard link, skipping" +msgstr "%s:输入文件有多于一个硬链接,跳过" + +#: src/xz/file_io.c +msgid "Empty filename, skipping" +msgstr "空文件名,跳过" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the status flags to standard input: %s" +msgstr "回复标准输入的状态标志时出错:%s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard output: %s" +msgstr "获取标准输出的文件状态标志时出错:%s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Closing the file failed: %s" +msgid "%s: Opening the directory failed: %s" +msgstr "%s:关闭文件失败:%s" + +#: src/xz/file_io.c +#, fuzzy, c-format +#| msgid "%s: Not a regular file, skipping" +msgid "%s: Destination is not a regular file" +msgstr "%s:不是标准文件,跳过" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the O_APPEND flag to standard output: %s" +msgstr "恢复标准输出的 O_APPEND 标志时出错:%s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Closing the file failed: %s" +msgstr "%s:关闭文件失败:%s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Seeking failed when trying to create a sparse file: %s" +msgstr "%s:尝试创建稀疏文件时 seek 失败:%s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Read error: %s" +msgstr "%s:读取错误:%s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Error seeking the file: %s" +msgstr "%s:seek 文件时出错:%s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Unexpected end of file" +msgstr "%s:未预期的文件结束" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Write error: %s" +msgstr "%s:写入错误:%s" + +#: src/xz/hardware.c +msgid "Disabled" +msgstr "已禁用" + +#: src/xz/hardware.c +msgid "Amount of physical memory (RAM):" +msgstr "物理内存(RAM)用量:" + +#: src/xz/hardware.c +msgid "Number of processor threads:" +msgstr "处理器线程数:" + +#: src/xz/hardware.c +msgid "Compression:" +msgstr "压缩:" + +#: src/xz/hardware.c +msgid "Decompression:" +msgstr "解压缩:" + +#: src/xz/hardware.c +msgid "Multi-threaded decompression:" +msgstr "多线程解压缩:" + +#: src/xz/hardware.c +msgid "Default for -T0:" +msgstr "-T0 的默认值:" + +#: src/xz/hardware.c +msgid "Hardware information:" +msgstr "硬件信息:" + +#: src/xz/hardware.c +msgid "Memory usage limits:" +msgstr "内存使用限制:" + +#: src/xz/list.c +msgid "Streams:" +msgstr "流:" + +#: src/xz/list.c +msgid "Blocks:" +msgstr "块:" + +#: src/xz/list.c +msgid "Compressed size:" +msgstr "压缩后大小:" + +#: src/xz/list.c +msgid "Uncompressed size:" +msgstr "解压缩大小:" + +#: src/xz/list.c +msgid "Ratio:" +msgstr "比例:" + +#: src/xz/list.c +msgid "Check:" +msgstr "校验:" + +#: src/xz/list.c +msgid "Stream Padding:" +msgstr "流填充大小:" + +#: src/xz/list.c +msgid "Memory needed:" +msgstr "所需内存:" + +#: src/xz/list.c +msgid "Sizes in headers:" +msgstr "头部存放大小:" + +#: src/xz/list.c +msgid "Number of files:" +msgstr "文件数量:" + +#: src/xz/list.c +msgid "Stream" +msgstr "流" + +#: src/xz/list.c +msgid "Block" +msgstr "块" + +#: src/xz/list.c +msgid "Blocks" +msgstr "块" + +#: src/xz/list.c +msgid "CompOffset" +msgstr "压缩偏移量" + +#: src/xz/list.c +msgid "UncompOffset" +msgstr "解压偏移量" + +#: src/xz/list.c +msgid "CompSize" +msgstr "压缩后大小" + +#: src/xz/list.c +msgid "UncompSize" +msgstr "解压缩大小" + +#: src/xz/list.c +msgid "TotalSize" +msgstr "总大小" + +#: src/xz/list.c +msgid "Ratio" +msgstr "比例" + +#: src/xz/list.c +msgid "Check" +msgstr "校验" + +#: src/xz/list.c +msgid "CheckVal" +msgstr "校验值" + +#: src/xz/list.c +msgid "Padding" +msgstr "填充" + +#: src/xz/list.c +msgid "Header" +msgstr "头部" + +#: src/xz/list.c +msgid "Flags" +msgstr "标志" + +#: src/xz/list.c +msgid "MemUsage" +msgstr "内存用量" + +#: src/xz/list.c +msgid "Filters" +msgstr "过滤器" + +#. TRANSLATORS: Indicates that there is no integrity check. +#. This string is used in tables. In older xz version this +#. string was limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "None" +msgstr "无" + +#. TRANSLATORS: Indicates that integrity check name is not known, +#. but the Check ID is known (here 2). In older xz version these +#. strings were limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "Unknown-2" +msgstr "未知-2" + +#: src/xz/list.c +msgid "Unknown-3" +msgstr "未知-3" + +#: src/xz/list.c +msgid "Unknown-5" +msgstr "未知-5" + +#: src/xz/list.c +msgid "Unknown-6" +msgstr "未知-6" + +#: src/xz/list.c +msgid "Unknown-7" +msgstr "未知-7" + +#: src/xz/list.c +msgid "Unknown-8" +msgstr "未知-8" + +#: src/xz/list.c +msgid "Unknown-9" +msgstr "未知-9" + +#: src/xz/list.c +msgid "Unknown-11" +msgstr "未知-11" + +#: src/xz/list.c +msgid "Unknown-12" +msgstr "未知-12" + +#: src/xz/list.c +msgid "Unknown-13" +msgstr "未知-13" + +#: src/xz/list.c +msgid "Unknown-14" +msgstr "未知-14" + +#: src/xz/list.c +msgid "Unknown-15" +msgstr "未知-15" + +#: src/xz/list.c +#, c-format +msgid "%s: File is empty" +msgstr "%s:文件为空" + +#: src/xz/list.c +#, c-format +msgid "%s: Too small to be a valid .xz file" +msgstr "%s:过小,不可能是有效的 .xz 文件" + +#. 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 +msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" +msgstr " 流 块 压缩大小 解压大小 比例 校验 文件名" + +#: src/xz/list.c +msgid "Yes" +msgstr "是" + +#: src/xz/list.c +msgid "No" +msgstr "否" + +#: src/xz/list.c +#, fuzzy +#| msgid " Minimum XZ Utils version: %s\n" +msgid "Minimum XZ Utils version:" +msgstr " 最低 XZ Utils 版本:%s\n" + +#. 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 +#, c-format +msgid "%s file\n" +msgid_plural "%s files\n" +msgstr[0] "%s 文件\n" + +#: src/xz/list.c +msgid "Totals:" +msgstr "总计:" + +#: src/xz/list.c +msgid "--list works only on .xz files (--format=xz or --format=auto)" +msgstr "--list 仅适用于 .xz 文件(--format=xz 或 --format=auto)" + +#: src/xz/list.c +msgid "Try 'lzmainfo' with .lzma files." +msgstr "试试用“lzmainfo”处理 .lzma 文件。" + +#: src/xz/list.c +msgid "--list does not support reading from standard input" +msgstr "--list 不支持从标准输入读取" + +#: src/xz/main.c +#, c-format +msgid "%s: Error reading filenames: %s" +msgstr "%s:读取文件名列表时出错:%s" + +#: src/xz/main.c +#, c-format +msgid "%s: Unexpected end of input when reading filenames" +msgstr "%s:读取文件名列表时遇到未预期的输入结束" + +#: src/xz/main.c +#, c-format +msgid "%s: Null character found when reading filenames; maybe you meant to use '--files0' instead of '--files'?" +msgstr "%s:读取文件名列表时获得了空字符;您可能想要使用 '--files0' 而非 '--files'?" + +#: src/xz/main.c +msgid "Compression and decompression with --robot are not supported yet." +msgstr "尚不支持带 --robot 的压缩和解压缩。" + +#: src/xz/main.c +msgid "Cannot read data from standard input when reading filenames from standard input" +msgstr "无法同时从标准输入读取数据和文件名列表" + +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s: " +msgstr "%s:" + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "Internal error (bug)" +msgstr "内部错误(bug)" + +#: src/xz/message.c +msgid "Cannot establish signal handlers" +msgstr "无法建立信号处理器" + +#: src/xz/message.c +msgid "No integrity check; not verifying file integrity" +msgstr "无完整性检查;将不验证文件完整性" + +#: src/xz/message.c +msgid "Unsupported type of integrity check; not verifying file integrity" +msgstr "不支持的完整性检查类型;将不验证文件完整性" + +#: src/xz/message.c +msgid "Memory usage limit reached" +msgstr "达到内存使用限制" + +#: src/xz/message.c +msgid "File format not recognized" +msgstr "无法识别文件格式" + +#: src/xz/message.c +msgid "Unsupported options" +msgstr "不支持的选项" + +#: src/xz/message.c +msgid "Compressed data is corrupt" +msgstr "压缩数据已损坏" + +#: src/xz/message.c +msgid "Unexpected end of input" +msgstr "输入意外结束" + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limiter is disabled." +msgstr "需要 %s MiB 的内存空间。限制已禁用。" + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limit is %s." +msgstr "需要 %s MiB 的内存空间。限制为 %s。" + +#: src/xz/message.c +#, c-format +msgid "%s: Filter chain: %s\n" +msgstr "%s:过滤器链:%s\n" + +#: src/xz/message.c +#, c-format +msgid "Try '%s --help' for more information." +msgstr "请尝试执行 '%s --help' 来获取更多信息。" + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Error printing the help text (error code %d)" +msgstr "" + +#: src/xz/message.c +#, c-format +msgid "Usage: %s [OPTION]... [FILE]...\n" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "Usage: %s [OPTION]... [FILE]...\n" +#| "Compress or decompress FILEs in the .xz format.\n" +#| "\n" +msgid "Compress or decompress FILEs in the .xz format." +msgstr "" +"用法:%s [选项]... [文件]...\n" +"使用 .xz 格式压缩或解压缩文件。\n" +"\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Mandatory arguments to long options are mandatory for short options too.\n" +msgid "Mandatory arguments to long options are mandatory for short options too." +msgstr "必选参数对长短选项同时适用。\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " Operation mode:\n" +msgid "Operation mode:" +msgstr " 操作模式:\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Decompression:" +msgid "force compression" +msgstr "解压缩:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Decompression:" +msgid "force decompression" +msgstr "解压缩:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "test compressed file integrity" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "list information about .xz files" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Operation modifiers:\n" +msgid "Operation modifiers:" +msgstr "" +"\n" +" 操作修饰符:\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "keep (don't delete) input files" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force overwrite of output file and (de)compress links" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Writing to standard output failed" +msgid "write to standard output and don't delete input files" +msgstr "写入标准输出失败" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't synchronize the output file to the storage device before removing the input file" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --single-stream decompress only the first stream, and silently\n" +#| " ignore possible remaining input data" +msgid "decompress only the first stream, and silently ignore possible remaining input data" +msgstr " --single-stream 仅解压缩第一个流,忽略其后可能继续出现的输入数据" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "do not create sparse files when decompressing" +msgstr "" + +#: src/xz/message.c +msgid ".SUF" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use the suffix '.SUF' on compressed files" +msgstr "" + +#: src/xz/message.c +msgid "FILE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "read filenames to process from FILE; if FILE is omitted, filenames are read from the standard input; filenames must be terminated with the newline character" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "like --files but use the null character as terminator" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Basic file format and compression options:\n" +msgid "Basic file format and compression options:" +msgstr "" +"\n" +" 基本文件格式和压缩选项:\n" + +#: src/xz/message.c +msgid "FORMAT" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "file format to encode or decode; possible values are 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'" +msgstr "" + +#: src/xz/message.c +msgid "NAME" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "integrity check type: 'none' (use with caution), 'crc32', 'crc64' (default), or 'sha256'" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " --ignore-check don't verify the integrity check when decompressing" +msgid "don't verify the integrity check when decompressing" +msgstr " --ignore-check 解压缩时不要进行完整性检查验证" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " -0 ... -9 compression preset; default is 6; take compressor *and*\n" +#| " decompressor memory usage into account before using 7-9!" +msgid "compression preset; default is 6; take compressor *and* decompressor memory usage into account before using 7-9!" +msgstr "" +" -0 ... -9 压缩预设等级;默认为 6;使用 7-9 的等级之前,请先考虑\n" +" 压缩和解压缩所需的内存用量!(会占用大量内存空间)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " -e, --extreme try to improve compression ratio by using more CPU time;\n" +#| " does not affect decompressor memory requirements" +msgid "try to improve compression ratio by using more CPU time; does not affect decompressor memory requirements" +msgstr "" +" -e, --extreme 尝试使用更多 CPU 时间来改进压缩比率;\n" +" 不会影响解压缩的内存需求量" + +#. TRANSLATORS: Short for NUMBER. A longer string is fine but +#. wider than 5 columns makes --long-help a few lines longer. +#: src/xz/message.c +msgid "NUM" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " -T, --threads=NUM use at most NUM threads; the default is 0 which uses\n" +#| " as many threads as there are processor cores" +msgid "use at most NUM threads; the default is 0 which uses as many threads as there are processor cores" +msgstr "" +" -T, --threads=数量 使用最多指定数量的线程;默认值为 0,即\n" +" 可以使用与处理器内核数量相同的线程数" + +#: src/xz/message.c +msgid "SIZE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --block-size=SIZE\n" +#| " start a new .xz block after every SIZE bytes of input;\n" +#| " use this to set the block size for threaded compression" +msgid "start a new .xz block after every SIZE bytes of input; use this to set the block size for threaded compression" +msgstr "" +" --block-size=块大小\n" +" 输入每读取指定块大小的数据后即开始一个新的 .xz 块;\n" +" 使用该选项可以设置多线程压缩中的块大小" + +#: src/xz/message.c +msgid "BLOCKS" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --block-list=BLOCKS\n" +#| " start a new .xz block after the given comma-separated\n" +#| " intervals of uncompressed data; optionally, specify a\n" +#| " filter chain number (0-9) followed by a ':' before the\n" +#| " uncompressed data size" +msgid "start a new .xz block after the given comma-separated intervals of uncompressed data; optionally, specify a filter chain number (0-9) followed by a ':' before the uncompressed data size" +msgstr "" +" --block-list=块大小列表\n" +" 在所给出的未压缩数据间隔大小的数据之后开始一个新的\n" +" .xz 块(使用逗号分隔)\n" +" 可选:在未压缩大小之前提供一个过滤器链号(0-9),用\n" +" “:”和大小分开" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --flush-timeout=TIMEOUT\n" +#| " when compressing, if more than TIMEOUT milliseconds has\n" +#| " passed since the previous flush and reading more input\n" +#| " would block, all pending data is flushed out" +msgid "when compressing, if more than NUM milliseconds has passed since the previous flush and reading more input would block, all pending data is flushed out" +msgstr "" +" --flush-timeout=超时时间\n" +" 进行压缩时,如果从上次刷洗输出之后经过了指定的超时时间\n" +" 且读取更多数据会被阻塞,则刷洗输出所有缓冲数据" + +#: src/xz/message.c +msgid "LIMIT" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, no-c-format +msgid "set memory usage limit for compression, decompression, threaded decompression, or all of these; LIMIT is in bytes, % of RAM, or 0 for defaults" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --no-adjust if compression settings exceed the memory usage limit,\n" +#| " give an error instead of adjusting the settings downwards" +msgid "if compression settings exceed the memory usage limit, give an error instead of adjusting the settings downwards" +msgstr " --no-adjust 如果压缩设置超出内存用量限制,不调整设置而直接报错" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Custom filter chain for compression (alternative for using presets):" +msgid "Custom filter chain for compression (an alternative to using presets):" +msgstr "" +"\n" +" 用于压缩的自定义过滤器链(不使用预设等级时的备选用法):" + +#: src/xz/message.c +msgid "FILTERS" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " --filters=FILTERS set the filter chain using the liblzma filter string\n" +#| " syntax; use --filters-help for more information" +msgid "set the filter chain using the liblzma filter string syntax; use --filters-help for more information" +msgstr "" +"\n" +"--filters=FILTERS 使用 liblzma 过滤器字符串语法设置过滤器链\n" +" 使用 --filters-help 了解更多信息" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --filters1=FILTERS ... --filters9=FILTERS\n" +#| " set additional filter chains using the liblzma filter\n" +#| " string syntax to use with --block-list" +msgid "set additional filter chains using the liblzma filter string syntax to use with --block-list" +msgstr "" +"--filters1=过滤器 ... --filters9=过滤器\n" +" 使用 liblzma 过滤器语法设置其他过滤器链,\n" +" 与 --block-list 一起使用的" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --filters-help display more information about the liblzma filter string\n" +#| " syntax and exit." +msgid "display more information about the liblzma filter string syntax and exit" +msgstr "" +"--filters-help 显示有关 liblzma 过滤器字符串语法的更多信息\n" +" 然后退出。" + +#. TRANSLATORS: Short for OPTIONS. +#: src/xz/message.c +msgid "OPTS" +msgstr "" + +#. TRANSLATORS: Use semicolon (or its fullwidth form) +#. in "(valid values; default)" even if it is weird in +#. your language. There are non-translatable strings +#. that look like "(foo, bar, baz; foo)" which list +#. the supported values and the default value. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "LZMA1 or LZMA2; OPTS is a comma-separated list of zero or more of the following options (valid values; default):" +msgstr "" + +#. TRANSLATORS: Short for PRESET. A longer string is +#. fine but wider than 4 columns makes --long-help +#. one line longer. +#: src/xz/message.c +msgid "PRE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "reset options to a preset" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "dictionary size" +msgstr "" + +#. TRANSLATORS: The word "literal" in "literal context +#. bits" means how many "context bits" to use when +#. encoding literals. A literal is a single 8-bit +#. byte. It doesn't mean "literally" here. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal context bits" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "number of literal position bits" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Number of processor threads:" +msgid "number of position bits" +msgstr "处理器线程数:" + +#: src/xz/message.c +msgid "MODE" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "Decompression:" +msgid "compression mode" +msgstr "解压缩:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "nice length of a match" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "match finder" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "maximum search depth; 0=automatic (default)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "x86 BCJ filter (32-bit and 64-bit)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM-Thumb BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM64 BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "PowerPC BCJ filter (big endian only)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "IA-64 (Itanium) BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "SPARC BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "RISC-V BCJ filter" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Valid OPTS for all BCJ filters:" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start offset for conversions (default=0)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Delta filter; valid OPTS (valid values; default):" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "distance between bytes being subtracted from each other" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| "\n" +#| " Other options:\n" +msgid "Other options:" +msgstr "" +"\n" +" 其它选项:\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "suppress warnings; specify twice to suppress errors too" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "be verbose; specify twice for even more verbose" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " -Q, --no-warn make warnings not affect the exit status" +msgid "make warnings not affect the exit status" +msgstr " -Q, --no-warn 使得警告信息不影响程序退出返回值" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " --robot use machine-parsable messages (useful for scripts)" +msgid "use machine-parsable messages (useful for scripts)" +msgstr " --robot 使用机器可解析的信息(对于脚本有用)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid "" +#| " --info-memory display the total amount of RAM and the currently active\n" +#| " memory usage limits, and exit" +msgid "display the total amount of RAM and the currently active memory usage limits, and exit" +msgstr " --info-memory 显示 RAM 总量和当前配置的内存用量限制,然后退出" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the short help (lists only the basic options)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this long help and exit" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this short help and exit" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the long help (lists also the advanced options)" +msgstr "" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +#| msgid " -V, --version display the version number and exit" +msgid "display the version number and exit" +msgstr " -V, --version 显示软件版本号并退出" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, fuzzy +#| msgid "" +#| "\n" +#| "With no FILE, or when FILE is -, read standard input.\n" +msgid "With no FILE, or when FILE is -, read standard input." +msgstr "" +"\n" +"如果没有指定文件,或者文件为\"-\",则从标准输入读取。\n" + +#. TRANSLATORS: This message indicates the bug reporting +#. address for this package. Please add another line saying +#. "\nReport translation bugs to <...>." with the email or WWW +#. address for translation bugs. Thanks! +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, fuzzy, c-format +#| msgid "Report bugs to <%s> (in English or Finnish).\n" +msgid "Report bugs to <%s> (in English or Finnish)." +msgstr "" +"请使用英文或芬兰语向 <%s> 报告软件错误。\n" +"请使用中文向 TP 简体中文翻译团队 \n" +"报告软件的简体中文翻译错误。\n" + +#. TRANSLATORS: The first %s is the name of this software. +#. The second <%s> is an URL. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, fuzzy, c-format +#| msgid "%s home page: <%s>\n" +msgid "%s home page: <%s>" +msgstr "%s 主页:<%s>\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE." +msgstr "这是开发版本,不适用于生产环境使用。" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy, c-format +#| msgid "" +#| "Filter chains are set using the --filters=FILTERS or\n" +#| "--filters1=FILTERS ... --filters9=FILTERS options. Each filter in the chain\n" +#| "can be separated by spaces or '--'. Alternatively a preset <0-9>[e] can be\n" +#| "specified instead of a filter chain.\n" +msgid "Filter chains are set using the --filters=FILTERS or --filters1=FILTERS ... --filters9=FILTERS options. Each filter in the chain can be separated by spaces or '--'. Alternatively a preset %s can be specified instead of a filter chain." +msgstr "" +"设置过滤器链使用 --filters=FILTERS 或\n" +"--filters1=FILTER … --filters9=FILTER选项。链中的每个过滤器\n" +"可以用空格或“--”分隔。或者可以指定预设 <0-9>[e]\n" +"而不是过滤器链。\n" +"\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "The supported filters and their options are:" +msgstr "支持的筛选器及其选项包括:" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Options must be 'name=value' pairs separated with commas" +msgid "Options must be 'name=value' pairs separated with commas" +msgstr "%s:选项必须按照 '名称=值' 的格式成对出现,使用半角逗号分隔" + +#: src/xz/options.c +#, c-format +msgid "%s: Invalid option name" +msgstr "%s:无效的选项名称" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Invalid option value" +msgid "Invalid option value" +msgstr "%s:无效的选项值" + +#: src/xz/options.c +#, c-format +msgid "Unsupported LZMA1/LZMA2 preset: %s" +msgstr "不支持的 LZMA1/LZMA2 预设等级:%s" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "The sum of lc and lp must not exceed 4" +msgstr "lc 和 lp 的和必须不大于 4" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Filename has an unknown suffix, skipping" +msgstr "%s:文件名有未知后缀,跳过" + +#: src/xz/suffix.c +#, c-format +msgid "%s: File already has '%s' suffix, skipping" +msgstr "%s:文件已有 '%s' 后缀名,跳过" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Invalid filename suffix" +msgstr "%s:无效的文件名后缀" + +#: src/xz/util.c src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Value is not a non-negative decimal integer" +msgid "Value is not a non-negative decimal integer" +msgstr "%s:值不是非负十进制整数" + +#: src/xz/util.c +#, c-format +msgid "%s: Invalid multiplier suffix" +msgstr "%s:无效的乘数后缀" + +#: src/xz/util.c +msgid "Valid suffixes are 'KiB' (2^10), 'MiB' (2^20), and 'GiB' (2^30)." +msgstr "有效的后缀包括“KiB”(2^10)、“MiB”(2^20)和“GiB”(2^30)。" + +#: src/xz/util.c +#, c-format +msgid "Value of the option '%s' must be in the range [%, %]" +msgstr "选项“%s”的值必须位于 [%, %] 范围内" + +#: src/xz/util.c +msgid "Compressed data cannot be read from a terminal" +msgstr "压缩数据不能从终端读取" + +#: src/xz/util.c +msgid "Compressed data cannot be written to a terminal" +msgstr "压缩数据不能向终端写入" + +#: src/lzmainfo/lzmainfo.c +#, fuzzy, c-format +#| msgid "" +#| "Usage: %s [--help] [--version] [FILE]...\n" +#| "Show information stored in the .lzma file header" +msgid "Usage: %s [--help] [--version] [FILE]...\n" +msgstr "" +"用法:%s [--help] [--version] [文件]...\n" +"显示存储在 .lzma 文件头中的信息" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/lzmainfo/lzmainfo.c +#, fuzzy +#| msgid "" +#| "Usage: %s [--help] [--version] [FILE]...\n" +#| "Show information stored in the .lzma file header" +msgid "Show information stored in the .lzma file header." +msgstr "" +"用法:%s [--help] [--version] [文件]...\n" +"显示存储在 .lzma 文件头中的信息" + +#: src/lzmainfo/lzmainfo.c +msgid "File is too small to be a .lzma file" +msgstr "%s:过小,不可能是有效的 .lzma 文件" + +#: src/lzmainfo/lzmainfo.c +msgid "Not a .lzma file" +msgstr "不是 .lzma 文件" + +#: src/common/tuklib_exit.c +msgid "Writing to standard output failed" +msgstr "写入标准输出失败" + +#: src/common/tuklib_exit.c +msgid "Unknown error" +msgstr "未知错误" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "Unsupported options" +msgid "Unsupported preset" +msgstr "不支持的选项" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "Unsupported filter chain or filter options" +msgid "Unsupported flag in the preset" +msgstr "不支持的过滤器链或过滤器选项" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Invalid option name" +msgid "Unknown option name" +msgstr "%s:无效的选项名称" + +#: src/liblzma/common/string_conversion.c +msgid "Option value cannot be empty" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "Value out of range" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "This option does not support any multiplier suffixes" +msgstr "" + +#. TRANSLATORS: Don't translate the +#. suffixes "KiB", "MiB", or "GiB" +#. because a user can only specify +#. untranslated suffixes. +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Invalid multiplier suffix" +msgid "Invalid multiplier suffix (KiB, MiB, or GiB)" +msgstr "%s:无效的乘数后缀" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "%s: Unknown file format type" +msgid "Unknown filter name" +msgstr "%s:未知文件格式类型" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "LZMA1 cannot be used with the .xz format" +msgid "This filter cannot be used in the .xz format" +msgstr "LZMA1 无法用于 .xz 格式" + +#: src/liblzma/common/string_conversion.c +msgid "Memory allocation failed" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "Empty string is not allowed, try '6' if a default value is needed" +msgstr "" + +#: src/liblzma/common/string_conversion.c +#, fuzzy +#| msgid "Maximum number of filters is four" +msgid "The maximum number of filters is four" +msgstr "过滤器最多数量为四" + +#: src/liblzma/common/string_conversion.c +msgid "Filter name is missing" +msgstr "" + +#: src/liblzma/common/string_conversion.c +msgid "Invalid filter chain ('lzma2' missing at the end?)" +msgstr "" + +#~ msgid "" +#~ " -z, --compress force compression\n" +#~ " -d, --decompress force decompression\n" +#~ " -t, --test test compressed file integrity\n" +#~ " -l, --list list information about .xz files" +#~ msgstr "" +#~ " -z, --compress 强制压缩\n" +#~ " -d, --decompress 强制解压缩\n" +#~ " -t, --test 测试压缩文件完整性\n" +#~ " -l, --list 列出 .xz 文件的信息" + +#~ 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 保留(不要删除)输入文件\n" +#~ " -f, --force 强制覆写输出文件和(解)压缩链接\n" +#~ " -c, --stdout 向标准输出写入,同时不要删除输入文件" + +#~ msgid "" +#~ " --no-sparse do not create sparse files when decompressing\n" +#~ " -S, --suffix=.SUF use the suffix '.SUF' on compressed files\n" +#~ " --files[=FILE] read filenames to process from FILE; if FILE is\n" +#~ " omitted, filenames are read from the standard input;\n" +#~ " filenames must be terminated with the newline character\n" +#~ " --files0[=FILE] like --files but use the null character as terminator" +#~ msgstr "" +#~ " --no-sparse 解压缩时不要创建稀疏文件\n" +#~ " -S, --suffix=.SUF 压缩文件使用指定的“.SUF”后缀名\n" +#~ " --files[=文件] 从指定文件读取要处理的文件名列表;如果省略了指定文件名,\n" +#~ " 将从标准输入读取文件名列表;文件名必须使用换行符分隔、终止\n" +#~ " --files0[=文件] 类似 --files,但使用空(\\0)字符进行分隔" + +#~ msgid "" +#~ " -F, --format=FMT file format to encode or decode; possible values are\n" +#~ " 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'\n" +#~ " -C, --check=CHECK integrity check type: 'none' (use with caution),\n" +#~ " 'crc32', 'crc64' (default), or 'sha256'" +#~ msgstr "" +#~ " -F, --format=格式 要编码或解码的文件格式;可能的值包括\n" +#~ " “auto”(默认)、“xz”、“lzma”、\n" +#~ " “lzip”和“raw”\n" +#~ " -C, --check=类型 完整性检查类型:“none”(请谨慎使用)、\n" +#~ " “crc32”、“crc64”(默认)或“sha256”" + +#, no-c-format +#~ msgid "" +#~ " --memlimit-compress=LIMIT\n" +#~ " --memlimit-decompress=LIMIT\n" +#~ " --memlimit-mt-decompress=LIMIT\n" +#~ " -M, --memlimit=LIMIT\n" +#~ " set memory usage limit for compression, decompression,\n" +#~ " threaded decompression, or all of these; LIMIT is in\n" +#~ " bytes, % of RAM, or 0 for defaults" +#~ msgstr "" +#~ " --memlimit-compress=限制用量\n" +#~ " --memlimit-decompress=限制用量\n" +#~ " --memlimit-mt-decompress=限制用量\n" +#~ " -M, --memlimit=限制用量\n" +#~ " 设置压缩、解压缩、多线程解压缩或者共同的内存用量限制;\n" +#~ " 所指定限制量单位为字节,或以百分号 % 结尾表示内存比例,\n" +#~ " 或者指定 0 取软件默认值" + +#~ msgid "" +#~ "\n" +#~ " --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n" +#~ " --lzma2[=OPTS] more of the following options (valid values; default):\n" +#~ " preset=PRE reset options to a preset (0-9[e])\n" +#~ " dict=NUM dictionary size (4KiB - 1536MiB; 8MiB)\n" +#~ " lc=NUM number of literal context bits (0-4; 3)\n" +#~ " lp=NUM number of literal position bits (0-4; 0)\n" +#~ " pb=NUM number of position bits (0-4; 2)\n" +#~ " mode=MODE compression mode (fast, normal; normal)\n" +#~ " nice=NUM nice length of a match (2-273; 64)\n" +#~ " mf=NAME match finder (hc3, hc4, bt2, bt3, bt4; bt4)\n" +#~ " depth=NUM maximum search depth; 0=automatic (default)" +#~ msgstr "" +#~ "\n" +#~ " --lzma1[=选项] LZMA1 或 LZMA2;指定选项是用逗号分隔的下列选项的组合,\n" +#~ " --lzma2[=选项] 值应当为零或大于零(有效值;默认值):\n" +#~ " preset=PRE 将选项重置为预设配置 (0-9[e])\n" +#~ " dict=数字 字典大小 (4KiB - 1536MiB; 8MiB)\n" +#~ " lc=数字 literal context 位的数量 (0-4; 3)\n" +#~ " lp=数字 literal position 位的数量 (0-4; 0)\n" +#~ " pb=数字 position 位的数量 (0-4; 2)\n" +#~ " mode=模式 压缩模式 (fast, normal; normal)\n" +#~ " nice=数字 匹配的 nice 值 (2-273; 64)\n" +#~ " mf=名称 匹配搜索器 match finder\n" +#~ " (hc3, hc4, bt2, bt3, bt4; bt4)\n" +#~ " depth=数字 最大搜索深度; 0=自动(默认)" + +#~ msgid "" +#~ "\n" +#~ " --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n" +#~ " --arm[=OPTS] ARM BCJ filter\n" +#~ " --armthumb[=OPTS] ARM-Thumb BCJ filter\n" +#~ " --arm64[=OPTS] ARM64 BCJ filter\n" +#~ " --powerpc[=OPTS] PowerPC BCJ filter (big endian only)\n" +#~ " --ia64[=OPTS] IA-64 (Itanium) BCJ filter\n" +#~ " --sparc[=OPTS] SPARC BCJ filter\n" +#~ " --riscv[=OPTS] RISC-V BCJ filter\n" +#~ " Valid OPTS for all BCJ filters:\n" +#~ " start=NUM start offset for conversions (default=0)" +#~ msgstr "" +#~ "\n" +#~ " --x86[=选项] x86 BCJ 过滤器(32 位和 64 位)\n" +#~ " --arm[=选项] ARM BCJ 过滤器\n" +#~ " --armthumb[=选项] ARM-Thumb BCJ 过滤器\n" +#~ " --arm64[=选项] ARM64 BCJ 过滤器\n" +#~ " --powerpc[=选项] PowerPC BCJ 过滤器(仅大端序)\n" +#~ " --ia64[=选项] IA-64 (Itanium,安腾) BCJ 过滤器\n" +#~ " --sparc[=选项] SPARC BCJ 过滤器\n" +#~ " --riscv[=选项] RISC-V BCJ 过滤器\n" +#~ " 所有过滤器可用选项:\n" +#~ " start=数字 转换的起始偏移量(默认=0)" + +#~ msgid "" +#~ "\n" +#~ " --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n" +#~ " dist=NUM distance between bytes being subtracted\n" +#~ " from each other (1-256; 1)" +#~ msgstr "" +#~ "\n" +#~ " --delta[=选项] 增量过滤器;有效选项(有效值;默认值):\n" +#~ " dist=NUM 相减的字节之间的距离 (1-256; 1)" + +#~ msgid "" +#~ " -q, --quiet suppress warnings; specify twice to suppress errors too\n" +#~ " -v, --verbose be verbose; specify twice for even more verbose" +#~ msgstr "" +#~ " -q, --quiet 不显示警告信息;指定两次可不显示错误信息\n" +#~ " -v, --verbose 输出详细信息;指定两次可以输出更详细的信息" + +#~ 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 显示短帮助信息(仅列出基本选项)\n" +#~ " -H, --long-help 显示本长帮助信息" + +#~ 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 显示本短帮助信息并退出\n" +#~ " -H, --long-help 显示长帮助信息(同时列出高级选项)" + +#~ msgid "Failed to enable the sandbox" +#~ msgstr "沙盒启用失败" + +#~ msgid "The selected match finder requires at least nice=%" +#~ msgstr "所选中的匹配搜索器(match finder)至少需要 nice=%" + +#~ msgid "Sandbox is disabled due to incompatible command line arguments" +#~ msgstr "沙盒已因不兼容的命令行参数而禁用" + +#~ msgid "Sandbox was successfully enabled" +#~ msgstr "已成功启用沙盒" + +#~ msgid "Memory usage limit for compression: " +#~ msgstr "用于压缩的内存用量限制: " + +#~ msgid " Streams: %s\n" +#~ msgstr " 流: %s\n" + +#~ msgid " Blocks: %s\n" +#~ msgstr " 块: %s\n" + +#~ msgid " Ratio: %s\n" +#~ msgstr " 压缩比: %s\n" + +#~ msgid " Check: %s\n" +#~ msgstr " 校验方式: %s\n" + +#~ msgid "" +#~ " Streams:\n" +#~ " Stream Blocks CompOffset UncompOffset CompSize UncompSize Ratio Check Padding" +#~ msgstr "" +#~ " 流:\n" +#~ " 流 块 压缩偏移量 解压偏移量 压缩大小 解压大小 比例 校验 填充" + +#~ msgid "" +#~ " Blocks:\n" +#~ " Stream Block CompOffset UncompOffset TotalSize UncompSize Ratio Check" +#~ msgstr "" +#~ " 块:\n" +#~ " 流 块 压缩偏移量 解压偏移量 总计大小 解压大小 比例 校验" + +#~ msgid " CheckVal %*s Header Flags CompSize MemUsage Filters" +#~ msgstr " CheckVal %*s 头部 标记 压缩大小 内存使用 过滤器" diff --git a/src/native/external/xz/po/zh_TW.po b/src/native/external/xz/po/zh_TW.po new file mode 100644 index 00000000000000..c982d5fddbf3e7 --- /dev/null +++ b/src/native/external/xz/po/zh_TW.po @@ -0,0 +1,1267 @@ +# SPDX-License-Identifier: 0BSD +# +# Chinese translations for xz package. +# This file is published under the BSD Zero Clause License. +# +# Yi-Jyun Pan , 2019, 2023, 2024 +msgid "" +msgstr "" +"Project-Id-Version: xz 5.7.1-dev1\n" +"Report-Msgid-Bugs-To: xz@tukaani.org\n" +"POT-Creation-Date: 2025-01-29 20:59+0200\n" +"PO-Revision-Date: 2025-02-02 00:12+0800\n" +"Last-Translator: Yi-Jyun Pan \n" +"Language-Team: Chinese (traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"X-Generator: Poedit 3.5\n" +"X-Poedit-SourceCharset: UTF-8\n" + +#: src/xz/args.c +#, c-format +msgid "%s: Invalid argument to --block-list" +msgstr "%s:傳入 --block-list 的參數無效" + +#: src/xz/args.c +#, c-format +msgid "%s: Too many arguments to --block-list" +msgstr "%s:傳入 --block-list 的參數過多" + +#: src/xz/args.c +#, c-format +msgid "In --block-list, block size is missing after filter chain number '%c:'" +msgstr "在 --block-list 中,編號「%c:」後方遺漏區塊大小" + +#: src/xz/args.c +msgid "0 can only be used as the last element in --block-list" +msgstr "0 只能作為 --block-list 的最後一個元素" + +#: src/xz/args.c +#, c-format +msgid "%s: Unknown file format type" +msgstr "%s:未知檔案格式類型" + +#: src/xz/args.c +#, c-format +msgid "%s: Unsupported integrity check type" +msgstr "%s:不支援的完整性檢查類型" + +#: src/xz/args.c +msgid "Only one file can be specified with '--files' or '--files0'." +msgstr "「--files」或「--files0」只能指定一個檔案。" + +#. TRANSLATORS: This is a translatable +#. string because French needs a space +#. before the colon ("%s : %s"). +#: src/xz/args.c src/xz/coder.c src/xz/file_io.c src/xz/list.c src/xz/options.c +#: src/xz/util.c +#, c-format +msgid "%s: %s" +msgstr "%s:%s" + +#: src/xz/args.c +#, c-format +msgid "The environment variable %s contains too many arguments" +msgstr "%s 環境變數包含過多參數" + +#: src/xz/args.c +msgid "Compression support was disabled at build time" +msgstr "已在編譯時停用壓縮支援" + +#: src/xz/args.c +msgid "Decompression support was disabled at build time" +msgstr "已在編譯時停用解壓縮支援" + +#: src/xz/args.c +msgid "Compression of lzip files (.lz) is not supported" +msgstr "不支援壓縮為 lzip 檔案 (.lz)" + +#: src/xz/args.c +msgid "--block-list is ignored unless compressing to the .xz format" +msgstr "--block-list 只有在壓縮成 .xz 格式時才會生效" + +#: src/xz/args.c +msgid "With --format=raw, --suffix=.SUF is required unless writing to stdout" +msgstr "搭配 --format=raw 時,除非寫入標準輸出,否則需要傳入 --suffix=.SUF" + +#: src/xz/coder.c +msgid "Maximum number of filters is four" +msgstr "最多只能指定 4 個過濾器" + +#: src/xz/coder.c +#, c-format +msgid "Error in --filters%s=FILTERS option:" +msgstr "--filters%s=FILTERS 選項發生錯誤:" + +#: src/xz/coder.c +msgid "Memory usage limit is too low for the given filter setup." +msgstr "記憶體用量限制過低,不足以設定指定的過濾器。" + +#: src/xz/coder.c +#, c-format +msgid "filter chain %u used by --block-list but not specified with --filters%u=" +msgstr "--block-list 使用了 %u,但未使用 --filters%u= 指定" + +#: src/xz/coder.c +msgid "Using a preset in raw mode is discouraged." +msgstr "不建議在 Raw 模式使用設定檔。" + +#: src/xz/coder.c +msgid "The exact options of the presets may vary between software versions." +msgstr "設定檔的選項可能因軟體版本而有異。" + +#: src/xz/coder.c +msgid "The .lzma format supports only the LZMA1 filter" +msgstr ".lzma 格式僅支援 LZMA1 過濾器" + +#: src/xz/coder.c +msgid "LZMA1 cannot be used with the .xz format" +msgstr "LZMA1 不能與 .xz 格式一同使用" + +#: src/xz/coder.c +#, c-format +msgid "Filter chain %u is incompatible with --flush-timeout" +msgstr "過濾鏈 %u 與 --flush-timeout 不相容" + +#: src/xz/coder.c +msgid "Switching to single-threaded mode due to --flush-timeout" +msgstr "因指定 --flush-timeout,因此切換到單執行緒模式" + +#: src/xz/coder.c +#, c-format +msgid "Unsupported options in filter chain %u" +msgstr "過濾鏈 %u 不支援此選項" + +#: src/xz/coder.c +#, c-format +msgid "Using up to % threads." +msgstr "使用最多 % 個執行緒。" + +#: src/xz/coder.c +msgid "Unsupported filter chain or filter options" +msgstr "不支援的或過濾器選項" + +#: src/xz/coder.c +#, c-format +msgid "Decompression will need %s MiB of memory." +msgstr "解壓縮將需要 %s MiB 的記憶體。" + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to %s to not exceed the memory usage limit of %s MiB" +msgstr "已將執行緒數量從 %s 個減少至 %s 個,以不超過記憶體用量的 %s MiB 限制" + +#: src/xz/coder.c +#, c-format +msgid "Reduced the number of threads from %s to one. The automatic memory usage limit of %s MiB is still being exceeded. %s MiB of memory is required. Continuing anyway." +msgstr "已將執行緒數量從 %s 減少至一個,但依然超出 %s MiB 的自動記憶體用量限制。需要 %s MiB 的記憶體。依然繼續執行。" + +#: src/xz/coder.c +#, c-format +msgid "Switching to single-threaded mode to not exceed the memory usage limit of %s MiB" +msgstr "正在切換至單執行緒模式,以免超出 %s MiB 的記憶體用量限制" + +#: src/xz/coder.c +#, 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 "已將 LZMA%c 的字典大小從 %s MiB 調整至 %s MiB,以不超過記憶體用量的 %s MiB 限制" + +#: src/xz/coder.c +#, c-format +msgid "Adjusted LZMA%c dictionary size for --filters%u from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" +msgstr "已將 --filters%2$u 的 LZMA%1$c 字典大小,將 %3$s MiB 調整為 %4$s MiB,以避免超過 %5$s MiB 的記憶體用量限制" + +#: src/xz/coder.c +#, c-format +msgid "Error changing to filter chain %u: %s" +msgstr "變更為 %u 時發生錯誤:%s" + +#: src/xz/file_io.c +#, c-format +msgid "Error creating a pipe: %s" +msgstr "建立管線時發生錯誤:%s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: poll() failed: %s" +msgstr "%s:poll() 失敗:%s" + +#. 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 +#, c-format +msgid "%s: File seems to have been moved, not removing" +msgstr "%s:檔案似乎已經遷移,不移除" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot remove: %s" +msgstr "%s:無法移除:%s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file owner: %s" +msgstr "%s:無法設定檔案所有者:%s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file group: %s" +msgstr "%s:無法設定檔案群組:%s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Cannot set the file permissions: %s" +msgstr "%s:無法設定檔案權限:%s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Synchronizing the file failed: %s" +msgstr "%s:同步檔案失敗:%s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Synchronizing the directory of the file failed: %s" +msgstr "%s:同步檔案目錄失敗:%s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard input: %s" +msgstr "從標準輸入取得檔案狀態旗標時發生錯誤:%s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a symbolic link, skipping" +msgstr "%s:是個符號連結,跳過" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Is a directory, skipping" +msgstr "%s:是個目錄,跳過" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Not a regular file, skipping" +msgstr "%s:不是一般檔案,跳過" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has setuid or setgid bit set, skipping" +msgstr "%s:檔案已設定 setuid 或 setgid 位元,跳過" + +#: src/xz/file_io.c +#, c-format +msgid "%s: File has sticky bit set, skipping" +msgstr "%s:檔案已設定黏性位元(sticky bit),跳過" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Input file has more than one hard link, skipping" +msgstr "%s:輸入檔有超過一個實際連結 (hard link),跳過" + +#: src/xz/file_io.c +msgid "Empty filename, skipping" +msgstr "空檔名,跳過" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the status flags to standard input: %s" +msgstr "將狀態旗標還原到標準輸入時發生錯誤:%s" + +#: src/xz/file_io.c +#, c-format +msgid "Error getting the file status flags from standard output: %s" +msgstr "從標準輸出取得檔案狀態旗標時發生錯誤:%s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Opening the directory failed: %s" +msgstr "%s:開啟目錄失敗:%s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Destination is not a regular file" +msgstr "%s:目的地不是一般檔案" + +#: src/xz/file_io.c +#, c-format +msgid "Error restoring the O_APPEND flag to standard output: %s" +msgstr "將 O_APPEND 旗標還原到標準輸出時發生錯誤:%s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Closing the file failed: %s" +msgstr "%s:關閉檔案失敗:%s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Seeking failed when trying to create a sparse file: %s" +msgstr "%s:嘗試建立疏鬆檔案時發生搜尋失敗:%s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Read error: %s" +msgstr "%s:讀取時發生錯誤:%s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Error seeking the file: %s" +msgstr "%s:搜尋檔案時發生錯誤:%s" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Unexpected end of file" +msgstr "%s:非期望的檔案結尾" + +#: src/xz/file_io.c +#, c-format +msgid "%s: Write error: %s" +msgstr "%s:寫入時發生錯誤:%s" + +#: src/xz/hardware.c +msgid "Disabled" +msgstr "已停用" + +#: src/xz/hardware.c +msgid "Amount of physical memory (RAM):" +msgstr "實體記憶體 (RAM) 數量:" + +#: src/xz/hardware.c +msgid "Number of processor threads:" +msgstr "處理器執行緒的數量:" + +#: src/xz/hardware.c +msgid "Compression:" +msgstr "壓縮:" + +#: src/xz/hardware.c +msgid "Decompression:" +msgstr "解壓縮:" + +#: src/xz/hardware.c +msgid "Multi-threaded decompression:" +msgstr "多執行緒解壓縮:" + +#: src/xz/hardware.c +msgid "Default for -T0:" +msgstr "-T0 的預設值:" + +#: src/xz/hardware.c +msgid "Hardware information:" +msgstr "硬體資訊:" + +#: src/xz/hardware.c +msgid "Memory usage limits:" +msgstr "記憶體用量上限:" + +#: src/xz/list.c +msgid "Streams:" +msgstr "串流:" + +#: src/xz/list.c +msgid "Blocks:" +msgstr "區塊:" + +#: src/xz/list.c +msgid "Compressed size:" +msgstr "壓縮後大小:" + +#: src/xz/list.c +msgid "Uncompressed size:" +msgstr "壓縮前大小:" + +#: src/xz/list.c +msgid "Ratio:" +msgstr "壓縮比:" + +#: src/xz/list.c +msgid "Check:" +msgstr "檢查:" + +#: src/xz/list.c +msgid "Stream Padding:" +msgstr "串流填充:" + +#: src/xz/list.c +msgid "Memory needed:" +msgstr "所需記憶體:" + +#: src/xz/list.c +msgid "Sizes in headers:" +msgstr "檔頭中標示大小:" + +#: src/xz/list.c +msgid "Number of files:" +msgstr "檔案數:" + +#: src/xz/list.c +msgid "Stream" +msgstr "串流" + +#: src/xz/list.c +msgid "Block" +msgstr "區塊" + +#: src/xz/list.c +msgid "Blocks" +msgstr "區塊" + +#: src/xz/list.c +msgid "CompOffset" +msgstr "壓縮偏移" + +#: src/xz/list.c +msgid "UncompOffset" +msgstr "未壓縮偏移" + +#: src/xz/list.c +msgid "CompSize" +msgstr "壓縮大小" + +#: src/xz/list.c +msgid "UncompSize" +msgstr "未壓縮大小" + +#: src/xz/list.c +msgid "TotalSize" +msgstr "總計大小" + +#: src/xz/list.c +msgid "Ratio" +msgstr "比率" + +#: src/xz/list.c +msgid "Check" +msgstr "檢查" + +#: src/xz/list.c +msgid "CheckVal" +msgstr "檢查值" + +#: src/xz/list.c +msgid "Padding" +msgstr "補空" + +#: src/xz/list.c +msgid "Header" +msgstr "檔頭" + +#: src/xz/list.c +msgid "Flags" +msgstr "旗標" + +#: src/xz/list.c +msgid "MemUsage" +msgstr "Mem用量" + +#: src/xz/list.c +msgid "Filters" +msgstr "過濾器" + +#. TRANSLATORS: Indicates that there is no integrity check. +#. This string is used in tables. In older xz version this +#. string was limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "None" +msgstr "無" + +#. TRANSLATORS: Indicates that integrity check name is not known, +#. but the Check ID is known (here 2). In older xz version these +#. strings were limited to ten columns in a fixed-width font, but +#. nowadays there is no strict length restriction anymore. +#: src/xz/list.c +msgid "Unknown-2" +msgstr "未知-2" + +#: src/xz/list.c +msgid "Unknown-3" +msgstr "未知-3" + +#: src/xz/list.c +msgid "Unknown-5" +msgstr "未知-5" + +#: src/xz/list.c +msgid "Unknown-6" +msgstr "未知-6" + +#: src/xz/list.c +msgid "Unknown-7" +msgstr "未知-7" + +#: src/xz/list.c +msgid "Unknown-8" +msgstr "未知-8" + +#: src/xz/list.c +msgid "Unknown-9" +msgstr "未知-9" + +#: src/xz/list.c +msgid "Unknown-11" +msgstr "未知-11" + +#: src/xz/list.c +msgid "Unknown-12" +msgstr "未知-12" + +#: src/xz/list.c +msgid "Unknown-13" +msgstr "未知-13" + +#: src/xz/list.c +msgid "Unknown-14" +msgstr "未知-14" + +#: src/xz/list.c +msgid "Unknown-15" +msgstr "未知-15" + +#: src/xz/list.c +#, c-format +msgid "%s: File is empty" +msgstr "%s:檔案是空的" + +#: src/xz/list.c +#, c-format +msgid "%s: Too small to be a valid .xz file" +msgstr "%s:因過小而不認為是個有效 .xz 檔" + +#. 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 +msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" +msgstr " 串流 區塊 已壓縮 未壓縮 比例 檢驗碼 檔名" + +#: src/xz/list.c +msgid "Yes" +msgstr "是" + +#: src/xz/list.c +msgid "No" +msgstr "否" + +#: src/xz/list.c +msgid "Minimum XZ Utils version:" +msgstr "最小 XZ 工具程式版本:" + +#. 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 +#, c-format +msgid "%s file\n" +msgid_plural "%s files\n" +msgstr[0] "%s 個檔案\n" + +#: src/xz/list.c +msgid "Totals:" +msgstr "總計:" + +#: src/xz/list.c +msgid "--list works only on .xz files (--format=xz or --format=auto)" +msgstr "--list 只能在 .xz 檔使用(--format=xz 或 --format=auto)" + +#: src/xz/list.c +msgid "Try 'lzmainfo' with .lzma files." +msgstr "試試看用「lzmainfo」處理 .lzma 檔案。" + +#: src/xz/list.c +msgid "--list does not support reading from standard input" +msgstr "--list 不支援從標準輸入讀取" + +#: src/xz/main.c +#, c-format +msgid "%s: Error reading filenames: %s" +msgstr "%s:讀取檔名時發生錯誤:%s" + +#: src/xz/main.c +#, c-format +msgid "%s: Unexpected end of input when reading filenames" +msgstr "%s:讀取檔名時遇到非預期的輸入結尾" + +#: src/xz/main.c +#, c-format +msgid "%s: Null character found when reading filenames; maybe you meant to use '--files0' instead of '--files'?" +msgstr "%s:讀取檔名時發現空字元;或許您想使用「--files0」而非「--files」?" + +#: src/xz/main.c +msgid "Compression and decompression with --robot are not supported yet." +msgstr "尚未支援搭配 --robot 壓縮和解壓縮。" + +#: src/xz/main.c +msgid "Cannot read data from standard input when reading filenames from standard input" +msgstr "從標準輸入讀取檔名時,無法從標準輸入讀取資料" + +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s: " +msgstr "%s:" + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "Internal error (bug)" +msgstr "內部錯誤(臭蟲)" + +#: src/xz/message.c +msgid "Cannot establish signal handlers" +msgstr "無法確立信號處理器" + +#: src/xz/message.c +msgid "No integrity check; not verifying file integrity" +msgstr "沒有完整性檢查;不驗證檔案完整性" + +#: src/xz/message.c +msgid "Unsupported type of integrity check; not verifying file integrity" +msgstr "未知完整性檢查類型;不驗證檔案完整性" + +#: src/xz/message.c +msgid "Memory usage limit reached" +msgstr "達到記憶體用量上限" + +#: src/xz/message.c +msgid "File format not recognized" +msgstr "無法識別檔案格式" + +#: src/xz/message.c +msgid "Unsupported options" +msgstr "不支援的選項" + +#: src/xz/message.c +msgid "Compressed data is corrupt" +msgstr "壓縮資料是損壞的" + +#: src/xz/message.c +msgid "Unexpected end of input" +msgstr "遇到非預期輸入結尾" + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limiter is disabled." +msgstr "需要 %s MiB 的記憶體。已停用記憶體限制器。" + +#: src/xz/message.c +#, c-format +msgid "%s MiB of memory is required. The limit is %s." +msgstr "需要 %s MiB 的記憶體。記憶體限制為 %s。" + +#: src/xz/message.c +#, c-format +msgid "%s: Filter chain: %s\n" +msgstr "%s:過濾鏈:%s\n" + +#: src/xz/message.c +#, c-format +msgid "Try '%s --help' for more information." +msgstr "嘗試「%s --help」取得更多資訊。" + +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Error printing the help text (error code %d)" +msgstr "輸出說明文字時發生錯誤(錯誤碼 %d)" + +#: src/xz/message.c +#, c-format +msgid "Usage: %s [OPTION]... [FILE]...\n" +msgstr "用法:%s [OPTION]... [FILE]...\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Compress or decompress FILEs in the .xz format." +msgstr "用 .xz 格式壓縮,或解壓縮 .xz 格式中的 <檔案>。" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Mandatory arguments to long options are mandatory for short options too." +msgstr "長選項的必填引數,對短選項也是必填。" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Operation mode:" +msgstr "操作模式:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force compression" +msgstr "強制壓縮" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force decompression" +msgstr "強制解壓縮" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "test compressed file integrity" +msgstr "測試壓縮後檔案的完整性" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "list information about .xz files" +msgstr "列出更多 .xz 檔案的資訊" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Operation modifiers:" +msgstr "操作修飾元:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "keep (don't delete) input files" +msgstr "保留(不要刪除)輸入檔案" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "force overwrite of output file and (de)compress links" +msgstr "強制覆蓋輸出檔案並壓縮/解壓縮連結" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "write to standard output and don't delete input files" +msgstr "輸出到標準輸出,且不刪除輸入檔案" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't synchronize the output file to the storage device before removing the input file" +msgstr "移除輸入檔案前,不要將輸出檔案同步至儲存裝置" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "decompress only the first stream, and silently ignore possible remaining input data" +msgstr "僅解壓縮第一個串流,再安靜地忽略可能剩餘的輸入資料" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "do not create sparse files when decompressing" +msgstr "不要在解壓縮時建立稀疏檔案" + +#: src/xz/message.c +msgid ".SUF" +msgstr ".SUF" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use the suffix '.SUF' on compressed files" +msgstr "在壓縮後的檔案加入「.SUF」後綴" + +#: src/xz/message.c +msgid "FILE" +msgstr "FILE" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "read filenames to process from FILE; if FILE is omitted, filenames are read from the standard input; filenames must be terminated with the newline character" +msgstr "從 FILE 讀取要處理的檔案名稱,若未指定 FILE,\t則從標準輸入讀取檔案名稱。檔案名稱必須以換行字元結尾" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "like --files but use the null character as terminator" +msgstr "類似 --files 但使用 null 字元作為終止字元" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Basic file format and compression options:" +msgstr "基本檔案格式與壓縮選項:" + +#: src/xz/message.c +msgid "FORMAT" +msgstr "FORMAT" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "file format to encode or decode; possible values are 'auto' (default), 'xz', 'lzma', 'lzip', and 'raw'" +msgstr "要編解碼的檔案格式,可以輸入的值有「auto」(預設值)、\t「xz」、「lzma」、「lzip」和「raw」" + +#: src/xz/message.c +msgid "NAME" +msgstr "NAME" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "integrity check type: 'none' (use with caution), 'crc32', 'crc64' (default), or 'sha256'" +msgstr "完整性檢查類型:「none」(小心使用)、「crc32」、\t「crc64」(預設值)或「sha256」" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "don't verify the integrity check when decompressing" +msgstr "解壓縮時不進行完整性檢查" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression preset; default is 6; take compressor *and* decompressor memory usage into account before using 7-9!" +msgstr "壓縮設定檔。預設值為 6,使用 7-9 壓縮等級前,\t請務必考量壓縮與解壓縮的記憶體用量!" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "try to improve compression ratio by using more CPU time; does not affect decompressor memory requirements" +msgstr "嘗試使用更多 CPU 時間來改善壓縮率\t(不影響解壓縮器的記憶體需求)" + +#. TRANSLATORS: Short for NUMBER. A longer string is fine but +#. wider than 5 columns makes --long-help a few lines longer. +#: src/xz/message.c +msgid "NUM" +msgstr "NUM" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use at most NUM threads; the default is 0 which uses as many threads as there are processor cores" +msgstr "使用最多 NUM 個執行緒。預設為 0,即使用所有的處理器核心" + +#: src/xz/message.c +msgid "SIZE" +msgstr "SIZE" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after every SIZE bytes of input; use this to set the block size for threaded compression" +msgstr "每處理 SIZE 位元組的輸入資料後,就開始一個新的 .xz 區塊。\t使用這個設定多執行緒壓縮的區塊大小" + +#: src/xz/message.c +msgid "BLOCKS" +msgstr "BLOCKS" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start a new .xz block after the given comma-separated intervals of uncompressed data; optionally, specify a filter chain number (0-9) followed by a ':' before the uncompressed data size" +msgstr "在指定的未壓縮資料間隔(以逗號分隔)後開始新的 .xz 區塊,\t可以選擇在未壓縮資料大小前加上過濾鏈編號(0-9)\t和冒號「:」" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "when compressing, if more than NUM milliseconds has passed since the previous flush and reading more input would block, all pending data is flushed out" +msgstr "壓縮時,若自上次排清後已超過 NUM 毫秒,\t且讀取更多輸入會造成阻塞,則將所有待處理資料排清" + +#: src/xz/message.c +msgid "LIMIT" +msgstr "LIMIT" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, no-c-format +msgid "set memory usage limit for compression, decompression, threaded decompression, or all of these; LIMIT is in bytes, % of RAM, or 0 for defaults" +msgstr "設定壓縮、解壓縮、多執行緒解壓縮或所有這些模式的記憶體\t上限。\tLIMIT 的單位可以是位元組、\t記憶體佔用百分比,\t或 0 表示預設值" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "if compression settings exceed the memory usage limit, give an error instead of adjusting the settings downwards" +msgstr "如果壓縮設定超過記憶體用量上限,請給出錯誤而非下調設定" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Custom filter chain for compression (an alternative to using presets):" +msgstr "自訂壓縮過濾鏈(設定檔以外的替代選項):" + +#: src/xz/message.c +msgid "FILTERS" +msgstr "FILTERS" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set the filter chain using the liblzma filter string syntax; use --filters-help for more information" +msgstr "使用 liblzma 過濾器字串語法設定過濾鏈。輸入 --filters-help 取得更多資訊" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "set additional filter chains using the liblzma filter string syntax to use with --block-list" +msgstr "使用 liblzma 過濾器字串語法設定額外的過濾鏈,以配合 --block-list 使用" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display more information about the liblzma filter string syntax and exit" +msgstr "顯示有關 liblzma 過濾器字串語法的更多資訊後結束" + +#. TRANSLATORS: Short for OPTIONS. +#: src/xz/message.c +msgid "OPTS" +msgstr "OPTS" + +#. TRANSLATORS: Use semicolon (or its fullwidth form) +#. in "(valid values; default)" even if it is weird in +#. your language. There are non-translatable strings +#. that look like "(foo, bar, baz; foo)" which list +#. the supported values and the default value. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "LZMA1 or LZMA2; OPTS is a comma-separated list of zero or more of the following options (valid values; default):" +msgstr "LZMA1 或 LZMA2。OPTS 是個以逗號分隔的列表,內有 0 或多個下述選項(有效值;預設值):" + +#. TRANSLATORS: Short for PRESET. A longer string is +#. fine but wider than 4 columns makes --long-help +#. one line longer. +#: src/xz/message.c +msgid "PRE" +msgstr "PRE" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "reset options to a preset" +msgstr "將選項重設為設定檔的值" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "dictionary size" +msgstr "字典大小" + +#. TRANSLATORS: The word "literal" in "literal context +#. bits" means how many "context bits" to use when +#. encoding literals. A literal is a single 8-bit +#. byte. It doesn't mean "literally" here. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +msgid "number of literal context bits" +msgstr "字元上下文位元數" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +msgid "number of literal position bits" +msgstr "字元位置位元數" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, fuzzy +msgid "number of position bits" +msgstr "位置位元的數量" + +#: src/xz/message.c +msgid "MODE" +msgstr "MODE" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "compression mode" +msgstr "壓縮模式" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "nice length of a match" +msgstr "符合項目的最佳長度" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "match finder" +msgstr "比對搜尋器" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "maximum search depth; 0=automatic (default)" +msgstr "最大搜尋深度。0 表示自動(預設值)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "x86 BCJ filter (32-bit and 64-bit)" +msgstr "x86 BCJ 過濾器(32 或 64 位元)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM BCJ filter" +msgstr "ARM BCJ 過濾器" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM-Thumb BCJ filter" +msgstr "ARM-Thumb BCJ 過濾器" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "ARM64 BCJ filter" +msgstr "ARM64 BCJ 過濾器" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "PowerPC BCJ filter (big endian only)" +msgstr "PowerPC BCJ 過濾器(只面向大端序)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "IA-64 (Itanium) BCJ filter" +msgstr "IA-64 (Itanium) BCJ 過濾器" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "SPARC BCJ filter" +msgstr "SPARC BCJ 過濾器" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "RISC-V BCJ filter" +msgstr "RISC-V BCJ 過濾器" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Valid OPTS for all BCJ filters:" +msgstr "對所有 BCJ 過濾器都有效的 OPTS:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "start offset for conversions (default=0)" +msgstr "轉換的起始位移(預設值=0)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Delta filter; valid OPTS (valid values; default):" +msgstr "差異過濾器。有效 OPTS(有效值;預設值):" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "distance between bytes being subtracted from each other" +msgstr "相減位元組之間的距離" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "Other options:" +msgstr "其他選項:" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "suppress warnings; specify twice to suppress errors too" +msgstr "隱藏警告,指定兩次則一併隱藏錯誤" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "be verbose; specify twice for even more verbose" +msgstr "輸出得更詳細,指定兩次則會輸出得更詳細" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "make warnings not affect the exit status" +msgstr "即使有警告也不改變結束狀態碼" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "use machine-parsable messages (useful for scripts)" +msgstr "輸出機器可以解析的訊息(適合用於指令稿)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the total amount of RAM and the currently active memory usage limits, and exit" +msgstr "顯示記憶體總量和目前生效的記憶體用量限制後結束" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the short help (lists only the basic options)" +msgstr "顯示比較短的說明文字(只列出基本選項)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this long help and exit" +msgstr "顯示較長的說明文字後結束" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display this short help and exit" +msgstr "顯示較短的說明文字後結束" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the long help (lists also the advanced options)" +msgstr "顯示比較長的說明文字(一併列出進階選項)" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "display the version number and exit" +msgstr "顯示版本號碼後結束" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +msgid "With no FILE, or when FILE is -, read standard input." +msgstr "如果 FILE 沒有指定或指定為 -,則從標準輸入讀取。" + +#. TRANSLATORS: This message indicates the bug reporting +#. address for this package. Please add another line saying +#. "\nReport translation bugs to <...>." with the email or WWW +#. address for translation bugs. Thanks! +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "Report bugs to <%s> (in English or Finnish)." +msgstr "請回報臭蟲至 <%s>(使用英文或芬蘭語)。" + +#. TRANSLATORS: The first %s is the name of this software. +#. The second <%s> is an URL. +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c src/lzmainfo/lzmainfo.c +#, c-format +msgid "%s home page: <%s>" +msgstr "%s 首頁:<%s>" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "THIS IS A DEVELOPMENT VERSION NOT INTENDED FOR PRODUCTION USE." +msgstr "此為開發版本,不打算在生產環境使用。" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +#, c-format +msgid "Filter chains are set using the --filters=FILTERS or --filters1=FILTERS ... --filters9=FILTERS options. Each filter in the chain can be separated by spaces or '--'. Alternatively a preset %s can be specified instead of a filter chain." +msgstr "過濾鏈可透過 --filters=FILTERS 或 --filters1=FILTERS ... --filters9=FILTERS 選項來設定。鏈中的每個過濾器可以用空格或 '--' 分隔。您也可以指定 %s 設定檔來取代過濾鏈。" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/xz/message.c +msgid "The supported filters and their options are:" +msgstr "支援的過濾器和選項為:" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "Options must be 'name=value' pairs separated with commas" +msgstr "選項必須是以逗號分隔的「name=value」值對" + +#: src/xz/options.c +#, c-format +msgid "%s: Invalid option name" +msgstr "%s:選項名稱無效" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "Invalid option value" +msgstr "選項值無效" + +#: src/xz/options.c +#, c-format +msgid "Unsupported LZMA1/LZMA2 preset: %s" +msgstr "不支援的 LZMA1/LZMA2 設定檔:%s" + +#: src/xz/options.c src/liblzma/common/string_conversion.c +msgid "The sum of lc and lp must not exceed 4" +msgstr "lc 和 lp 的總和不能超過 4" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Filename has an unknown suffix, skipping" +msgstr "%s:檔名有未知後綴,跳過" + +#: src/xz/suffix.c +#, c-format +msgid "%s: File already has '%s' suffix, skipping" +msgstr "%s:檔案已有「%s」後綴,略過" + +#: src/xz/suffix.c +#, c-format +msgid "%s: Invalid filename suffix" +msgstr "%s:檔名後綴無效" + +#: src/xz/util.c src/liblzma/common/string_conversion.c +msgid "Value is not a non-negative decimal integer" +msgstr "數值不是非負數十進位整數" + +#: src/xz/util.c +#, c-format +msgid "%s: Invalid multiplier suffix" +msgstr "%s:乘數後綴無效" + +#: src/xz/util.c +msgid "Valid suffixes are 'KiB' (2^10), 'MiB' (2^20), and 'GiB' (2^30)." +msgstr "有效的後綴有「KiB」(2^10)、「MiB」(2^20) 及「GiB」(2^30)。" + +#: src/xz/util.c +#, c-format +msgid "Value of the option '%s' must be in the range [%, %]" +msgstr "選項「%s」的數值必須落在 [%, %] 範圍內" + +#: src/xz/util.c +msgid "Compressed data cannot be read from a terminal" +msgstr "不能從終端機讀入已壓縮資料" + +#: src/xz/util.c +msgid "Compressed data cannot be written to a terminal" +msgstr "不能將已壓縮資料寫入終端機" + +#: src/lzmainfo/lzmainfo.c +#, c-format +msgid "Usage: %s [--help] [--version] [FILE]...\n" +msgstr "用法:%s [--help] [--version] [FILE]...\n" + +#. This is word wrapped at spaces. The Unicode character U+00A0 works as a non-breaking space. Tab (\t) is interpret as a zero-width space (the tab itself is not displayed); U+200B is NOT supported. Manual word wrapping with \n is supported but requires care. +#: src/lzmainfo/lzmainfo.c +msgid "Show information stored in the .lzma file header." +msgstr "顯示儲存在 .lzma 檔案標頭中的資訊。" + +#: src/lzmainfo/lzmainfo.c +msgid "File is too small to be a .lzma file" +msgstr "檔案過小,故不是 .lzma 檔案" + +#: src/lzmainfo/lzmainfo.c +msgid "Not a .lzma file" +msgstr "不是 .lzma 檔案" + +#: src/common/tuklib_exit.c +msgid "Writing to standard output failed" +msgstr "寫入標準輸出失敗" + +#: src/common/tuklib_exit.c +msgid "Unknown error" +msgstr "未知錯誤" + +#: src/liblzma/common/string_conversion.c +msgid "Unsupported preset" +msgstr "不支援的設定檔" + +#: src/liblzma/common/string_conversion.c +msgid "Unsupported flag in the preset" +msgstr "設定檔中包含不支援的旗標" + +#: src/liblzma/common/string_conversion.c +msgid "Unknown option name" +msgstr "未知選項名稱" + +#: src/liblzma/common/string_conversion.c +msgid "Option value cannot be empty" +msgstr "選項值不能空白" + +#: src/liblzma/common/string_conversion.c +msgid "Value out of range" +msgstr "數值超出範圍" + +#: src/liblzma/common/string_conversion.c +msgid "This option does not support any multiplier suffixes" +msgstr "這個選項不支援任何乘數後綴" + +#. TRANSLATORS: Don't translate the +#. suffixes "KiB", "MiB", or "GiB" +#. because a user can only specify +#. untranslated suffixes. +#: src/liblzma/common/string_conversion.c +msgid "Invalid multiplier suffix (KiB, MiB, or GiB)" +msgstr "乘數後綴無效(KiB、MiB 或 GiB)" + +#: src/liblzma/common/string_conversion.c +msgid "Unknown filter name" +msgstr "未知過濾器名稱" + +#: src/liblzma/common/string_conversion.c +msgid "This filter cannot be used in the .xz format" +msgstr "這個過濾器不能在 .xz 格式中使用" + +#: src/liblzma/common/string_conversion.c +msgid "Memory allocation failed" +msgstr "分配記憶體失敗" + +#: src/liblzma/common/string_conversion.c +msgid "Empty string is not allowed, try '6' if a default value is needed" +msgstr "不允許輸入空白字串,如需預設值請輸入「6」" + +#: src/liblzma/common/string_conversion.c +msgid "The maximum number of filters is four" +msgstr "過濾器最多只能指定 4 個" + +#: src/liblzma/common/string_conversion.c +msgid "Filter name is missing" +msgstr "缺少過濾器名稱" + +#: src/liblzma/common/string_conversion.c +msgid "Invalid filter chain ('lzma2' missing at the end?)" +msgstr "無效的過濾鏈(結尾缺少「lzma2」?)" diff --git a/src/native/external/xz/po4a/de.po b/src/native/external/xz/po4a/de.po new file mode 100644 index 00000000000000..850feb63de1b0e --- /dev/null +++ b/src/native/external/xz/po4a/de.po @@ -0,0 +1,3919 @@ +# SPDX-License-Identifier: 0BSD +# German translation for xz-man. +# This file is published under the BSD Zero Clause License. +# Copyright (C) The XZ Utils authors and contributors +# +# Mario Blättermann , 2015, 2019-2020, 2022-2025. +msgid "" +msgstr "" +"Project-Id-Version: xz-man 5.8.0-pre1\n" +"Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n" +"POT-Creation-Date: 2025-03-08 14:50+0200\n" +"PO-Revision-Date: 2025-03-10 16:39+0100\n" +"Last-Translator: Mario Blättermann \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 24.12.1\n" + +#. type: TH +#: ../src/xz/xz.1 +#, no-wrap +msgid "XZ" +msgstr "XZ" + +#. type: TH +#: ../src/xz/xz.1 +#, no-wrap +msgid "2025-03-08" +msgstr "8. März 2025" + +#. type: TH +#: ../src/xz/xz.1 ../src/xzdec/xzdec.1 ../src/lzmainfo/lzmainfo.1 +#: ../src/scripts/xzdiff.1 ../src/scripts/xzgrep.1 ../src/scripts/xzless.1 +#: ../src/scripts/xzmore.1 +#, no-wrap +msgid "Tukaani" +msgstr "Tukaani" + +#. type: TH +#: ../src/xz/xz.1 ../src/xzdec/xzdec.1 ../src/lzmainfo/lzmainfo.1 +#: ../src/scripts/xzdiff.1 ../src/scripts/xzgrep.1 ../src/scripts/xzless.1 +#: ../src/scripts/xzmore.1 +#, no-wrap +msgid "XZ Utils" +msgstr "XZ-Dienstprogramme" + +#. type: SH +#: ../src/xz/xz.1 ../src/xzdec/xzdec.1 ../src/lzmainfo/lzmainfo.1 +#: ../src/scripts/xzdiff.1 ../src/scripts/xzgrep.1 ../src/scripts/xzless.1 +#: ../src/scripts/xzmore.1 +#, no-wrap +msgid "NAME" +msgstr "BEZEICHNUNG" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "xz, unxz, xzcat, lzma, unlzma, lzcat - Compress or decompress .xz and .lzma files" +msgstr "xz, unxz, xzcat, lzma, unlzma, lzcat - .xz- und .lzma-Dateien komprimieren oder dekomprimieren" + +#. type: SH +#: ../src/xz/xz.1 ../src/xzdec/xzdec.1 ../src/lzmainfo/lzmainfo.1 +#: ../src/scripts/xzdiff.1 ../src/scripts/xzgrep.1 ../src/scripts/xzless.1 +#: ../src/scripts/xzmore.1 +#, no-wrap +msgid "SYNOPSIS" +msgstr "ÜBERSICHT" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "B [I] [I]" +msgstr "B [I] [I]" + +#. type: SH +#: ../src/xz/xz.1 +#, no-wrap +msgid "COMMAND ALIASES" +msgstr "BEFEHLSALIASE" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "B is equivalent to B." +msgstr "B ist gleichbedeutend mit B." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "B is equivalent to B." +msgstr "B ist gleichbedeutend mit B." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "B is equivalent to B." +msgstr "B ist gleichbedeutend mit B." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "B is equivalent to B." +msgstr "B ist gleichbedeutend mit B." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "B is equivalent to B." +msgstr "B ist gleichbedeutend mit B." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "When writing scripts that need to decompress files, it is recommended to always use the name B with appropriate arguments (B or B) instead of the names B and B." +msgstr "Wenn Sie Skripte schreiben, die Dateien dekomprimieren, sollten Sie stets den Namen B mit den entsprechenden Argumenten (B oder B) anstelle der Namen B und B verwenden." + +#. type: SH +#: ../src/xz/xz.1 ../src/xzdec/xzdec.1 ../src/lzmainfo/lzmainfo.1 +#: ../src/scripts/xzdiff.1 ../src/scripts/xzgrep.1 ../src/scripts/xzless.1 +#: ../src/scripts/xzmore.1 +#, no-wrap +msgid "DESCRIPTION" +msgstr "BESCHREIBUNG" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "B is a general-purpose data compression tool with command line syntax similar to B(1) and B(1). The native file format is the B<.xz> format, but the legacy B<.lzma> format used by LZMA Utils and raw compressed streams with no container format headers are also supported. In addition, decompression of the B<.lz> format used by B is supported." +msgstr "B ist ein Allzweckwerkzeug zur Datenkompression, dessen Befehlszeilensyntax denen von B(1) und B(1) ähnelt. Das native Dateiformat ist das B<.xz>-Format, aber das veraltete, von den LZMA-Dienstprogrammen verwendete Format sowie komprimierte Rohdatenströme ohne Containerformat-Header werden ebenfalls unterstützt. Außerdem wird die Dekompression des von B verwendeten B<.lz>-Formats unterstützt." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "B compresses or decompresses each I according to the selected operation mode. If no I are given or I is B<->, B reads from standard input and writes the processed data to standard output. B will refuse (display an error and skip the I) to write compressed data to standard output if it is a terminal. Similarly, B will refuse to read compressed data from standard input if it is a terminal." +msgstr "B komprimiert oder dekomprimiert jede I entsprechend des gewählten Vorgangsmodus. Falls entweder B<-> oder keine Datei angegeben ist, liest B aus der Standardeingabe und leitet die verarbeiteten Dateien in die Standardausgabe. Wenn die Standardausgabe kein Terminal ist, verweigert B das Schreiben komprimierter Daten in die Standardausgabe. Dabei wird eine Fehlermeldung angezeigt und die I übersprungen. Ebenso verweigert B das Lesen komprimierter Daten aus der Standardeingabe, wenn diese ein Terminal ist." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Unless B<--stdout> is specified, I other than B<-> are written to a new file whose name is derived from the source I name:" +msgstr "I, die nicht als B<-> angegeben sind, werden in eine neue Datei geschrieben, deren Name aus dem Namen der Quell-I abgeleitet wird (außer wenn B<--stdout> angegeben ist):" + +#. type: IP +#: ../src/xz/xz.1 +#, no-wrap +msgid "\\(bu" +msgstr "\\(bu" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "When compressing, the suffix of the target file format (B<.xz> or B<.lzma>) is appended to the source filename to get the target filename." +msgstr "Bei der Kompression wird das Suffix des Formats der Zieldatei (B<.xz> oder B<.lzma>) an den Namen der Quelldatei angehängt und so der Name der Zieldatei gebildet." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "When decompressing, the B<.xz>, B<.lzma>, or B<.lz> suffix is removed from the filename to get the target filename. B also recognizes the suffixes B<.txz> and B<.tlz>, and replaces them with the B<.tar> suffix." +msgstr "Bei der Dekompression wird das Suffix B<.xz>, B<.lzma> oder B<.lz> vom Dateinamen entfernt und so der Name der Zieldatei gebildet. Außerdem erkennt B die Suffixe B<.txz> und B<.tlz> und ersetzt diese durch B<.tar>." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "If the target file already exists, an error is displayed and the I is skipped." +msgstr "Wenn die Zieldatei bereits existiert, wird eine Fehlermeldung angezeigt und die I übersprungen." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Unless writing to standard output, B will display a warning and skip the I if any of the following applies:" +msgstr "Außer beim Schreiben in die Standardausgabe zeigt B eine Warnung an und überspringt die I, wenn eine der folgenden Bedingungen zutreffend ist:" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "I is not a regular file. Symbolic links are not followed, and thus they are not considered to be regular files." +msgstr "Die I ist keine reguläre Datei. Symbolischen Verknüpfungen wird nicht gefolgt und diese daher nicht zu den regulären Dateien gezählt." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "I has more than one hard link." +msgstr "Die I hat mehr als eine harte Verknüpfung." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "I has setuid, setgid, or sticky bit set." +msgstr "Für die I ist das »setuid«-, »setgid«- oder »sticky«-Bit gesetzt." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The operation mode is set to compress and the I already has a suffix of the target file format (B<.xz> or B<.txz> when compressing to the B<.xz> format, and B<.lzma> or B<.tlz> when compressing to the B<.lzma> format)." +msgstr "Der Aktionsmodus wird auf Kompression gesetzt und die I hat bereits das Suffix des Zieldateiformats (B<.xz> oder B<.txz> beim Komprimieren in das B<.xz>-Format und B<.lzma> oder B<.tlz> beim Komprimieren in das B<.lzma>-Format)." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The operation mode is set to decompress and the I doesn't have a suffix of any of the supported file formats (B<.xz>, B<.txz>, B<.lzma>, B<.tlz>, or B<.lz>)." +msgstr "Der Aktionsmodus wird auf Dekompression gesetzt und die I hat nicht das Suffix eines der unterstützten Zieldateiformate (B<.xz>, B<.txz>, B<.lzma>, B<.tlz> oder B<.lz>)." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "After successfully compressing or decompressing the I, B copies the owner, group, permissions, access time, and modification time from the source I to the target file. If copying the group fails, the permissions are modified so that the target file doesn't become accessible to users who didn't have permission to access the source I. B doesn't support copying other metadata like access control lists or extended attributes yet." +msgstr "Nach erfolgreicher Kompression oder Dekompression der I kopiert B Eigentümer, Gruppe, Zugriffsrechte, Zugriffszeit und Änderungszeit aus der Ursprungs-I in die Zieldatei. Sollte das Kopieren der Gruppe fehlschlagen, werden die Zugriffsrechte so angepasst, dass jenen Benutzern der Zugriff auf die Zieldatei verwehrt bleibt, die auch keinen Zugriff auf die Ursprungs-I hatten. Das Kopieren anderer Metadaten wie Zugriffssteuerlisten oder erweiterter Attribute wird von B noch nicht unterstützt." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Once the target file has been successfully closed, the source I is removed unless B<--keep> was specified. The source I is never removed if the output is written to standard output or if an error occurs." +msgstr "Sobald die Zieldatei erfolgreich geschlossen wurde, wird die Ursprungs-I entfernt. Dies wird durch die Option B<--keep> verhindert. Die Ursprungs-I wird niemals entfernt, wenn die Ausgabe in die Standardausgabe geschrieben wird oder falls ein Fehler auftritt." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Sending B or B to the B process makes it print progress information to standard error. This has only limited use since when standard error is a terminal, using B<--verbose> will display an automatically updating progress indicator." +msgstr "Durch Senden der Signale B oder B an den B-Prozess werden Fortschrittsinformationen in den Fehlerkanal der Standardausgabe geleitet. Dies ist nur eingeschränkt hilfreich, wenn die Standardfehlerausgabe ein Terminal ist. Mittels B<--verbose> wird ein automatisch aktualisierter Fortschrittsanzeiger angezeigt." + +#. type: SS +#: ../src/xz/xz.1 +#, no-wrap +msgid "Memory usage" +msgstr "Speicherbedarf" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The memory usage of B varies from a few hundred kilobytes to several gigabytes depending on the compression settings. The settings used when compressing a file determine the memory requirements of the decompressor. Typically the decompressor needs 5\\ % to 20\\ % of the amount of memory that the compressor needed when creating the file. For example, decompressing a file created with B currently requires 65\\ MiB of memory. Still, it is possible to have B<.xz> files that require several gigabytes of memory to decompress." +msgstr "In Abhängigkeit von den gewählten Kompressionseinstellungen bewegt sich der Speicherverbrauch zwischen wenigen hundert Kilobyte und mehreren Gigabyte. Die Einstellungen bei der Kompression einer Datei bestimmen dabei den Speicherbedarf bei der Dekompression. Die Dekompression benötigt üblicherweise zwischen 5\\ % und 20\\ % des Speichers, der bei der Kompression der Datei erforderlich war. Beispielsweise benötigt die Dekompression einer Datei, die mit B komprimiert wurde, gegenwärtig etwa 65\\ MiB Speicher. Es ist jedoch auch möglich, dass B<.xz>-Dateien mehrere Gigabyte an Speicher zur Dekompression erfordern." + +# cripple → lahmlegen...? War mir hier zu sehr Straßenslang. +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Especially users of older systems may find the possibility of very large memory usage annoying. To prevent uncomfortable surprises, B has a built-in memory usage limiter, which is disabled by default. While some operating systems provide ways to limit the memory usage of processes, relying on it wasn't deemed to be flexible enough (for example, using B(1) to limit virtual memory tends to cripple B(2))." +msgstr "Insbesondere für Benutzer älterer Systeme wird eventuell ein sehr großer Speicherbedarf ärgerlich sein. Um unangenehme Überraschungen zu vermeiden, verfügt B über eine eingebaute Begrenzung des Speicherbedarfs, die allerdings in der Voreinstellung deaktiviert ist. Zwar verfügen einige Betriebssysteme über eingebaute Möglichkeiten zur prozessabhängigen Speicherbegrenzung, doch diese sind zu unflexibel (zum Beispiel kann B(1) beim Begrenzen des virtuellen Speichers B(2) beeinträchtigen)." + +#. TRANSLATORS: Don't translate the uppercase XZ_DEFAULTS. +#. It's a name of an environment variable. +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The memory usage limiter can be enabled with the command line option B<--memlimit=>I. Often it is more convenient to enable the limiter by default by setting the environment variable B, for example, B. It is possible to set the limits separately for compression and decompression by using B<--memlimit-compress=>I and B<--memlimit-decompress=>I. Using these two options outside B is rarely useful because a single run of B cannot do both compression and decompression and B<--memlimit=>I (or B<-M> I) is shorter to type on the command line." +msgstr "Die Begrenzung des Speicherbedarfs kann mit der Befehlszeilenoption B<--memlimit=>I aktiviert werden. Oft ist es jedoch bequemer, die Begrenzung durch Setzen der Umgebungsvariable B standardmäßig zu aktivieren, zum Beispiel B. Die Begrenzungen können getrennt für Kompression und Dekompression mittels B<--memlimit-compress=>I und B<--memlimit-decompress=>I festgelegt werden. Die Verwendung einer solchen Option außerhalb der Variable B ist kaum sinnvoll, da B in einer einzelnen Aktion nicht gleichzeitig Kompression und Dekompression ausführen kann und B<--memlimit=>I (oder B<-M> I) lässt sich einfacher in der Befehlszeile eingeben." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "If the specified memory usage limit is exceeded when decompressing, B will display an error and decompressing the file will fail. If the limit is exceeded when compressing, B will try to scale the settings down so that the limit is no longer exceeded (except when using B<--format=raw> or B<--no-adjust>). This way the operation won't fail unless the limit is very small. The scaling of the settings is done in steps that don't match the compression level presets, for example, if the limit is only slightly less than the amount required for B, the settings will be scaled down only a little, not all the way down to B." +msgstr "Wenn die angegebene Speicherbegrenzung bei der Dekompression überschritten wird, schlägt der Vorgang fehl und B zeigt eine Fehlermeldung an. Wird die Begrenzung bei der Kompression überschritten, dann versucht B die Einstellungen entsprechend anzupassen, außer wenn B<--format=raw> oder B<--no-adjust> angegeben ist. Auf diese Weise schlägt die Aktion nicht fehl, es sei denn, die Begrenzung wurde sehr niedrig angesetzt. Die Anpassung der Einstellungen wird schrittweise vorgenommen, allerdings entsprechen die Schritte nicht den Voreinstellungen der Kompressionsstufen. Das bedeutet, wenn beispielsweise die Begrenzung nur geringfügig unter den Anforderungen für B liegt, werden auch die Einstellungen nur wenig angepasst und nicht vollständig herunter zu den Werten für B" + +#. type: SS +#: ../src/xz/xz.1 +#, no-wrap +msgid "Concatenation and padding with .xz files" +msgstr "Verkettung und Auffüllung von .xz-Dateien" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "It is possible to concatenate B<.xz> files as is. B will decompress such files as if they were a single B<.xz> file." +msgstr "Es ist möglich, B<.xz>-Dateien direkt zu verketten. Solche Dateien werden von B genauso dekomprimiert wie eine einzelne B<.xz>-Datei." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "It is possible to insert padding between the concatenated parts or after the last part. The padding must consist of null bytes and the size of the padding must be a multiple of four bytes. This can be useful, for example, if the B<.xz> file is stored on a medium that measures file sizes in 512-byte blocks." +msgstr "Es ist weiterhin möglich, eine Auffüllung zwischen den verketteten Teilen oder nach dem letzten Teil einzufügen. Die Auffüllung muss aus Null-Bytes bestehen und deren Größe muss ein Vielfaches von vier Byte sein. Dies kann zum Beispiel dann vorteilhaft sein, wenn die B<.xz>-Datei auf einem Datenträger gespeichert wird, dessen Dateisystem die Dateigrößen in 512-Byte-Blöcken speichert." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Concatenation and padding are not allowed with B<.lzma> files or raw streams." +msgstr "Verkettung und Auffüllung sind für B<.lzma>-Dateien oder Rohdatenströme nicht erlaubt." + +#. type: SH +#: ../src/xz/xz.1 ../src/xzdec/xzdec.1 +#, no-wrap +msgid "OPTIONS" +msgstr "OPTIONEN" + +#. type: SS +#: ../src/xz/xz.1 +#, no-wrap +msgid "Integer suffixes and special values" +msgstr "Ganzzahlige Suffixe und spezielle Werte" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "In most places where an integer argument is expected, an optional suffix is supported to easily indicate large integers. There must be no space between the integer and the suffix." +msgstr "An den meisten Stellen, wo ein ganzzahliges Argument akzeptiert wird, kann ein optionales Suffix große Ganzzahlwerte einfacher darstellen. Zwischen Ganzzahl und dem Suffix dürfen sich keine Leerzeichen befinden." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Multiply the integer by 1,024 (2^10). B, B, B, B, and B are accepted as synonyms for B." +msgstr "multipliziert die Ganzzahl mit 1.024 (2^10). B, B, B, B und B werden als Synonyme für B akzeptiert." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Multiply the integer by 1,048,576 (2^20). B, B, B, and B are accepted as synonyms for B." +msgstr "multipliziert die Ganzzahl mit 1.048.576 (2^20). B, B, B und B werden als Synonyme für B akzeptiert." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Multiply the integer by 1,073,741,824 (2^30). B, B, B, and B are accepted as synonyms for B." +msgstr "multipliziert die Ganzzahl mit 1.073.741.824 (2^30). B, B, B und B werden als Synonyme für B akzeptiert." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The special value B can be used to indicate the maximum integer value supported by the option." +msgstr "Der spezielle Wert B kann dazu verwendet werden, um den von der jeweiligen Option akzeptierten maximalen Ganzzahlwert anzugeben." + +#. type: SS +#: ../src/xz/xz.1 +#, no-wrap +msgid "Operation mode" +msgstr "Aktionsmodus" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "If multiple operation mode options are given, the last one takes effect." +msgstr "Falls mehrere Aktionsmodi angegeben sind, wird der zuletzt angegebene verwendet." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<-z>, B<--compress>" +msgstr "B<-z>, B<--compress>" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Compress. This is the default operation mode when no operation mode option is specified and no other operation mode is implied from the command name (for example, B implies B<--decompress>)." +msgstr "Kompression. Dies ist der voreingestellte Aktionsmodus, sofern keiner angegeben ist und auch kein bestimmter Modus aus dem Befehlsnamen abgeleitet werden kann (der Befehl B impliziert zum Beispiel B<--decompress>)." + +#. The DESCRIPTION section already says this but it's good to repeat it +#. here because the default behavior is a bit dangerous and new users +#. in a hurry may skip reading the DESCRIPTION section. +#. type: Plain text +#: ../src/xz/xz.1 +msgid "After successful compression, the source file is removed unless writing to standard output or B<--keep> was specified." +msgstr "Nach erfolgreicher Kompression wird die Quelldatei gelöscht, außer wenn in die Standardausgabe geschrieben wird oder B<--keep> angegeben wurde." + +#. type: TP +#: ../src/xz/xz.1 ../src/xzdec/xzdec.1 +#, no-wrap +msgid "B<-d>, B<--decompress>, B<--uncompress>" +msgstr "B<-d>, B<--decompress>, B<--uncompress>" + +#. The DESCRIPTION section already says this but it's good to repeat it +#. here because the default behavior is a bit dangerous and new users +#. in a hurry may skip reading the DESCRIPTION section. +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Decompress. After successful decompression, the source file is removed unless writing to standard output or B<--keep> was specified." +msgstr "Dekomprimieren. Nach erfolgreicher Dekompression wird die Quelldatei gelöscht, außer wenn in die Standardausgabe geschrieben wird oder B<--keep> angegeben wurde." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<-t>, B<--test>" +msgstr "B<-t>, B<--test>" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Test the integrity of compressed I. This option is equivalent to B<--decompress --stdout> except that the decompressed data is discarded instead of being written to standard output. No files are created or removed." +msgstr "prüft die Integrität der komprimierten I. Diese Option ist gleichbedeutend mit B<--decompress --stdout>, außer dass die dekomprimierten Daten verworfen werden, anstatt sie in die Standardausgabe zu leiten. Es werden keine Dateien erstellt oder entfernt." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<-l>, B<--list>" +msgstr "B<-l>, B<--list>" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Print information about compressed I. No uncompressed output is produced, and no files are created or removed. In list mode, the program cannot read the compressed data from standard input or from other unseekable sources." +msgstr "gibt Informationen zu den komprimierten I aus. Es werden keine unkomprimierten Dateien ausgegeben und keine Dateien angelegt oder entfernt. Im Listenmodus kann das Programm keine komprimierten Daten aus der Standardeingabe oder anderen nicht durchsuchbaren Quellen lesen." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The default listing shows basic information about I, one file per line. To get more detailed information, use also the B<--verbose> option. For even more information, use B<--verbose> twice, but note that this may be slow, because getting all the extra information requires many seeks. The width of verbose output exceeds 80 characters, so piping the output to, for example, B may be convenient if the terminal isn't wide enough." +msgstr "Die Liste zeigt in der Standardeinstellung grundlegende Informationen zu den I an, zeilenweise pro Datei. Detailliertere Informationen erhalten Sie mit der Option B<--verbose>. Wenn Sie diese Option zweimal angeben, werden noch ausführlichere Informationen ausgegeben. Das kann den Vorgang allerdings deutlich verlangsamen, da die Ermittlung der zusätzlichen Informationen zahlreiche Suchvorgänge erfordert. Die Breite der ausführlichen Ausgabe übersteigt 80 Zeichen, daher könnte die Weiterleitung in beispielsweise\\& B sinnvoll sein, falls das Terminal nicht breit genug ist." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The exact output may vary between B versions and different locales. For machine-readable output, B<--robot --list> should be used." +msgstr "Die exakte Ausgabe kann in verschiedenen B-Versionen und Spracheinstellungen unterschiedlich sein. Wenn eine maschinell auswertbare Ausgabe gewünscht ist, dann sollten Sie B<--robot --list> verwenden." + +#. type: SS +#: ../src/xz/xz.1 +#, no-wrap +msgid "Operation modifiers" +msgstr "Aktionsattribute" + +#. type: TP +#: ../src/xz/xz.1 ../src/xzdec/xzdec.1 +#, no-wrap +msgid "B<-k>, B<--keep>" +msgstr "B<-k>, B<--keep>" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Don't delete the input files." +msgstr "verhindert das Löschen der Eingabedateien." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Since B 5.2.6, this option also makes B compress or decompress even if the input is a symbolic link to a regular file, has more than one hard link, or has the setuid, setgid, or sticky bit set. The setuid, setgid, and sticky bits are not copied to the target file. In earlier versions this was only done with B<--force>." +msgstr "Seit der B-Version 5.2.6 wird die Kompression oder Dekompression auch dann ausgeführt, wenn die Eingabe ein symbolischer Link zu einer regulären Datei ist, mehr als einen harten Link hat oder das »setuid«-, »setgid«- oder »sticky«-Bit gesetzt ist. Die genannten Bits werden nicht in die Zieldatei kopiert. In früheren Versionen geschah dies nur mit B<--force>." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<-f>, B<--force>" +msgstr "B<-f>, B<--force>" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "This option has several effects:" +msgstr "Diese Option hat verschiedene Auswirkungen:" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "If the target file already exists, delete it before compressing or decompressing." +msgstr "Wenn die Zieldatei bereits existiert, wird diese vor der Kompression oder Dekompression gelöscht." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Compress or decompress even if the input is a symbolic link to a regular file, has more than one hard link, or has the setuid, setgid, or sticky bit set. The setuid, setgid, and sticky bits are not copied to the target file." +msgstr "Die Kompression oder Dekompression wird auch dann ausgeführt, wenn die Eingabe ein symbolischer Link zu einer regulären Datei ist, mehr als einen harten Link hat oder das »setuid«-, »setgid«- oder »sticky«-Bit gesetzt ist. Die genannten Bits werden nicht in die Zieldatei kopiert." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "When used with B<--decompress> B<--stdout> and B cannot recognize the type of the source file, copy the source file as is to standard output. This allows B B<--force> to be used like B(1) for files that have not been compressed with B. Note that in future, B might support new compressed file formats, which may make B decompress more types of files instead of copying them as is to standard output. B<--format=>I can be used to restrict B to decompress only a single file format." +msgstr "Wenn es zusammen mit B<--decompress> und B<--stdout> verwendet wird und B den Typ der Quelldatei nicht ermitteln kann, wird die Quelldatei unverändert in die Standardausgabe kopiert. Dadurch kann B B<--force> für Dateien, die nicht mit B komprimiert wurden, wie B(1) verwendet werden. Zukünftig könnte B neue Dateikompressionsformate unterstützen, wodurch B mehr Dateitypen dekomprimieren kann, anstatt sie unverändert in die Standardausgabe zu kopieren. Mit der Option B<--format=>I können Sie B anweisen, nur ein einzelnes Dateiformat zu dekomprimieren." + +#. type: TP +#: ../src/xz/xz.1 ../src/xzdec/xzdec.1 +#, no-wrap +msgid "B<-c>, B<--stdout>, B<--to-stdout>" +msgstr "B<-c>, B<--stdout>, B<--to-stdout>" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Write the compressed or decompressed data to standard output instead of a file. This implies B<--keep>." +msgstr "schreibt die komprimierten oder dekomprimierten Daten in die Standardausgabe anstatt in eine Datei. Dies impliziert B<--keep>." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<--single-stream>" +msgstr "B<--single-stream>" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Decompress only the first B<.xz> stream, and silently ignore possible remaining input data following the stream. Normally such trailing garbage makes B display an error." +msgstr "dekomprimiert nur den ersten B<.xz>-Datenstrom und ignoriert stillschweigend weitere Eingabedaten, die möglicherweise dem Datenstrom folgen. Normalerweise führt solcher anhängender Datenmüll dazu, dass B eine Fehlermeldung ausgibt." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "B never decompresses more than one stream from B<.lzma> files or raw streams, but this option still makes B ignore the possible trailing data after the B<.lzma> file or raw stream." +msgstr "B dekomprimiert niemals mehr als einen Datenstrom aus B<.lzma>-Dateien oder Rohdatenströmen, aber dennoch wird durch diese Option möglicherweise vorhandener Datenmüll nach der B<.lzma>-Datei oder dem Rohdatenstrom ignoriert." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "This option has no effect if the operation mode is not B<--decompress> or B<--test>." +msgstr "Diese Option ist wirkungslos, wenn der Aktionsmodus nicht B<--decompress> oder B<--test> ist." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Since B 5.7.1alpha, B<--single-stream> implies B<--keep>." +msgstr "Seit der Programmversion B 5.7.1alpha impliziert B<--single-stream> zusätzlich die Option B<--keep>." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<--no-sparse>" +msgstr "B<--no-sparse>" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Disable creation of sparse files. By default, if decompressing into a regular file, B tries to make the file sparse if the decompressed data contains long sequences of binary zeros. It also works when writing to standard output as long as standard output is connected to a regular file and certain additional conditions are met to make it safe. Creating sparse files may save disk space and speed up the decompression by reducing the amount of disk I/O." +msgstr "verhindert die Erzeugung von Sparse-Dateien. In der Voreinstellung versucht B, bei der Dekompression in eine reguläre Datei eine Sparse-Datei zu erzeugen, wenn die dekomprimierten Daten lange Abfolgen von binären Nullen enthalten. Dies funktioniert auch beim Schreiben in die Standardausgabe, sofern diese in eine reguläre Datei weitergeleitet wird und bestimmte Zusatzbedingungen erfüllt sind, die die Aktion absichern. Die Erzeugung von Sparse-Dateien kann Plattenplatz sparen und beschleunigt die Dekompression durch Verringerung der Ein-/Ausgaben der Platte." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<-S> I<.suf>, B<--suffix=>I<.suf>" +msgstr "B<-S> I<.suf>, B<--suffix=>I<.suf>" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "When compressing, use I<.suf> as the suffix for the target file instead of B<.xz> or B<.lzma>. If not writing to standard output and the source file already has the suffix I<.suf>, a warning is displayed and the file is skipped." +msgstr "verwendet I<.suf> bei der Dekompression anstelle von B<.xz> oder B<.lzma> als Suffix für die Zieldatei. Falls nicht in die Standardausgabe geschrieben wird und die Quelldatei bereits das Suffix I<.suf> hat, wird eine Warnung angezeigt und die Datei übersprungen." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "When decompressing, recognize files with the suffix I<.suf> in addition to files with the B<.xz>, B<.txz>, B<.lzma>, B<.tlz>, or B<.lz> suffix. If the source file has the suffix I<.suf>, the suffix is removed to get the target filename." +msgstr "berücksichtigt bei der Dekompression zusätzlich zu Dateien mit den Suffixen B<.xz>, B<.txz>, B<.lzma>, B<.tlz> oder B<.lz> auch jene mit dem Suffix I<.suf>. Falls die Quelldatei das Suffix I<.suf> hat, wird dieses entfernt und so der Name der Zieldatei abgeleitet." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "When compressing or decompressing raw streams (B<--format=raw>), the suffix must always be specified unless writing to standard output, because there is no default suffix for raw streams." +msgstr "Beim Komprimieren oder Dekomprimieren von Rohdatenströmen mit B<--format=raw> muss das Suffix stets angegeben werden, außer wenn die Ausgabe in die Standardausgabe erfolgt. Der Grund dafür ist, dass es kein vorgegebenes Suffix für Rohdatenströme gibt." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<--files>[B<=>I]" +msgstr "B<--files>[B<=>I]" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Read the filenames to process from I; if I is omitted, filenames are read from standard input. Filenames must be terminated with the newline character. A dash (B<->) is taken as a regular filename; it doesn't mean standard input. If filenames are given also as command line arguments, they are processed before the filenames read from I." +msgstr "liest die zu verarbeitenden Dateinamen aus I. Falls keine I angegeben ist, werden die Dateinamen aus der Standardeingabe gelesen. Dateinamen müssen mit einem Zeilenumbruch beendet werden. Ein Bindestrich (B<->) wird als regulärer Dateiname angesehen und nicht als Standardeingabe interpretiert. Falls Dateinamen außerdem als Befehlszeilenargumente angegeben sind, werden diese vor den Dateinamen aus der I verarbeitet." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<--files0>[B<=>I]" +msgstr "B<--files0>[B<=>I]" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "This is identical to B<--files>[B<=>I] except that each filename must be terminated with the null character." +msgstr "Dies ist gleichbedeutend mit B<--files>[B<=>I], außer dass jeder Dateiname mit einem Null-Zeichen abgeschlossen werden muss." + +#. type: SS +#: ../src/xz/xz.1 +#, no-wrap +msgid "Basic file format and compression options" +msgstr "Grundlegende Dateiformat- und Kompressionsoptionen" + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<-F> I, B<--format=>I" +msgstr "B<-F> I, B<--format=>I" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Specify the file I to compress or decompress:" +msgstr "gibt das I der zu komprimierenden oder dekomprimierenden Datei an:" + +#. TRANSLATORS: Don't translate bold string B. +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "This is the default. When compressing, B is equivalent to B. When decompressing, the format of the input file is automatically detected. Note that raw streams (created with B<--format=raw>) cannot be auto-detected." +msgstr "Dies ist die Voreinstellung. Bei der Kompression ist B gleichbedeutend mit B. Bei der Dekompression wird das Format der Eingabedatei automatisch erkannt. Beachten Sie, dass Rohdatenströme, wie sie mit B<--format=raw> erzeugt werden, nicht automatisch erkannt werden können." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Compress to the B<.xz> file format, or accept only B<.xz> files when decompressing." +msgstr "Die Kompression erfolgt in das B<.xz>-Dateiformat oder akzeptiert nur B<.xz>-Dateien bei der Dekompression." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B, B" +msgstr "B, B" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Compress to the legacy B<.lzma> file format, or accept only B<.lzma> files when decompressing. The alternative name B is provided for backwards compatibility with LZMA Utils." +msgstr "Die Kompression erfolgt in das veraltete B<.lzma>-Dateiformat oder akzeptiert nur B<.lzma>-Dateien bei der Dekompression. Der alternative Name B dient der Abwärtskompatibilität zu den LZMA-Dienstprogrammen." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Accept only B<.lz> files when decompressing. Compression is not supported." +msgstr "Akzeptiert nur B<.lz>-Dateien bei der Dekompression. Kompression wird nicht unterstützt." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The B<.lz> format version 0 and the unextended version 1 are supported. Version 0 files were produced by B 1.3 and older. Such files aren't common but may be found from file archives as a few source packages were released in this format. People might have old personal files in this format too. Decompression support for the format version 0 was removed in B 1.18." +msgstr "Das B<.lz>-Format wird in Version 0 und der unerweiterten Version 1 unterstützt. Dateien der Version 0 wurden von B 1.3 und älter erstellt. Solche Dateien sind nicht sehr weit verbreitet, können aber in Dateiarchiven gefunden werden, da einige Quellpakete in diesem Format veröffentlicht wurden. Es ist auch möglich, dass Benutzer alte persönliche Dateien in diesem Format haben. Die Dekompressionsunterstützung für das Format der Version 0 wurde mit der Version 1.18 aus B entfernt." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "B 1.4 and later create files in the format version 1. The sync flush marker extension to the format version 1 was added in B 1.6. This extension is rarely used and isn't supported by B (diagnosed as corrupt input)." +msgstr "B-Versionen ab 1.4 erstellen Dateien im Format der Version 0. Die Erweiterung »Sync Flush Marker« zur Formatversion 1 wurde in B 1.6 hinzugefügt. Diese Erweiterung wird sehr selten verwendet und wird von B nicht unterstützt (die Eingabe wird als beschädigt erkannt)." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Compress or uncompress a raw stream (no headers). This is meant for advanced users only. To decode raw streams, you need use B<--format=raw> and explicitly specify the filter chain, which normally would have been stored in the container headers." +msgstr "Komprimiert oder dekomprimiert einen Rohdatenstrom (ohne Header). Diese Option ist nur für fortgeschrittene Benutzer bestimmt. Zum Dekodieren von Rohdatenströmen müssen Sie die Option B<--format=raw> verwenden und die Filterkette ausdrücklich angeben, die normalerweise in den (hier fehlenden) Container-Headern gespeichert worden wäre." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<-C> I, B<--check=>I" +msgstr "B<-C> I, B<--check=>I" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Specify the type of the integrity check. The check is calculated from the uncompressed data and stored in the B<.xz> file. This option has an effect only when compressing into the B<.xz> format; the B<.lzma> format doesn't support integrity checks. The integrity check (if any) is verified when the B<.xz> file is decompressed." +msgstr "gibt den Typ der Integritätsprüfung an. Die Prüfsumme wird aus den unkomprimierten Daten berechnet und in der B<.xz>-Datei gespeichert. Diese Option wird nur bei der Kompression in das B<.xz>-Format angewendet, da das B<.lzma>-Format keine Integritätsprüfungen unterstützt. Die eigentliche Integritätsprüfung erfolgt (falls möglich), wenn die B<.xz>-Datei dekomprimiert wird." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Supported I types:" +msgstr "Folgende Typen von I werden unterstützt:" + +#. TRANSLATORS: Don't translate the bold strings B, B, +#. B, and B. The command line option --check accepts +#. only the untranslated strings. +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Don't calculate an integrity check at all. This is usually a bad idea. This can be useful when integrity of the data is verified by other means anyway." +msgstr "führt keine Integritätsprüfung aus. Dies ist eine eher schlechte Idee. Dennoch kann es nützlich sein, wenn die Integrität der Daten auf andere Weise sichergestellt werden kann." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Calculate CRC32 using the polynomial from IEEE-802.3 (Ethernet)." +msgstr "berechnet die CRC32-Prüfsumme anhand des Polynoms aus IEEE-802.3 (Ethernet)." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Calculate CRC64 using the polynomial from ECMA-182. This is the default, since it is slightly better than CRC32 at detecting damaged files and the speed difference is negligible." +msgstr "berechnet die CRC64-Prüfsumme anhand des Polynoms aus ECMA-182. Dies ist die Voreinstellung, da beschädigte Dateien etwas besser als mit CRC32 erkannt werden und die Geschwindigkeitsdifferenz unerheblich ist." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Calculate SHA-256. This is somewhat slower than CRC32 and CRC64." +msgstr "berechnet die SHA-256-Prüfsumme. Dies ist etwas langsamer als CRC32 und CRC64." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Integrity of the B<.xz> headers is always verified with CRC32. It is not possible to change or disable it." +msgstr "Die Integrität der B<.xz>-Header wird immer mit CRC32 geprüft. Es ist nicht möglich, dies zu ändern oder zu deaktivieren." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<--ignore-check>" +msgstr "B<--ignore-check>" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Don't verify the integrity check of the compressed data when decompressing. The CRC32 values in the B<.xz> headers will still be verified normally." +msgstr "verifiziert die Integritätsprüfsumme der komprimierten Daten bei der Dekompression nicht. Die CRC32-Werte in den B<.xz>-Headern werden weiterhin normal verifiziert." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "B Possible reasons to use this option:" +msgstr "B Mögliche Gründe, diese Option zu verwenden:" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Trying to recover data from a corrupt .xz file." +msgstr "Versuchen, Daten aus einer beschädigten .xz-Datei wiederherzustellen." + +# Irgendwie ist mir »extrem gut komprimiert« hier zu diffus. Was soll »gut« hier bedeuten? Besonders stark, besonders clever, was auch immer... +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Speeding up decompression. This matters mostly with SHA-256 or with files that have compressed extremely well. It's recommended to not use this option for this purpose unless the file integrity is verified externally in some other way." +msgstr "Erhöhung der Geschwindigkeit bei der Dekompression. Dies macht sich meist mit SHA-256 bemerkbar, oder mit Dateien, die extrem stark komprimiert sind. Wir empfehlen, diese Option nicht für diesen Zweck zu verwenden, es sei denn, die Integrität der Datei wird extern auf andere Weise überprüft." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<-0> ... B<-9>" +msgstr "B<-0> … B<-9>" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Select a compression preset level. The default is B<-6>. If multiple preset levels are specified, the last one takes effect. If a custom filter chain was already specified, setting a compression preset level clears the custom filter chain." +msgstr "wählt eine der voreingestellten Kompressionsstufen, standardmäßig B<-6>. Wenn mehrere Voreinstellungsstufen angegeben sind, ist nur die zuletzt angegebene wirksam. Falls bereits eine benutzerdefinierte Filterkette angegeben wurde, wird diese durch die Festlegung der Voreinstellung geleert." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The differences between the presets are more significant than with B(1) and B(1). The selected compression settings determine the memory requirements of the decompressor, thus using a too high preset level might make it painful to decompress the file on an old system with little RAM. Specifically, B like it often is with B(1) and B(1)." +msgstr "Die Unterschiede zwischen den Voreinstellungsstufen sind deutlicher als bei B(1) und B(1). Die gewählten Kompressionseinstellungen bestimmen den Speicherbedarf bei der Dekompression, daher ist es auf älteren Systemen mit wenig Speicher bei einer zu hoch gewählten Voreinstellung schwer, eine Datei zu dekomprimieren. Insbesondere B zu verwenden, wie dies häufig mit B(1) und B(1) gehandhabt wird." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<-0> ... B<-3>" +msgstr "B<-0> … B<-3>" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "These are somewhat fast presets. B<-0> is sometimes faster than B while compressing much better. The higher ones often have speed comparable to B(1) with comparable or better compression ratio, although the results depend a lot on the type of data being compressed." +msgstr "Diese Voreinstellungen sind recht schnell. B<-0> ist manchmal schneller als B, wobei aber die Kompression wesentlich besser ist. Die schnelleren Voreinstellungen sind im Hinblick auf die Geschwindigkeit mit B(1) vergleichbar , mit einem ähnlichen oder besseren Kompressionsverhältnis, wobei das Ergebnis aber stark vom Typ der zu komprimierenden Daten abhängig ist." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<-4> ... B<-6>" +msgstr "B<-4> … B<-6>" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Good to very good compression while keeping decompressor memory usage reasonable even for old systems. B<-6> is the default, which is usually a good choice for distributing files that need to be decompressible even on systems with only 16\\ MiB RAM. (B<-5e> or B<-6e> may be worth considering too. See B<--extreme>.)" +msgstr "Gute bis sehr gute Kompression, wobei der Speicherbedarf für die Dekompression selbst auf alten Systemen akzeptabel ist. B<-6> ist die Voreinstellung, welche üblicherweise eine gute Wahl für die Verteilung von Dateien ist, die selbst noch auf Systemen mit nur 16\\ MiB Arbeitsspeicher dekomprimiert werden müssen (B<-5e> oder B<-6e> sind ebenfalls eine Überlegung wert. Siehe B<--extreme>)." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<-7 ... -9>" +msgstr "B<-7 … -9>" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "These are like B<-6> but with higher compressor and decompressor memory requirements. These are useful only when compressing files bigger than 8\\ MiB, 16\\ MiB, and 32\\ MiB, respectively." +msgstr "Ähnlich wie B<-6>, aber mit einem höheren Speicherbedarf für die Kompression und Dekompression. Sie sind nur nützlich, wenn Dateien komprimiert werden sollen, die größer als 8\\ MiB, 16\\ MiB beziehungsweise 32\\ MiB sind." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "On the same hardware, the decompression speed is approximately a constant number of bytes of compressed data per second. In other words, the better the compression, the faster the decompression will usually be. This also means that the amount of uncompressed output produced per second can vary a lot." +msgstr "Auf der gleichen Hardware ist die Dekompressionsgeschwindigkeit ein nahezu konstanter Wert in Bytes komprimierter Daten pro Sekunde. Anders ausgedrückt: Je besser die Kompression, umso schneller wird üblicherweise die Dekompression sein. Das bedeutet auch, dass die Menge der pro Sekunde ausgegebenen unkomprimierten Daten stark variieren kann." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The following table summarises the features of the presets:" +msgstr "Die folgende Tabelle fasst die Eigenschaften der Voreinstellungen zusammen:" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "Preset" +msgstr "Voreinst." + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "DictSize" +msgstr "Wörtb.Gr" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "CompCPU" +msgstr "KomprCPU" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "CompMem" +msgstr "KompSpeich" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "DecMem" +msgstr "DekompSpeich" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "-0" +msgstr "-0" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "256 KiB" +msgstr "256 KiB" + +#. type: TP +#: ../src/xz/xz.1 ../src/scripts/xzgrep.1 +#, no-wrap +msgid "0" +msgstr "0" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "3 MiB" +msgstr "3 MiB" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "1 MiB" +msgstr "1 MiB" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "-1" +msgstr "-1" + +#. type: TP +#: ../src/xz/xz.1 ../src/scripts/xzgrep.1 +#, no-wrap +msgid "1" +msgstr "1" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "9 MiB" +msgstr "9 MiB" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "2 MiB" +msgstr "2 MiB" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "-2" +msgstr "-2" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "2" +msgstr "2" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "17 MiB" +msgstr "17 MiB" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "-3" +msgstr "-3" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "4 MiB" +msgstr "4 MiB" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "3" +msgstr "3" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "32 MiB" +msgstr "32 MiB" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "5 MiB" +msgstr "5 MiB" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "-4" +msgstr "-4" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "4" +msgstr "4" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "48 MiB" +msgstr "48 MiB" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "-5" +msgstr "-5" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "8 MiB" +msgstr "8 MiB" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "5" +msgstr "5" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "94 MiB" +msgstr "94 MiB" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "-6" +msgstr "-6" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "6" +msgstr "6" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "-7" +msgstr "-7" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "16 MiB" +msgstr "16 MiB" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "186 MiB" +msgstr "186 MiB" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "-8" +msgstr "-8" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "370 MiB" +msgstr "370 MiB" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "33 MiB" +msgstr "33 MiB" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "-9" +msgstr "-9" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "64 MiB" +msgstr "64 MiB" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "674 MiB" +msgstr "674 MiB" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "65 MiB" +msgstr "65 MiB" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Column descriptions:" +msgstr "Spaltenbeschreibungen:" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "DictSize is the LZMA2 dictionary size. It is waste of memory to use a dictionary bigger than the size of the uncompressed file. This is why it is good to avoid using the presets B<-7> ... B<-9> when there's no real need for them. At B<-6> and lower, the amount of memory wasted is usually low enough to not matter." +msgstr "Wörtb.Größe ist die Größe des LZMA2-Wörterbuchs. Es ist Speicherverschwendung, ein Wörterbuch zu verwenden, das größer als die unkomprimierte Datei ist. Daher ist es besser, die Voreinstellungen B<-7> … B<-9> zu vermeiden, falls es keinen wirklichen Bedarf dafür gibt. Mit B<-6> und weniger wird üblicherweise so wenig Speicher verschwendet, dass dies nicht ins Gewicht fällt." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "CompCPU is a simplified representation of the LZMA2 settings that affect compression speed. The dictionary size affects speed too, so while CompCPU is the same for levels B<-6> ... B<-9>, higher levels still tend to be a little slower. To get even slower and thus possibly better compression, see B<--extreme>." +msgstr "KomprCPU ist eine vereinfachte Repräsentation der LZMA2-Einstellungen, welche die Kompressionsgeschwindigkeit beeinflussen. Die Wörterbuchgröße wirkt sich ebenfalls auf die Geschwindigkeit aus. Während KompCPU für die Stufen B<-6> bis B<-9> gleich ist, tendieren höhere Stufen dazu, etwas langsamer zu sein. Um eine noch langsamere, aber möglicherweise bessere Kompression zu erhalten, siehe B<--extreme>." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "CompMem contains the compressor memory requirements in the single-threaded mode. It may vary slightly between B versions." +msgstr "KompSpeich enthält den Speicherbedarf des Kompressors im Einzel-Thread-Modus. Dieser kann zwischen den B-Versionen leicht variieren." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "DecMem contains the decompressor memory requirements. That is, the compression settings determine the memory requirements of the decompressor. The exact decompressor memory usage is slightly more than the LZMA2 dictionary size, but the values in the table have been rounded up to the next full MiB." +msgstr "DekompSpeich enthält den Speicherbedarf für die Dekompression. Das bedeutet, dass die Kompressionseinstellungen den Speicherbedarf bei der Dekompression bestimmen. Der exakte Speicherbedarf bei der Dekompression ist geringfügig größer als die Größe des LZMA2-Wörterbuchs, aber die Werte in der Tabelle wurden auf ganze MiB aufgerundet." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Memory requirements of the multi-threaded mode are significantly higher than that of the single-threaded mode. With the default value of B<--block-size>, each thread needs 3*3*DictSize plus CompMem or DecMem. For example, four threads with preset B<-6> needs 660\\(en670\\ MiB of memory." +msgstr " Der Speicherbedarf einiger der zukünftigen Multithread-Modi kann dramatisch höher sein als im Einzel-Thread-Modus. Mit dem Standardwert von B<--block-size> benötigt jeder Thread 3*3*Wörtb.Gr plus KompSpeich oder DekompSpeich. Beispielsweise benötigen vier Threads mit der Voreinstellung B<-6> etwa 660 bis 670 MiB Speicher." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<-e>, B<--extreme>" +msgstr "B<-e>, B<--extreme>" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Use a slower variant of the selected compression preset level (B<-0> ... B<-9>) to hopefully get a little bit better compression ratio, but with bad luck this can also make it worse. Decompressor memory usage is not affected, but compressor memory usage increases a little at preset levels B<-0> ... B<-3>." +msgstr "verwendet eine langsamere Variante der gewählten Kompressions-Voreinstellungsstufe (B<-0> … B<-9>), um hoffentlich ein etwas besseres Kompressionsverhältnis zu erreichen, das aber in ungünstigen Fällen auch schlechter werden kann. Der Speicherverbrauch bei der Dekompression wird dabei nicht beeinflusst, aber der Speicherverbrauch der Kompression steigt in den Voreinstellungsstufen B<-0> bis B<-3> geringfügig an." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Since there are two presets with dictionary sizes 4\\ MiB and 8\\ MiB, the presets B<-3e> and B<-5e> use slightly faster settings (lower CompCPU) than B<-4e> and B<-6e>, respectively. That way no two presets are identical." +msgstr "Da es zwei Voreinstellungen mit den Wörterbuchgrößen 4\\ MiB und 8\\ MiB gibt, verwenden die Voreinstellungsstufen B<-3e> und B<-5e> etwas schnellere Einstellungen (niedrigere KompCPU) als B<-4e> beziehungsweise B<-6e>. Auf diese Weise sind zwei Voreinstellungen nie identisch." + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "-0e" +msgstr "-0e" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "8" +msgstr "8" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "-1e" +msgstr "-1e" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "13 MiB" +msgstr "13 MiB" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "-2e" +msgstr "-2e" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "25 MiB" +msgstr "25 MiB" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "-3e" +msgstr "-3e" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "7" +msgstr "7" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "-4e" +msgstr "-4e" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "-5e" +msgstr "-5e" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "-6e" +msgstr "-6e" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "-7e" +msgstr "-7e" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "-8e" +msgstr "-8e" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "-9e" +msgstr "-9e" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "For example, there are a total of four presets that use 8\\ MiB dictionary, whose order from the fastest to the slowest is B<-5>, B<-6>, B<-5e>, and B<-6e>." +msgstr "Zum Beispiel gibt es insgesamt vier Voreinstellungen, die ein 8\\ MiB großes Wörterbuch verwenden, deren Reihenfolge von der schnellsten zur langsamsten B<-5>, B<-6>, B<-5e> und B<-6e> ist." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<--fast>" +msgstr "B<--fast>" + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<--best>" +msgstr "B<--best>" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "These are somewhat misleading aliases for B<-0> and B<-9>, respectively. These are provided only for backwards compatibility with LZMA Utils. Avoid using these options." +msgstr "sind etwas irreführende Aliase für B<-0> beziehungsweise B<-9>. Sie werden nur zwecks Abwärtskompatibilität zu den LZMA-Dienstprogrammen bereitgestellt. Sie sollten diese Optionen besser nicht verwenden." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<--block-size=>I" +msgstr "B<--block-size=>I" + +# CHECK multi-threading and makes limited random-access +#. type: Plain text +#: ../src/xz/xz.1 +msgid "When compressing to the B<.xz> format, split the input data into blocks of I bytes. The blocks are compressed independently from each other, which helps with multi-threading and makes limited random-access decompression possible. This option is typically used to override the default block size in multi-threaded mode, but this option can be used in single-threaded mode too." +msgstr "teilt beim Komprimieren in das B<.xz>-Format die Eingabedaten in Blöcke der angegebenen I in Byte. Die Blöcke werden unabhängig voneinander komprimiert, was dem Multi-Threading entgegen kommt und Zufallszugriffe bei der Dekompression begrenzt. Diese Option wird typischerweise eingesetzt, um die vorgegebene Blockgröße im Multi-Thread-Modus außer Kraft zu setzen, aber sie kann auch im Einzel-Thread-Modus angewendet werden." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "In multi-threaded mode about three times I bytes will be allocated in each thread for buffering input and output. The default I is three times the LZMA2 dictionary size or 1 MiB, whichever is more. Typically a good value is 2\\(en4 times the size of the LZMA2 dictionary or at least 1 MiB. Using I less than the LZMA2 dictionary size is waste of RAM because then the LZMA2 dictionary buffer will never get fully used. In multi-threaded mode, the sizes of the blocks are stored in the block headers. This size information is required for multi-threaded decompression." +msgstr "Im Multi-Thread-Modus wird etwa die dreifache I in jedem Thread zur Pufferung der Ein- und Ausgabe belegt. Die vorgegebene I ist das Dreifache der Größe des LZMA2-Wörterbuchs oder 1 MiB, je nachdem, was mehr ist. Typischerweise ist das Zwei- bis Vierfache der Größe des LZMA2-Wörterbuchs oder wenigstens 1 MB ein guter Wert. Eine I, die geringer ist als die des LZMA2-Wörterbuchs, ist Speicherverschwendung, weil dann der LZMA2-Wörterbuchpuffer niemals vollständig genutzt werden würde. Im Multi-Thread-Modus wird die Größe der Blöcke wird in den Block-Headern gespeichert. Die Größeninformation wird für eine Multi-Thread-Dekompression genutzt." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "In single-threaded mode no block splitting is done by default. Setting this option doesn't affect memory usage. No size information is stored in block headers, thus files created in single-threaded mode won't be identical to files created in multi-threaded mode. The lack of size information also means that B won't be able decompress the files in multi-threaded mode." +msgstr "Im Einzel-Thread-Modus werden die Blöcke standardmäßig nicht geteilt. Das Setzen dieser Option wirkt sich nicht auf den Speicherbedarf aus. In den Block-Headern werden keine Größeninformationen gespeichert, daher werden im Einzel-Thread-Modus erzeugte Dateien nicht zu den im Multi-Thread-Modus erzeugten Dateien identisch sein. Das Fehlen der Größeninformation bedingt auch, dass B nicht in der Lage sein wird, die Dateien im Multi-Thread-Modus zu dekomprimieren." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<--block-list=>I" +msgstr "B<--block-list=>I" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "When compressing to the B<.xz> format, start a new block with an optional custom filter chain after the given intervals of uncompressed data." +msgstr "beginnt bei der Kompression in das B<.xz>-Format nach den angegebenen Intervallen unkomprimierter Daten einen neuen Block, optional mit einer benutzerdefinierten Filterkette." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The I are a comma-separated list. Each item consists of an optional filter chain number between 0 and 9 followed by a colon (B<:>) and a required size of uncompressed data. Omitting an item (two or more consecutive commas) is a shorthand to use the size and filters of the previous item." +msgstr "Die I werden in einer durch Kommata getrennten Liste angegeben. Jeder Block besteht aus einer optionalen Filterkettennummer zwischen 0 und 9, gefolgt von einem Doppelpunkt (B<:>) und der Größe der unkomprimierten Daten (diese Angabe ist erforderlich). Überspringen eines Blocks (zwei oder mehr aufeinander folgende Kommata) ist ein Kürzel dafür, die Größe und die Filter des vorherigen Blocks zu verwenden." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "If the input file is bigger than the sum of the sizes in I, the last item is repeated until the end of the file. A special value of B<0> may be used as the last size to indicate that the rest of the file should be encoded as a single block." +msgstr "Falls die Eingabedatei größer ist als die Summe der I, dann wird der letzte in I angegebene Wert bis zum Ende der Datei wiederholt. Mit dem speziellen Wert B<0> können Sie angeben, dass der Rest der Datei als einzelner Block kodiert werden soll." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "An alternative filter chain for each block can be specified in combination with the B<--filters1=>I \\&...\\& B<--filters9=>I options. These options define filter chains with an identifier between 1\\(en9. Filter chain 0 can be used to refer to the default filter chain, which is the same as not specifying a filter chain. The filter chain identifier can be used before the uncompressed size, followed by a colon (B<:>). For example, if one specifies B<--block-list=1:2MiB,3:2MiB,2:4MiB,,2MiB,0:4MiB> then blocks will be created using:" +msgstr "Eine alternative Filterkette für jeden Block kann in Kombination mit den Optionen B<--filters1=>I \\&…\\& B<--filters9=>I angegeben werden. Diese Optionen definieren Filterketten mit einem Bezeichner zwischen 1 und 9. Die Filterkette 0 bezeichnet hierbei die voreingestellte Filterkette, was dem Nichtangeben einer Filterkette gleichkommt. Der Filterkettenbezeichner kann vor der unkomprimierten Größe verwendet werden, gefolgt von einem Doppelpunkt (B<:>). Falls Sie beispielsweise B<--block-list=1:2MiB,3:2MiB,2:4MiB,,2MiB,0:4MiB> angeben, werden die Blöcke folgendermaßen erstellt:" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The filter chain specified by B<--filters1> and 2 MiB input" +msgstr "Die durch B<--filters1> angegebene Filterkette und 2 MiB Eingabe" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The filter chain specified by B<--filters3> and 2 MiB input" +msgstr "Die durch B<--filters3> angegebene Filterkette und 2 MiB Eingabe" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The filter chain specified by B<--filters2> and 4 MiB input" +msgstr "Die durch B<--filters2> angegebene Filterkette und 4 MiB Eingabe" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The default filter chain and 2 MiB input" +msgstr "Die vorgegebene Filterkette und 2 MiB Eingabe" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The default filter chain and 4 MiB input for every block until end of input." +msgstr "Die vorgegebene Filterkette und 4 MiB Eingabe für jeden Block bis zum Ende der Eingabe." + +# FIXME encoder → compressor +#. type: Plain text +#: ../src/xz/xz.1 +msgid "If one specifies a size that exceeds the encoder's block size (either the default value in threaded mode or the value specified with B<--block-size=>I), the encoder will create additional blocks while keeping the boundaries specified in I. For example, if one specifies B<--block-size=10MiB> B<--block-list=5MiB,10MiB,8MiB,12MiB,24MiB> and the input file is 80 MiB, one will get 11 blocks: 5, 10, 8, 10, 2, 10, 10, 4, 10, 10, and 1 MiB." +msgstr "Falls Sie eine Größe angeben, welche die Blockgröße des Encoders übersteigen (entweder den Vorgabewert im Thread-Modus oder den mit B<--block-size=>I angegebenen Wert), wird der Encoder zusätzliche Blöcke erzeugen, wobei die in den I angegebenen Grenzen eingehalten werden. Wenn Sie zum Beispiel B<--block-size=10MiB> B<--block-list=5MiB,10MiB,8MiB,12MiB,24MiB> angeben und die Eingabedatei 80 MiB groß ist, erhalten Sie 11 Blöcke: 5, 10, 8, 10, 2, 10, 10, 4, 10, 10 und 1 MiB." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "In multi-threaded mode the sizes of the blocks are stored in the block headers. This isn't done in single-threaded mode, so the encoded output won't be identical to that of the multi-threaded mode." +msgstr "Im Multi-Thread-Modus werden die Blockgrößen in den Block-Headern gespeichert. Dies geschieht im Einzel-Thread-Modus nicht, daher wird die kodierte Ausgabe zu der im Multi-Thread-Modus nicht identisch sein." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<--flush-timeout=>I" +msgstr "B<--flush-timeout=>I" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "When compressing, if more than I milliseconds (a positive integer) has passed since the previous flush and reading more input would block, all the pending input data is flushed from the encoder and made available in the output stream. This can be useful if B is used to compress data that is streamed over a network. Small I values make the data available at the receiving end with a small delay, but large I values give better compression ratio." +msgstr "löscht bei der Kompression die ausstehenden Daten aus dem Encoder und macht sie im Ausgabedatenstrom verfügbar, wenn mehr als die angegebene I in Millisekunden (als positive Ganzzahl) seit dem vorherigen Löschen vergangen ist und das Lesen weiterer Eingaben blockieren würde. Dies kann nützlich sein, wenn B zum Komprimieren von über das Netzwerk eingehenden Daten verwendet wird. Kleine I-Werte machen die Daten unmittelbar nach dem Empfang nach einer kurzen Verzögerung verfügbar, während große I-Werte ein besseres Kompressionsverhältnis bewirken." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "This feature is disabled by default. If this option is specified more than once, the last one takes effect. The special I value of B<0> can be used to explicitly disable this feature." +msgstr "Dieses Funktionsmerkmal ist standardmäßig deaktiviert. Wenn diese Option mehrfach angegeben wird, ist die zuletzt angegebene wirksam. Für die Angabe der I kann der spezielle Wert B<0> verwendet werden, um dieses Funktionsmerkmal explizit zu deaktivieren." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "This feature is not available on non-POSIX systems." +msgstr "Dieses Funktionsmerkmal ist außerhalb von POSIX-Systemen nicht verfügbar." + +#. FIXME +#. type: Plain text +#: ../src/xz/xz.1 +msgid "B Currently B is unsuitable for decompressing the stream in real time due to how B does buffering." +msgstr "B Gegenwärtig ist B aufgrund der Art und Weise, wie B puffert, für Dekompression in Echtzeit ungeeignet." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<--no-sync>" +msgstr "B<--no-sync>" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Do not synchronize the target file and its directory to the storage device before removing the source file. This can improve performance if compressing or decompressing many small files. However, if the system crashes soon after the deletion, it is possible that the target file was not written to the storage device but the delete operation was. In that case neither the original source file nor the target file is available." +msgstr "synchronisiert die Zieldatei und deren Verzeichnis auf dem Speichergerät nicht, bevor die Quelldatei gelöscht wird. So kann die Performance beim Komprimieren oder Dekomprimieren vieler kleiner Dateien verbessert werden. Jedoch wäre es möglich, falls es kurz nach dem Löschen zu einem Systemabsturz kommt, dass die Zieldatei noch nicht auf dem Speichergerät geschrieben, aber der Löschvorgang bereits ausgeführt wurde. In diesem Fall gehen sowohl die Quelldatei als auch die Zieldatei verloren." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "This option has an effect only when B is going to remove the source file. In other cases synchronization is never done." +msgstr "Diese Option ist nur wirksam, wenn B die Quelldatei löscht. In anderen Fällen wird niemals synchronisiert." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The synchronization and B<--no-sync> were added in B 5.7.1alpha." +msgstr "Die Synchronisierung und B<--no-sync> wurden in Version B 5.7.1alpha hinzugefügt." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<--memlimit-compress=>I" +msgstr "B<--memlimit-compress=>I" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Set a memory usage limit for compression. If this option is specified multiple times, the last one takes effect." +msgstr "legt eine Grenze für die Speichernutzung bei der Kompression fest. Wenn diese Option mehrmals angegeben wird, ist die zuletzt angegebene wirksam." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "If the compression settings exceed the I, B will attempt to adjust the settings downwards so that the limit is no longer exceeded and display a notice that automatic adjustment was done. The adjustments are done in this order: reducing the number of threads, switching to single-threaded mode if even one thread in multi-threaded mode exceeds the I, and finally reducing the LZMA2 dictionary size." +msgstr "Falls die Kompressionseinstellungen die I überschreiten, versucht B, die Einstellungen nach unten anzupassen, so dass die Grenze nicht mehr überschritten wird und zeigt einen Hinweis an, dass eine automatische Anpassung vorgenommen wurde. Die Anpassungen werden in folgender Reihenfolge angewendet: Reduzierung der Anzahl der Threads, Wechsel in den Einzelthread-Modus, falls sogar ein einziger Thread im Multithread-Modus die I überschreitet, und schlussendlich die Reduzierung der Größe des LZMA2-Wörterbuchs." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "When compressing with B<--format=raw> or if B<--no-adjust> has been specified, only the number of threads may be reduced since it can be done without affecting the compressed output." +msgstr "Beim Komprimieren mit B<--format=raw> oder falls B<--no-adjust> angegeben wurde, wird nur die Anzahl der Threads reduziert, da nur so die komprimierte Ausgabe nicht beeinflusst wird." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "If the I cannot be met even with the adjustments described above, an error is displayed and B will exit with exit status 1." +msgstr "Falls die I nicht anhand der vorstehend beschriebenen Anpassungen gesetzt werden kann, wird ein Fehler angezeigt und B wird mit dem Exit-Status 1 beendet." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The I can be specified in multiple ways:" +msgstr "Die I kann auf verschiedene Arten angegeben werden:" + +# FIXME integer suffix +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The I can be an absolute value in bytes. Using an integer suffix like B can be useful. Example: B<--memlimit-compress=80MiB>" +msgstr "Die I kann ein absoluter Wert in Byte sein. Ein Suffix wie B kann dabei hilfreich sein. Beispiel: B<--memlimit-compress=80MiB>." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The I can be specified as a percentage of total physical memory (RAM). This can be useful especially when setting the B environment variable in a shell initialization script that is shared between different computers. That way the limit is automatically bigger on systems with more memory. Example: B<--memlimit-compress=70%>" +msgstr "Die I kann als Prozentsatz des physischen Gesamtspeichers (RAM) angegeben werden. Dies ist insbesondere nützlich, wenn in einem Shell-Initialisierungsskript, das mehrere unterschiedliche Rechner gemeinsam verwenden, die Umgebungsvariable B gesetzt ist. Auf diese Weise ist die Grenze auf Systemen mit mehr Speicher höher. Beispiel: B<--memlimit-compress=70%>" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The I can be reset back to its default value by setting it to B<0>. This is currently equivalent to setting the I to B (no memory usage limit)." +msgstr "Mit B<0> kann die I auf den Standardwert zurückgesetzt werden. Dies ist gegenwärtig gleichbedeutend mit dem Setzen der I auf B (keine Speicherbegrenzung)." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "For 32-bit B there is a special case: if the I would be over B<4020\\ MiB>, the I is set to B<4020\\ MiB>. On MIPS32 B<2000\\ MiB> is used instead. (The values B<0> and B aren't affected by this. A similar feature doesn't exist for decompression.) This can be helpful when a 32-bit executable has access to 4\\ GiB address space (2 GiB on MIPS32) while hopefully doing no harm in other situations." +msgstr "Für die 32-Bit-Version von B gibt es einen Spezialfall: Falls die Grenze über B<4020\\ MiB> liegt, wird die I auf B<4020\\ MiB> gesetzt. Auf MIPS32 wird stattdessen B<2000\\ MB> verwendet (die Werte B<0> und B werden hiervon nicht beeinflusst; für die Dekompression gibt es keine vergleichbare Funktion). Dies kann hilfreich sein, wenn ein 32-Bit-Executable auf einen 4\\ GiB großen Adressraum (2 GiB auf MIPS32) zugreifen kann, wobei wir hoffen wollen, dass es in anderen Situationen keine negativen Effekte hat." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "See also the section B." +msgstr "Siehe auch den Abschnitt B." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<--memlimit-decompress=>I" +msgstr "B<--memlimit-decompress=>I" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Set a memory usage limit for decompression. This also affects the B<--list> mode. If the operation is not possible without exceeding the I, B will display an error and decompressing the file will fail. See B<--memlimit-compress=>I for possible ways to specify the I." +msgstr "legt eine Begrenzung des Speicherverbrauchs für die Dekompression fest. Dies beeinflusst auch den Modus B<--list>. Falls die Aktion nicht ausführbar ist, ohne die I zu überschreiten, gibt B eine Fehlermeldung aus und die Dekompression wird fehlschlagen. Siehe B<--memlimit-compress=>I zu möglichen Wegen, die I anzugeben." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<--memlimit-mt-decompress=>I" +msgstr "B<--memlimit-mt-decompress=>I" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Set a memory usage limit for multi-threaded decompression. This can only affect the number of threads; this will never make B refuse to decompress a file. If I is too low to allow any multi-threading, the I is ignored and B will continue in single-threaded mode. Note that if also B<--memlimit-decompress> is used, it will always apply to both single-threaded and multi-threaded modes, and so the effective I for multi-threading will never be higher than the limit set with B<--memlimit-decompress>." +msgstr "legt eine Begrenzung des Speicherverbrauchs für Multithread-Dekompression fest. Dies beeinflusst lediglich die Anzahl der Threads; B wird dadurch niemals die Dekompression einer Datei verweigern. Falls die I für jegliches Multithreading zu niedrig ist, wird sie ignoriert und B setzt im Einzelthread-modus fort. Beachten Sie auch, dass bei der Verwendung von B<--memlimit-decompress> dies stets sowohl auf den Einzelthread-als auch auf den Multithread-Modus angewendet wird und so die effektive I für den Multithread-Modus niemals höher sein wird als die mit B<--memlimit-decompress> gesetzte Grenze." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "In contrast to the other memory usage limit options, B<--memlimit-mt-decompress=>I has a system-specific default I. B can be used to see the current value." +msgstr "Im Gegensatz zu anderen Optionen zur Begrenzung des Speicherverbrauchs hat B<--memlimit-mt-decompress=>I eine systemspezifisch vorgegebene I. Mit B können Sie deren aktuellen Wert anzeigen lassen." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "This option and its default value exist because without any limit the threaded decompressor could end up allocating an insane amount of memory with some input files. If the default I is too low on your system, feel free to increase the I but never set it to a value larger than the amount of usable RAM as with appropriate input files B will attempt to use that amount of memory even with a low number of threads. Running out of memory or swapping will not improve decompression performance." +msgstr "Diese Option und ihr Standardwert existieren, weil die unbegrenzte threadbezogene Dekompression bei einigen Eingabedateien zu unglaublich großem Speicherverbrauch führen würde. Falls die vorgegebene I auf Ihrem System zu niedrig ist, können Sie die I durchaus erhöhen, aber setzen Sie sie niemals auf einen Wert größer als die Menge des nutzbaren Speichers, da B bei entsprechenden Eingabedateien versuchen wird, diese Menge an Speicher auch bei einer geringen Anzahl von Threads zu verwnden. Speichermangel oder Auslagerung verbessern die Dekomprimierungsleistung nicht." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "See B<--memlimit-compress=>I for possible ways to specify the I. Setting I to B<0> resets the I to the default system-specific value." +msgstr "Siehe B<--memlimit-compress=>I für mögliche Wege zur Angabe der I. Sezen der I auf B<0> setzt die I auf den vorgegebenen systemspezifischen Wert zurück." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<-M> I, B<--memlimit=>I, B<--memory=>I" +msgstr "B<-M> I, B<--memlimit=>I, B<--memory=>I" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "This is equivalent to specifying B<--memlimit-compress=>I B<--memlimit-decompress=>I B<--memlimit-mt-decompress=>I." +msgstr "Dies ist gleichbedeutend mit B<--memlimit-compress=>I B<--memlimit-decompress=>I B<--memlimit-mt-decompress=>I." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<--no-adjust>" +msgstr "B<--no-adjust>" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Display an error and exit if the memory usage limit cannot be met without adjusting settings that affect the compressed output. That is, this prevents B from switching the encoder from multi-threaded mode to single-threaded mode and from reducing the LZMA2 dictionary size. Even when this option is used the number of threads may be reduced to meet the memory usage limit as that won't affect the compressed output." +msgstr "zeigt einen Fehler an und beendet, falls die Grenze der Speichernutzung nicht ohne Änderung der Einstellungen, welche die komprimierte Ausgabe beeinflussen, berücksichtigt werden kann. Das bedeutet, dass B daran gehindert wird, den Encoder vom Multithread-Modus in den Einzelthread-Modus zu versetzen und die Größe des LZMA2-Wörterbuchs zu reduzieren. Allerdings kann bei Verwendung dieser Option dennoch die Anzahl der Threads reduziert werden, um die Grenze der Speichernutzung zu halten, sofern dies die komprimierte Ausgabe nicht beeinflusst." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Automatic adjusting is always disabled when creating raw streams (B<--format=raw>)." +msgstr "Die automatische Anpassung ist beim Erzeugen von Rohdatenströmen (B<--format=raw>) immer deaktiviert." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<-T> I, B<--threads=>I" +msgstr "B<-T> I, B<--threads=>I" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Specify the number of worker threads to use. Setting I to a special value B<0> makes B use up to as many threads as the processor(s) on the system support. The actual number of threads can be fewer than I if the input file is not big enough for threading with the given settings or if using more threads would exceed the memory usage limit." +msgstr "gibt die Anzahl der zu verwendenden Arbeits-Threads an. Wenn Sie I auf einen speziellen Wert B<0> setzen, verwendet B maximal so viele Threads, wie der/die Prozessor(en) im System untestützen. Die tatsächliche Anzahl kann geringer sein als die angegebenen I, wenn die Eingabedatei nicht groß genug für Threading mit den gegebenen Einstellungen ist oder wenn mehr Threads die Speicherbegrenzung übersteigen würden." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The single-threaded and multi-threaded compressors produce different output. Single-threaded compressor will give the smallest file size but only the output from the multi-threaded compressor can be decompressed using multiple threads. Setting I to B<1> will use the single-threaded mode. Setting I to any other value, including B<0>, will use the multi-threaded compressor even if the system supports only one hardware thread. (B 5.2.x used single-threaded mode in this situation.)" +msgstr "Die Multithread- bzw. Einzelthread-Kompressoren erzeugen unterschiedliche Ausgaben. Der Einzelthread-Kompressor erzeugt die geringste Dateigröße, aber nur die Ausgabe des Multithread-Kompressors kann mit mehreren Threads wieder dekomprimiert werden. Das Setzen der Anzahl der I auf B<1> wird den Einzelthread-Modus verwenden. Das Setzen der Anzahl der I auf einen anderen Wert einschließlich B<0> verwendet den Multithread-Kompressor, und zwar sogar dann, wenn das System nur einen einzigen Hardware-Thread unterstützt (B 5.2.x verwendete in diesem Fall noch den Einzelthread-Modus)." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "To use multi-threaded mode with only one thread, set I to B<+1>. The B<+> prefix has no effect with values other than B<1>. A memory usage limit can still make B switch to single-threaded mode unless B<--no-adjust> is used. Support for the B<+> prefix was added in B 5.4.0." +msgstr "Um den Multithread-Modus mit nur einem einzigen Thread zu verwenden, setzen Sie die Anzahl der I auf B<+1>. Das Präfix B<+> hat mit Werten verschieden von B<1> keinen Effekt. Eine Begrenzung des Speicherverbrauchs kann B dennoch veranlassen, den Einzelthread-Modus zu verwenden, außer wenn B<--no-adjust> verwendet wird. Die Unterstützung für das Präfix B<+> wurde in B 5.4.0 hinzugefügt." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "If an automatic number of threads has been requested and no memory usage limit has been specified, then a system-specific default soft limit will be used to possibly limit the number of threads. It is a soft limit in sense that it is ignored if the number of threads becomes one, thus a soft limit will never stop B from compressing or decompressing. This default soft limit will not make B switch from multi-threaded mode to single-threaded mode. The active limits can be seen with B." +msgstr "Falls das automatische Setzen der Anzahl der Threads angefordert und keine Speicherbegrenzung angegeben wurde, dann wird eine systemspezifisch vorgegebene weiche Grenze verwendet, um eventuell die Anzahl der Threads zu begrenzen. Es ist eine weiche Grenze im Sinne davon, dass sie ignoriert wird, falls die Anzahl der Threads 1 ist; daher wird eine weiche Grenze B niemals an der Kompression oder Dekompression hindern. Diese vorgegebene weiche Grenze veranlasst B nicht, vom Multithread-Modus in den Einzelthread-Modus zu wechseln. Die aktiven Grenzen können Sie mit dem Befehl B anzeigen lassen." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Currently the only threading method is to split the input into blocks and compress them independently from each other. The default block size depends on the compression level and can be overridden with the B<--block-size=>I option." +msgstr "Die gegenwärtig einzige Threading-Methode teilt die Eingabe in Blöcke und komprimiert diese unabhängig voneinander. Die vorgegebene Blockgröße ist von der Kompressionsstufe abhängig und kann mit der Option B<--block-size=>I außer Kraft gesetzt werden." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Threaded decompression only works on files that contain multiple blocks with size information in block headers. All large enough files compressed in multi-threaded mode meet this condition, but files compressed in single-threaded mode don't even if B<--block-size=>I has been used." +msgstr "Eine thread-basierte Dekompression wird nur bei Dateien funktionieren, die mehrere Blöcke mit Größeninformationen in deren Headern enthalten. Alle im Multi-Thread-Modus komprimierten Dateien, die groß genug sind, erfüllen diese Bedingung, im Einzel-Thread-Modus komprimierte Dateien dagegen nicht, selbst wenn B<--block-size=>I verwendet wurde." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The default value for I is B<0>. In B 5.4.x and older the default is B<1>." +msgstr "Der Vorgabewert für I is B<0>. In B 5.4.x und älteren Versionen ist der Vorgabewert B<1>." + +#. type: SS +#: ../src/xz/xz.1 +#, no-wrap +msgid "Custom compressor filter chains" +msgstr "Benutzerdefinierte Filterketten für die Kompression" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "A custom filter chain allows specifying the compression settings in detail instead of relying on the settings associated to the presets. When a custom filter chain is specified, preset options (B<-0> \\&...\\& B<-9> and B<--extreme>) earlier on the command line are forgotten. If a preset option is specified after one or more custom filter chain options, the new preset takes effect and the custom filter chain options specified earlier are forgotten." +msgstr "Eine benutzerdefinierte Filterkette ermöglicht die Angabe detaillierter Kompressionseinstellungen, anstatt von den Voreinstellungen auszugehen. Wenn eine benutzerdefinierte Filterkette angegeben wird, werden die vorher in der Befehlszeile angegebenen Voreinstellungsoptionen (B<-0> … B<-9> und B<--extreme>) außer Kraft gesetzt. Wenn eine Voreinstellungsoption nach einer oder mehreren benutzerdefinierten Filterkettenoptionen angegeben wird, dann wird die neue Voreinstellung wirksam und die zuvor angegebenen Filterkettenoptionen werden außer Kraft gesetzt." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "A filter chain is comparable to piping on the command line. When compressing, the uncompressed input goes to the first filter, whose output goes to the next filter (if any). The output of the last filter gets written to the compressed file. The maximum number of filters in the chain is four, but typically a filter chain has only one or two filters." +msgstr "Eine Filterkette ist mit dem Piping (der Weiterleitung) in der Befehlszeile vergleichbar. Bei der Kompression gelangt die unkomprimierte Eingabe in den ersten Filter, dessen Ausgabe wiederum in den zweiten Filter geleitet wird (sofern ein solcher vorhanden ist). Die Ausgabe des letzten Filters wird in die komprimierte Datei geschrieben. In einer Filterkette sind maximal vier Filter zulässig, aber typischerweise besteht eine Filterkette nur aus einem oder zwei Filtern." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Many filters have limitations on where they can be in the filter chain: some filters can work only as the last filter in the chain, some only as a non-last filter, and some work in any position in the chain. Depending on the filter, this limitation is either inherent to the filter design or exists to prevent security issues." +msgstr "Bei vielen Filtern ist die Positionierung in der Filterkette eingeschränkt: Einige Filter sind nur als letzte in der Kette verwendbar, einige können nicht als letzte Filter gesetzt werden, und andere funktionieren an beliebiger Stelle. Abhängig von dem Filter ist diese Beschränkung entweder auf das Design des Filters selbst zurückzuführen oder ist aus Sicherheitsgründen vorhanden." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "A custom filter chain can be specified in two different ways. The options B<--filters=>I and B<--filters1=>I \\&...\\& B<--filters9=>I allow specifying an entire filter chain in one option using the liblzma filter string syntax. Alternatively, a filter chain can be specified by using one or more individual filter options in the order they are wanted in the filter chain. That is, the order of the individual filter options is significant! When decoding raw streams (B<--format=raw>), the filter chain must be specified in the same order as it was specified when compressing. Any individual filter or preset options specified before the full chain option (B<--filters=>I) will be forgotten. Individual filters specified after the full chain option will reset the filter chain." +msgstr "Eine benutzerdefinierte Filterkette kann auf zwei verschiedene Arten angegeben werden. Die Optionen B<--filters=>I und B<--filters1=>I \\&…\\& B<--filters9=>I ermöglichen die Angabe einer ganzen Filterkette in einer einzelnen Option gemäß der Liblzma-Filterzeichenkettensyntax. Alternativ können Sie eine Filterkette mit einer oder mehreren individuellen Filteroptionen in der Reihenfolge angeben, in der sie in der Filterkette verwendet werden sollen. Daher ist die Reihenfolge der individuellen Filteroptionen wichtig! Beim Dekodieren von Rohdatenströmen (B<--format=raw>) muss die Filterkette in der gleichen Reihenfolge wie bei der Komprimierung angegeben werden. Alle individuellen Filter- oder Voreinstellungsoptionen, die I der vollen Filterkettenoption (B<--filters=>I) angegeben werden, werden verworfen. Individuelle Filter, die I der vollen Filterkettenoption angegeben werden, setzen die Filterkette zurück" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Both the full and individual filter options take filter-specific I as a comma-separated list. Extra commas in I are ignored. Every option has a default value, so specify those you want to change." +msgstr "Sowohl vollständige als auch individuelle Filteroptionen akzeptieren filterspezifische I in einer durch Kommata getrennten Liste. Zusätzliche Kommata in den I werden ignoriert. Jede Option hat einen Standardwert, daher brauchen Sie nur jene anzugeben, die Sie ändern wollen." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "To see the whole filter chain and I, use B (that is, use B<--verbose> twice). This works also for viewing the filter chain options used by presets." +msgstr "Um die gesamte Filterkette und die I anzuzeigen, rufen Sie B auf (was gleichbedeutend mit der zweimaligen Angabe von B<--verbose> ist). Dies funktioniert auch zum Betrachten der von den Voreinstellungen verwendeten Filterkettenoptionen." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<--filters=>I" +msgstr "B<--filters=>I" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Specify the full filter chain or a preset in a single option. Each filter can be separated by spaces or two dashes (B<-->). I may need to be quoted on the shell command line so it is parsed as a single option. To denote I, use B<:> or B<=>. A preset can be prefixed with a B<-> and followed with zero or more flags. The only supported flag is B to apply the same options as B<--extreme>." +msgstr "gibt die vollständige Filterkette oder eine Voreinstellung in einer einzelnen Option an. Mehrere Filter können durch Leerzeichen oder zwei Minuszeichen (B<-->) voneinander getrennt werden. Es kann notwendig sein, die I in der Shell-Befehlszeile zu maskieren, so dass diese als einzelne Option ausgewertet werden. Um Optionen Werte zuzuordnen, verwenden Sie B<:> oder B<=>. Einer Voreinstellung kann ein B<-> vorangestellt werden, dem keiner oder mehrere Schalter folgen. Der einzige unterstützte Schalter ist B zum Anwenden der gleichen Optionen wie B<--extreme>." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<--filters1>=I ... B<--filters9>=I" +msgstr "B<--filters1>=I … B<--filters9>=I" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Specify up to nine additional filter chains that can be used with B<--block-list>." +msgstr "gibt bis zu neun optionale Filterketten an, die mit B<--block-list> verwendet werden können." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "For example, when compressing an archive with executable files followed by text files, the executable part could use a filter chain with a BCJ filter and the text part only the LZMA2 filter." +msgstr "Wenn Sie beispielsweise ein Archiv mit ausführbaren Dateien gefolgt von Textdateien komprimieren, könnte der Teil mit den ausführbaren Dateien eine Filterkette mit einem BCJ-Filter und der Textdateiteil lediglich den LZMA2-Filter verwenden." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<--filters-help>" +msgstr "B<--filters-help>" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Display a help message describing how to specify presets and custom filter chains in the B<--filters> and B<--filters1=>I \\&...\\& B<--filters9=>I options, and exit successfully." +msgstr "zeigt eine Hilfemeldung an, welche beschreibt, wie Voreinstellungen und benutzerdefinierte Filterketten in den Optionen B<--filters> und B<--filters1=>I \\&… \\& B<--filters9=>I angegeben werden und beendet das Programm." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<--lzma1>[B<=>I]" +msgstr "B<--lzma1>[B<=>I]" + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<--lzma2>[B<=>I]" +msgstr "B<--lzma2>[B<=>I]" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Add LZMA1 or LZMA2 filter to the filter chain. These filters can be used only as the last filter in the chain." +msgstr "fügt LZMA1- oder LZMA2-Filter zur Filterkette hinzu. Diese Filter können nur als letzte Filter in der Kette verwendet werden." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "LZMA1 is a legacy filter, which is supported almost solely due to the legacy B<.lzma> file format, which supports only LZMA1. LZMA2 is an updated version of LZMA1 to fix some practical issues of LZMA1. The B<.xz> format uses LZMA2 and doesn't support LZMA1 at all. Compression speed and ratios of LZMA1 and LZMA2 are practically the same." +msgstr "LZMA1 ist ein veralteter Filter, welcher nur wegen des veralteten B<.lzma>-Dateiformats unterstützt wird, welches nur LZMA1 unterstützt. LZMA2 ist eine aktualisierte Version von LZMA1, welche einige praktische Probleme von LZMA1 behebt. Das B<.xz>-Format verwendet LZMA2 und unterstützt LZMA1 gar nicht. Kompressionsgeschwindigkeit und -verhältnis sind bei LZMA1 und LZMA2 praktisch gleich." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "LZMA1 and LZMA2 share the same set of I:" +msgstr "LZMA1 und LZMA2 haben die gleichen I:" + +#. TRANSLATORS: Don't translate bold strings like B, B, +#. B, B, B, or B because those are command line +#. options. On the other hand, do translate the italic strings like +#. I, I, and I, because such italic strings are +#. placeholders which a user replaces with an actual value. +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Reset all LZMA1 or LZMA2 I to I. I consist of an integer, which may be followed by single-letter preset modifiers. The integer can be from B<0> to B<9>, matching the command line options B<-0> \\&...\\& B<-9>. The only supported modifier is currently B, which matches B<--extreme>. If no B is specified, the default values of LZMA1 or LZMA2 I are taken from the preset B<6>." +msgstr "setzt alle LZMA1- oder LZMA2-I auf die I zurück. Diese I wird in Form einer Ganzzahl angegeben, der ein aus einem einzelnen Buchstaben bestehender Voreinstellungsmodifikator folgen kann. Die Ganzzahl kann B<0> bis B<9> sein, entsprechend den Befehlszeilenoptionen B<-0> … B<-9>. Gegenwärtig ist B der einzige unterstützte Modifikator, was B<--extreme> entspricht. Wenn keine B angegeben ist, werden die Standardwerte der LZMA1- oder LZMA2-I der Voreinstellung B<6> entnommen." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "BI" +msgstr "BI" + +# FIXME Dezimaltrenner in 1.5 GB +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Dictionary (history buffer) I indicates how many bytes of the recently processed uncompressed data is kept in memory. The algorithm tries to find repeating byte sequences (matches) in the uncompressed data, and replace them with references to the data currently in the dictionary. The bigger the dictionary, the higher is the chance to find a match. Thus, increasing dictionary I usually improves compression ratio, but a dictionary bigger than the uncompressed file is waste of memory." +msgstr "Die I des Wörterbuchs (Chronikpuffers) gibt an, wie viel Byte der kürzlich verarbeiteten unkomprimierten Daten im Speicher behalten werden sollen. Der Algorithmus versucht, sich wiederholende Byte-Abfolgen (Übereinstimmungen) in den unkomprimierten Daten zu finden und diese durch Referenzen zu den Daten zu ersetzen, die sich gegenwärtig im Wörterbuch befinden. Je größer das Wörterbuch, umso größer ist die Chance, eine Übereinstimmung zu finden. Daher bewirkt eine Erhöhung der I des Wörterbuchs üblicherweise ein besseres Kompressionsverhältnis, aber ein Wörterbuch, das größer ist als die unkomprimierte Datei, wäre Speicherverschwendung." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Typical dictionary I is from 64\\ KiB to 64\\ MiB. The minimum is 4\\ KiB. The maximum for compression is currently 1.5\\ GiB (1536\\ MiB). The decompressor already supports dictionaries up to one byte less than 4\\ GiB, which is the maximum for the LZMA1 and LZMA2 stream formats." +msgstr "Typische Wörterbuch-I liegen im Bereich von 64\\ KiB bis 64\\ MiB. Das Minimum ist 4\\ KiB. Das Maximum für die Kompression ist gegenwärtig 1.5\\ GiB (1536\\ MiB). Bei der Dekompression wird bereits eine Wörterbuchgröße bis zu 4\\ GiB minus 1 Byte unterstützt, welche das Maximum für die LZMA1- und LZMA2-Datenstromformate ist." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Dictionary I and match finder (I) together determine the memory usage of the LZMA1 or LZMA2 encoder. The same (or bigger) dictionary I is required for decompressing that was used when compressing, thus the memory usage of the decoder is determined by the dictionary size used when compressing. The B<.xz> headers store the dictionary I either as 2^I or 2^I + 2^(I-1), so these I are somewhat preferred for compression. Other I will get rounded up when stored in the B<.xz> headers." +msgstr "Die I des Wörterbuchs und der Übereinstimmungsfinder (I<Üf>) bestimmen zusammen den Speicherverbrauch des LZMA1- oder LZMA2-Kodierers. Bei der Dekompression ist ein Wörterbuch der gleichen I (oder ein noch größeres) wie bei der Kompression erforderlich, daher wird der Speicherverbrauch des Dekoders durch die Größe des bei der Kompression verwendeten Wörterbuchs bestimmt. Die B<.xz>-Header speichern die I des Wörterbuchs entweder als 2^I oder 2^I + 2^(I-1), so dass diese I für die Kompression etwas bevorzugt werden. Andere I werden beim Speichern in den B<.xz>-Headern aufgerundet." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Specify the number of literal context bits. The minimum is 0 and the maximum is 4; the default is 3. In addition, the sum of I and I must not exceed 4." +msgstr "gibt die Anzahl der literalen Kontextbits an. Das Minimum ist 0 und das Maximum 4; der Standardwert ist 3. Außerdem darf die Summe von I und I nicht größer als 4 sein." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "All bytes that cannot be encoded as matches are encoded as literals. That is, literals are simply 8-bit bytes that are encoded one at a time." +msgstr "Alle Bytes, die nicht als Übereinstimmungen kodiert werden können, werden als Literale kodiert. Solche Literale sind einfache 8-bit-Bytes, die jeweils für sich kodiert werden." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The literal coding makes an assumption that the highest I bits of the previous uncompressed byte correlate with the next byte. For example, 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 I is at least 3, the literal coding can take advantage of this property in the uncompressed data." +msgstr "Bei der Literalkodierung wird angenommen, dass die höchsten I-Bits des zuvor unkomprimierten Bytes mit dem nächsten Byte in Beziehung stehen. Zum Beispiel folgt in typischen englischsprachigen Texten auf einen Großbuchstaben ein Kleinbuchstabe und auf einen Kleinbuchstaben üblicherweise wieder ein Kleinbuchstabe. Im US-ASCII-Zeichensatz sind die höchsten drei Bits 010 für Großbuchstaben und 011 für Kleinbuchstaben. Wenn I mindestens 3 ist, kann die literale Kodierung diese Eigenschaft der unkomprimierten Daten ausnutzen." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The default value (3) is usually good. If you want maximum compression, test B. Sometimes it helps a little, and sometimes it makes compression worse. If it makes it worse, test B too." +msgstr "Der Vorgabewert (3) ist üblicherweise gut. Wenn Sie die maximale Kompression erreichen wollen, versuchen Sie B. Manchmal hilft es ein wenig, doch manchmal verschlechtert es die Kompression. Im letzteren Fall versuchen Sie zum Beispiel auch\\& B." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Specify the number of literal position bits. The minimum is 0 and the maximum is 4; the default is 0." +msgstr "gibt die Anzahl der literalen Positionsbits an. Das Minimum ist 0 und das Maximum 4; die Vorgabe ist 0." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "I affects what kind of alignment in the uncompressed data is assumed when encoding literals. See I below for more information about alignment." +msgstr "I beeinflusst, welche Art der Ausrichtung der unkomprimierten Daten beim Kodieren von Literalen angenommen wird. Siehe I weiter unten für weitere Informationen zur Ausrichtung." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Specify the number of position bits. The minimum is 0 and the maximum is 4; the default is 2." +msgstr "legt die Anzahl der Positions-Bits fest. Das Minimum ist 0 und das Maximum 4; Standard ist 2." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "I affects what kind of alignment in the uncompressed data is assumed in general. The default means four-byte alignment (2^I=2^2=4), which is often a good choice when there's no better guess." +msgstr "I beeinflusst, welche Art der Ausrichtung der unkomprimierten Daten generell angenommen wird. Standardmäßig wird eine Vier-Byte-Ausrichtung angenommen (2^I=2^2=4), was oft eine gute Wahl ist, wenn es keine bessere Schätzung gibt." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "When the alignment is known, setting I accordingly may reduce the file size a little. For example, with text files having one-byte alignment (US-ASCII, ISO-8859-*, UTF-8), setting B can improve compression slightly. For UTF-16 text, B is a good choice. If the alignment is an odd number like 3 bytes, B might be the best choice." +msgstr "Wenn die Ausrichtung bekannt ist, kann das entsprechende Setzen von I die Dateigröße ein wenig verringern. Wenn Textdateien zum Beispiel eine Ein-Byte-Ausrichtung haben (US-ASCII, ISO-8859-*, UTF-8), kann das Setzen von B die Kompression etwas verbessern. Für UTF-16-Text ist B eine gute Wahl. Wenn die Ausrichtung eine ungerade Zahl wie beispielsweise 3 Byte ist, könnte B die beste Wahl sein." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Even though the assumed alignment can be adjusted with I and I, 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." +msgstr "Obwohl die angenommene Ausrichtung mit I und I angepasst werden kann, bevorzugen LZMA1 und LZMA2 noch etwas die 16-Byte-Ausrichtung. Das sollten Sie vielleicht beim Design von Dateiformaten berücksichtigen, die wahrscheinlich oft mit LZMA1 oder LZMA2 komprimiert werden." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "BI" +msgstr "BI<Üf>" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Match finder has a major effect on encoder speed, memory usage, and compression ratio. Usually Hash Chain match finders are faster than Binary Tree match finders. The default depends on the I: 0 uses B, 1\\(en3 use B, and the rest use B." +msgstr "Der Übereinstimmungsfinder hat einen großen Einfluss auf die Geschwindigkeit des Kodierers, den Speicherbedarf und das Kompressionsverhältnis. Üblicherweise sind auf Hash-Ketten basierende Übereinstimmungsfinder schneller als jene, die mit Binärbäumen arbeiten. Die Vorgabe hängt von der I ab: 0 verwendet B, 1-3 verwenden B und der Rest verwendet B." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The following match finders are supported. The memory usage formulas below are rough approximations, which are closest to the reality when I is a power of two." +msgstr "Die folgenden Übereinstimmungsfinder werden unterstützt. Die Formeln zur Ermittlung des Speicherverbrauchs sind grobe Schätzungen, die der Realität am nächsten kommen, wenn I eine Zweierpotenz ist." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Hash Chain with 2- and 3-byte hashing" +msgstr "Hash-Kette mit 2- und 3-Byte-Hashing" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Minimum value for I: 3" +msgstr "Minimalwert für I: 3" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Memory usage:" +msgstr "Speicherbedarf:" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "I * 7.5 (if I E= 16 MiB);" +msgstr "I * 7,5 (falls I E= 16 MiB);" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "I * 5.5 + 64 MiB (if I E 16 MiB)" +msgstr "I * 5,5 + 64 MiB (falls I E 16 MiB)" + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Hash Chain with 2-, 3-, and 4-byte hashing" +msgstr "Hash-Kette mit 2-, 3- und 4-Byte-Hashing" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Minimum value for I: 4" +msgstr "Minimaler Wert für I: 4" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "I * 7.5 (if I E= 32 MiB);" +msgstr "I * 7,5 (falls I E= 32 MiB ist);" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "I * 6.5 (if I E 32 MiB)" +msgstr "I * 6,5 (falls I E 32 MiB ist)" + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Binary Tree with 2-byte hashing" +msgstr "Binärbaum mit 2-Byte-Hashing" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Minimum value for I: 2" +msgstr "Minimaler Wert für I: 2" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Memory usage: I * 9.5" +msgstr "Speicherverbrauch: I * 9.5" + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Binary Tree with 2- and 3-byte hashing" +msgstr "Binärbaum mit 2- und 3-Byte-Hashing" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "I * 11.5 (if I E= 16 MiB);" +msgstr "I * 11,5 (falls I E= 16 MiB ist);" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "I * 9.5 + 64 MiB (if I E 16 MiB)" +msgstr "I * 9,5 + 64 MiB (falls I E 16 MiB ist)" + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Binary Tree with 2-, 3-, and 4-byte hashing" +msgstr "Binärbaum mit 2-, 3- und 4-Byte-Hashing" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "I * 11.5 (if I E= 32 MiB);" +msgstr "I * 11,5 (falls I E= 32 MiB ist);" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "I * 10.5 (if I E 32 MiB)" +msgstr "I * 10,5 (falls I E 32 MiB ist)" + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Compression I specifies the method to analyze the data produced by the match finder. Supported I are B and B. The default is B for I 0\\(en3 and B for I 4\\(en9." +msgstr "gibt die Methode zum Analysieren der vom Übereinstimmungsfinder gelieferten Daten an. Als I werden B und B unterstützt. Die Vorgabe ist B für die I 0-3 und B für die I 4-9." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Usually B is used with Hash Chain match finders and B with Binary Tree match finders. This is also what the I do." +msgstr "Üblicherweise wird B mit Hashketten-basierten Übereinstimmungsfindern und B mit Binärbaum-basierten Übereinstimmungsfindern verwendet. So machen es auch die I." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Specify what is considered to be a nice length for a match. Once a match of at least I bytes is found, the algorithm stops looking for possibly better matches." +msgstr "gibt an, was als annehmbarer Wert für eine Übereinstimmung angesehen werden kann. Wenn eine Übereinstimmung gefunden wird, die mindestens diesen I-Wert hat, sucht der Algorithmus nicht weiter nach besseren Übereinstimmungen." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "I can be 2\\(en273 bytes. Higher values tend to give better compression ratio at the expense of speed. The default depends on the I." +msgstr "Der I-Wert kann 2-273 Byte sein. Höhere Werte tendieren zu einem besseren Kompressionsverhältnis, aber auf Kosten der Geschwindigkeit. Die Vorgabe hängt von der I ab." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Specify the maximum search depth in the match finder. The default is the special value of 0, which makes the compressor determine a reasonable I from I and I." +msgstr "legt die maximale Suchtiefe im Übereinstimmungsfinder fest. Vorgegeben ist der spezielle Wert 0, der den Kompressor veranlasst, einen annehmbaren Wert für I aus I<Üf> und I-Wert zu bestimmen." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Reasonable I for Hash Chains is 4\\(en100 and 16\\(en1000 for Binary Trees. Using very high values for I can make the encoder extremely slow with some files. Avoid setting the I over 1000 unless you are prepared to interrupt the compression in case it is taking far too long." +msgstr "Die angemessene I für Hash-Ketten ist 4-100 und 16-1000 für Binärbäume. Hohe Werte für die I können den Kodierer bei einigen Dateien extrem verlangsamen. Vermeiden Sie es, die I über einen Wert von 100 zu setzen, oder stellen Sie sich darauf ein, die Kompression abzubrechen, wenn sie zu lange dauert." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "When decoding raw streams (B<--format=raw>), LZMA2 needs only the dictionary I. LZMA1 needs also I, I, and I." +msgstr "Beim Dekodieren von Rohdatenströmen (B<--format=raw>) benötigt LZMA2 nur die Wörterbuch-I. LZMA1 benötigt außerdem I, I und I." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<--x86>[B<=>I]" +msgstr "B<--x86>[B<=>I]" + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<--arm>[B<=>I]" +msgstr "B<--arm>[B<=>I]" + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<--armthumb>[B<=>I]" +msgstr "B<--armthumb>[B<=>I]" + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<--arm64>[B<=>I]" +msgstr "B<--arm64>[B<=>I]" + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<--powerpc>[B<=>I]" +msgstr "B<--powerpc>[B<=>I]" + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<--ia64>[B<=>I]" +msgstr "B<--ia64>[B<=>I]" + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<--sparc>[B<=>I]" +msgstr "B<--sparc>[B<=>I]" + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<--riscv>[B<=>I]" +msgstr "B<--riscv>[B<=>I]" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Add a branch/call/jump (BCJ) filter to the filter chain. These filters can be used only as a non-last filter in the filter chain." +msgstr "fügt ein »Branch/Call/Jump«-(BCJ-)Filter zur Filterkette hinzu. Diese Filter können nicht als letzter Filter in der Filterkette verwendet werden." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "A BCJ filter converts relative addresses in the machine code to their absolute counterparts. This doesn't change the size of the data but it increases redundancy, which can help LZMA2 to produce 0\\(en15\\ % smaller B<.xz> file. The BCJ filters are always reversible, so using a BCJ filter for wrong type of data doesn't cause any data loss, although it may make the compression ratio slightly worse. The BCJ filters are very fast and use an insignificant amount of memory." +msgstr "Ein BCJ-Filter wandelt relative Adressen im Maschinencode in deren absolute Gegenstücke um. Die Datengröße wird dadurch nicht geändert, aber die Redundanz erhöht, was LZMA2 dabei helfen kann, eine um 10 bis 15% kleinere B<.xz>-Datei zu erstellen. Die BCJ-Filter sind immer reversibel, daher verursacht die Anwendung eines BCJ-Filters auf den falschen Datentyp keinen Datenverlust, wobei aber das Kompressionsverhältnis etwas schlechter werden könnte. Die BCJ-Filter sind sehr schnell und verbrauchen nur wenig mehr Speicher." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "These BCJ filters have known problems related to the compression ratio:" +msgstr "Diese BCJ-Filter haben bekannte Probleme mit dem Kompressionsverhältnis:" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Some types of files containing executable code (for example, object files, static libraries, and Linux kernel modules) have the addresses in the instructions filled with filler values. These BCJ filters will still do the address conversion, which will make the compression worse with these files." +msgstr "In einigen Dateitypen, die ausführbaren Code enthalten (zum Beispiel Objektdateien, statische Bibliotheken und Linux-Kernelmodule), sind die Adressen in den Anweisungen mit Füllwerten gefüllt. Diese BCJ-Filter führen dennoch die Adressumwandlung aus, wodurch die Kompression bei diesen Dateien schlechter wird." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "If a BCJ filter is applied on an archive, it is possible that it makes the compression ratio worse than not using a BCJ filter. For example, if there are similar or even identical executables then filtering will likely make the files less similar and thus compression is worse. The contents of non-executable files in the same archive can matter too. In practice one has to try with and without a BCJ filter to see which is better in each situation." +msgstr "Falls ein BCJ-Filter auf ein Archiv angewendet wird, ist es möglich, dass das Kompressionsverhältnis schlechter als ohne Filter wird. Falls es beispielsweise ähnliche oder sogar identische ausführbare Dateien gibt, dann werden diese durch die Filterung wahrscheinlich »unähnlicher« und verschlechtern dadurch das Kompressionsverhältnis. Der Inhalt nicht-ausführbarer Dateien im gleichen Archiv kann sich ebenfalls darauf auswirken. In der Praxis werden Sie durch Versuche mit oder ohne BCJ-Filter selbst herausfinden müssen, was situationsbezogen besser ist." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Different instruction sets have different alignment: the executable file must be aligned to a multiple of this value in the input data to make the filter work." +msgstr "Verschiedene Befehlssätze haben unterschiedliche Ausrichtungen: Die ausführbare Datei muss in den Eingabedateien einem Vielfachen dieses Wertes entsprechen, damit dieser Filter funktioniert." + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "Filter" +msgstr "Filter" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "Alignment" +msgstr "Ausrichtung" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "Notes" +msgstr "Hinweise" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "x86" +msgstr "x86" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "32-bit or 64-bit x86" +msgstr "32-Bit oder 64-Bit x86" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "ARM" +msgstr "ARM" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "ARM-Thumb" +msgstr "ARM-Thumb" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "ARM64" +msgstr "ARM64" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "4096-byte alignment is best" +msgstr "4096-Byte-Ausrichtung ist optimal" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "PowerPC" +msgstr "PowerPC" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "Big endian only" +msgstr "Nur Big Endian" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "IA-64" +msgstr "IA-64" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "16" +msgstr "16" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "Itanium" +msgstr "Itanium" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "SPARC" +msgstr "SPARC" + +#. type: tbl table +#: ../src/xz/xz.1 +#, no-wrap +msgid "RISC-V" +msgstr "RISC-V" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Since the BCJ-filtered data is usually compressed with LZMA2, the compression ratio may be improved slightly if the LZMA2 options are set to match the alignment of the selected BCJ filter. Examples:" +msgstr "Da die BCJ-gefilterten Daten üblicherweise mit LZMA2 komprimiert sind, kann das Kompressionsverhältnis dadurch etwas verbessert werden, dass die LZMA2-Optionen so gesetzt werden, dass sie der Ausrichtung des gewählten BCJ-Filters entsprechen. Beispiele:" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "IA-64 filter has 16-byte alignment so B is good with LZMA2 (2^4=16)." +msgstr "Der IA-64-Filter hat eine 16-Byte-Ausrichtung, daher ist B für LZMA2 passend (2^4=16)." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "RISC-V code has 2-byte or 4-byte alignment depending on whether the file contains 16-bit compressed instructions (the C extension). When 16-bit instructions are used, B or B is good. When 16-bit instructions aren't present, B is the best. B can be used to check if \"RVC\" appears on the \"Flags\" line." +msgstr "RISC-V-Code hat eine 2-Byte- oder 4-Byte-Ausrichtung, abhängig davon, ob die Datei 16-bit-komprimierte Instruktionen enthält (die C-Erweiterung). Wenn 16-bit-Instruktionen verwendet werden, ist B oder B passend. Wenn keine 16-bit-Instruktionen vorhanden sind, ist B am besten. Mit B können Sie überprüfen, ob »RVC« in der »Flags«-Zeile auftritt." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "ARM64 is always 4-byte aligned so B is the best." +msgstr "ARM64 hat stets eine 4-Byte-Ausrichtung, daher ist B am besten." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The x86 filter is an exception. It's usually good to stick to LZMA2's defaults (B) when compressing x86 executables." +msgstr "Der x86-Filter stellt eine Ausnahme dar. Es ist üblicherweise eine gute Wahl, bei den Voreinstellungen von LZMA2 (B) zu bleiben, wenn Sie ausführbare x86-Dateien komprimieren" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "All BCJ filters support the same I:" +msgstr "Alle BCJ-Filter unterstützen die gleichen I:" + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Specify the start I that is used when converting between relative and absolute addresses. The I must be a multiple of the alignment of the filter (see the table above). The default is zero. In practice, the default is good; specifying a custom I is almost never useful." +msgstr "gibt den Start-I an, der bei der Umwandlung zwischen relativen und absoluten Adressen verwendet wird. Der I muss ein Vielfaches der Filterausrichtung sein (siehe die Tabelle oben). Der Standardwert ist 0. In der Praxis ist dieser Standardwert gut; die Angabe eines benutzerdefinierten I ist fast immer unnütz." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<--delta>[B<=>I]" +msgstr "B<--delta>[B<=>I]" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Add the Delta filter to the filter chain. The Delta filter can be only used as a non-last filter in the filter chain." +msgstr "fügt den Delta-Filter zur Filterkette hinzu. Der Delta-Filter kann nicht als letzter Filter in der Filterkette verwendet werden." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Currently only simple byte-wise delta calculation is supported. It can be useful when compressing, for example, uncompressed bitmap images or uncompressed PCM audio. However, special purpose algorithms may give significantly better results than Delta + LZMA2. This is true especially with audio, which compresses faster and better, for example, with B(1)." +msgstr "Gegenwärtig wird nur eine einfache, Byte-bezogene Delta-Berechnung unterstützt. Beim Komprimieren von zum Beispiel unkomprimierten Bitmap-Bildern oder unkomprimierten PCM-Audiodaten kann es jedoch sinnvoll sein. Dennoch können für spezielle Zwecke entworfene Algorithmen deutlich bessere Ergebnisse als Delta und LZMA2 liefern. Dies trifft insbesondere auf Audiodaten zu, die sich zum Beispiel mit B(1) schneller und besser komprimieren lassen." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Supported I:" +msgstr "Unterstützte I:" + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "BI" +msgstr "BI" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Specify the I of the delta calculation in bytes. I must be 1\\(en256. The default is 1." +msgstr "gibt den I der Delta-Berechnung in Byte an. Zulässige Werte für den I sind 1 bis 256. Der Vorgabewert ist 1." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "For example, with B and eight-byte input A1 B1 A2 B3 A3 B5 A4 B7, the output will be A1 B1 01 02 01 02 01 02." +msgstr "Zum Beispiel wird mit B und der 8-Byte-Eingabe A1 B1 A2 B3 A3 B5 A4 B7 die Ausgabe A1 B1 01 02 01 02 01 02 sein." + +#. type: SS +#: ../src/xz/xz.1 +#, no-wrap +msgid "Other options" +msgstr "Andere Optionen" + +#. type: TP +#: ../src/xz/xz.1 ../src/xzdec/xzdec.1 +#, no-wrap +msgid "B<-q>, B<--quiet>" +msgstr "B<-q>, B<--quiet>" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Suppress warnings and notices. Specify this twice to suppress errors too. This option has no effect on the exit status. That is, even if a warning was suppressed, the exit status to indicate a warning is still used." +msgstr "unterdrückt Warnungen und Hinweise. Geben Sie dies zweimal an, um auch Fehlermeldungen zu unterdrücken. Diese Option wirkt sich nicht auf den Exit-Status aus. Das bedeutet, das selbst bei einer unterdrückten Warnung der Exit-Status zur Anzeige einer Warnung dennoch verwendet wird." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<-v>, B<--verbose>" +msgstr "B<-v>, B<--verbose>" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Be verbose. If standard error is connected to a terminal, B will display a progress indicator. Specifying B<--verbose> twice will give even more verbose output." +msgstr "bewirkt ausführliche Ausgaben. Wenn die Standardfehlerausgabe mit einem Terminal verbunden ist, zeigt B den Fortschritt an. Durch zweimalige Angabe von B<--verbose> wird die Ausgabe noch ausführlicher." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The progress indicator shows the following information:" +msgstr "Der Fortschrittsanzeiger stellt die folgenden Informationen dar:" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Completion percentage is shown if the size of the input file is known. That is, the percentage cannot be shown in pipes." +msgstr "Der Prozentsatz des Fortschritts wird angezeigt, wenn die Größe der Eingabedatei bekannt ist. Das bedeutet, dass der Prozentsatz in Weiterleitungen (Pipes) nicht angezeigt werden kann." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Amount of compressed data produced (compressing) or consumed (decompressing)." +msgstr "Menge der erzeugten komprimierten Daten (bei der Kompression) oder der verarbeiteten Daten (bei der Dekompression)." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Amount of uncompressed data consumed (compressing) or produced (decompressing)." +msgstr "Menge der verarbeiteten unkomprimierten Daten (bei der Kompression) oder der erzeugten Daten (bei der Dekompression)." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Compression ratio, which is calculated by dividing the amount of compressed data processed so far by the amount of uncompressed data processed so far." +msgstr "Kompressionsverhältnis, das mittels Dividieren der Menge der bisher komprimierten Daten durch die Menge der bisher verarbeiteten unkomprimierten Daten ermittelt wird." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Compression or decompression speed. This is measured as the amount of uncompressed data consumed (compression) or produced (decompression) per second. It is shown after a few seconds have passed since B started processing the file." +msgstr "Kompressions- oder Dekompressionsgeschwindigkeit. Diese wird anhand der Menge der unkomprimierten verarbeiteten Daten (bei der Kompression) oder der Menge der erzeugten Daten (bei der Dekompression) pro Sekunde gemessen. Die Anzeige startet einige Sekunden nachdem B mit der Verarbeitung der Datei begonnen hat." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Elapsed time in the format M:SS or H:MM:SS." +msgstr "Die vergangene Zeit im Format M:SS oder H:MM:SS." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Estimated remaining time is shown only when the size of the input file is known and a couple of seconds have already passed since B started processing the file. The time is shown in a less precise format which never has any colons, for example, 2 min 30 s." +msgstr "Die geschätzte verbleibende Zeit wird nur angezeigt, wenn die Größe der Eingabedatei bekannt ist und bereits einige Sekunden vergangen sind, nachdem B mit der Verarbeitung der Datei begonnen hat. Die Zeit wird in einem weniger präzisen Format ohne Doppelpunkte angezeigt, zum Beispiel 2 min 30 s." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "When standard error is not a terminal, B<--verbose> will make B print the filename, compressed size, uncompressed size, compression ratio, and possibly also the speed and elapsed time on a single line to standard error after compressing or decompressing the file. The speed and elapsed time are included only when the operation took at least a few seconds. If the operation didn't finish, for example, due to user interruption, also the completion percentage is printed if the size of the input file is known." +msgstr "Wenn die Standardfehlerausgabe kein Terminal ist, schreibt B mit B<--verbose> nach dem Komprimieren oder Dekomprimieren der Datei in einer einzelnen Zeile den Dateinamen, die komprimierte Größe, die unkomprimierte Größe, das Kompressionsverhältnis und eventuell auch die Geschwindigkeit und die vergangene Zeit in die Standardfehlerausgabe. Die Geschwindigkeit und die vergangene Zeit werden nur angezeigt, wenn der Vorgang mindestens ein paar Sekunden gedauert hat. Wurde der Vorgang nicht beendet, zum Beispiel weil ihn der Benutzer abgebrochen hat, wird außerdem der Prozentsatz des erreichten Verarbeitungsfortschritts aufgenommen, sofern die Größe der Eingabedatei bekannt ist." + +#. type: TP +#: ../src/xz/xz.1 ../src/xzdec/xzdec.1 +#, no-wrap +msgid "B<-Q>, B<--no-warn>" +msgstr "B<-Q>, B<--no-warn>" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Don't set the exit status to 2 even if a condition worth a warning was detected. This option doesn't affect the verbosity level, thus both B<--quiet> and B<--no-warn> have to be used to not display warnings and to not alter the exit status." +msgstr "setzt den Exit-Status nicht auf 2, selbst wenn eine Bedingung erfüllt ist, die eine Warnung gerechtfertigt hätte. Diese Option wirkt sich nicht auf die Ausführlichkeitsstufe aus, daher müssen sowohl B<--quiet> als auch B<--no-warn> angegeben werden, um einerseits keine Warnungen anzuzeigen und andererseits auch den Exit-Status nicht zu ändern." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<--robot>" +msgstr "B<--robot>" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Print messages in a machine-parsable format. This is intended to ease writing frontends that want to use B instead of liblzma, which may be the case with various scripts. The output with this option enabled is meant to be stable across B releases. See the section B for details." +msgstr "gibt Meldungen in einem maschinenlesbaren Format aus. Dadurch soll das Schreiben von Frontends erleichtert werden, die B anstelle von Liblzma verwenden wollen, was in verschiedenen Skripten der Fall sein kann. Die Ausgabe mit dieser aktivierten Option sollte über mehrere B-Veröffentlichungen stabil sein. Details hierzu finden Sie im Abschnitt B." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<--info-memory>" +msgstr "B<--info-memory>" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Display, in human-readable format, how much physical memory (RAM) and how many processor threads B thinks the system has and the memory usage limits for compression and decompression, and exit successfully." +msgstr "zeigt in einem menschenlesbaren Format an, wieviel physischen Speicher (RAM) und wie viele Prozessor-Threads das System nach Annahme von B hat, sowie die Speicherbedarfsbegrenzung für Kompression und Dekompression, und beendet das Programm erfolgreich." + +#. type: TP +#: ../src/xz/xz.1 ../src/xzdec/xzdec.1 +#, no-wrap +msgid "B<-h>, B<--help>" +msgstr "B<-h>, B<--help>" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Display a help message describing the most commonly used options, and exit successfully." +msgstr "zeigt eine Hilfemeldung mit den am häufigsten genutzten Optionen an und beendet das Programm erfolgreich." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B<-H>, B<--long-help>" +msgstr "B<-H>, B<--long-help>" + +# FIXME Satzpunkt fehlt +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Display a help message describing all features of B, and exit successfully" +msgstr "zeigt eine Hilfemeldung an, die alle Funktionsmerkmale von B beschreibt und beendet das Programm erfolgreich." + +#. type: TP +#: ../src/xz/xz.1 ../src/xzdec/xzdec.1 +#, no-wrap +msgid "B<-V>, B<--version>" +msgstr "B<-V>, B<--version>" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Display the version number of B and liblzma in human readable format. To get machine-parsable output, specify B<--robot> before B<--version>." +msgstr "zeigt die Versionsnummer von B und Liblzma in einem menschenlesbaren Format an. Um eine maschinell auswertbare Ausgabe zu erhalten, geben Sie B<--robot> vor B<--version> an." + +#. type: SH +#: ../src/xz/xz.1 +#, no-wrap +msgid "ROBOT MODE" +msgstr "ROBOTER-MODUS" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The robot mode is activated with the B<--robot> option. It makes the output of B easier to parse by other programs. Currently B<--robot> is supported only together with B<--list>, B<--filters-help>, B<--info-memory>, and B<--version>. It will be supported for compression and decompression in the future." +msgstr "Der Roboter-Modus wird mit der Option B<--robot> aktiviert. Er bewirkt, dass die Ausgabe von B leichter von anderen Programmen ausgewertet werden kann. Gegenwärtig wird B<--robot> nur zusammen mit B<--list>, B<--filters-help>, B<--info-memory> und B<--version> unterstützt. In der Zukunft wird dieser Modus auch für Kompression und Dekompression unterstützt." + +#. type: SS +#: ../src/xz/xz.1 +#, no-wrap +msgid "List mode" +msgstr "Listenmodus" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "B uses tab-separated output. The first column of every line has a string that indicates the type of the information found on that line:" +msgstr "B verwendet eine durch Tabulatoren getrennte Ausgabe. In der ersten Spalte jeder Zeile bezeichnet eine Zeichenkette den Typ der Information, die in dieser Zeile enthalten ist:" + +#. TRANSLATORS: The bold strings B, B, B, B, +#. B, and B are produced by the xz tool for scripts to +#. parse, thus the untranslated strings must be included in the translated +#. man page. It may be useful to provide a translated string in parenthesis +#. without bold, for example: "B (nimi)" +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "This is always the first line when starting to list a file. The second column on the line is the filename." +msgstr "Dies ist stets die erste Zeile, wenn eine Datei aufgelistet wird. Die zweite Spalte in der Zeile enthält den Dateinamen." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B" +msgstr "B" + +# CHECK overall +#. type: Plain text +#: ../src/xz/xz.1 +msgid "This line contains overall information about the B<.xz> file. This line is always printed after the B line." +msgstr "Diese Zeile enthält allgemeine Informationen zur B<.xz>-Datei. Diese Zeile wird stets nach der B-Zeile ausgegeben." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "This line type is used only when B<--verbose> was specified. There are as many B lines as there are streams in the B<.xz> file." +msgstr "Dieser Zeilentyp wird nur verwendet, wenn B<--verbose> angegeben wurde. Es gibt genau so viele B-Zeilen, wie Datenströme in der B<.xz>-Datei enthalten sind." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "This line type is used only when B<--verbose> was specified. There are as many B lines as there are blocks in the B<.xz> file. The B lines are shown after all the B lines; different line types are not interleaved." +msgstr "Dieser Zeilentyp wird nur verwendet, wenn B<--verbose> angegeben wurde. Es gibt so viele B-Zeilen, wie Blöcke in der B<.xz>-Datei. Die B-Zeilen werden nach allen B-Zeilen angezeigt; verschiedene Zeilentypen werden nicht verschachtelt." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "This line type is used only when B<--verbose> was specified twice. This line is printed after all B lines. Like the B line, the B line contains overall information about the B<.xz> file." +msgstr "Dieser Zeilentyp wird nur verwendet, wenn B<--verbose> zwei Mal angegeben wurde. Diese Zeile wird nach allen B-Zeilen ausgegeben. Wie die B-Zeile enthält die B-Zeile allgemeine Informationen zur B<.xz>-Datei." + +#. type: TP +#: ../src/xz/xz.1 +#, no-wrap +msgid "B" +msgstr "B" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "This line is always the very last line of the list output. It shows the total counts and sizes." +msgstr "Diese Zeile ist immer die letzte der Listenausgabe. Sie zeigt die Gesamtanzahlen und -größen an." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The columns of the B lines:" +msgstr "Die Spalten der B-Zeilen:" + +#. type: IP +#: ../src/xz/xz.1 +#, no-wrap +msgid "2." +msgstr "2." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Number of streams in the file" +msgstr "Anzahl der Datenströme in der Datei" + +#. type: IP +#: ../src/xz/xz.1 +#, no-wrap +msgid "3." +msgstr "3." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Total number of blocks in the stream(s)" +msgstr "Gesamtanzahl der Blöcke in den Datenströmen" + +#. type: IP +#: ../src/xz/xz.1 +#, no-wrap +msgid "4." +msgstr "4." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Compressed size of the file" +msgstr "Komprimierte Größe der Datei" + +#. type: IP +#: ../src/xz/xz.1 +#, no-wrap +msgid "5." +msgstr "5." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Uncompressed size of the file" +msgstr "Unkomprimierte Größe der Datei" + +#. type: IP +#: ../src/xz/xz.1 +#, no-wrap +msgid "6." +msgstr "6." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Compression ratio, for example, B<0.123>. If ratio is over 9.999, three dashes (B<--->) are displayed instead of the ratio." +msgstr "Das Kompressionsverhältnis, zum Beispiel B<0.123>. Wenn das Verhältnis über 9.999 liegt, werden drei Minuszeichen (B<--->) anstelle des Kompressionsverhältnisses angezeigt." + +#. type: IP +#: ../src/xz/xz.1 +#, no-wrap +msgid "7." +msgstr "7." + +#. TRANSLATORS: Don't translate the bold strings B, B, +#. B, B, or B here. In robot mode, xz produces +#. them in untranslated form for scripts to parse. +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Comma-separated list of integrity check names. The following strings are used for the known check types: B, B, B, and B. For unknown check types, BI is used, where I is the Check ID as a decimal number (one or two digits)." +msgstr "Durch Kommata getrennte Liste der Namen der Integritätsprüfungen. Für die bekannten Überprüfungstypen werden folgende Zeichenketten verwendet: B, B, B und B. BI wird verwendet, wobei I die Kennung der Überprüfung als Dezimalzahl angibt (ein- oder zweistellig)." + +#. type: IP +#: ../src/xz/xz.1 +#, no-wrap +msgid "8." +msgstr "8." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Total size of stream padding in the file" +msgstr "Gesamtgröße der Datenstromauffüllung in der Datei" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The columns of the B lines:" +msgstr "Die Spalten der B-Zeilen:" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Stream number (the first stream is 1)" +msgstr "Datenstromnummer (der erste Datenstrom ist 1)" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Number of blocks in the stream" +msgstr "Anzahl der Blöcke im Datenstrom" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Compressed start offset" +msgstr "Komprimierte Startposition" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Uncompressed start offset" +msgstr "Unkomprimierte Startposition" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Compressed size (does not include stream padding)" +msgstr "Komprimierte Größe (schließt die Datenstromauffüllung nicht mit ein)" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Uncompressed size" +msgstr "Unkomprimierte Größe" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Compression ratio" +msgstr "Kompressionsverhältnis" + +#. type: IP +#: ../src/xz/xz.1 +#, no-wrap +msgid "9." +msgstr "9." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Name of the integrity check" +msgstr "Name der Integritätsprüfung" + +#. type: IP +#: ../src/xz/xz.1 +#, no-wrap +msgid "10." +msgstr "10." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Size of stream padding" +msgstr "Größe der Datenstromauffüllung" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The columns of the B lines:" +msgstr "Die Spalten der B-Zeilen:" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Number of the stream containing this block" +msgstr "Anzahl der in diesem Block enthaltenen Datenströme" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Block number relative to the beginning of the stream (the first block is 1)" +msgstr "Blocknummer relativ zum Anfang des Datenstroms (der erste Block ist 1)" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Block number relative to the beginning of the file" +msgstr "Blocknummer relativ zum Anfang der Datei" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Compressed start offset relative to the beginning of the file" +msgstr "Komprimierter Startversatz relativ zum Beginn der Datei" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Uncompressed start offset relative to the beginning of the file" +msgstr "Unkomprimierter Startversatz relativ zum Beginn der Datei" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Total compressed size of the block (includes headers)" +msgstr "Komprimierte Gesamtgröße des Blocks (einschließlich Header)" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "If B<--verbose> was specified twice, additional columns are included on the B lines. These are not displayed with a single B<--verbose>, because getting this information requires many seeks and can thus be slow:" +msgstr "Wenn B<--verbose> zwei Mal angegeben wurde, werden zusätzliche Spalten in die B-Zeilen eingefügt. Diese werden mit einem einfachen B<--verbose> nicht angezeigt, da das Ermitteln dieser Informationen viele Suchvorgänge erfordert und daher recht langsam sein kann:" + +#. type: IP +#: ../src/xz/xz.1 +#, no-wrap +msgid "11." +msgstr "11." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Value of the integrity check in hexadecimal" +msgstr "Wert der Integritätsprüfung in hexadezimaler Notation" + +#. type: IP +#: ../src/xz/xz.1 +#, no-wrap +msgid "12." +msgstr "12." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Block header size" +msgstr "Block-Header-Größe" + +#. type: IP +#: ../src/xz/xz.1 +#, no-wrap +msgid "13." +msgstr "13." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Block flags: B indicates that compressed size is present, and B indicates that uncompressed size is present. If the flag is not set, a dash (B<->) is shown instead to keep the string length fixed. New flags may be added to the end of the string in the future." +msgstr "Block-Schalter: B gibt an, dass die komprimierte Größe verfügbar ist, und B gibt an, dass die unkomprimierte Größe verfügbar ist. Falls der Schalter nicht gesetzt ist, wird stattdessen ein Bindestrich (B<->) angezeigt, um die Länge der Zeichenkette beizubehalten. In Zukunft könnten neue Schalter am Ende der Zeichenkette hinzugefügt werden." + +#. type: IP +#: ../src/xz/xz.1 +#, no-wrap +msgid "14." +msgstr "14." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Size of the actual compressed data in the block (this excludes the block header, block padding, and check fields)" +msgstr "Größe der tatsächlichen komprimierten Daten im Block. Ausgeschlossen sind hierbei die Block-Header, die Blockauffüllung und die Prüffelder." + +#. type: IP +#: ../src/xz/xz.1 +#, no-wrap +msgid "15." +msgstr "15." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Amount of memory (in bytes) required to decompress this block with this B version" +msgstr "Größe des Speichers (in Byte), der zum Dekomprimieren dieses Blocks mit dieser B-Version benötigt wird." + +#. type: IP +#: ../src/xz/xz.1 +#, no-wrap +msgid "16." +msgstr "16." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Filter chain. Note that most of the options used at compression time cannot be known, because only the options that are needed for decompression are stored in the B<.xz> headers." +msgstr "Filterkette. Beachten Sie, dass die meisten der bei der Kompression verwendeten Optionen nicht bekannt sein können, da in den B<.xz>-Headern nur die für die Dekompression erforderlichen Optionen gespeichert sind." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The columns of the B lines:" +msgstr "Die Spalten der B-Zeilen:" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Amount of memory (in bytes) required to decompress this file with this B version" +msgstr "Größe des Speichers (in Byte), der zum Dekomprimieren dieser Datei mit dieser B-Version benötigt wird." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "B or B indicating if all block headers have both compressed size and uncompressed size stored in them" +msgstr "B oder B geben an, ob in allen Block-Headern sowohl die komprimierte als auch die unkomprimierte Größe gespeichert ist." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "I B I<5.1.2alpha:>" +msgstr "I B I<5.1.2alpha:>" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Minimum B version required to decompress the file" +msgstr "Minimale B-Version, die zur Dekompression der Datei erforderlich ist" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "The columns of the B line:" +msgstr "Die Spalten der B-Zeile:" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Number of streams" +msgstr "Anzahl der Datenströme" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Number of blocks" +msgstr "Anzahl der Blöcke" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Compressed size" +msgstr "Komprimierte Größe" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Average compression ratio" +msgstr "Durchschnittliches Kompressionsverhältnis" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Comma-separated list of integrity check names that were present in the files" +msgstr "Durch Kommata getrennte Liste der Namen der Integritätsprüfungen, die in den Dateien präsent waren." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Stream padding size" +msgstr "Größe der Datenstromauffüllung" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Number of files. This is here to keep the order of the earlier columns the same as on B lines." +msgstr "Anzahl der Dateien. Dies dient dazu, die Reihenfolge der vorigen Spalten an die in den B-Zeilen anzugleichen." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "If B<--verbose> was specified twice, additional columns are included on the B line:" +msgstr "Wenn B<--verbose> zwei Mal angegeben wird, werden zusätzliche Spalten in die B-Zeile eingefügt:" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Maximum amount of memory (in bytes) required to decompress the files with this B version" +msgstr "Maximale Größe des Speichers (in Byte), der zum Dekomprimieren der Dateien mit dieser B-Version benötigt wird." + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "Future versions may add new line types and new columns can be added to the existing line types, but the existing columns won't be changed." +msgstr "Zukünftige Versionen könnten neue Zeilentypen hinzufügen, weiterhin könnten auch in den vorhandenen Zeilentypen weitere Spalten hinzugefügt werden, aber die existierenden Spalten werden nicht geändert." + +#. type: SS +#: ../src/xz/xz.1 +#, no-wrap +msgid "Filters help" +msgstr "Filterhilfe" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "B prints the supported filters in the following format:" +msgstr "B gibt die unterstützten Filter im folgenden Format aus:" + +#. type: Plain text +#: ../src/xz/xz.1 +msgid "IB<:>I