# french translation of XZ Utils man
# Copyright (C) 2021 Debian French l10n team <debian-l10n-french@lists.debian.org>
# This file is put in the public domain.
# This file is distributed under the same license as the XZ Utils package.
#
#  Translator
# bubu <bubub@no-log.org>, 2021.
#
msgid ""
msgstr ""
"Project-Id-Version: XZ Utils 5.2.5\n"
"POT-Creation-Date: 2020-03-17 16:31+0200\n"
"PO-Revision-Date: 2021-12-01 15:17+0100\n"
"Language: fr_FR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Last-Translator: bubu <bubub@no-log.org> \n"
"Language-Team: French <debian-l10n-french@lists.debian.org> \n"
"X-Generator: Poedit 3.0\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"

#. type: TH
#: ../src/xz/xz.1:8
#, no-wrap
msgid "XZ"
msgstr "XZ"

#. type: TH
#: ../src/xz/xz.1:8
#, no-wrap
msgid "2020-02-01"
msgstr "1er février 2020"

#. type: TH
#: ../src/xz/xz.1:8 ../src/xzdec/xzdec.1:7 ../src/lzmainfo/lzmainfo.1:7 ../src/scripts/xzdiff.1:9 ../src/scripts/xzgrep.1:9 ../src/scripts/xzless.1:10 ../src/scripts/xzmore.1:7
#, no-wrap
msgid "Tukaani"
msgstr "Tukaani"

#. type: TH
#: ../src/xz/xz.1:8 ../src/xzdec/xzdec.1:7 ../src/lzmainfo/lzmainfo.1:7 ../src/scripts/xzdiff.1:9 ../src/scripts/xzgrep.1:9 ../src/scripts/xzless.1:10 ../src/scripts/xzmore.1:7
#, no-wrap
msgid "XZ Utils"
msgstr "Utilitaires XZ"

#. type: SH
#: ../src/xz/xz.1:10 ../src/xzdec/xzdec.1:8 ../src/lzmainfo/lzmainfo.1:8 ../src/scripts/xzdiff.1:10 ../src/scripts/xzgrep.1:10 ../src/scripts/xzless.1:11 ../src/scripts/xzmore.1:8
#, no-wrap
msgid "NAME"
msgstr "NOM"

#. type: Plain text
#: ../src/xz/xz.1:12
msgid "xz, unxz, xzcat, lzma, unlzma, lzcat - Compress or decompress .xz and .lzma files"
msgstr "xz, unxz, xzcat, lzma, unlzma, lzcat - Compresser ou décompresser des fichiers .xz et .lzma"

#. type: SH
#: ../src/xz/xz.1:13 ../src/xzdec/xzdec.1:10 ../src/lzmainfo/lzmainfo.1:10 ../src/scripts/xzdiff.1:12 ../src/scripts/xzgrep.1:12 ../src/scripts/xzless.1:13 ../src/scripts/xzmore.1:10
#, no-wrap
msgid "SYNOPSIS"
msgstr "SYNOPSIS"

#. type: Plain text
#: ../src/xz/xz.1:17
msgid "B<xz> [I<option...>] [I<file...>]"
msgstr "B<xz> [I<option...>] [I<fichier...>]"

#. type: SH
#: ../src/xz/xz.1:18
#, no-wrap
msgid "COMMAND ALIASES"
msgstr "ALIAS DES COMMANDES"

#. type: Plain text
#: ../src/xz/xz.1:22
msgid "B<unxz> is equivalent to B<xz --decompress>."
msgstr "B<unxz> est équivalent à B<xz --decompress>."

#. type: Plain text
#: ../src/xz/xz.1:26
msgid "B<xzcat> is equivalent to B<xz --decompress --stdout>."
msgstr "B<xzcat> est équivalent à B<xz --decompress --stdout>"

#. type: Plain text
#: ../src/xz/xz.1:30
msgid "B<lzma> is equivalent to B<xz --format=lzma>."
msgstr "B<lzma> est équivalent à B<xz --format=lzma>"

#. type: Plain text
#: ../src/xz/xz.1:34
msgid "B<unlzma> is equivalent to B<xz --format=lzma --decompress>."
msgstr "B<unlzma> est équivalent à B<xz --format=lzma --decompress>"

#. type: Plain text
#: ../src/xz/xz.1:38
msgid "B<lzcat> is equivalent to B<xz --format=lzma --decompress --stdout>."
msgstr "B<lzcat> est équivalent à B<xz --format=lzma --decompress -- stdout>"

#. type: Plain text
#: ../src/xz/xz.1:50
msgid "When writing scripts that need to decompress files, it is recommended to always use the name B<xz> with appropriate arguments (B<xz -d> or B<xz -dc>)  instead of the names B<unxz> and B<xzcat>."
msgstr "Lors de l'écriture de scripts qui nécessitent de décompresser des fichiers, il est recommandé de toujours utiliser la commande B<xz> avec les arguments appropriés (B<xz -d> ou B<xz -dc>) au lieu des commandes B<unxz> et B<xzcat>."

#. type: SH
#: ../src/xz/xz.1:51 ../src/xzdec/xzdec.1:18 ../src/lzmainfo/lzmainfo.1:15 ../src/scripts/xzdiff.1:24 ../src/scripts/xzgrep.1:33 ../src/scripts/xzless.1:19 ../src/scripts/xzmore.1:16
#, no-wrap
msgid "DESCRIPTION"
msgstr "DESCRIPTION"

#. type: Plain text
#: ../src/xz/xz.1:65
msgid "B<xz> is a general-purpose data compression tool with command line syntax similar to B<gzip>(1)  and B<bzip2>(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."
msgstr "B<xz> est un outil de compression de données polyvalent avec une syntaxe de ligne de commandes similaire à B<gzip>(1) et B<bzip2>(1). Le format de fichier natif est le format B<.xz>, mais le format historique B<.lzma> utilisé par les outils LZMA et les flux bruts compressés sans conteneur d'en-têtes de format sont aussi pris en charge. "

#. type: Plain text
#: ../src/xz/xz.1:87
msgid "B<xz> compresses or decompresses each I<file> according to the selected operation mode.  If no I<files> are given or I<file> is B<->, B<xz> reads from standard input and writes the processed data to standard output.  B<xz> will refuse (display an error and skip the I<file>)  to write compressed data to standard output if it is a terminal.  Similarly, B<xz> will refuse to read compressed data from standard input if it is a terminal."
msgstr "B<xz> compresse ou décompresse chaque I<fichier> en fonction du mode d'opération choisi. Si aucun I<fichier> n'est donné ou I<fichier> est B<->, B<xz> lit depuis l'entrée standard et écrit les données traitées sur la sortie standard. B<xz> refusera (affichera une erreur et ignorera le I<fichier>) d'écrire les données compressées sur la sortie standard si c'est un terminal. De même, B<xz> refusera de lire des données compressées depuis l'entrée standard si c'est un terminal."

#. type: Plain text
#: ../src/xz/xz.1:97
msgid "Unless B<--stdout> is specified, I<files> other than B<-> are written to a new file whose name is derived from the source I<file> name:"
msgstr "A moins que B<--sdout> ne soit indiqué, les I<fichiers> autres que B<-> sont écrits dans un nouveau fichier dont le nom est dérivé du nom de I<fichier> source :"

#. type: IP
#: ../src/xz/xz.1:97 ../src/xz/xz.1:103 ../src/xz/xz.1:127 ../src/xz/xz.1:132 ../src/xz/xz.1:135 ../src/xz/xz.1:138 ../src/xz/xz.1:154 ../src/xz/xz.1:395 ../src/xz/xz.1:398 ../src/xz/xz.1:405 ../src/xz/xz.1:621 ../src/xz/xz.1:623 ../src/xz/xz.1:722 ../src/xz/xz.1:733 ../src/xz/xz.1:742 ../src/xz/xz.1:750 ../src/xz/xz.1:965 ../src/xz/xz.1:974 ../src/xz/xz.1:986 ../src/xz/xz.1:1552 ../src/xz/xz.1:1558 ../src/xz/xz.1:1674 ../src/xz/xz.1:1678 ../src/xz/xz.1:1681 ../src/xz/xz.1:1684 ../src/xz/xz.1:1688 ../src/xz/xz.1:1695 ../src/xz/xz.1:1697
#, no-wrap
msgid "\\(bu"
msgstr "\\(bu"

#. type: Plain text
#: ../src/xz/xz.1:103
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 "Lors de la compression, le suffixe du format de fichier cible (B<.xz> ou B<.lzma>) est ajouté au nom de fichier source pour obtenir le nom de fichier cible."

#. type: Plain text
#: ../src/xz/xz.1:117
msgid "When decompressing, the B<.xz> or B<.lzma> suffix is removed from the filename to get the target filename.  B<xz> also recognizes the suffixes B<.txz> and B<.tlz>, and replaces them with the B<.tar> suffix."
msgstr "Lors de la décompression, le suffixe B<.xz> ou B<.lzma> est enlevé du nom de fichier pour obtenir le nom de fichier cible. B<xz> reconnaît aussi les suffixes B<.txz> et B<.tlz> et les remplace par le suffixe B<.tar>."

#. type: Plain text
#: ../src/xz/xz.1:121
msgid "If the target file already exists, an error is displayed and the I<file> is skipped."
msgstr "Si le fichier cible existe déjà, une erreur est affichée et le I<fichier> est ignoré."

#. type: Plain text
#: ../src/xz/xz.1:127
msgid "Unless writing to standard output, B<xz> will display a warning and skip the I<file> if any of the following applies:"
msgstr "Sauf s'il écrit dans la sortie standard, B<xz> affichera un avertissement et ignorera le I<fichier> dans les cas suivants :"

#. type: Plain text
#: ../src/xz/xz.1:132
msgid "I<File> is not a regular file.  Symbolic links are not followed, and thus they are not considered to be regular files."
msgstr "I<fichier> n'est pas un fichier normal. Les liens symboliques ne sont pas suivis et donc ne sont pas considérés comme des fichiers normaux."

#. type: Plain text
#: ../src/xz/xz.1:135
msgid "I<File> has more than one hard link."
msgstr "I<fichier> a plusieurs liens physiques."

#. type: Plain text
#: ../src/xz/xz.1:138
msgid "I<File> has setuid, setgid, or sticky bit set."
msgstr "I<fichier> a un setuid, setgid ou sticky bit positionné."

#. type: Plain text
#: ../src/xz/xz.1:154
msgid "The operation mode is set to compress and the I<file> 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 "Le mode d'opération est défini pour compresser et le I<fichier> a déjà un suffixe du format de fichier cible (B<.xz> ou B<.txz> lors d'une compression en format B<.xz>, et B<.lzma> ou B<.tlz> lors d'une compression en format B<.lzma>)."

#. type: Plain text
#: ../src/xz/xz.1:163
msgid "The operation mode is set to decompress and the I<file> doesn't have a suffix of any of the supported file formats (B<.xz>, B<.txz>, B<.lzma>, or B<.tlz>)."
msgstr "Le mode d'opération est défini pour décompresser et le I<fichier> n'a pas de suffixe correspondant aux formats de fichier pris en charge (B<.xz>, B<.txz>, B<.lzma>, ou B<.tlz>)."

#. type: Plain text
#: ../src/xz/xz.1:178
msgid "After successfully compressing or decompressing the I<file>, B<xz> copies the owner, group, permissions, access time, and modification time from the source I<file> 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<file>.  B<xz> doesn't support copying other metadata like access control lists or extended attributes yet."
msgstr "Après la compression ou la décompression réussie du I<fichier>, B<xz> copie les permissions du propriétaire, du groupe, la date d'accès, et les modifications d'heure depuis le I<fichier> source du fichier cible. Si la copie du groupe échoue, les permissions sont modifiées pour que le fichier cible ne soit pas accessible aux utilisateurs qui n'ont pas les droits d'accès au I<fichier> source. B<xz> ne prend actuellement pas en charge la copie d'autres métadonnées telles que les listes de contrôle d'accès ou les attributs étendus."

#. type: Plain text
#: ../src/xz/xz.1:187
msgid "Once the target file has been successfully closed, the source I<file> is removed unless B<--keep> was specified.  The source I<file> is never removed if the output is written to standard output."
msgstr "Une fois que le fichier cible a été fermé avec succès, le I<fichier> source est supprimé à moins que B<--keep> n'ait été spécifié. Le I<fichier> source n'est jamais supprimé si la sortie est écrite sur la sortie standard."

#. type: Plain text
#: ../src/xz/xz.1:199
msgid "Sending B<SIGINFO> or B<SIGUSR1> to the B<xz> 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 "Envoyer B<SIGINFO> ou B<SIGURSR1> au processus B<xz>, lui fait afficher l'information de progression sur l'erreur standard. Cela a un intérêt limité car lorsque l'erreur standard est un terminal, utiliser B<--verbose> affichera automatiquement un indicateur de progression du processus."

#. type: SS
#: ../src/xz/xz.1:200
#, no-wrap
msgid "Memory usage"
msgstr "Utilisation de la mémoire"

#. type: Plain text
#: ../src/xz/xz.1:216
msgid ""
"The memory usage of B<xz> 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<xz -9> currently requires 65\\ MiB of memory.  Still, it is possible to have B<.xz> files that require several gigabytes of memory to decompress."
msgstr ""
"L'utilisation de la mémoire par B<xz> varie de quelques centaines de kilo-octets à plusieurs gigaoctects en fonction des paramètres de compression. Les réglages utilisés lors de la compression d'un fichier déterminent les besoins en mémoire pour la décompression. Habituellement la décompression nécessite 5\\% à 20\\% de la quantité de mémoire utilisée pour la compression du fichier. Par exemple, décompresser un fichier créé avec B<xz-9> recquiert habituellement 65\\ Mio de mémoire. Bien qu'il soit possible d'avoir des fichiers "
"B<.xz> nécessitant plusieurs gigaoctets de mémoire pour être décompressés."

#. type: Plain text
#: ../src/xz/xz.1:228
msgid "Especially users of older systems may find the possibility of very large memory usage annoying.  To prevent uncomfortable surprises, B<xz> 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 (e.g. using B<ulimit>(1)  to limit virtual memory tends to cripple B<mmap>(2))."
msgstr ""
"En particulier, les utilisateurs de vieux systèmes peuvent trouver ennuyeux l'utilisation de beaucoup de mémoire. Pour éviter les mauvaises surprises, B<xz>  a un limiteur d'utilisation mémoire intégré qui est désactivé par défaut. Bien que quelques systèmes d'exploitation fournissent des moyens pour limiter l'utilisation de la mémoire par les processus, leur utilisation s'est avérée insuffisament flexible (par ex. en utilisant B<ulimit>(1) pour limiter les tendances de la mémoire virtuelle à handicaper B<mmap>(2))."

#. type: Plain text
#: ../src/xz/xz.1:248
msgid ""
"The memory usage limiter can be enabled with the command line option B<--memlimit=>I<limit>.  Often it is more convenient to enable the limiter by default by setting the environment variable B<XZ_DEFAULTS>, e.g.\\& B<XZ_DEFAULTS=--memlimit=150MiB>.  It is possible to set the limits separately for compression and decompression by using B<--memlimit-compress=>I<limit> and B<--memlimit-decompress=>I<limit>.  Using these two options outside B<XZ_DEFAULTS> is rarely useful because a single run of B<xz> cannot do both compression and "
"decompression and B<--memlimit=>I<limit> (or B<-M> I<limit>)  is shorter to type on the command line."
msgstr ""
"Le limiteur d'utilisation de la mémoire peut être activé avec l'option B<--memlimit=>I<limite>. Généralement il est plus pratique d'activer le limiteur par défaut en réglant la variable d'environnement B<XZ_DEFAULTS>, par exemple \\&B<XZ_DEFAULTS=--memlimit=150MiB>. Il est possible de régler les limites indépendamment pour la compression et la décompression en utilisant B<--memlimit-compress=>I<limite> et B<--memlimit-decompress=>I<limite>. Utiliser ces deux options hors de B<XZ_DEFAULTS> est rarement utile car une simple exécution de B<xz> ne "
"peut pas à la fois compresser et décompresser et B<--memlimit=>I<limite> (ou B<M> I<limite>) est moins long à taper sur la ligne de commandes."

#. type: Plain text
#: ../src/xz/xz.1:265
msgid ""
"If the specified memory usage limit is exceeded when decompressing, B<xz> will display an error and decompressing the file will fail.  If the limit is exceeded when compressing, B<xz> 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, e.g. if the limit is only slightly less than the amount "
"required for B<xz -9>, the settings will be scaled down only a little, not all the way down to B<xz -8>."
msgstr ""
"Si la limite d'utilisation de la mémoire est dépassée lors de la décompression, B<xz> affichera une erreur et la décompression échouera. Si la limite est dépassée lors de la compression, B<xz> essaiera d'adapter les réglages pour que la limite ne soit plus dépassée (sauf lors de l'utilisation de B<--format=raw> ou de B<--no-adjust>). De cette façon, l'opération n'échouera pas sauf si la limite est très petite. L'adaptation des réglages est faite par paliers et n'aboutira pas forcément aux réglages prédéfinis du niveau de compression, par ex. si la limite est seulement "
"légèrement plus petite que la quantité requise par B<xz-9>, les réglages seront réduits un tout petit peu, mais pas jusqu'à B<xz-8>."

#. type: SS
#: ../src/xz/xz.1:266
#, no-wrap
msgid "Concatenation and padding with .xz files"
msgstr "Concaténation et remplissage avec des fichiers .xz"

#. type: Plain text
#: ../src/xz/xz.1:274
msgid "It is possible to concatenate B<.xz> files as is.  B<xz> will decompress such files as if they were a single B<.xz> file."
msgstr "Il est possible de concaténer les fichiers B<.xz> tels quel. B<xz> décompressera de tels fichiers comme s'ils étaient un unique fichier B<.xz>."

#. type: Plain text
#: ../src/xz/xz.1:283
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 e.g. if the B<.xz> file is stored on a medium that measures file sizes in 512-byte blocks."
msgstr "Il est possible d'insérer du remplissage entre les parties concaténées ou après la dernière partie. Le remplissage doit se composer d'octets nuls et la taille du remplissage doit être un multiple de quatre octets. Cela peut être utile par exemple si le fichier <.xz> est stocké sur un média qui mesure la taille des fichiers en blocs de 512 octets."

#. type: Plain text
#: ../src/xz/xz.1:287
msgid "Concatenation and padding are not allowed with B<.lzma> files or raw streams."
msgstr "La concaténation et le remplissage ne sont pas autorisés avec les fichiers B<.lzma> ou les flux bruts."

#. type: SH
#: ../src/xz/xz.1:288 ../src/xzdec/xzdec.1:61
#, no-wrap
msgid "OPTIONS"
msgstr "OPTIONS"

#. type: SS
#: ../src/xz/xz.1:290
#, no-wrap
msgid "Integer suffixes and special values"
msgstr "Suffixes entiers et valeurs spéciales."

#. type: Plain text
#: ../src/xz/xz.1:294
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 "Dans la plupart des endroits où un argument entier est attendu, un suffixe optionel permet d'indiquer facilement les grands entiers. Il ne doit pas y avoir d'espace entre l'entier et le suffixe."

#. type: TP
#: ../src/xz/xz.1:294
#, no-wrap
msgid "B<KiB>"
msgstr "B<KiB>"

#. type: Plain text
#: ../src/xz/xz.1:305
msgid "Multiply the integer by 1,024 (2^10).  B<Ki>, B<k>, B<kB>, B<K>, and B<KB> are accepted as synonyms for B<KiB>."
msgstr "Multiplier l'entier par 1024 (2^10). B<Ki>, B<k>, B<kB>, B<K> et B<KB> sont acceptés comme synonymes de B<KiB>."

#. type: TP
#: ../src/xz/xz.1:305
#, no-wrap
msgid "B<MiB>"
msgstr "B<MiB>"

#. type: Plain text
#: ../src/xz/xz.1:315
msgid "Multiply the integer by 1,048,576 (2^20).  B<Mi>, B<m>, B<M>, and B<MB> are accepted as synonyms for B<MiB>."
msgstr "Multiplier l'entier par 1 048 576 (2^20). B<Mi>, B<m>, B<M> et B<MB> sont acceptés comme synonymes de B<MiB>."

#. type: TP
#: ../src/xz/xz.1:315
#, no-wrap
msgid "B<GiB>"
msgstr "B<GiB>"

#. type: Plain text
#: ../src/xz/xz.1:325
msgid "Multiply the integer by 1,073,741,824 (2^30).  B<Gi>, B<g>, B<G>, and B<GB> are accepted as synonyms for B<GiB>."
msgstr "Multiplier l'entier par 1 073 741 824 (2^30). B<Gi>, B<g>, B<G> et B<GB> sont acceptés comme synonymes de B<GiB>."

#. type: Plain text
#: ../src/xz/xz.1:330
msgid "The special value B<max> can be used to indicate the maximum integer value supported by the option."
msgstr "La valeur spéciale B<max> peut être utilisée pour indiquer la valeur maximale de l'entier prise en charge par l'option."

#. type: SS
#: ../src/xz/xz.1:331
#, no-wrap
msgid "Operation mode"
msgstr "Mode d'opération"

#. type: Plain text
#: ../src/xz/xz.1:334
msgid "If multiple operation mode options are given, the last one takes effect."
msgstr "Si plusieurs options de mode d'opération sont données, la dernière prend effet."

#. type: TP
#: ../src/xz/xz.1:334
#, no-wrap
msgid "B<-z>, B<--compress>"
msgstr "B<-z>, B<--compress>"

#. type: Plain text
#: ../src/xz/xz.1:343
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<unxz> implies B<--decompress>)."
msgstr "Compresser. C'est le mode d'opération par défaut lorsque aucune option de mode opératoire n'est spécifiée ou qu'aucun autre mode d'opération n'est sous-entendu par le nom de la commande (par exemple B<unxz> sous-entend B<--decompress>)."

#. type: TP
#: ../src/xz/xz.1:343 ../src/xzdec/xzdec.1:62
#, no-wrap
msgid "B<-d>, B<--decompress>, B<--uncompress>"
msgstr "B<-d>, B<--decompress>, B<--uncompress>"

#. type: Plain text
#: ../src/xz/xz.1:346
msgid "Decompress."
msgstr "Décompresser."

#. type: TP
#: ../src/xz/xz.1:346
#, no-wrap
msgid "B<-t>, B<--test>"
msgstr "B<-t>, B<--test>"

#. type: Plain text
#: ../src/xz/xz.1:355
msgid "Test the integrity of compressed I<files>.  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 "Tester l'intégrité des I<fichiers> compressés. Cette option est équivalente à B<--decompress --stdout> sauf que les données décompressées sont rejetées au lieu d'être écrites sur la sortie standard. Aucun fichier n'est créé ou supprimé."

#. type: TP
#: ../src/xz/xz.1:355
#, no-wrap
msgid "B<-l>, B<--list>"
msgstr "B<-l>, B<--list>"

#. type: Plain text
#: ../src/xz/xz.1:364
msgid "Print information about compressed I<files>.  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 "Afficher l'information sur les I<fichiers> compressés. Aucune sortie non-compressée n'est produite et aucun fichier n'est créé ou supprimé. En mode liste, le programme ne peut pas lire les données compressées depuis l'entrée standard ou depuis d'autres sources non adressables."

#. type: Plain text
#: ../src/xz/xz.1:379
msgid "The default listing shows basic information about I<files>, 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 e.g.\\& B<less\\ -S> may be convenient if the terminal isn't wide enough."
msgstr "Le listing par défaut montre les informations basiques des I<fichiers>, un fichier par ligne. Pour des informations plus détaillées, utilisez aussi l'option B<--verbose>. Pour encore plus d'informations, utilisez B<--verbose> deux fois, mais prenez en compte que cela peut être lent, car obtenir des informations supplémentaires nécessite de nombreuses recherches. La largeur de la sortie «bavarde» dépasse 80 caractères, alors canaliser la sortie (par exemple vers \\&B<less\\-S>) peut être pratique si le terminal n'est pas assez large."

#. type: Plain text
#: ../src/xz/xz.1:386
msgid "The exact output may vary between B<xz> versions and different locales.  For machine-readable output, B<--robot --list> should be used."
msgstr "La sortie exacte peut varier suivant les versions de B<xz> et les différents paramètres régionaux. Pour une sortie lisible par la machine, utiliser B<--robot --list>."

#. type: SS
#: ../src/xz/xz.1:387
#, no-wrap
msgid "Operation modifiers"
msgstr "Modificateurs d'opération"

#. type: TP
#: ../src/xz/xz.1:388 ../src/xzdec/xzdec.1:69
#, no-wrap
msgid "B<-k>, B<--keep>"
msgstr "B<-k>, B<--keep>"

#. type: Plain text
#: ../src/xz/xz.1:391
msgid "Don't delete the input files."
msgstr "Ne pas effacer les fichiers d'entrée."

#. type: TP
#: ../src/xz/xz.1:391
#, no-wrap
msgid "B<-f>, B<--force>"
msgstr "B<-f>, B<--force>"

#. type: Plain text
#: ../src/xz/xz.1:394
msgid "This option has several effects:"
msgstr "Cette option a plusieurs effets :"

#. type: Plain text
#: ../src/xz/xz.1:398
msgid "If the target file already exists, delete it before compressing or decompressing."
msgstr "Si le fichier cible existe déjà, l'effacer avant de compresser ou décompresser."

#. type: Plain text
#: ../src/xz/xz.1:405
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 "Compresser ou décompresser même si l'entrée est un lien symbolique vers un fichier normal, a plus qu'un lien physique, ou a le bit setuid, setgid ou sticky défini. Les bits setuid, setgid et sticky bits ne sont pas copiés dans le fichier cible."

#. type: Plain text
#: ../src/xz/xz.1:430
msgid "When used with B<--decompress> B<--stdout> and B<xz> cannot recognize the type of the source file, copy the source file as is to standard output.  This allows B<xzcat> B<--force> to be used like B<cat>(1)  for files that have not been compressed with B<xz>.  Note that in future, B<xz> might support new compressed file formats, which may make B<xz> decompress more types of files instead of copying them as is to standard output.  B<--format=>I<format> can be used to restrict B<xz> to decompress only a single file format."
msgstr ""
"Lorsque B<xz> est utilisé avec B<--decompress> B<--stdout> et qu'il ne peut pas reconnaitre le type du fichier source, copier le fichier source tel quel dans la sortie standard. Celà permet à B<xzcat> B<--force> d'être utilisé comme B<cat>(1) pour les fichiers qui n'ont pas été compressé avec B<xz>. Remarquez que dans le futur, B<xz> devrait prendre en charge de nouveaux formats de fichiers compressés, ce qui permettra à B<xz> de décompresser plus de types de fichiers au lieu de les copier tels quels dans la sortie standard. B<--format=>I<format> peut "
"être utilisé pour contraindre B<xz> à décompresser seulement un format de fichier."

#. type: TP
#: ../src/xz/xz.1:431 ../src/xzdec/xzdec.1:76
#, 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:437
msgid "Write the compressed or decompressed data to standard output instead of a file.  This implies B<--keep>."
msgstr "Écrire les données compressées ou décompressées sur la sortie standard plutôt que dans un fichier. Cela necessite B<--keep>."

#. type: TP
#: ../src/xz/xz.1:437
#, no-wrap
msgid "B<--single-stream>"
msgstr "B<--single-stream>"

#. type: Plain text
#: ../src/xz/xz.1:446
msgid "Decompress only the first B<.xz> stream, and silently ignore possible remaining input data following the stream.  Normally such trailing garbage makes B<xz> display an error."
msgstr "Décompresser seulement le premier flux B<.xz> et ignorer silencieusement les possibles données d'entrée résiduelles qui suivent le flux. Normalement ces déchets excédentaires provoquent l'affichage d'une erreur par B<xz>."

#. type: Plain text
#: ../src/xz/xz.1:455
msgid "B<xz> never decompresses more than one stream from B<.lzma> files or raw streams, but this option still makes B<xz> ignore the possible trailing data after the B<.lzma> file or raw stream."
msgstr "B<xz> ne décompresse jamais plus d'un flux à partir de fichiers B<.lzma> ou de flux bruts, mais cette option fait aussi que B<xz> ignorera les données résiduelles après le fichier B<.lzma> ou le flux brut."

#. type: Plain text
#: ../src/xz/xz.1:460
msgid "This option has no effect if the operation mode is not B<--decompress> or B<--test>."
msgstr "Cette option n'a aucun effet si le mode d'opération n'est pas B<--decompress> ou B<--test>."

#. type: TP
#: ../src/xz/xz.1:460
#, no-wrap
msgid "B<--no-sparse>"
msgstr "B<--no-sparse>"

#. type: Plain text
#: ../src/xz/xz.1:472
msgid "Disable creation of sparse files.  By default, if decompressing into a regular file, B<xz> 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 ""
"Désactiver la création de fichiers peu denses. Par défaut, lors de la décompression en un fichier normal, B<xz> essaie d'en faire un fichier creux si les données décompressées contiennent de longues séquences de zéros binaires. Cela fonctionne aussi lors de l'écriture sur la sortie standard aussi longtemps que la sortie standard est connectée à un fichier normal et que certaines conditions supplémentaires sont satisfaites pour le faire de manière sécurisée. Créer des fichiers creux peut épargner de l'espace disque et accélérer la "
"décompression en réduisant la quantité d'entrées/sorties sur le disque."

#. type: TP
#: ../src/xz/xz.1:472
#, 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:484
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 "Lors de la compression, utiliser B<.suf> comme suffixe du fichier cible au lieu de B<.xz> ou B<.lzma>. Si B<xz> n'écrit pas sur la sortie standard et si le fichier source a déja le suffixe B<.suf>, un avertissement est affiché et le fichier est ignoré."

#. type: Plain text
#: ../src/xz/xz.1:497
msgid "When decompressing, recognize files with the suffix I<.suf> in addition to files with the B<.xz>, B<.txz>, B<.lzma>, or B<.tlz> suffix.  If the source file has the suffix I<.suf>, the suffix is removed to get the target filename."
msgstr "Lors de la décompression, reconnaître les fichiers avec le suffixe B<.suf> en complément des fichiers avec le suffixe B<.xz>, B<.txz>, B<.lzma> ou B<.tlz>. Si le fichier source a le suffixe B<.suf>, le suffixe est enlevé pour obtenir le nom de fichier cible."

#. type: Plain text
#: ../src/xz/xz.1:503
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 "Lors de la compression ou décompression de flux bruts (B<--fomat=raw>), le suffixe doit toujours être spécifié à moins d'écrire sur la sortie standard, car il n'y a pas de suffixe par défaut pour les flux bruts."

#. type: TP
#: ../src/xz/xz.1:503
#, no-wrap
msgid "B<--files>[B<=>I<file>]"
msgstr "B<--files>[B<=>I<fichier>]"

#. type: Plain text
#: ../src/xz/xz.1:517
msgid "Read the filenames to process from I<file>; if I<file> 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<file>."
msgstr "Lire les noms de fichier à traiter depuis I<fichier> ; si I<fichier> est omis , les noms de fichier sont lus sur l'entrée standard. Les noms de fichier doivent se terminer avec le caractère de nouvelle ligne. Un tiret (B<->) est considéré comme un nom de fichier normal ; ce qui ne signifie pas entrée standard. Si les noms de fichier sont aussi donnés comme arguments de ligne de commande, ils sont traités avant les noms de fichier lus depuis I<fichier>."

#. type: TP
#: ../src/xz/xz.1:517
#, no-wrap
msgid "B<--files0>[B<=>I<file>]"
msgstr "B<--files0>[B<=>I<fichier>]"

#. type: Plain text
#: ../src/xz/xz.1:521
msgid "This is identical to B<--files>[B<=>I<file>] except that each filename must be terminated with the null character."
msgstr "Cela est identique à B<--files>[B<=>I<fichier>] sauf que chaque nom de fichier doit se terminer par le caractère null."

#. type: SS
#: ../src/xz/xz.1:522
#, no-wrap
msgid "Basic file format and compression options"
msgstr "Format de fichier basique et options de compression"

#. type: TP
#: ../src/xz/xz.1:523
#, no-wrap
msgid "B<-F> I<format>, B<--format=>I<format>"
msgstr "B<-F> I<format>, B<--format=>I<format>"

#. type: Plain text
#: ../src/xz/xz.1:528
msgid "Specify the file I<format> to compress or decompress:"
msgstr "Indiquer le I<format> de fichier à compresser ou décompresser :"

#. type: TP
#: ../src/xz/xz.1:529
#, no-wrap
msgid "B<auto>"
msgstr "B<auto>"

#. type: Plain text
#: ../src/xz/xz.1:541
msgid "This is the default.  When compressing, B<auto> is equivalent to B<xz>.  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 "C'est celui par défaut. Lors de la compression, B<auto> est équivalent à B<xz>. Lors de la décompression, le format du fichier en entrée est détecté automatiquement. Notez que les flux bruts (créés avec B<--format=raw>) ne peuvent pas être détectés automatiquement."

#. type: TP
#: ../src/xz/xz.1:541
#, no-wrap
msgid "B<xz>"
msgstr "B<xz>"

#. type: Plain text
#: ../src/xz/xz.1:548
msgid "Compress to the B<.xz> file format, or accept only B<.xz> files when decompressing."
msgstr "Compresser dans le format de fichier B<.xz> ou n'accepter que les fichiers B<.xz> à décompresser."

#. type: TP
#: ../src/xz/xz.1:548
#, no-wrap
msgid "B<lzma>, B<alone>"
msgstr "B<lzma>, B<alone>"

#. type: Plain text
#: ../src/xz/xz.1:558
msgid "Compress to the legacy B<.lzma> file format, or accept only B<.lzma> files when decompressing.  The alternative name B<alone> is provided for backwards compatibility with LZMA Utils."
msgstr "Compresser au format de fichier B<.lzma> historique, ou n'accepter que les fichiers B<.lzma> lors de la décompression. Le nom alternatif B<alone> est fourni pour la rétrocompatibilité avec les utilitaires LZMA."

#. type: TP
#: ../src/xz/xz.1:558
#, no-wrap
msgid "B<raw>"
msgstr "B<raw>"

#. type: Plain text
#: ../src/xz/xz.1:566
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 "Compresser ou décompresser un flux brut (sans en-têtes). Cela est réservé seulement aux utilisateurs aguerris. Pour décoder des flux bruts, vous devez utiliser B<--format=raw> et spécifier explicitement la chaîne de filtre, qui normalement aurait du être stockée dans les en-têtes du conteneur."

#. type: TP
#: ../src/xz/xz.1:567
#, no-wrap
msgid "B<-C> I<check>, B<--check=>I<check>"
msgstr "B<-C> I<vérif.>, B<--check=>I<vérif.>"

#. type: Plain text
#: ../src/xz/xz.1:582
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 "Spécifier le type d'intégrité à vérifier. La vérification est calculée à partir des données non-compressées et stockées dans le fichier B<.xz>. Cette option n'a effet que si la compression a été faite dans le format B<.xz> ; le format B<.lzma> ne gère pas les vérifications d'intégrité. Le contrôle d'intégrité (s'il y en a) est vérifié lorsque le fichier B<.xz> est décompressé."

#. type: Plain text
#: ../src/xz/xz.1:586
msgid "Supported I<check> types:"
msgstr "Types de I<vérification> pris en charge :"

#. type: TP
#: ../src/xz/xz.1:587
#, no-wrap
msgid "B<none>"
msgstr "B<none>"

#. type: Plain text
#: ../src/xz/xz.1:593
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 "Ne pas calculer de vérification d'intégrité du tout. C'est généralement une mauvaise idée. Cela peut être utile lorsque l'intégrité des données est vérifiée de toute façon par d'autres manières."

#. type: TP
#: ../src/xz/xz.1:593
#, no-wrap
msgid "B<crc32>"
msgstr "B<crc32>"

#. type: Plain text
#: ../src/xz/xz.1:596
msgid "Calculate CRC32 using the polynomial from IEEE-802.3 (Ethernet)."
msgstr "Calculer CRC32 en utilisant le polynôme de IEEE-802.3 (Ethernet)."

#. type: TP
#: ../src/xz/xz.1:596
#, no-wrap
msgid "B<crc64>"
msgstr "B<crc64>"

#. type: Plain text
#: ../src/xz/xz.1:601
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 "Calculer CRC64 en utilisant le polynôme de ECMA-182. C'est la manière utilisée par défaut, car c'est légèrement mieux que CRC32 pour détecter les fichiers endommagés et la différence de vitesse est négligeable."

#. type: TP
#: ../src/xz/xz.1:601
#, no-wrap
msgid "B<sha256>"
msgstr "B<sha256>"

#. type: Plain text
#: ../src/xz/xz.1:605
msgid "Calculate SHA-256.  This is somewhat slower than CRC32 and CRC64."
msgstr "Calculer SHA-256. C'est quelque peu plus lent que CRC32 et CRC64."

#. type: Plain text
#: ../src/xz/xz.1:611
msgid "Integrity of the B<.xz> headers is always verified with CRC32.  It is not possible to change or disable it."
msgstr "L'intégrité des en-têtes B<.xz> est toujours vérifiée avec CRC32. Il n'est pas possible de le changer ou de le désactiver."

#. type: TP
#: ../src/xz/xz.1:611
#, no-wrap
msgid "B<--ignore-check>"
msgstr "B<--ignore-check>"

#. type: Plain text
#: ../src/xz/xz.1:617
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 "Ne pas contrôler la vérification d'intégrité des données lors de la décompression. Les valeurs CRC32 dans les en-têtes B<.xz> seront normalement toujours vérifiées."

#. type: Plain text
#: ../src/xz/xz.1:620
msgid "B<Do not use this option unless you know what you are doing.> Possible reasons to use this option:"
msgstr "B<N'utilisez pas cette option à moins de savoir ce que vous faites.> Les raisons possibles pour utiliser cette option :"

#. type: Plain text
#: ../src/xz/xz.1:623
msgid "Trying to recover data from a corrupt .xz file."
msgstr "Essayer de récupérer des données d'un fichier .xz corrompu."

#. type: Plain text
#: ../src/xz/xz.1:629
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 "Accélérer la décompression. Cela importe surtout avec SHA-256 ou avec les fichiers qui ont été compressés extrêmement bien. Il est recommandé de ne pas utiliser cette option dans ce but à moins que l'intégrité du fichier ne soit vérifiée extérieurement d'une autre manière."

#. type: TP
#: ../src/xz/xz.1:630
#, no-wrap
msgid "B<-0> ... B<-9>"
msgstr "B<-0> ... B<-9>"

#. type: Plain text
#: ../src/xz/xz.1:639
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 "Choisir un niveau de compression prédéfini. La valeur par défaut est B<6>. Si plusieurs niveaux de préréglage sont spécifiés, c'est le dernier qui sera pris en compte. Si une chaîne de filtres personnalisée a déjà été choisie, définir un niveau de compression préréglé efface la chaîne de filtres personnalisée."

#. type: Plain text
#: ../src/xz/xz.1:654
msgid "The differences between the presets are more significant than with B<gzip>(1)  and B<bzip2>(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<it's not a good idea to blindly use -9 for everything> like it often is with B<gzip>(1)  and B<bzip2>(1)."
msgstr "Les différences entre les préréglages sont plus significatives qu'avec B<gzip>(1) et B<bzip2>(1). les réglages de compression sélectionnés déterminent les exigences en mémoire pour la décompression, ainsi, utiliser un niveau de préréglage trop élevé peut rendre difficile à décompresser un fichier sur un vieux système avec peu de RAM. Clairement, B<ce n'est pas une bonne idée d'utiliser -9 aveuglément pour tout> comme ça l'est souvent avec B<gzip>(1) et B<bzip2>(1)."

#. type: TP
#: ../src/xz/xz.1:655
#, no-wrap
msgid "B<-0> ... B<-3>"
msgstr "B<-0> ... B<-3>"

#. type: Plain text
#: ../src/xz/xz.1:667
msgid "These are somewhat fast presets.  B<-0> is sometimes faster than B<gzip -9> while compressing much better.  The higher ones often have speed comparable to B<bzip2>(1)  with comparable or better compression ratio, although the results depend a lot on the type of data being compressed."
msgstr "Ce sont des préréglages relativement rapides. B<0> est parfois plus rapide que B<gzip -9> tout en compressant bien mieux. Les réglages plus élevés ont souvent une rapidité comparable à celle de B<bzip2>(1) avec un taux de compression comparable ou meilleur, même si les résultats dépendent beaucoup du genre de données compressées."

#. type: TP
#: ../src/xz/xz.1:667
#, no-wrap
msgid "B<-4> ... B<-6>"
msgstr "B<-4> ... B<-6>"

#. type: Plain text
#: ../src/xz/xz.1:681
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 e.g. 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 "Bonne à très bonne compression tout en gardant un usage raisonnable de la mémoire lors de la décompression même pour de vieux systèmes. La valeur par défaut est B<-6>, ce qui est habituellement un bon choix (par exemple pour distribuer des fichiers nécessitants d'être décompressibles même sur de vieux systèmes avec seulement 16\\Mio de RAM). (Il peut aussi être intéressant d'utiliser B<-5e> ou B<-6e>. Voir B<--extreme>.)"

#. type: TP
#: ../src/xz/xz.1:681
#, no-wrap
msgid "B<-7 ... -9>"
msgstr "B<-7 ... -9>"

#. type: Plain text
#: ../src/xz/xz.1:688
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 "C'est comme B<-6> mais avec des besoins en mémoire plus élevés pour la compression et la décompression. Ce n'est utile que lorsque les fichiers sont plus gros que 8\\ Mio, 16\\ Mio et 32\\ Mio respectivement."

#. type: Plain text
#: ../src/xz/xz.1:696
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 "Sur le même matériel, la vitesse de décompression est sensiblement un nombre constant d'octets de données compressées par seconde. En d'autres termes, meilleure est la compression, plus rapide sera en général la décompression. Cela signifie aussi que la quantité de sortie non compressée produite par seconde peut varier beaucoup."

#. type: Plain text
#: ../src/xz/xz.1:698
msgid "The following table summarises the features of the presets:"
msgstr "Le tableau suivant résume les caractéristiques des préréglages :"

#. type: tbl table
#: ../src/xz/xz.1:705 ../src/xz/xz.1:786 ../src/xz/xz.1:2623
#, no-wrap
msgid "Preset"
msgstr "Préréglage"

#. type: tbl table
#: ../src/xz/xz.1:705 ../src/xz/xz.1:786
#, no-wrap
msgid "DictSize"
msgstr "DictSize"

#. type: tbl table
#: ../src/xz/xz.1:705 ../src/xz/xz.1:786 ../src/xz/xz.1:2623
#, no-wrap
msgid "CompCPU"
msgstr "CompCPU"

#. type: tbl table
#: ../src/xz/xz.1:705 ../src/xz/xz.1:786
#, no-wrap
msgid "CompMem"
msgstr "CompMem"

#. type: tbl table
#: ../src/xz/xz.1:705 ../src/xz/xz.1:786
#, no-wrap
msgid "DecMem"
msgstr "DecMem"

#. type: tbl table
#: ../src/xz/xz.1:706 ../src/xz/xz.1:2234 ../src/xz/xz.1:2259 ../src/xz/xz.1:2624
#, no-wrap
msgid "-0"
msgstr "-0"

#. type: tbl table
#: ../src/xz/xz.1:706 ../src/xz/xz.1:787 ../src/xz/xz.1:2234
#, no-wrap
msgid "256 KiB"
msgstr "256 KiB"

#. type: tbl table
#: ../src/xz/xz.1:706 ../src/xz/xz.1:2624
#, no-wrap
msgid "0"
msgstr "0"

#. type: tbl table
#: ../src/xz/xz.1:706 ../src/xz/xz.1:708 ../src/xz/xz.1:789 ../src/xz/xz.1:2259
#, no-wrap
msgid "3 MiB"
msgstr "3 MiB"

#. type: tbl table
#: ../src/xz/xz.1:706 ../src/xz/xz.1:707 ../src/xz/xz.1:787 ../src/xz/xz.1:788 ../src/xz/xz.1:2235 ../src/xz/xz.1:2236 ../src/xz/xz.1:2238
#, no-wrap
msgid "1 MiB"
msgstr "1 MiB"

#. type: tbl table
#: ../src/xz/xz.1:707 ../src/xz/xz.1:2235 ../src/xz/xz.1:2260 ../src/xz/xz.1:2625
#, no-wrap
msgid "-1"
msgstr "-1"

#. type: tbl table
#: ../src/xz/xz.1:707 ../src/xz/xz.1:1582 ../src/xz/xz.1:2625
#, no-wrap
msgid "1"
msgstr "1"

#. type: tbl table
#: ../src/xz/xz.1:707 ../src/xz/xz.1:711 ../src/xz/xz.1:712 ../src/xz/xz.1:792 ../src/xz/xz.1:793 ../src/xz/xz.1:2260
#, no-wrap
msgid "9 MiB"
msgstr "9 MiB"

#. type: tbl table
#: ../src/xz/xz.1:707 ../src/xz/xz.1:708 ../src/xz/xz.1:788 ../src/xz/xz.1:789 ../src/xz/xz.1:2236 ../src/xz/xz.1:2239 ../src/xz/xz.1:2260
#, no-wrap
msgid "2 MiB"
msgstr "2 MiB"

#. type: tbl table
#: ../src/xz/xz.1:708 ../src/xz/xz.1:2236 ../src/xz/xz.1:2261 ../src/xz/xz.1:2626
#, no-wrap
msgid "-2"
msgstr "-2"

#. type: tbl table
#: ../src/xz/xz.1:708 ../src/xz/xz.1:1585 ../src/xz/xz.1:2626
#, no-wrap
msgid "2"
msgstr "2"

#. type: tbl table
#: ../src/xz/xz.1:708 ../src/xz/xz.1:713 ../src/xz/xz.1:794 ../src/xz/xz.1:2261
#, no-wrap
msgid "17 MiB"
msgstr "17 MiB"

#. type: tbl table
#: ../src/xz/xz.1:709 ../src/xz/xz.1:2237 ../src/xz/xz.1:2262 ../src/xz/xz.1:2627
#, no-wrap
msgid "-3"
msgstr "-3"

#. type: tbl table
#: ../src/xz/xz.1:709 ../src/xz/xz.1:710 ../src/xz/xz.1:787 ../src/xz/xz.1:790 ../src/xz/xz.1:791 ../src/xz/xz.1:2237 ../src/xz/xz.1:2238 ../src/xz/xz.1:2240
#, no-wrap
msgid "4 MiB"
msgstr "4 MiB"

#. type: tbl table
#: ../src/xz/xz.1:709 ../src/xz/xz.1:2627
#, no-wrap
msgid "3"
msgstr "3"

#. type: tbl table
#: ../src/xz/xz.1:709 ../src/xz/xz.1:714 ../src/xz/xz.1:795 ../src/xz/xz.1:2242 ../src/xz/xz.1:2243 ../src/xz/xz.1:2262
#, no-wrap
msgid "32 MiB"
msgstr "32 MiB"

#. type: tbl table
#: ../src/xz/xz.1:709 ../src/xz/xz.1:710 ../src/xz/xz.1:790 ../src/xz/xz.1:791
#, no-wrap
msgid "5 MiB"
msgstr "5 MiB"

#. type: tbl table
#: ../src/xz/xz.1:710 ../src/xz/xz.1:2238 ../src/xz/xz.1:2263 ../src/xz/xz.1:2628
#, no-wrap
msgid "-4"
msgstr "-4"

#. type: tbl table
#: ../src/xz/xz.1:710 ../src/xz/xz.1:1583 ../src/xz/xz.1:1584 ../src/xz/xz.1:1587 ../src/xz/xz.1:2628
#, no-wrap
msgid "4"
msgstr "4"

#. type: tbl table
#: ../src/xz/xz.1:710 ../src/xz/xz.1:790 ../src/xz/xz.1:791 ../src/xz/xz.1:2263
#, no-wrap
msgid "48 MiB"
msgstr "48 MiB"

#. type: tbl table
#: ../src/xz/xz.1:711 ../src/xz/xz.1:2239 ../src/xz/xz.1:2264 ../src/xz/xz.1:2629
#, no-wrap
msgid "-5"
msgstr "-5"

#. type: tbl table
#: ../src/xz/xz.1:711 ../src/xz/xz.1:712 ../src/xz/xz.1:792 ../src/xz/xz.1:793 ../src/xz/xz.1:2239 ../src/xz/xz.1:2240 ../src/xz/xz.1:2241
#, no-wrap
msgid "8 MiB"
msgstr "8 MiB"

#. type: tbl table
#: ../src/xz/xz.1:711 ../src/xz/xz.1:2629
#, no-wrap
msgid "5"
msgstr "5"

#. type: tbl table
#: ../src/xz/xz.1:711 ../src/xz/xz.1:712 ../src/xz/xz.1:792 ../src/xz/xz.1:793 ../src/xz/xz.1:2264 ../src/xz/xz.1:2265
#, no-wrap
msgid "94 MiB"
msgstr "94 MiB"

#. type: tbl table
#: ../src/xz/xz.1:712 ../src/xz/xz.1:2240 ../src/xz/xz.1:2265 ../src/xz/xz.1:2630
#, no-wrap
msgid "-6"
msgstr "-6"

#. type: tbl table
#: ../src/xz/xz.1:712 ../src/xz/xz.1:713 ../src/xz/xz.1:714 ../src/xz/xz.1:715 ../src/xz/xz.1:2630
#, no-wrap
msgid "6"
msgstr "6"

#. type: tbl table
#: ../src/xz/xz.1:713 ../src/xz/xz.1:2241 ../src/xz/xz.1:2266
#, no-wrap
msgid "-7"
msgstr "-7"

#. type: tbl table
#: ../src/xz/xz.1:713 ../src/xz/xz.1:794 ../src/xz/xz.1:2241 ../src/xz/xz.1:2242 ../src/xz/xz.1:2263
#, no-wrap
msgid "16 MiB"
msgstr "16 MiB"

#. type: tbl table
#: ../src/xz/xz.1:713 ../src/xz/xz.1:794 ../src/xz/xz.1:2266
#, no-wrap
msgid "186 MiB"
msgstr "186 MiB"

#. type: tbl table
#: ../src/xz/xz.1:714 ../src/xz/xz.1:2242 ../src/xz/xz.1:2267
#, no-wrap
msgid "-8"
msgstr "-8"

#. type: tbl table
#: ../src/xz/xz.1:714 ../src/xz/xz.1:795 ../src/xz/xz.1:2267
#, no-wrap
msgid "370 MiB"
msgstr "370 MiB"

#. type: tbl table
#: ../src/xz/xz.1:714 ../src/xz/xz.1:795
#, no-wrap
msgid "33 MiB"
msgstr "33 MiB"

#. type: tbl table
#: ../src/xz/xz.1:715 ../src/xz/xz.1:2243 ../src/xz/xz.1:2268
#, no-wrap
msgid "-9"
msgstr "-9"

#. type: tbl table
#: ../src/xz/xz.1:715 ../src/xz/xz.1:796 ../src/xz/xz.1:2243
#, no-wrap
msgid "64 MiB"
msgstr "64 MiB"

#. type: tbl table
#: ../src/xz/xz.1:715 ../src/xz/xz.1:796 ../src/xz/xz.1:2268
#, no-wrap
msgid "674 MiB"
msgstr "674 MiB"

#. type: tbl table
#: ../src/xz/xz.1:715 ../src/xz/xz.1:796
#, no-wrap
msgid "65 MiB"
msgstr "65 MiB"

#. type: Plain text
#: ../src/xz/xz.1:721
msgid "Column descriptions:"
msgstr "Descriptions des colonnes :"

#. type: Plain text
#: ../src/xz/xz.1:733
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 "DictSize est la taille du dictionnaire de LZMA2. Utiliser un dictionnaire plus gros que la taille du fichier non compressé est un gaspillage de mémoire. C'est pourquoi il est bon d'éviter d'utiliser les préréglages de B<-7> à B<-9> lorsqu'il n'y en a pas vraiment besoin. A B<-6> et plus bas, la quantité de mémoire gaspillée est généralement assez basse pour ne pas être un problème."

#. type: Plain text
#: ../src/xz/xz.1:742
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 "CompCPU est une représentation des préréglages de LZMA2 qui affectent la vitesse de compression. La taille du dictionnaire aussi affecte la vitesse, alors comme CompCPU est le même pour les niveaux de B<-6> à B<-9>, les plus haut niveaux tendent à être un peu moins rapides. Pour être encore moins rapide et du coup obtenir peut être une meilleure compression, consultez B<--extreme>."

#. type: Plain text
#: ../src/xz/xz.1:750
msgid "CompMem contains the compressor memory requirements in the single-threaded mode.  It may vary slightly between B<xz> versions.  Memory requirements of some of the future multithreaded modes may be dramatically higher than that of the single-threaded mode."
msgstr "CompMem contient les besoins en mémoire du compresseur en mode mono-thread . Cela devrait à peine varier entre les versions de B<xz>. Les besoins en mémoire de quelques uns des futurs modes multi-thread devraient sensiblement augmenter par rapport au mode mono-thread."

#. type: Plain text
#: ../src/xz/xz.1:757
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 "DecMem contient les besoins en mémoire du décompresseur. Ce sont les réglages de la compression qui déterminent les besoins en mémoire de la décompression. L'exacte utilisation de la mémoire est légèrement supérieure à la taille du dictionnaire LZMA2, mais les valeurs dans la table ont été arrondies au prochain Mio supérieur."

#. type: TP
#: ../src/xz/xz.1:758
#, no-wrap
msgid "B<-e>, B<--extreme>"
msgstr "B<-e>, B<--extreme>"

#. type: Plain text
#: ../src/xz/xz.1:767
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 "Utilisez un variant plus lent que les préréglages (B<-0> à B<-9>) pour espérer avoir un taux de compression légèrement meilleur, mais en cas de malchance cela peut être pire. L'utilisation mémoire du décompresseur n'est pas affectée, mais l'utilisation mémoire du compresseur augmente un peu aux niveaux de préréglages de B<-0> à B<-3>."

#. type: Plain text
#: ../src/xz/xz.1:779
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 "Depuis qu'il y a deux préréglages avec des tailles de dictionnaire de 4\\ Mio et 8 \\Mio, les préréglages B<-3e> et B<-5e> utilisent des réglages légèrement plus rapides que B<-4e> et B<-6e>, respectivement. De cette manière, il n'y a pas deux préréglages identiques."

#. type: tbl table
#: ../src/xz/xz.1:787
#, no-wrap
msgid "-0e"
msgstr "-0e"

#. type: tbl table
#: ../src/xz/xz.1:787 ../src/xz/xz.1:788 ../src/xz/xz.1:789 ../src/xz/xz.1:791 ../src/xz/xz.1:793 ../src/xz/xz.1:794 ../src/xz/xz.1:795 ../src/xz/xz.1:796 ../src/xz/xz.1:2632
#, no-wrap
msgid "8"
msgstr "8"

#. type: tbl table
#: ../src/xz/xz.1:788
#, no-wrap
msgid "-1e"
msgstr "-1e"

#. type: tbl table
#: ../src/xz/xz.1:788
#, no-wrap
msgid "13 MiB"
msgstr "13 MiB"

#. type: tbl table
#: ../src/xz/xz.1:789
#, no-wrap
msgid "-2e"
msgstr "-2e"

#. type: tbl table
#: ../src/xz/xz.1:789
#, no-wrap
msgid "25 MiB"
msgstr "25 MiB"

#. type: tbl table
#: ../src/xz/xz.1:790
#, no-wrap
msgid "-3e"
msgstr "-3e"

#. type: tbl table
#: ../src/xz/xz.1:790 ../src/xz/xz.1:792 ../src/xz/xz.1:2631
#, no-wrap
msgid "7"
msgstr "7"

#. type: tbl table
#: ../src/xz/xz.1:791
#, no-wrap
msgid "-4e"
msgstr "-4e"

#. type: tbl table
#: ../src/xz/xz.1:792 ../src/xz/xz.1:2631
#, no-wrap
msgid "-5e"
msgstr "-5e"

#. type: tbl table
#: ../src/xz/xz.1:793 ../src/xz/xz.1:2632
#, no-wrap
msgid "-6e"
msgstr "-6e"

#. type: tbl table
#: ../src/xz/xz.1:794
#, no-wrap
msgid "-7e"
msgstr "-7e"

#. type: tbl table
#: ../src/xz/xz.1:795
#, no-wrap
msgid "-8e"
msgstr "-8e"

#. type: tbl table
#: ../src/xz/xz.1:796
#, no-wrap
msgid "-9e"
msgstr "-9e"

#. type: Plain text
#: ../src/xz/xz.1:808
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 "Par exemple, il y a un total de quatre préréglages qui utilisent un dictionnaire de 8 Mio et qui sont dans l'ordre du plus rapide au plus lent : B<-5>, B<-6>, B<-5e> et B<-6e>."

#. type: TP
#: ../src/xz/xz.1:808
#, no-wrap
msgid "B<--fast>"
msgstr "B<--fast>"

#. type: TP
#: ../src/xz/xz.1:811
#, no-wrap
msgid "B<--best>"
msgstr "B<--best>"

#. type: Plain text
#: ../src/xz/xz.1:822
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 "Il y a néanmoins des alias trompeurs pour B<-0> et B<-9>, respectivement. Ils ne sont fournis que pour des besoins de rétro-compatibilité avec les utilitaires LZMA. Evitez d'utiliser ces options."

#. type: TP
#: ../src/xz/xz.1:822
#, no-wrap
msgid "B<--block-size=>I<size>"
msgstr "B<--block-size=>I<taille>"

#. type: Plain text
#: ../src/xz/xz.1:835
msgid "When compressing to the B<.xz> format, split the input data into blocks of I<size> 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 "Lors de la compression dans le format B<.xz>, les données de l'entrée sont réparties en blocs de I<taille> octets. Les blocs sont compressés indépendamment les un des autres, ce qui aide avec le mode multithread (multi-threading) et rend possible la décompression à accès aléatoire limité. Cette option est typiquement utilisée pour outrepasser la taille de bloc en mode multithread, mais cette option peut aussi être utilisée en mode single-thread."

#. type: Plain text
#: ../src/xz/xz.1:853
msgid ""
"In multi-threaded mode about three times I<size> bytes will be allocated in each thread for buffering input and output.  The default I<size> is three times the LZMA2 dictionary size or 1 MiB, whichever is more.  Typically a good value is 2-4 times the size of the LZMA2 dictionary or at least 1 MiB.  Using I<size> less than the LZMA2 dictionary size is waste of RAM because then the LZMA2 dictionary buffer will never get fully used.  The sizes of the blocks are stored in the block headers, which a future version of B<xz> will use for "
"multi-threaded decompression."
msgstr ""
"En mode multithread, environ trois fois la I<taille> octets seront alloués à chaque thread pour mettre en mémoire tampon les entrées et sorties. Par défaut, la I<taille> est trois fois la taille du dictionnaire LZMA2 ou 1 Mio, en fonction de ce qui convient le mieux. Habituellement, une bonne valeur est deux à quatre fois la taille du dictionnaire LZMA2 ou au moins 1 Mio. Utiliser une I<taille> moindre que celle du dictionnaire LZMA2 est un gaspillage de RAM car alors la mémoire tampon du dictionnaire LZMA2 ne sera jamais "
"entièrement utilisée. Les tailles des blocs sont stockées dans les en-têtes de blocs, qui seront utilisés dans une future version de B<xz> pour la décompression multithreadée."

#. type: Plain text
#: ../src/xz/xz.1:862
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 a future version of B<xz> won't be able decompress the files in multi-threaded mode."
msgstr "Par défaut, il n'y a pas de répartition de bloc en mode mono-thread. Régler cette option n'affecte pas l'utilisation de la mémoire. Aucune information de taille n'est stockée dans l'en-tête de bloc, par conséquent les fichiers créés en mode single-thread ne seront pas identiques aux fichiers créés en mode multi-thread.  Le manque d'information de taille signifie aussi qu'une future version de B<xz> ne sera pas capable de décompresser les fichiers en mode multi-thread."

#. type: TP
#: ../src/xz/xz.1:862
#, no-wrap
msgid "B<--block-list=>I<sizes>"
msgstr "B<--block-list=>I<tailles>"

#. type: Plain text
#: ../src/xz/xz.1:868
msgid "When compressing to the B<.xz> format, start a new block after the given intervals of uncompressed data."
msgstr "Lors de la compression dans le format B<.xz>, commencer un nouveau bloc après les intervalles donnés des données non compressées."

#. type: Plain text
#: ../src/xz/xz.1:874
msgid "The uncompressed I<sizes> of the blocks are specified as a comma-separated list.  Omitting a size (two or more consecutive commas) is a shorthand to use the size of the previous block."
msgstr "Les I<tailles> non-compressées des blocs sont spécifiées sous forme de liste séparée par des virgules. Omettre une taille (deux ou plus virgules consécutives) est un raccourci pour utiliser la taille du bloc précédent."

#. type: Plain text
#: ../src/xz/xz.1:884
msgid "If the input file is bigger than the sum of I<sizes>, the last value in I<sizes> is repeated until the end of the file.  A special value of B<0> may be used as the last value to indicate that the rest of the file should be encoded as a single block."
msgstr "Si le fichier en entrée est plus grand que la somme des I<tailles>, la dernière valeur est répétée jusqu'à la fin du fichier. Une valeur spéciale de B<0> peut être utilisée comme étant la dernière valeur pour indiquer que le reste du fichier devrait être encodé comme un simple bloc."

#. type: Plain text
#: ../src/xz/xz.1:899
msgid "If one specifies I<sizes> that exceed the encoder's block size (either the default value in threaded mode or the value specified with B<--block-size=>I<size>), the encoder will create additional blocks while keeping the boundaries specified in I<sizes>.  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 "Si on spécifie des I<tailles> qui excèdent la taille du bloc de l'encodeur (soit la valeur en mode threadé, soit la valeur spécifiée avec B<--block-size=>I<taille>), l'encodeur créera des blocs supplémentaires tout en gardant les limites indiquées dans I<tailles>. Par exemple, si on indique B<--block-size=10MiB>B<--block-list=5MiB,10MiB,8MiB,12MiB,24MiB> et que le fichier fait 80Mio, on aura 11 blocs de 5, 10, 8, 2, 10, 10, 4, 10, 10, et 1 Mio."

#. type: Plain text
#: ../src/xz/xz.1:905
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 "En mode multi-threadé les tailles de blocs sont stockées dans les en-têtes du bloc. Cela ne se fait pas en mode mono-threadé, la sortie encodée ne sera donc pas identique à celle faite en mode multi-threadé."

#. type: TP
#: ../src/xz/xz.1:905
#, no-wrap
msgid "B<--flush-timeout=>I<timeout>"
msgstr "B<--flush-timeout=>I<temps_d'attente>"

#. type: Plain text
#: ../src/xz/xz.1:922
msgid "When compressing, if more than I<timeout> 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<xz> is used to compress data that is streamed over a network.  Small I<timeout> values make the data available at the receiving end with a small delay, but large I<timeout> values give better compression ratio."
msgstr ""
"Lors de la compression, si plus que I<temps_d'attente> millisecondes (un entier positif) se sont écoulées depuis le précédent vidage et que lire plus de données bloquerait, toutes les données d'entrée en attente sont vidées de l'encodeur et mises à disposition dans le flux de sortie. Cela peut être utile si B<xz>  est utilisé pour compresser les données qui sont diffusées sur un réseau. Des petites valeurs de I<temps_d'attente> rendent les données disponibles à l'extrémité réceptrice avec un léger retard, mais les grandes valeurs de "
"I<temps_d'attente> donnent un meilleur taux de compression."

#. type: Plain text
#: ../src/xz/xz.1:930
msgid "This feature is disabled by default.  If this option is specified more than once, the last one takes effect.  The special I<timeout> value of B<0> can be used to explicitly disable this feature."
msgstr "Cette option est désactivée par défaut. Si cette option est indiquée plus d'une fois, la dernière prend effet. La valeur spéciale de I<temps_d'attente> de B<0> peut être utilisée pour explicitement désactiver cette option."

#. type: Plain text
#: ../src/xz/xz.1:932
msgid "This feature is not available on non-POSIX systems."
msgstr "Cette option n'est pas disponible sur les systèmes qui ne sont pas POSIX."

#. FIXME
#. type: Plain text
#: ../src/xz/xz.1:940
msgid "B<This feature is still experimental.> Currently B<xz> is unsuitable for decompressing the stream in real time due to how B<xz> does buffering."
msgstr "B<Cette option est encore expérimentale.>  Actuellement, B<xz> ne convient pas pour décompresser le flux en temps réel en raison de la façon dont B<xz> effectue la mise en mémoire tampon."

#. type: TP
#: ../src/xz/xz.1:940
#, no-wrap
msgid "B<--memlimit-compress=>I<limit>"
msgstr "B<--memlimit-compress=>I<limite>"

#. type: Plain text
#: ../src/xz/xz.1:945
msgid "Set a memory usage limit for compression.  If this option is specified multiple times, the last one takes effect."
msgstr "Indiquer une limite d'utilisation de la mémoire pour la compression. Si cette option est indiquée plusieurs fois, c'est la dernière qui est prise en compte."

#. type: Plain text
#: ../src/xz/xz.1:960
msgid "If the compression settings exceed the I<limit>, B<xz> will adjust the settings downwards so that the limit is no longer exceeded and display a notice that automatic adjustment was done.  Such adjustments are not made when compressing with B<--format=raw> or if B<--no-adjust> has been specified.  In those cases, an error is displayed and B<xz> will exit with exit status 1."
msgstr "Si les paramètres de compression dépassent la I<limite>, B<xz> ajustera les paramètres à la baisse pour que la limite ne soit plus dépassée et affichera un avis indiquant que l'ajustement automatique a été effectué. De tels ajustements ne sont pas effectués lors de la compression avec B<--format=raw> ou si B<--no-adjust> a été spécifié.  Dans ces cas, une erreur est affichée et B<xz> se termine avec l'état de sortie B<1>."

#. type: Plain text
#: ../src/xz/xz.1:964
msgid "The I<limit> can be specified in multiple ways:"
msgstr "La I<limite> peut être indiquée de plusieurs façons :"

#. type: Plain text
#: ../src/xz/xz.1:974
msgid "The I<limit> can be an absolute value in bytes.  Using an integer suffix like B<MiB> can be useful.  Example: B<--memlimit-compress=80MiB>"
msgstr "La I<limite> peut être une valeur absolue en octets. Utiliser un suffixe d'entier comme B<MiB> peut être utile. Exemple : B<--memlimit-compress=80MiB>"

#. type: Plain text
#: ../src/xz/xz.1:986
msgid "The I<limit> can be specified as a percentage of total physical memory (RAM).  This can be useful especially when setting the B<XZ_DEFAULTS> 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 "La I<limite> peut être indiquée sous forme d'un pourcentage de la mémoire physique totale (RAM). Cela peut être particulièrement utile quand la variable d'environnement  B<XZ_DEFAULTS> est indiquée dans un script d'initialisation de l'interpréteur partagé entre différents ordinateurs. De cette façon la limite est automatiquement plus grande sur les systèmes avec plus de mémoire. Exemple : B<--memlimit=70%>"

#. type: Plain text
#: ../src/xz/xz.1:1006
msgid "The I<limit> can be reset back to its default value by setting it to B<0>.  This is currently equivalent to setting the I<limit> to B<max> (no memory usage limit).  Once multithreading support has been implemented, there may be a difference between B<0> and B<max> for the multithreaded case, so it is recommended to use B<0> instead of B<max> until the details have been decided."
msgstr "La I<limite> peut être réinitialisée à sa valeur par défaut en la réglant sur B<0>.  Cela équivaut actuellement à régler la I<limite> sur B<max> (aucune limite d'utilisation de la mémoire). Quand la prise en charge du mode multi-thread (multi-threading) sera implémentée, il devrait y avoir une différence entre B<0> et B<max> en mode multithreadé, il est donc recommandé d'utiliser B<0> au lieu de B<max> tant que les détails n'ont pas été décidés."

#. type: Plain text
#: ../src/xz/xz.1:1026
msgid "For 32-bit B<xz> there is a special case: if the I<limit> would be over B<4020\\ MiB>, the I<limit> is set to B<4020\\ MiB>.  (The values B<0> and B<max> 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 while hopefully doing no harm in other situations."
msgstr "Pour le B<xz> en 32 bits, il y a un cas particulier : si la I<limite> est supérieure à B<4020\\Mio>, elle est rabaissée à B<4020\\Mio>. (Les valeurs B<0> et B<max> ne sont pas affectées par cela. Il n'y a pas d'option similaire pour la décompression). Celà peut s'avérer utile lorsqu'un exécutable 32-bits a accès à un espace d'adresse de 4\\ Gio sans s'avérer néfaste dans les autres situations.  "

#. type: Plain text
#: ../src/xz/xz.1:1029
msgid "See also the section B<Memory usage>."
msgstr "Voir aussi la section B<utilisation de la mémoire>."

#. type: TP
#: ../src/xz/xz.1:1029
#, no-wrap
msgid "B<--memlimit-decompress=>I<limit>"
msgstr "B<--memlimit-decompress=>I<limite>"

#. type: Plain text
#: ../src/xz/xz.1:1043
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<limit>, B<xz> will display an error and decompressing the file will fail.  See B<--memlimit-compress=>I<limit> for possible ways to specify the I<limit>."
msgstr "Régler une limite d'utilisation de la mémoire pour la décompression. Cela a un effet sur le mode B<--list>. Si l'opération n'est pas possible sans dépasser la I<limite>, B<xz> affichera une erreur et la décompression échouera. Voir B<--memlimit-compress=>I<limite> pour les manières possibles d'indiquer la I<limite>."

#. type: TP
#: ../src/xz/xz.1:1043
#, no-wrap
msgid "B<-M> I<limit>, B<--memlimit=>I<limit>, B<--memory=>I<limit>"
msgstr "B<-M> I<limite>, B<--memlimit=>I<limite>, B<--memory=>I<limite>"

#. type: Plain text
#: ../src/xz/xz.1:1047
msgid "This is equivalent to specifying B<--memlimit-compress=>I<limit >B<--memlimit-decompress=>I<limit>."
msgstr "C'est équivalent à indiquer B<--memlimit-compress=>I<limite>B<--memlimit-decompress=>I<limite>."

#. type: TP
#: ../src/xz/xz.1:1047
#, no-wrap
msgid "B<--no-adjust>"
msgstr "B<--no-adjust>"

#. type: Plain text
#: ../src/xz/xz.1:1055
msgid "Display an error and exit if the compression settings exceed the memory usage limit.  The default is to adjust the settings downwards so that the memory usage limit is not exceeded.  Automatic adjusting is always disabled when creating raw streams (B<--format=raw>)."
msgstr "Afficher une erreur et quitter si les réglages de compression dépassent la limite d'utilisation de la mémoire. Le comportement par défaut consiste à ajuster les réglages vers le bas pour que l'utilisation de la mémoire ne soit pas dépassée. L'ajustement automatique est toujours désactivé lors de la création de flux bruts (B<--format=raw>)."

#. type: TP
#: ../src/xz/xz.1:1055
#, no-wrap
msgid "B<-T> I<threads>, B<--threads=>I<threads>"
msgstr "B<-T> I<threads>, B<--threads=>I<threads>"

#. type: Plain text
#: ../src/xz/xz.1:1070
msgid "Specify the number of worker threads to use.  Setting I<threads> to a special value B<0> makes B<xz> use as many threads as there are CPU cores on the system.  The actual number of threads can be less than I<threads> 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 "Indiquer le nombre de threads à utiliser. Régler I<threads> à la valeur spéciale B<0> fait que B<xz> utilisera autant de threads qu'il y a de cœurs de CPU sur le système. Le nombre effectif de threads peut être moins que I<threads> si le fichier en entrée n'est pas assez gros pour la threading avec les réglages donnés ou si l'utilisation de plusieurs threads dépasserait la limite d'utilisation mémoire."

#. type: Plain text
#: ../src/xz/xz.1:1077
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<size> option."
msgstr "Actuellement, la seule méthode de gestion avec des threads consiste à séparer l'entrée en blocs et de les compresser indépendamment les uns des autres. La taille par défaut des blocs dépend du niveau de compression et peut-être remplacée avec l'option B<--block-size=>I<taille>."

#. type: Plain text
#: ../src/xz/xz.1:1085
msgid "Threaded decompression hasn't been implemented yet.  It will only work on files that contain multiple blocks with size information in block headers.  All files compressed in multi-threaded mode meet this condition, but files compressed in single-threaded mode don't even if B<--block-size=>I<size> is used."
msgstr "La décompression threadée n'a pas encore été implémentée. Cela ne fonctionnera qu'avec des fichiers contenant de multiples blocs avec une information sur la taille dans les en-têtes de bloc. Tous les fichiers compressés en mode multithread sattisfont cette condition, mais pas les fichiers compressés en mode single-thread même si l'option B<--block-size=>I<taille> est utilisée."

#. type: SS
#: ../src/xz/xz.1:1086 ../src/xz/xz.1:2603
#, no-wrap
msgid "Custom compressor filter chains"
msgstr "Chaînes de filtres de compresseur personnalisées"

#. type: Plain text
#: ../src/xz/xz.1:1097
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 "Une chaîne de filtres personnalisée permet d'indiquer les réglages de la compression en détail au lieu de recourir aux préréglages. Lorsque une chaîne de filtres personnalisée est indiquée, les options préréglées (B<0> à B<9> et B<--extreme>) précédement sur la ligne de commande sont oubliées. Si une option de préréglage est indiquée après une ou plusieurs options de chaîne de filtre personnalisée, le nouveau préréglage prend effet et les options de la chaîne de filtres personnalisée précédement indiquée sont oubliées."

#. type: Plain text
#: ../src/xz/xz.1:1104
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 "Une chaîne de filtre est comparable à une redirection (pipe) sur la ligne de commande. Lors de la compression, les entrées non compressées vont au premier filtre, dont la sortie va au prochain filtre (s'il y en a). La sortie du dernier filtre est écrite sur le fichier compressé. Le nombre maximal de filtres dans la chaîne est quatre, mais habituellement, un chaîne de filtre n'a qu'un ou deux filtres."

#. type: Plain text
#: ../src/xz/xz.1:1112
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 "Beaucoup de filtres ont des limitations sur l'endroit où ils peuvent se placer dans la chaîne de filtre : quelques filtres ne peuvent fonctionner qu'en tant que dernier filtre dans la chaîne, quelques uns en tant que non dernier filtre, et d'autres à n'importe quelle position dans la chaîne. Suivant le filtre, cette limitation est soit inhérente au profil du filtre, soit existe pour des raisons de sécurité. "

#. type: Plain text
#: ../src/xz/xz.1:1120
msgid "A custom filter chain is specified by using one or more filter options in the order they are wanted in the filter chain.  That is, the order of filter options is significant! When decoding raw streams (B<--format=raw>), the filter chain is specified in the same order as it was specified when compressing."
msgstr "Une chaîne de filtres personnalisée est indiquée en utilisant une ou plusieurs options de filtre dans l'ordre où elles sont souhaitées dans la chaîne de filtres. Cela fait, l'ordre des options de filtre est significatif! Lors du décodage des flux bruts (B<--format=raw>), le filtre de chaîne est indiqué dans le même ordre qu'il fût indiqué lors de la compression."

#. type: Plain text
#: ../src/xz/xz.1:1129
msgid "Filters take filter-specific I<options> as a comma-separated list.  Extra commas in I<options> are ignored.  Every option has a default value, so you need to specify only those you want to change."
msgstr "Les filtres prennent des I<options> spécifiques aux filtres sous la forme d'une liste séparée par des virgules. Les virgules supplémentaires dans les I<options> sont ignorées. Toutes les options ont une valeur par défaut, donc vous ne devez indiquer que celles que vous voulez changer."

#. type: Plain text
#: ../src/xz/xz.1:1138
msgid "To see the whole filter chain and I<options>, use B<xz -vv> (that is, use B<--verbose> twice).  This works also for viewing the filter chain options used by presets."
msgstr "Pour voir l'entièreté de la chaîne de filtres et ses I<options>, utilisez B<xz -vv> (ce qui est comme utiliser B<--verbose> deux fois). Cela fonctionne aussi pour voir les options de chaîne de filtres utilisées par les préréglages."

#. type: TP
#: ../src/xz/xz.1:1138
#, no-wrap
msgid "B<--lzma1>[B<=>I<options>]"
msgstr "B<--lzma1>[B<=>I<options>]"

#. type: TP
#: ../src/xz/xz.1:1141
#, no-wrap
msgid "B<--lzma2>[B<=>I<options>]"
msgstr "B<--lzma2>[B<=>I<options>]"

#. type: Plain text
#: ../src/xz/xz.1:1146
msgid "Add LZMA1 or LZMA2 filter to the filter chain.  These filters can be used only as the last filter in the chain."
msgstr "Ajouter le filtre LZMA1 ou LZMA2 à la chaîne de filtres. Ces filtres ne peuvent être utilisés que comme dernier filtre dans la chaîne."

#. type: Plain text
#: ../src/xz/xz.1:1158
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 est un filtre historique, qui n'est pris en charge presque uniquement à cause de l'ancien format de fichier B<.lzma>, qui ne prend en charge que LZMA1. LZMA2 est une version mise à jour de LZMA1 pour régler certains problèmes pratiques de LZMA1. Le format B<xz> utilise LZMA2 et ne prend pas du tout en charge LZMA1. Les taux et vitesses de compression de LZMA1 et LZMA2 sont pratiquement identiques."

#. type: Plain text
#: ../src/xz/xz.1:1161
msgid "LZMA1 and LZMA2 share the same set of I<options>:"
msgstr "LZMA1 et LZMA2 partagent le même ensemble d'I<options> :"

#. type: TP
#: ../src/xz/xz.1:1162
#, no-wrap
msgid "B<preset=>I<preset>"
msgstr "B<preset=>I<préréglage>"

#. type: Plain text
#: ../src/xz/xz.1:1186
msgid "Reset all LZMA1 or LZMA2 I<options> to I<preset>.  I<Preset> 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<e>, which matches B<--extreme>.  If no B<preset> is specified, the default values of LZMA1 or LZMA2 I<options> are taken from the preset B<6>."
msgstr "Réinitialiser toutes les I<options> de LZMA1 ou de LZMA2 à I<préréglage>. I<préréglage> consiste en un entier, qui peut être suivi de modificateurs de préréglage à une lettre. L'entier peut être de B<0> à B<9>, correspondant aux options B<-0> à B<-9> de la ligne de commandes. Le seul modificateur pris en charge est actuellement B<e>, qui correspond à B<--extreme>. Si B<preset> n'est pas indiqué, Les valeurs par défaut des I<options> LZMA1 ou LZMA2 sont prises du préréglage B<6>."

#. type: TP
#: ../src/xz/xz.1:1186
#, no-wrap
msgid "B<dict=>I<size>"
msgstr "B<dict=>I<taille>"

#. type: Plain text
#: ../src/xz/xz.1:1201
msgid "Dictionary (history buffer)  I<size> 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<size> usually improves compression ratio, but a dictionary bigger than the uncompressed file is waste of memory."
msgstr ""
"La I<taille> du dictionnaire (historique du tampon) indique combien d'octets des données récement décompressées sont gardés en mémoire. L'algorithme essaie de trouver les séquences d'octets répétées (identiques) dans les données décompressées et les remplace par les données actuellement dans le dictionnaire. Plus gros est le dictionnaire, plus grande est la chance de trouver une correspondance. Ainsi, l'augmentation de la I<taille> du dictionnaire augmente habituellement le taux de compression, mais un dictionnaire plus "
"gros que le fichier non compressé est un gachis de mémoire."

#. type: Plain text
#: ../src/xz/xz.1:1210
msgid "Typical dictionary I<size> 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 "Généralement la I<taille> du dictionnaire est entre 64\\ Kio et 64\\ Mio. Le minimum étant 4\\ Kio. La I<taille> maximale pour la compression est habituellement 1,5\\ Gio (1536\\ Mio). Le décompresseur prend en charge les dictionnaires jusqu'à un octet de moins que 4\\ Gio, ce qui est le maximum pour les formats de flux LZMA1 et LZMA2."

#. type: Plain text
#: ../src/xz/xz.1:1237
msgid "Dictionary I<size> and match finder (I<mf>)  together determine the memory usage of the LZMA1 or LZMA2 encoder.  The same (or bigger) dictionary I<size> 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<size> either as 2^I<n> or 2^I<n> + 2^(I<n>-1), so these I<sizes> are somewhat preferred for compression.  Other I<sizes> will get rounded up when stored in the B<.xz> headers."
msgstr ""
"La I<taille> du dictionnaire et le chercheur de correspondance (match finder) (I<mf>) déterminent ensemble l'utilisation de la mémoire de l'encodeur LZMA1 ou LZMA2. La même (ou une plus grosse) I<taille> de dictionnaire est requise pour décompresser que ce qui a été utilisé pour la compression, ainsi l'utilisation de la mémoire du décodeur est déterminée par la taille du dictionnaire utilisée lors de la compression. Les en-têtes de B<.xz> stockent la I<taille> de dictionnaire sous la forme 2^I<n> ou 2^I<n> + 2^(I<n>-1), de sorte que ces I<tailles> sont "
"quelque peu préférées pour la compression. Les autres I<tailles> seront arrondies à la hausse lorsque stockées dans les en-têtes de B<.xz>."

#. type: TP
#: ../src/xz/xz.1:1237
#, no-wrap
msgid "B<lc=>I<lc>"
msgstr "B<lc=>I<lc>"

#. type: Plain text
#: ../src/xz/xz.1:1246
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<lc> and I<lp> must not exceed 4."
msgstr "Spécifiez le nombre d'octets de contexte littéraux. Le minimum est B<0> et le maximum est B<4>. La valeur par défaut est B<3>. En plus,  la somme de I<lc> et I<lp> ne doit pas excéder B<4>."

#. type: Plain text
#: ../src/xz/xz.1:1251
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 "Tous les octets qui ne peuvent pas être codés comme des correspondances sont codés comme des littéraux. C'est à dire que les littéraux sont simplement des octets 8 bits encodés un à la fois."

#. type: Plain text
#: ../src/xz/xz.1:1265
msgid "The literal coding makes an assumption that the highest I<lc> bits of the previous uncompressed byte correlate with the next byte.  E.g. in typical English text, an upper-case letter is often followed by a lower-case letter, and a lower-case letter is usually followed by another lower-case letter.  In the US-ASCII character set, the highest three bits are 010 for upper-case letters and 011 for lower-case letters.  When I<lc> is at least 3, the literal coding can take advantage of this property in the uncompressed data."
msgstr ""
"Le codage littéral part du principe que les bits I<lc> les plus élevés de l'octet décompressé précédent sont en corrélation avec l'octet suivant. Par exemple dans un texte anglais typique, une lettre majuscule est souvent suivie d'une lettre minuscule, et une lettre minuscule est généralement suivie d'une autre lettre minuscule. Dans le jeu de caractères US-ASCII, les trois bits les plus haut sont 010 pour les lettres majuscules et 011 pour les minuscules. Lorsque I<lc> est au final B<3>, le codage littéral peut tirer avantage de cette propriété "
"dans les données décompressées."

#. type: Plain text
#: ../src/xz/xz.1:1274
msgid "The default value (3) is usually good.  If you want maximum compression, test B<lc=4>.  Sometimes it helps a little, and sometimes it makes compression worse.  If it makes it worse, test e.g.\\& B<lc=2> too."
msgstr "La valeur par défaut (3) est généralement la bonne. Si vous voulez une compression maximale, essayez B<lc=4>. Cela aide parfois un petit peu, et parfois cela empire la compression. Si cela l'empire, essayez par exemple\\& B<lc=2> aussi."

#. type: TP
#: ../src/xz/xz.1:1274
#, no-wrap
msgid "B<lp=>I<lp>"
msgstr "B<lp=>I<lp>"

#. type: Plain text
#: ../src/xz/xz.1:1278
msgid "Specify the number of literal position bits.  The minimum is 0 and the maximum is 4; the default is 0."
msgstr "Indiquer le nombre de bits de position littérale. Le minimum est B<0> et le maximum B<4>; par défaut c'est B<0>."

#. type: Plain text
#: ../src/xz/xz.1:1285
msgid "I<Lp> affects what kind of alignment in the uncompressed data is assumed when encoding literals.  See I<pb> below for more information about alignment."
msgstr "I<Lp> affecte le type d'alignement dans les données décompressées qui est présumé lors de l'encodage des littéraux. Voir I<pb> ci dessous pour plus d'information sur l'alignement."

#. type: TP
#: ../src/xz/xz.1:1285
#, no-wrap
msgid "B<pb=>I<pb>"
msgstr "B<pb=>I<pb>"

#. type: Plain text
#: ../src/xz/xz.1:1289
msgid "Specify the number of position bits.  The minimum is 0 and the maximum is 4; the default is 2."
msgstr "Indiquer le nombre de bits de position. Le minimum est B<0> et le maximum B<4>; par défaut B<2>."

#. type: Plain text
#: ../src/xz/xz.1:1296
msgid "I<Pb> affects what kind of alignment in the uncompressed data is assumed in general.  The default means four-byte alignment (2^I<pb>=2^2=4), which is often a good choice when there's no better guess."
msgstr "I<Pb> affecte quel genre d'alignement est présumé en général dans les données non compressées. Par défaut c'est un alignement de quatre octets (2^I<pb>=2^2=4), ce qui est généralement un bon choix lorsqu'il n'y a pas de meilleure estimation."

#. type: Plain text
#: ../src/xz/xz.1:1310
msgid "When the aligment is known, setting I<pb> accordingly may reduce the file size a little.  E.g. with text files having one-byte alignment (US-ASCII, ISO-8859-*, UTF-8), setting B<pb=0> can improve compression slightly.  For UTF-16 text, B<pb=1> is a good choice.  If the alignment is an odd number like 3 bytes, B<pb=0> might be the best choice."
msgstr "Quand l'alignement est connu, régler en conséquence I<pb> pourrait réduire un peu la taille du fichier. Par ex. avec les fichiers texte ayant un alignement d'un octet (US-ASCII, ISO-8859-*, UTF-8), indiquer B<pb=0> peut légèrement améliorer la compression. Pour les textes UTF-16, B<pb=1> est un bon choix. Si l'alignement est un nombre impair comme 3 octets, B<pb=0> pourrait être le meilleur choix."

#. type: Plain text
#: ../src/xz/xz.1:1318
msgid "Even though the assumed alignment can be adjusted with I<pb> and I<lp>, LZMA1 and LZMA2 still slightly favor 16-byte alignment.  It might be worth taking into account when designing file formats that are likely to be often compressed with LZMA1 or LZMA2."
msgstr "Même si l'alignement présumé peut être ajusté avec I<pb> et I<lp>, LZMA1 et LZMA2 favorisent toujours légèrement l'alignement sur 16 octets. Il peut être utile d'en tenir compte lors de la conception de formats de fichiers susceptibles d'être souvent compressés avec LZMA1 ou LZMA2."

#. type: TP
#: ../src/xz/xz.1:1318
#, no-wrap
msgid "B<mf=>I<mf>"
msgstr "B<mf=>I<mf>"

#. type: Plain text
#: ../src/xz/xz.1:1333
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<preset>: 0 uses B<hc3>, 1-3 use B<hc4>, and the rest use B<bt4>."
msgstr "La recherche de correspondance a un effet important sur la vitesse de l'encodeur, l'utilisation de la mémoire et le taux de compression. En général, les chercheurs de correspondance de chaîne de hachage sont plus rapides que les chercheurs de correspondance d'un arbre binaire. Par défaut, cela dépend du I<préréglage> : B<0> utilise B<hc3>, B<1-3> utilise B<hc4>, et le reste utilise B<bt4>."

#. type: Plain text
#: ../src/xz/xz.1:1339
msgid "The following match finders are supported.  The memory usage formulas below are rough approximations, which are closest to the reality when I<dict> is a power of two."
msgstr "Les chercheurs de correspondance suivants sont pris en charge. Les formules d'utilisation de la mémoire ci-dessous sont des approximations grossières qui sont les plus proches de la réalité lorsque I<dict> est une puissance de deux."

#. type: TP
#: ../src/xz/xz.1:1340
#, no-wrap
msgid "B<hc3>"
msgstr "B<hc3>"

#. type: Plain text
#: ../src/xz/xz.1:1343
msgid "Hash Chain with 2- and 3-byte hashing"
msgstr "Chaîne de hachage avec hachage de 2 et 3 octets"

#. type: Plain text
#: ../src/xz/xz.1:1347 ../src/xz/xz.1:1396
msgid "Minimum value for I<nice>: 3"
msgstr "Valeur minimale pour I<nice> : B<3>"

#. type: Plain text
#: ../src/xz/xz.1:1349 ../src/xz/xz.1:1368 ../src/xz/xz.1:1398 ../src/xz/xz.1:1417
msgid "Memory usage:"
msgstr "Utilisation de la mémoire :"

#. type: Plain text
#: ../src/xz/xz.1:1354
msgid "I<dict> * 7.5 (if I<dict> E<lt>= 16 MiB);"
msgstr "I<dict> * 7.5 (if I<dict> E<lt>= 16 Mio);"

#. type: Plain text
#: ../src/xz/xz.1:1359
msgid "I<dict> * 5.5 + 64 MiB (if I<dict> E<gt> 16 MiB)"
msgstr "I<dict> * 5.5 + 64 MiB (si I<dict> E<gt> 16 Mio)"

#. type: TP
#: ../src/xz/xz.1:1359
#, no-wrap
msgid "B<hc4>"
msgstr "B<hc4>"

#. type: Plain text
#: ../src/xz/xz.1:1362
msgid "Hash Chain with 2-, 3-, and 4-byte hashing"
msgstr "Chaîne de hachage avec hachage de 2, 3 et 4 octets"

#. type: Plain text
#: ../src/xz/xz.1:1366 ../src/xz/xz.1:1415
msgid "Minimum value for I<nice>: 4"
msgstr "Valeur minimale pour I<nice> : B<4>"

#. type: Plain text
#: ../src/xz/xz.1:1373
msgid "I<dict> * 7.5 (if I<dict> E<lt>= 32 MiB);"
msgstr "I<dict> * 7.5 (si I<dict> E<lt>= 32 Mio);"

#. type: Plain text
#: ../src/xz/xz.1:1378
msgid "I<dict> * 6.5 (if I<dict> E<gt> 32 MiB)"
msgstr "I<dict> * 6.5 (si I<dict> E<gt> 32 Mio)"

#. type: TP
#: ../src/xz/xz.1:1378
#, no-wrap
msgid "B<bt2>"
msgstr "B<bt2>"

#. type: Plain text
#: ../src/xz/xz.1:1381
msgid "Binary Tree with 2-byte hashing"
msgstr "Arbre binaire avec hachage de 2 octets"

#. type: Plain text
#: ../src/xz/xz.1:1385
msgid "Minimum value for I<nice>: 2"
msgstr "Valeur minimale pour I<nice> : B<2>"

#. type: Plain text
#: ../src/xz/xz.1:1389
msgid "Memory usage: I<dict> * 9.5"
msgstr "Utilisation de la mémoire : I<dict> * 9.5"

#. type: TP
#: ../src/xz/xz.1:1389
#, no-wrap
msgid "B<bt3>"
msgstr "B<bt3>"

#. type: Plain text
#: ../src/xz/xz.1:1392
msgid "Binary Tree with 2- and 3-byte hashing"
msgstr "Arbre binaire avec hachage de 2 et 3 octets"

#. type: Plain text
#: ../src/xz/xz.1:1403
msgid "I<dict> * 11.5 (if I<dict> E<lt>= 16 MiB);"
msgstr "I<dict> * 11.5 (si I<dict> E<lt>= 16 Mio);"

#. type: Plain text
#: ../src/xz/xz.1:1408
msgid "I<dict> * 9.5 + 64 MiB (if I<dict> E<gt> 16 MiB)"
msgstr "I<dict> * 9.5 + 64 MiB (si I<dict> E<gt> 16 Mio)"

#. type: TP
#: ../src/xz/xz.1:1408
#, no-wrap
msgid "B<bt4>"
msgstr "B<bt4>"

#. type: Plain text
#: ../src/xz/xz.1:1411
msgid "Binary Tree with 2-, 3-, and 4-byte hashing"
msgstr "Arbre binaire avec hachage 2, 3 et 4 octets"

#. type: Plain text
#: ../src/xz/xz.1:1422
msgid "I<dict> * 11.5 (if I<dict> E<lt>= 32 MiB);"
msgstr "I<dict> * 11.5 (si I<dict> E<lt>= 32 Mio);"

#. type: Plain text
#: ../src/xz/xz.1:1427
msgid "I<dict> * 10.5 (if I<dict> E<gt> 32 MiB)"
msgstr "I<dict> * 10.5 (si I<dict> E<gt> 32 Mio)"

#. type: TP
#: ../src/xz/xz.1:1428
#, no-wrap
msgid "B<mode=>I<mode>"
msgstr "B<mode=>I<mode>"

#. type: Plain text
#: ../src/xz/xz.1:1449
msgid "Compression I<mode> specifies the method to analyze the data produced by the match finder.  Supported I<modes> are B<fast> and B<normal>.  The default is B<fast> for I<presets> 0-3 and B<normal> for I<presets> 4-9."
msgstr "Le I<mode> de compression indique la méthode pour analyser les données produites par le chercheur de correspondance. Les I<modes> pris en charge sont B<fast> et B<normal>. Par défaut c'est B<fast> pour les I<préréglages> de B<0> à B<3> et B<normal> pour les préréglages de B<4> à B<9>."

#. type: Plain text
#: ../src/xz/xz.1:1458
msgid "Usually B<fast> is used with Hash Chain match finders and B<normal> with Binary Tree match finders.  This is also what the I<presets> do."
msgstr "Habituellement, B<fast> est utilisé avec les chercheurs de correspondance de chaîne de hachage et B<normal> avec les chercheurs de correspondance d'arbre binaire. C'est aussi ce que font les I<préréglages>."

#. type: TP
#: ../src/xz/xz.1:1458
#, no-wrap
msgid "B<nice=>I<nice>"
msgstr "B<nice=>I<nice>"

#. type: Plain text
#: ../src/xz/xz.1:1465
msgid "Specify what is considered to be a nice length for a match.  Once a match of at least I<nice> bytes is found, the algorithm stops looking for possibly better matches."
msgstr "Spécifier ce qui est considéré comme une bonne longueur pour une correspondance. Une fois que la correspondance d'au moins I<nice> octets est trouvée, l'algorithme arrête de chercher de meilleures correspondances possibles."

#. type: Plain text
#: ../src/xz/xz.1:1472
msgid "I<Nice> can be 2-273 bytes.  Higher values tend to give better compression ratio at the expense of speed.  The default depends on the I<preset>."
msgstr "I<nice> peut être 2 273 octets. Des valeurs plus élevées ont tendance à donner un meilleur taux de compression au détriment de la vitesse. La valeur par défaut dépend du I<préréglage>."

#. type: TP
#: ../src/xz/xz.1:1472
#, no-wrap
msgid "B<depth=>I<depth>"
msgstr "B<depth=>I<profondeur>"

#. type: Plain text
#: ../src/xz/xz.1:1482
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<depth> from I<mf> and I<nice>."
msgstr "Spécifier la profondeur de recherche maximale dans l'outil de recherche de correspondances. La valeur par défaut est B<0>, ce qui fait que le compresseur détermine une I<profondeur> raisonnable en fonction de I<mf> et I<nice>."

#. type: Plain text
#: ../src/xz/xz.1:1493
msgid "Reasonable I<depth> for Hash Chains is 4-100 and 16-1000 for Binary Trees.  Using very high values for I<depth> can make the encoder extremely slow with some files.  Avoid setting the I<depth> over 1000 unless you are prepared to interrupt the compression in case it is taking far too long."
msgstr "Une I<profondeur> raisonnable pour les chaînes de hachage est 4-100 et 16-1000 pour les arbres binaires. Utiliser des valeurs beaucoup plus grandes pour I<depth> peut rendre l'encodeur extrèmement lent avec quelques fichiers. Évitez de fixer la I<profondeur> à plus de 1000, sauf si vous êtes prêt à interrompre la compression au cas où elle prendrait beaucoup trop de temps."

#. type: Plain text
#: ../src/xz/xz.1:1504
msgid "When decoding raw streams (B<--format=raw>), LZMA2 needs only the dictionary I<size>.  LZMA1 needs also I<lc>, I<lp>, and I<pb>."
msgstr "Lors du décodage des flux bruts (B<--format=raw>), LZMA2 nécessite seulement la I<taille> du dictionnaire. LZMA1 nécessite aussi I<lc>, I<lp> et I<pb>."

#. type: TP
#: ../src/xz/xz.1:1504
#, no-wrap
msgid "B<--x86>[B<=>I<options>]"
msgstr "B<--x86>[B<=>I<options>]"

#. type: TP
#: ../src/xz/xz.1:1507
#, no-wrap
msgid "B<--powerpc>[B<=>I<options>]"
msgstr "B<--powerpc>[B<=>I<options>]"

#. type: TP
#: ../src/xz/xz.1:1509
#, no-wrap
msgid "B<--ia64>[B<=>I<options>]"
msgstr "B<--ia64>[B<=>I<options>]"

#. type: TP
#: ../src/xz/xz.1:1511
#, no-wrap
msgid "B<--arm>[B<=>I<options>]"
msgstr "B<--arm>[B<=>I<options>]"

#. type: TP
#: ../src/xz/xz.1:1513
#, no-wrap
msgid "B<--armthumb>[B<=>I<options>]"
msgstr "B<--armthumb>[B<=>I<options>]"

#. type: TP
#: ../src/xz/xz.1:1515
#, no-wrap
msgid "B<--sparc>[B<=>I<options>]"
msgstr "B<--sparc>[B<=>I<options>]"

#. type: Plain text
#: ../src/xz/xz.1:1521
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 "Ajouter un filtre branch/call/jump (BCJ) à la chaîne de filtres. Ces filtres ne peuvent être utilisés que s'ils ne sont pas le dernier filtre de la chaîne de filtrage."

#. type: Plain text
#: ../src/xz/xz.1:1533
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-15\\ % 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."
msgstr "Un filtre BCJ convertit les adresses relatives du code machine en leurs équivalents absolus. Cela ne change pas la taille des données, mais évite les redondances, ce qui peut aider LZMA2 à produire un fichier B<.xz> 0 à 15\\ % plus petit. Les filtres BCJ sont toujours réversibles, ce qui fait qu'utiliser un filtre BCJ pour le mauvais type de données n'occasionne pas de perte de données, même si ça pourrait empirer légèrement le taux de compression."

#. type: Plain text
#: ../src/xz/xz.1:1540
msgid "It is fine to apply a BCJ filter on a whole executable; there's no need to apply it only on the executable section.  Applying a BCJ filter on an archive that contains both executable and non-executable files may or may not give good results, so it generally isn't good to blindly apply a BCJ filter when compressing binary packages for distribution."
msgstr "Il est possible d'appliquer un filtre BCJ sur l'ensemble d'un exécutable ; il n'est pas nécessaire de l'appliquer uniquement sur la section exécutable. Appliquer un filtre BCJ sur une archive contenant à la fois des fichiers exécutables et des fichiers non-exécutables pourrait, ou non, donner de bons résultats, donc il n'est généralement pas bon d'appliquer aveuglémént un filtre BCJ lors de la compression de paquets binaires pour leur distribution."

#. type: Plain text
#: ../src/xz/xz.1:1548
msgid "These BCJ filters are very fast and use insignificant amount of memory.  If a BCJ filter improves compression ratio of a file, it can improve decompression speed at the same time.  This is because, on the same hardware, the decompression speed of LZMA2 is roughly a fixed number of bytes of compressed data per second."
msgstr "Ces filtres BCJ sont très rapides et utilisent une quantité insignifiante de mémoire. Si un filtre BCJ améliore le taux de compression d'un fichier, il peut en même temps améliorer la vitesse de décompression. Cela parce que sur un même matériel, la vitesse de décompression de LZMA2 est approximativement un nombre fixe d'octets de données compressées par seconde."

#. type: Plain text
#: ../src/xz/xz.1:1551
msgid "These BCJ filters have known problems related to the compression ratio:"
msgstr "Ces filtres BCJ présentent des problèmes connus liés au taux de compression :"

#. type: Plain text
#: ../src/xz/xz.1:1558
msgid "Some types of files containing executable code (e.g. 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 "Quelques types de fichier contiennent du code exécutable (par exemple les fichiers objet, les bibliothèques statiques et les modules du noyau Linux) ont rempli les adresses dans les instructions avec des valeurs de remplissage. Ces filtres BCJ feront toujours la conversion d'adresse, ce qui pourrait péjorer la compression avec ces fichiers."

#. type: Plain text
#: ../src/xz/xz.1:1565
msgid "Applying a BCJ filter on an archive containing multiple similar executables can make the compression ratio worse than not using a BCJ filter.  This is because the BCJ filter doesn't detect the boundaries of the executable files, and doesn't reset the address conversion counter for each executable."
msgstr "L'application d'un filtre BCJ sur une archive contenant plusieurs exécutables similaires peut rendre le taux de compression moins bon que si l'on n'utilisait pas de filtre BCJ. Cela est dû au fait que le filtre BCJ ne détecte pas les limites des fichiers exécutables et ne remet pas à zéro le compteur de conversion d'adresse pour chaque exécutable."

#. type: Plain text
#: ../src/xz/xz.1:1572
msgid "Both of the above problems will be fixed in the future in a new filter.  The old BCJ filters will still be useful in embedded systems, because the decoder of the new filter will be bigger and use more memory."
msgstr "Les deux problèmes ci-dessus seront réglés dans le futur dans un nouveau filtre. Les vieux filtres BCJ seront toujours utiles dans les systèmes embarqués, car le décodeur du nouveau filtre sera plus gros et utilisera plus de mémoire."

#. type: Plain text
#: ../src/xz/xz.1:1574
msgid "Different instruction sets have different alignment:"
msgstr "Les différents jeux d'instructions ont un alignement différent :"

#. type: tbl table
#: ../src/xz/xz.1:1581
#, no-wrap
msgid "Filter"
msgstr "Filtre"

#. type: tbl table
#: ../src/xz/xz.1:1581
#, no-wrap
msgid "Alignment"
msgstr "Alignement"

#. type: tbl table
#: ../src/xz/xz.1:1581
#, no-wrap
msgid "Notes"
msgstr "Notes"

#. type: tbl table
#: ../src/xz/xz.1:1582
#, no-wrap
msgid "x86"
msgstr "x86"

#. type: tbl table
#: ../src/xz/xz.1:1582
#, no-wrap
msgid "32-bit or 64-bit x86"
msgstr "32 bits ou 64 bits x86"

#. type: tbl table
#: ../src/xz/xz.1:1583
#, no-wrap
msgid "PowerPC"
msgstr "PowerPC"

#. type: tbl table
#: ../src/xz/xz.1:1583
#, no-wrap
msgid "Big endian only"
msgstr "Grand boutiste seulement"

#. type: tbl table
#: ../src/xz/xz.1:1584
#, no-wrap
msgid "ARM"
msgstr "ARM"

#. type: tbl table
#: ../src/xz/xz.1:1584 ../src/xz/xz.1:1585
#, no-wrap
msgid "Little endian only"
msgstr "Petit-boutiste seulement"

#. type: tbl table
#: ../src/xz/xz.1:1585
#, no-wrap
msgid "ARM-Thumb"
msgstr "ARM-Thumb"

#. type: tbl table
#: ../src/xz/xz.1:1586
#, no-wrap
msgid "IA-64"
msgstr "IA-64"

#. type: tbl table
#: ../src/xz/xz.1:1586
#, no-wrap
msgid "16"
msgstr "16"

#. type: tbl table
#: ../src/xz/xz.1:1586 ../src/xz/xz.1:1587
#, no-wrap
msgid "Big or little endian"
msgstr "Grand ou petit boutiste"

#. type: tbl table
#: ../src/xz/xz.1:1587
#, no-wrap
msgid "SPARC"
msgstr "SPARC"

#. type: Plain text
#: ../src/xz/xz.1:1602
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.  For example, with the IA-64 filter, it's good to set B<pb=4> with LZMA2 (2^4=16).  The x86 filter is an exception; it's usually good to stick to LZMA2's default four-byte alignment when compressing x86 executables."
msgstr "Dans la mesure où les données filtrées par BCJ sont généralement compressées avec LZMA2, le taux de compression peut être légèrement amélioré si les options de LZMA2 sont indiquées pour la correspondance d'alignement du filtre BCJ sélectionné. Par exemple, avec le filtre IA-64, il est bon d'indiquer B<pb=4> avec LZMA2 (2^4=16). Le filtre x86 est une exception ; il est généralement approprié de coller à l'alignement quatre octets par défaut de LZMA2 lors de la compression d'exécutables x86. "

#. type: Plain text
#: ../src/xz/xz.1:1605
msgid "All BCJ filters support the same I<options>:"
msgstr "Tous les filtres BCJ prennent en charge les mêmes I<options> :"

#. type: TP
#: ../src/xz/xz.1:1606
#, no-wrap
msgid "B<start=>I<offset>"
msgstr "B<start=>I<décalage>"

#. type: Plain text
#: ../src/xz/xz.1:1620
msgid "Specify the start I<offset> that is used when converting between relative and absolute addresses.  The I<offset> 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<offset> is almost never useful."
msgstr "Spécifier le I<décalage> de départ qui est utilisé lors de la conversion entre les adresses relatives et absolues. Le I<décalage> doit être un multiple de l'alignement du filtre (voir la table ci-dessus). Sa valeur par défaut est zéro. En pratique, cette dernière convient ; indiquer un I<décalage> personnalisé est la plupart du temps inutile."

#. type: TP
#: ../src/xz/xz.1:1621
#, no-wrap
msgid "B<--delta>[B<=>I<options>]"
msgstr "B<--delta>[B<=>I<options>]"

#. type: Plain text
#: ../src/xz/xz.1:1626
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 "Ajouter le filtre Delta à la chaîne de filtres. Le filtre Delta ne peut être utilisé que s'il n'est pas le dernier filtre dans la chaîne."

#. type: Plain text
#: ../src/xz/xz.1:1635
msgid "Currently only simple byte-wise delta calculation is supported.  It can be useful when compressing e.g. 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 e.g. with B<flac>(1)."
msgstr "Actuellement, seul le calcul simple du delta par octet est pris en charge. Il peut être utile lors de la compression, par exemple, des images bitmap non compressées ou de l'audio PCM non compressé. Toutefois, des algorithmes spécialisés peuvent donner des résultats nettement supérieurs à ceux de Delta + de LZMA2. Cela est spécialement vrai avec le son qui est compressé plus vite et mieux par exemple avec B<flac>(1)."

#. type: Plain text
#: ../src/xz/xz.1:1638
msgid "Supported I<options>:"
msgstr "I<options> prises en charge :"

#. type: TP
#: ../src/xz/xz.1:1639
#, no-wrap
msgid "B<dist=>I<distance>"
msgstr "B<dist=>I<distance>"

#. type: Plain text
#: ../src/xz/xz.1:1647
msgid "Specify the I<distance> of the delta calculation in bytes.  I<distance> must be 1-256.  The default is 1."
msgstr "Indiquer  la I<distance> du calcul delta en octets. La I<distance> doit être comprise entre 1 et 256. La valeur par défaut est 1."

#. type: Plain text
#: ../src/xz/xz.1:1652
msgid "For example, with B<dist=2> 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 "Par exemple, avec B<dist=2> et une entrée huit octets A1 B1 A2 B3 A3 B5 A4 B7, la sortie sera A1 B1 01 02 01 02 01 02."

#. type: SS
#: ../src/xz/xz.1:1654
#, no-wrap
msgid "Other options"
msgstr "Autres options"

#. type: TP
#: ../src/xz/xz.1:1655 ../src/xzdec/xzdec.1:83
#, no-wrap
msgid "B<-q>, B<--quiet>"
msgstr "B<-q>, B<--quiet>"

#. type: Plain text
#: ../src/xz/xz.1:1662
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 "Supprimer les avertissements et les notifications. Indiquer cela deux fois supprimera aussi les erreurs. Cette option n'a aucun effet sur le statut de sortie. Cela dit, même si un avertissement était supprimé, le statut de sortie indiquant un avertissement sera encore utilisé."

#. type: TP
#: ../src/xz/xz.1:1662
#, no-wrap
msgid "B<-v>, B<--verbose>"
msgstr "B<-v>, B<--verbose>"

#. type: Plain text
#: ../src/xz/xz.1:1671
msgid "Be verbose.  If standard error is connected to a terminal, B<xz> will display a progress indicator.  Specifying B<--verbose> twice will give even more verbose output."
msgstr "Être bavard. Si l'erreur standard est connectée à un terminal, B<xz> affichera une barre de progression. Indiquer B<--verbose> deux fois donnera une sortie encore plus bavarde."

#. type: Plain text
#: ../src/xz/xz.1:1673
msgid "The progress indicator shows the following information:"
msgstr "La barre de progression montre l'information suivante :"

#. type: Plain text
#: ../src/xz/xz.1:1678
msgid "Completion percentage is shown if the size of the input file is known.  That is, the percentage cannot be shown in pipes."
msgstr "Le pourcentage de complétion est montré si la taille du fichier en entrée est connue. Néanmoins, le pourcentage ne peut pas être montré en cas de redirection."

#. type: Plain text
#: ../src/xz/xz.1:1681
msgid "Amount of compressed data produced (compressing)  or consumed (decompressing)."
msgstr "Quantité de données compressées produites (compression) ou consommées (décompression)."

#. type: Plain text
#: ../src/xz/xz.1:1684
msgid "Amount of uncompressed data consumed (compressing)  or produced (decompressing)."
msgstr "Quantité de données non compressées consommées (compression) ou produites (décompression)."

#. type: Plain text
#: ../src/xz/xz.1:1688
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 "Le taux de compression, calculé en divisant la quantité de données compréssées déjà traitées par la quantité de données décompressées déjà traitées."

#. type: Plain text
#: ../src/xz/xz.1:1695
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<xz> started processing the file."
msgstr "Vitesse de compression ou de décompression. Elle correspond à la quantité de données non compressées consommées (compression) ou produites (décompression) par seconde. Elle apparait quelques secondes après le début du traitement du fichier par B<xz>."

#. type: Plain text
#: ../src/xz/xz.1:1697
msgid "Elapsed time in the format M:SS or H:MM:SS."
msgstr "Temps écoulé dans le format M:SS ou H:MM:SS."

#. type: Plain text
#: ../src/xz/xz.1:1705
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<xz> started processing the file.  The time is shown in a less precise format which never has any colons, e.g. 2 min 30 s."
msgstr "Le temps estimé restant n'est montré que lorsque la taille du fichier en entrée est connu et que quelques secondes se sont écoulées depuis que B<xz> a commencé à traiter le fichier. Le temps est montré dans un format moins précis qui n'a jamais de deux-point(B<:>), par exemple 2 min 30 s."

#. type: Plain text
#: ../src/xz/xz.1:1720
msgid "When standard error is not a terminal, B<--verbose> will make B<xz> 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, e.g. due to user interruption, also the completion percentage is printed if the size of the input file is known."
msgstr ""
"Lorsque l'erreur standard n'est pas un terminal, B<--verbose> fera écrire à B<xz> le nom de fichier, la taille compressée, la taille décompressée, le taux de compression, et éventuellement aussi la vitesse et le temps écoulé sur une seule ligne de l'erreur standard après avoir compressé ou décompressé le fichier. La vitesse et le temps écoulé sont inclus seulement lorsque l'opération ne prend pas plus que quelques secondes. Si l'opération n'a pas fini, par exemple à cause d'une interruption faite par l'utilisateur, le pourcentage de "
"complétion aussi est écrit si la taille du fichier en entrée est connue. "

#. type: TP
#: ../src/xz/xz.1:1720 ../src/xzdec/xzdec.1:89
#, no-wrap
msgid "B<-Q>, B<--no-warn>"
msgstr "B<-Q>, B<--no-warn>"

#. type: Plain text
#: ../src/xz/xz.1:1730
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 "Ne pas mettre l'état de sortie à B<2> même si une condition méritant un avertissement a été détectée. Cette option n'affecte pas le niveau de verbosité, néanmoins, les deux options B<--quiet> et B<--no-warn> doivent être utilisées pour ne pas afficher d'avertissements, ni altérer le statut de sortie."

#. type: TP
#: ../src/xz/xz.1:1730
#, no-wrap
msgid "B<--robot>"
msgstr "B<--robot>"

#. type: Plain text
#: ../src/xz/xz.1:1742
msgid "Print messages in a machine-parsable format.  This is intended to ease writing frontends that want to use B<xz> instead of liblzma, which may be the case with various scripts.  The output with this option enabled is meant to be stable across B<xz> releases.  See the section B<ROBOT MODE> for details."
msgstr "Afficher les messages dans un format analysable par une machine.  Ceci est destiné à faciliter l'écriture des frontaux qui voudraient utiliser B<xz> plutôt que liblzma, ce qui pourrait être le cas pour différents scripts. La sortie avec cette option activée est destinée à rester stable sur les différentes versions de B<xz>. Consulter le paragraphe B<ROBOT MODE> pour les détails."

#. type: TP
#: ../src/xz/xz.1:1742
#, no-wrap
msgid "B<--info-memory>"
msgstr "B<--info-memory>"

#. type: Plain text
#: ../src/xz/xz.1:1748
msgid "Display, in human-readable format, how much physical memory (RAM)  B<xz> thinks the system has and the memory usage limits for compression and decompression, and exit successfully."
msgstr "Afficher, dans un format lisible par l'humain, de combien de mémoire physique (RAM) dispose le système selon B<xz> et les limites d'utilisation de la mémoire pour la compression et décompression, et quitter."

#. type: TP
#: ../src/xz/xz.1:1748 ../src/xzdec/xzdec.1:96
#, no-wrap
msgid "B<-h>, B<--help>"
msgstr "B<-h>, B<--help>"

#. type: Plain text
#: ../src/xz/xz.1:1752
msgid "Display a help message describing the most commonly used options, and exit successfully."
msgstr "Afficher un message d'aide décrivant les options les plus couramment utilisées et quitter."

#. type: TP
#: ../src/xz/xz.1:1752
#, no-wrap
msgid "B<-H>, B<--long-help>"
msgstr "B<-H>, B<--long-help>"

#. type: Plain text
#: ../src/xz/xz.1:1757
msgid "Display a help message describing all features of B<xz>, and exit successfully"
msgstr "Afficher un message d'aide décrivant toutes les options de B<xz> et quitter."

#. type: TP
#: ../src/xz/xz.1:1757 ../src/xzdec/xzdec.1:99
#, no-wrap
msgid "B<-V>, B<--version>"
msgstr "B<-V>, B<--version>"

#. type: Plain text
#: ../src/xz/xz.1:1766
msgid "Display the version number of B<xz> and liblzma in human readable format.  To get machine-parsable output, specify B<--robot> before B<--version>."
msgstr "Afficher le numéro de version de B<xz> et de liblzma dans un format lisible par un humain. Pour obtenir une sortie analysable par la machine, spécifiez B<--robot> avant B<--version>."

#. type: SH
#: ../src/xz/xz.1:1767
#, no-wrap
msgid "ROBOT MODE"
msgstr "MODE ROBOT"

#. type: Plain text
#: ../src/xz/xz.1:1783
msgid "The robot mode is activated with the B<--robot> option.  It makes the output of B<xz> easier to parse by other programs.  Currently B<--robot> is supported only together with B<--version>, B<--info-memory>, and B<--list>.  It will be supported for compression and decompression in the future."
msgstr "Le mode robot est activé avec l'option B<--robot>. Cela rend la sortie de B<xz> plus facile à analyser par d'autres programmes. Actuellement, B<--robot> n'est seulement pris en charge qu'avec B<--version>, B<--info-memory> et B<--list>. Il sera pris en charge pour la compression et la décompression dans le futur."

#. type: SS
#: ../src/xz/xz.1:1784
#, no-wrap
msgid "Version"
msgstr "Version"

#. type: Plain text
#: ../src/xz/xz.1:1789
msgid "B<xz --robot --version> will print the version number of B<xz> and liblzma in the following format:"
msgstr "B<xz --robot --version> affichera le numéro de version de B<xz> et liblzma dans le format suivant :"

#. type: Plain text
#: ../src/xz/xz.1:1791
msgid "B<XZ_VERSION=>I<XYYYZZZS>"
msgstr "B<XZ_VERSION=>I<XYYYZZZS>"

#. type: Plain text
#: ../src/xz/xz.1:1793
msgid "B<LIBLZMA_VERSION=>I<XYYYZZZS>"
msgstr "B<LIBLZMA_VERSION=>I<XYYYZZZS>"

#. type: TP
#: ../src/xz/xz.1:1793
#, no-wrap
msgid "I<X>"
msgstr "I<X>"

#. type: Plain text
#: ../src/xz/xz.1:1796
msgid "Major version."
msgstr "Version majeure."

#. type: TP
#: ../src/xz/xz.1:1796
#, no-wrap
msgid "I<YYY>"
msgstr "I<YYY>"

#. type: Plain text
#: ../src/xz/xz.1:1801
msgid "Minor version.  Even numbers are stable.  Odd numbers are alpha or beta versions."
msgstr "Version mineure. Les numéros pairs sont stables. Les numéros impairs sont des versions alpha ou beta."

#. type: TP
#: ../src/xz/xz.1:1801
#, no-wrap
msgid "I<ZZZ>"
msgstr "I<ZZZ>"

#. type: Plain text
#: ../src/xz/xz.1:1805
msgid "Patch level for stable releases or just a counter for development releases."
msgstr "Niveau de correctif pour les options stables ou juste un compteur pour les options de développement."

#. type: TP
#: ../src/xz/xz.1:1805
#, no-wrap
msgid "I<S>"
msgstr "I<S>"

#. type: Plain text
#: ../src/xz/xz.1:1813
msgid "Stability.  0 is alpha, 1 is beta, and 2 is stable.  I<S> should be always 2 when I<YYY> is even."
msgstr "Stabilité. 0 est alpha, 1 est bêta et 2 est stable. I<S> devrait toujours être 2 quand I<YYY> est pair."

#. type: Plain text
#: ../src/xz/xz.1:1818
msgid "I<XYYYZZZS> are the same on both lines if B<xz> and liblzma are from the same XZ Utils release."
msgstr "I<XYYYZZZS> sont identiques sur les deux lignes si B<xz> et liblzma sont issus de la même version d'utilitaires XZ."

#. type: Plain text
#: ../src/xz/xz.1:1824
msgid "Examples: 4.999.9beta is B<49990091> and 5.0.0 is B<50000002>."
msgstr "Exemples : 4.999.9beta est B<49990091> et 5.0.0 est B<50000002>."

#. type: SS
#: ../src/xz/xz.1:1825
#, no-wrap
msgid "Memory limit information"
msgstr "Information de limite de mémoire"

#. type: Plain text
#: ../src/xz/xz.1:1828
msgid "B<xz --robot --info-memory> prints a single line with three tab-separated columns:"
msgstr "B<xz --robot --info-memory> affiche une seule ligne avec trois colonnes séparées par des tabulations :"

#. type: IP
#: ../src/xz/xz.1:1828
#, no-wrap
msgid "1."
msgstr "1."

#. type: Plain text
#: ../src/xz/xz.1:1830
msgid "Total amount of physical memory (RAM) in bytes"
msgstr "Quantité totale de mémoire physique (RAM) en octets"

#. type: IP
#: ../src/xz/xz.1:1830 ../src/xz/xz.1:1910 ../src/xz/xz.1:1947 ../src/xz/xz.1:1973 ../src/xz/xz.1:2043 ../src/xz/xz.1:2070
#, no-wrap
msgid "2."
msgstr "2."

#. type: Plain text
#: ../src/xz/xz.1:1834
msgid "Memory usage limit for compression in bytes.  A special value of zero indicates the default setting, which for single-threaded mode is the same as no limit."
msgstr "Limite d'utilisation de la mémoire pour la compression en octets. Une valeur spéciale de zéro indique le réglage par défaut, lequel en mode mono-thread indique qu'il n'y a pas de limite."

#. type: IP
#: ../src/xz/xz.1:1834 ../src/xz/xz.1:1912 ../src/xz/xz.1:1949 ../src/xz/xz.1:1975 ../src/xz/xz.1:2048 ../src/xz/xz.1:2072
#, no-wrap
msgid "3."
msgstr "3."

#. type: Plain text
#: ../src/xz/xz.1:1838
msgid "Memory usage limit for decompression in bytes.  A special value of zero indicates the default setting, which for single-threaded mode is the same as no limit."
msgstr "Limite d'utilisation de la mémoire pour la décompression en octets. Une valeur spéciale de zéro indique le réglage par défaut, ce qui est équivalent à sans limite en mode mono-thread."

#. type: Plain text
#: ../src/xz/xz.1:1842
msgid "In the future, the output of B<xz --robot --info-memory> may have more columns, but never more than a single line."
msgstr "Dans le futur, la sortie de B<xz --robot --info-memory> pourrait avoir plus de colonnes, mais jamais plus qu'une ligne unique."

#. type: SS
#: ../src/xz/xz.1:1843
#, no-wrap
msgid "List mode"
msgstr "Mode liste"

#. type: Plain text
#: ../src/xz/xz.1:1848
msgid "B<xz --robot --list> 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<xz --robot --list> utilise une sortie séparée par des tabulations. La première colonne de toutes les lignes possède une chaîne qui indique le type d'information trouvée sur cette ligne :"

#. type: TP
#: ../src/xz/xz.1:1848
#, no-wrap
msgid "B<name>"
msgstr "B<name>"

#. type: Plain text
#: ../src/xz/xz.1:1852
msgid "This is always the first line when starting to list a file.  The second column on the line is the filename."
msgstr "C'est toujours la première ligne au début de la liste d'un fichier. La seconde colonne de la ligne est le nom de fichier."

#. type: TP
#: ../src/xz/xz.1:1852
#, no-wrap
msgid "B<file>"
msgstr "B<file>"

#. type: Plain text
#: ../src/xz/xz.1:1860
msgid "This line contains overall information about the B<.xz> file.  This line is always printed after the B<name> line."
msgstr "Cette ligne contient l'information globale sur le fichier B<.xz>. Cette ligne est toujours écrite après la ligne B<name>."

#. type: TP
#: ../src/xz/xz.1:1860
#, no-wrap
msgid "B<stream>"
msgstr "B<stream>"

#. type: Plain text
#: ../src/xz/xz.1:1870
msgid "This line type is used only when B<--verbose> was specified.  There are as many B<stream> lines as there are streams in the B<.xz> file."
msgstr "Ce type de ligne n'est utilisée que lorsque B< --verbose> a été indiquée. Il y a autant de lignes B<stream> qu'il y a de flux dans le fichier B<.xz>."

#. type: TP
#: ../src/xz/xz.1:1870
#, no-wrap
msgid "B<block>"
msgstr "B<block>"

#. type: Plain text
#: ../src/xz/xz.1:1885
msgid "This line type is used only when B<--verbose> was specified.  There are as many B<block> lines as there are blocks in the B<.xz> file.  The B<block> lines are shown after all the B<stream> lines; different line types are not interleaved."
msgstr "Ce type de ligne n'est utilisé seulement lorsque B<--verbose> a été indiquée. Il y a autant de lignes B<block> qu'il y a de blocs dans le fichier B<.xz>. Les lignes B<block> sont affichées après toutes les lignes B<stream> ; les différents types de lignes ne sont pas imbriqués."

#. type: TP
#: ../src/xz/xz.1:1885
#, no-wrap
msgid "B<summary>"
msgstr "B<summary>"

#. type: Plain text
#: ../src/xz/xz.1:1900
msgid "This line type is used only when B<--verbose> was specified twice.  This line is printed after all B<block> lines.  Like the B<file> line, the B<summary> line contains overall information about the B<.xz> file."
msgstr "Ce type de ligne n'est utilisé que lorsque B<--verbose> a été indiqué deux fois. Cette ligne est affichée après toutes les lignes B<block>. Comme la ligne B<file>, la ligne B<summary> contient l'information globale sur le fichier B<.xz>."

#. type: TP
#: ../src/xz/xz.1:1900
#, no-wrap
msgid "B<totals>"
msgstr "B<totals>"

#. type: Plain text
#: ../src/xz/xz.1:1904
msgid "This line is always the very last line of the list output.  It shows the total counts and sizes."
msgstr "Cette ligne est toujours la toute dernière ligne de la sortie. Elle affiche les comptes et les tailles totaux."

#. type: Plain text
#: ../src/xz/xz.1:1908
msgid "The columns of the B<file> lines:"
msgstr "Les colonnes des lignes B<file> :"

#. type: Plain text
#: ../src/xz/xz.1:1912
msgid "Number of streams in the file"
msgstr "Nombre de flux dans le fichier"

#. type: Plain text
#: ../src/xz/xz.1:1914
msgid "Total number of blocks in the stream(s)"
msgstr "Nombre total de blocs dans le ou les flux."

#. type: IP
#: ../src/xz/xz.1:1914 ../src/xz/xz.1:1951 ../src/xz/xz.1:1978 ../src/xz/xz.1:2058 ../src/xz/xz.1:2074
#, no-wrap
msgid "4."
msgstr "4."

#. type: Plain text
#: ../src/xz/xz.1:1916
msgid "Compressed size of the file"
msgstr "Taille compressée du fichier"

#. type: IP
#: ../src/xz/xz.1:1916 ../src/xz/xz.1:1953 ../src/xz/xz.1:1980 ../src/xz/xz.1:2076
#, no-wrap
msgid "5."
msgstr "5."

#. type: Plain text
#: ../src/xz/xz.1:1918
msgid "Uncompressed size of the file"
msgstr "Taille décompressée du fichier"

#. type: IP
#: ../src/xz/xz.1:1918 ../src/xz/xz.1:1955 ../src/xz/xz.1:1982 ../src/xz/xz.1:2078
#, no-wrap
msgid "6."
msgstr "6."

#. type: Plain text
#: ../src/xz/xz.1:1924
msgid "Compression ratio, for example B<0.123.> If ratio is over 9.999, three dashes (B<--->)  are displayed instead of the ratio."
msgstr "Taux de compression, par exemple B<0.123>. Si le taux est supérieur à 9 999, trois tirets (B<--->) sont affichés au lieu du taux."

#. type: IP
#: ../src/xz/xz.1:1924 ../src/xz/xz.1:1957 ../src/xz/xz.1:1984 ../src/xz/xz.1:2080
#, no-wrap
msgid "7."
msgstr "7."

#. type: Plain text
#: ../src/xz/xz.1:1937
msgid "Comma-separated list of integrity check names.  The following strings are used for the known check types: B<None>, B<CRC32>, B<CRC64>, and B<SHA-256>.  For unknown check types, B<Unknown->I<N> is used, where I<N> is the Check ID as a decimal number (one or two digits)."
msgstr "Liste de noms de contrôles d'intégrité séparés par des virgules. Les chaînes suivantes sont utilisées pour les types de vérification connus : B<None>, B<CRC32>, B<CRC64> et B<SHA256>. Pour le types de vérification inconnus, B<Unknown->I<N> est utilisé, où I<N> est un identifiant de vérification sous la forme d'un nombre décimal (un ou deux chiffres)."

#. type: IP
#: ../src/xz/xz.1:1937 ../src/xz/xz.1:1959 ../src/xz/xz.1:1986 ../src/xz/xz.1:2083
#, no-wrap
msgid "8."
msgstr "8."

#. type: Plain text
#: ../src/xz/xz.1:1939
msgid "Total size of stream padding in the file"
msgstr "Taille totale du remplissage du flux dans le fichier"

#. type: Plain text
#: ../src/xz/xz.1:1945
msgid "The columns of the B<stream> lines:"
msgstr "Les colonnes des lignes B<stream> :"

#. type: Plain text
#: ../src/xz/xz.1:1949
msgid "Stream number (the first stream is 1)"
msgstr "Numéro de flux (le premier flux a le numéro 1)"

#. type: Plain text
#: ../src/xz/xz.1:1951
msgid "Number of blocks in the stream"
msgstr "Nombre de blocs dans le flux"

#. type: Plain text
#: ../src/xz/xz.1:1953
msgid "Compressed start offset"
msgstr "Décalage de départ compressé"

#. type: Plain text
#: ../src/xz/xz.1:1955
msgid "Uncompressed start offset"
msgstr "Décalage de départ décompressé"

#. type: Plain text
#: ../src/xz/xz.1:1957
msgid "Compressed size (does not include stream padding)"
msgstr "Taille compressée (ne comprend pas le remplissage du flux)"

#. type: Plain text
#: ../src/xz/xz.1:1959 ../src/xz/xz.1:1988 ../src/xz/xz.1:2078
msgid "Uncompressed size"
msgstr "Taille décompressée"

#. type: Plain text
#: ../src/xz/xz.1:1961 ../src/xz/xz.1:1990
msgid "Compression ratio"
msgstr "Taux de compression"

#. type: IP
#: ../src/xz/xz.1:1961 ../src/xz/xz.1:1988 ../src/xz/xz.1:2085
#, no-wrap
msgid "9."
msgstr "9."

#. type: Plain text
#: ../src/xz/xz.1:1963 ../src/xz/xz.1:1992
msgid "Name of the integrity check"
msgstr "Nom de la vérification d'intégrité"

#. type: IP
#: ../src/xz/xz.1:1963 ../src/xz/xz.1:1990 ../src/xz/xz.1:2101
#, no-wrap
msgid "10."
msgstr "10."

#. type: Plain text
#: ../src/xz/xz.1:1965
msgid "Size of stream padding"
msgstr "Taille du remplissage de flux"

#. type: Plain text
#: ../src/xz/xz.1:1971
msgid "The columns of the B<block> lines:"
msgstr "Les colonnes des lignes B<block> :"

#. type: Plain text
#: ../src/xz/xz.1:1975
msgid "Number of the stream containing this block"
msgstr "Numéro du flux qui contient ce bloc"

#. type: Plain text
#: ../src/xz/xz.1:1978
msgid "Block number relative to the beginning of the stream (the first block is 1)"
msgstr "Numéro du bloc relatif au commencement du flux (le premier bloc a pour numéro 1)"

#. type: Plain text
#: ../src/xz/xz.1:1980
msgid "Block number relative to the beginning of the file"
msgstr "Numéro du bloc relatif au début du fichier"

#. type: Plain text
#: ../src/xz/xz.1:1982
msgid "Compressed start offset relative to the beginning of the file"
msgstr "Décalage de départ compressé relatif au début du fichier"

#. type: Plain text
#: ../src/xz/xz.1:1984
msgid "Uncompressed start offset relative to the beginning of the file"
msgstr "Décalage de départ décompressé relatif au début du fichier"

#. type: Plain text
#: ../src/xz/xz.1:1986
msgid "Total compressed size of the block (includes headers)"
msgstr "Taille compressée totale du bloc (en-têtes inclus)"

#. type: Plain text
#: ../src/xz/xz.1:2004
msgid "If B<--verbose> was specified twice, additional columns are included on the B<block> lines.  These are not displayed with a single B<--verbose>, because getting this information requires many seeks and can thus be slow:"
msgstr "Si B<--verbose> a été indiqué deux fois, les colonnes additionnelles sont inclues sur les lignes B<block>. Elles ne sont pas affichées avec un seul B<--verbose>, car l'obtention de ces informations nécessite de nombreuses recherches et peut donc être lente :"

#. type: IP
#: ../src/xz/xz.1:2006 ../src/xz/xz.1:2106
#, no-wrap
msgid "11."
msgstr "11."

#. type: Plain text
#: ../src/xz/xz.1:2008
msgid "Value of the integrity check in hexadecimal"
msgstr "Valeur de la vérification d'intégrité en hexadécimal"

#. type: IP
#: ../src/xz/xz.1:2008 ../src/xz/xz.1:2116
#, no-wrap
msgid "12."
msgstr "12."

#. type: Plain text
#: ../src/xz/xz.1:2010
msgid "Block header size"
msgstr "Taille d'en-tête de bloc"

#. type: IP
#: ../src/xz/xz.1:2010
#, no-wrap
msgid "13."
msgstr "13."

#. type: Plain text
#: ../src/xz/xz.1:2020
msgid "Block flags: B<c> indicates that compressed size is present, and B<u> 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 "Drapeaux du bloc : B<c> indique que la taille compressée est présente, et B<u> indique que la taille décompréssée est présente. Si le drapeau n'est pas indiqué, un tiret (B<->) est affiché à la place pour que la longueur de la chaîne reste fixe. De nouveaux drapeaux pourraient être ajoutés à la fin de la chaîne dans le futur."

#. type: IP
#: ../src/xz/xz.1:2020
#, no-wrap
msgid "14."
msgstr "14."

#. type: Plain text
#: ../src/xz/xz.1:2023
msgid "Size of the actual compressed data in the block (this excludes the block header, block padding, and check fields)"
msgstr "Taille des données effectivement compressées dans le bloc (en excluant l'en-tête de bloc, le remplissage de bloc et les champs de vérification)."

#. type: IP
#: ../src/xz/xz.1:2023
#, no-wrap
msgid "15."
msgstr "15."

#. type: Plain text
#: ../src/xz/xz.1:2028
msgid "Amount of memory (in bytes) required to decompress this block with this B<xz> version"
msgstr "Quantité de mémoire (en octets) nécessaire pour décompresser ce bloc avec cette version de B<xz>."

#. type: IP
#: ../src/xz/xz.1:2028
#, no-wrap
msgid "16."
msgstr "16."

#. type: Plain text
#: ../src/xz/xz.1:2035
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 "Chaîne de filtrage. Remarquez que la plupart des options utilisées au moment de la compression ne peuvent pas être connues, car seules les options nécessaires pour la décompression sont stockées dans les en-têtes B<.xz>."

#. type: Plain text
#: ../src/xz/xz.1:2041
msgid "The columns of the B<summary> lines:"
msgstr "Les colonnes des lignes B<summary> :"

#. type: Plain text
#: ../src/xz/xz.1:2048
msgid "Amount of memory (in bytes) required to decompress this file with this B<xz> version"
msgstr "Quantité de mémoire (en octets) nécessaire pour décompresser ce fichier avec cette version de B<xz>."

#. type: Plain text
#: ../src/xz/xz.1:2054 ../src/xz/xz.1:2112
msgid "B<yes> or B<no> indicating if all block headers have both compressed size and uncompressed size stored in them"
msgstr "B<yes> ou B<no> indique si tous les en-têtes de bloc stockent à la fois la taille compressée et la taille décompressée."

#. type: Plain text
#: ../src/xz/xz.1:2058 ../src/xz/xz.1:2116
msgid "I<Since> B<xz> I<5.1.2alpha:>"
msgstr "I<Depuis> B<xz> I<5.1.2alpha:>"

#. type: Plain text
#: ../src/xz/xz.1:2062 ../src/xz/xz.1:2120
msgid "Minimum B<xz> version required to decompress the file"
msgstr "Version minimale de B<xz> nécessaire pour décompresser le fichier."

#. type: Plain text
#: ../src/xz/xz.1:2068
msgid "The columns of the B<totals> line:"
msgstr "Les colonnes de la ligne B<totals> :"

#. type: Plain text
#: ../src/xz/xz.1:2072
msgid "Number of streams"
msgstr "Nombre de flux"

#. type: Plain text
#: ../src/xz/xz.1:2074
msgid "Number of blocks"
msgstr "Nombre de blocs"

#. type: Plain text
#: ../src/xz/xz.1:2076
msgid "Compressed size"
msgstr "Taille compressée"

#. type: Plain text
#: ../src/xz/xz.1:2080
msgid "Average compression ratio"
msgstr "Taux de compression moyen"

#. type: Plain text
#: ../src/xz/xz.1:2083
msgid "Comma-separated list of integrity check names that were present in the files"
msgstr "Liste séparée par des virgules des noms de vérification d'intégrité qui étaient présents dans les fichiers"

#. type: Plain text
#: ../src/xz/xz.1:2085
msgid "Stream padding size"
msgstr "Taille de remplissage de flux"

#. type: Plain text
#: ../src/xz/xz.1:2091
msgid "Number of files.  This is here to keep the order of the earlier columns the same as on B<file> lines."
msgstr "Nombre de fichiers. Permet de garder l'ordre des colonnes précédentes comme sur les lignes B<file>."

#. type: Plain text
#: ../src/xz/xz.1:2099
msgid "If B<--verbose> was specified twice, additional columns are included on the B<totals> line:"
msgstr "Si B<--verbose> a été indiqué deux fois, des colonnes supplémentaires sont incluses sur la ligne B<totals> :"

#. type: Plain text
#: ../src/xz/xz.1:2106
msgid "Maximum amount of memory (in bytes) required to decompress the files with this B<xz> version"
msgstr "Quantité maximale de mémoire (en octets) nécessaire pour décompresser les fichiers avec cette version de B<xz>."

#. type: Plain text
#: ../src/xz/xz.1:2126
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 "Les versions futures pourront ajouter de nouveaux types de lignes et de nouvelles colonnes pourront être ajoutées aux types de lignes existants, mais les colonnes existantes ne seront pas modifiées."

#. type: SH
#: ../src/xz/xz.1:2127 ../src/xzdec/xzdec.1:104 ../src/lzmainfo/lzmainfo.1:44
#, no-wrap
msgid "EXIT STATUS"
msgstr "STATUT DE SORTIE"

#. type: TP
#: ../src/xz/xz.1:2128 ../src/xzdec/xzdec.1:105 ../src/lzmainfo/lzmainfo.1:45
#, no-wrap
msgid "B<0>"
msgstr "B<0>"

#. type: Plain text
#: ../src/xz/xz.1:2131 ../src/lzmainfo/lzmainfo.1:48
msgid "All is good."
msgstr "Tout est bon."

#. type: TP
#: ../src/xz/xz.1:2131 ../src/xzdec/xzdec.1:108 ../src/lzmainfo/lzmainfo.1:48
#, no-wrap
msgid "B<1>"
msgstr "B<1>"

#. type: Plain text
#: ../src/xz/xz.1:2134 ../src/xzdec/xzdec.1:111 ../src/lzmainfo/lzmainfo.1:51
msgid "An error occurred."
msgstr "Une erreur est survenue."

#. type: TP
#: ../src/xz/xz.1:2134
#, no-wrap
msgid "B<2>"
msgstr "B<2>"

#. type: Plain text
#: ../src/xz/xz.1:2138
msgid "Something worth a warning occurred, but no actual errors occurred."
msgstr "Quelquechose méritant un avertissement s'est produit, mais aucune erreur véritable n'est survenue."

#. type: Plain text
#: ../src/xz/xz.1:2141
msgid "Notices (not warnings or errors) printed on standard error don't affect the exit status."
msgstr "Les notifications (pas les avertissements ou les erreurs) affichées sur l'erreur standard n'affectent pas le statut de sortie."

#. type: SH
#: ../src/xz/xz.1:2142 ../src/scripts/xzgrep.1:80 ../src/scripts/xzless.1:52
#, no-wrap
msgid "ENVIRONMENT"
msgstr "ENVIRONNEMENT"

#. type: Plain text
#: ../src/xz/xz.1:2155
msgid "B<xz> parses space-separated lists of options from the environment variables B<XZ_DEFAULTS> and B<XZ_OPT>, in this order, before parsing the options from the command line.  Note that only options are parsed from the environment variables; all non-options are silently ignored.  Parsing is done with B<getopt_long>(3)  which is used also for the command line arguments."
msgstr "B<xz> analyse les listes d'options séparées par des espaces à partir des variables d'environnement B<XZ_DEFAULTS> et B<XZ_OPT>, dans cet ordre, avant d'analyser les options de la ligne de commandes. Remarquez que seules les options sont analysées depuis l'environnement des variables ; toutes les non-options sont ignorées silencieusement. L'analyse est faite avec B<getopt_long>(3) qui est aussi utilisé pour les arguments de la ligne de commandes."

#. type: TP
#: ../src/xz/xz.1:2155
#, no-wrap
msgid "B<XZ_DEFAULTS>"
msgstr "B<XZ_DEFAULTS>"

#. type: Plain text
#: ../src/xz/xz.1:2164
msgid "User-specific or system-wide default options.  Typically this is set in a shell initialization script to enable B<xz>'s memory usage limiter by default.  Excluding shell initialization scripts and similar special cases, scripts must never set or unset B<XZ_DEFAULTS>."
msgstr "Options par défaut propres à l'utilisateur ou pour tout le système. Elles sont le plus souvent définies dans un script d'initialisation de l'interpréteur pour activer le limiteur d'utilisation de la mémoire de B<xz> par défaut. A part pour les scripts d'initialisation de l'interpréteur ou des cas similaires, les sripts ne doivent jamais définir ou désactiver B<XZ_DEFAULTS>."

#. type: TP
#: ../src/xz/xz.1:2164
#, no-wrap
msgid "B<XZ_OPT>"
msgstr "B<XZ_OPT>"

#. type: Plain text
#: ../src/xz/xz.1:2175
msgid "This is for passing options to B<xz> when it is not possible to set the options directly on the B<xz> command line.  This is the case e.g. when B<xz> is run by a script or tool, e.g. GNU B<tar>(1):"
msgstr "Cela permet de passer des options à B<xz> lorsqu'il n'est pas possible de définir ces options directement sur la ligne de commande B<xz>. C'est le cas, par exemple, lorsque B<xz> est lancé par un script ou un outil, par exemple B<tar>(1) de GNU :"

#. type: Plain text
#: ../src/xz/xz.1:2181
#, no-wrap
msgid "CW<XZ_OPT=-2v tar caf foo.tar.xz foo>\n"
msgstr "CW<XZ_OPT=-2v tar caf foo.tar.xz foo>\n"

#. type: Plain text
#: ../src/xz/xz.1:2194
msgid "Scripts may use B<XZ_OPT> e.g. to set script-specific default compression options.  It is still recommended to allow users to override B<XZ_OPT> if that is reasonable, e.g. in B<sh>(1)  scripts one may use something like this:"
msgstr "Les scripts peuvent utiliser B<XZ_OPT>, par exemple pour définir des options de compression par défaut spécifiques au script. Il est toujours recommandé d'autoriser les utilisateurs à outrepasser B<XZ_OPT> si cela est raisonnable, comme par exemple dans les scripts B<sh>(1) quelquechose comme ceci devrait être utilisé :"

#. type: Plain text
#: ../src/xz/xz.1:2201
#, no-wrap
msgid ""
"CW<XZ_OPT=${XZ_OPT-\"-7e\"}\n"
"export XZ_OPT>\n"
msgstr ""
"CW<XZ_OPT=${XZ_OPT-\"-7e\"}\n"
"export XZ_OPT>\n"

#. type: SH
#: ../src/xz/xz.1:2206
#, no-wrap
msgid "LZMA UTILS COMPATIBILITY"
msgstr "Compatibilité des utilitaires LZMA"

#. type: Plain text
#: ../src/xz/xz.1:2219
msgid "The command line syntax of B<xz> is practically a superset of B<lzma>, B<unlzma>, and B<lzcat> as found from LZMA Utils 4.32.x.  In most cases, it is possible to replace LZMA Utils with XZ Utils without breaking existing scripts.  There are some incompatibilities though, which may sometimes cause problems."
msgstr "La syntaxe de la ligne de commande de B<xz> est quasimment un sur-ensemble de B<lzma>, B<unlzma> et B<lzcat> comme ils sont trouvés dans les utilitaires LZMA 4.32.x . Dans la pluspart des cas, il est possible de remplacer les outils LZMA par les outils XZ sans casser les scripts existants. Il existe cependant certaines incompatibilités qui peuvent parfois poser des problèmes."

#. type: SS
#: ../src/xz/xz.1:2220
#, no-wrap
msgid "Compression preset levels"
msgstr "Niveaux de préréglage de la compression"

#. type: Plain text
#: ../src/xz/xz.1:2227
msgid "The numbering of the compression level presets is not identical in B<xz> and LZMA Utils.  The most important difference is how dictionary sizes are mapped to different presets.  Dictionary size is roughly equal to the decompressor memory usage."
msgstr "La numérotation des préréglages de niveau de compression est différente entre les outils B<xz> et LZMA. La différence la plus importante est la manière dont les tailles de dictionnaire sont affectées aux différents préréglages. La taille de dictionnaire est à peu près égale à celle d'utilisation de la mémoire de la décompression."

#. type: tbl table
#: ../src/xz/xz.1:2233 ../src/xz/xz.1:2258
#, no-wrap
msgid "Level"
msgstr "Niveau"

#. type: tbl table
#: ../src/xz/xz.1:2233 ../src/xz/xz.1:2258
#, no-wrap
msgid "xz"
msgstr "xz"

#. type: tbl table
#: ../src/xz/xz.1:2233
#, no-wrap
msgid "LZMA Utils"
msgstr "Utilitaires LZMA"

#. type: tbl table
#: ../src/xz/xz.1:2234 ../src/xz/xz.1:2259
#, no-wrap
msgid "N/A"
msgstr "N/A"

#. type: tbl table
#: ../src/xz/xz.1:2235
#, no-wrap
msgid "64 KiB"
msgstr "64 KiB"

#. type: tbl table
#: ../src/xz/xz.1:2237
#, no-wrap
msgid "512 KiB"
msgstr "512 KiB"

#. type: Plain text
#: ../src/xz/xz.1:2252
msgid "The dictionary size differences affect the compressor memory usage too, but there are some other differences between LZMA Utils and XZ Utils, which make the difference even bigger:"
msgstr "Les différences de tailles des dictionnaires affectent aussi l'utilisation de la mémoire du compresseur, mais il y a quelques autres différences entre les outils LZMA et les outils XZ, qui rendent la différence encore plus grande :"

#. type: tbl table
#: ../src/xz/xz.1:2258
#, no-wrap
msgid "LZMA Utils 4.32.x"
msgstr "Utilitaires LZMA 4.32.x"

#. type: tbl table
#: ../src/xz/xz.1:2261 ../src/xz/xz.1:2262
#, no-wrap
msgid "12 MiB"
msgstr "12 MiB"

#. type: tbl table
#: ../src/xz/xz.1:2264
#, no-wrap
msgid "26 MiB"
msgstr "26 MiB"

#. type: tbl table
#: ../src/xz/xz.1:2265
#, no-wrap
msgid "45 MiB"
msgstr "45 MiB"

#. type: tbl table
#: ../src/xz/xz.1:2266
#, no-wrap
msgid "83 MiB"
msgstr "83 MiB"

#. type: tbl table
#: ../src/xz/xz.1:2267
#, no-wrap
msgid "159 MiB"
msgstr "159 MiB"

#. type: tbl table
#: ../src/xz/xz.1:2268
#, no-wrap
msgid "311 MiB"
msgstr "311 MiB"

#. type: Plain text
#: ../src/xz/xz.1:2277
msgid "The default preset level in LZMA Utils is B<-7> while in XZ Utils it is B<-6>, so both use an 8 MiB dictionary by default."
msgstr "Le niveau de préréglage par défaut dans les outils LZMA est B<-7> alors que pour les outils XZ c'est B<-6>, les deux utilisent ainsi un dictionnaire de 8 Mio par défaut."

#. type: SS
#: ../src/xz/xz.1:2278
#, no-wrap
msgid "Streamed vs. non-streamed .lzma files"
msgstr "Fichiers .lzma en flux ou non"

#. type: Plain text
#: ../src/xz/xz.1:2288
msgid "The uncompressed size of the file can be stored in the B<.lzma> header.  LZMA Utils does that when compressing regular files.  The alternative is to mark that uncompressed size is unknown and use end-of-payload marker to indicate where the decompressor should stop.  LZMA Utils uses this method when uncompressed size isn't known, which is the case for example in pipes."
msgstr "La taille non compressée du fichier peut être stockée dans l'en-tête B<.lzma>. C'est ainsi que font les outils LZMA avec les fichiers normaux. L'alternative est d'indiquer que la taille décompressée est inconnue et utiliser un marqueur de fin de charge pour indiquer où le décompresseur doit s'arrêter. Les outils LZMA utilisent cette méthode quand la taille décompressée n'est pas connue, ce qui est le cas par exemple dans les redirections."

#. type: Plain text
#: ../src/xz/xz.1:2309
msgid "B<xz> supports decompressing B<.lzma> files with or without end-of-payload marker, but all B<.lzma> files created by B<xz> will use end-of-payload marker and have uncompressed size marked as unknown in the B<.lzma> header.  This may be a problem in some uncommon situations.  For example, a B<.lzma> decompressor in an embedded device might work only with files that have known uncompressed size.  If you hit this problem, you need to use LZMA Utils or LZMA SDK to create B<.lzma> files with known uncompressed size."
msgstr ""
"B<xz> prend en charge la décompression des fichiers B<.lzma> avec ou sans marqueur de fin de charge utile, mais tous les fichiers B<.lzma> créés par B<xz> utiliseront un marqueur de fin de charge utile et ont la taille non compréssée marquée comme inconnue dans l'en-tête B<.lzma>. Cela peut être un problème dans quelques situations inhabituelles. Par exemple, un décompresseur B<.lzma> dans un périphérique embarqué pourrait ne fonctionner qu'avec des fichiers dont la taille non comprimée est connue. Si vous vous heurtez à ce problème, vous devez "
"utiliser les utilitaires LZMA ou LZMA SDK pour créer des fichiers B<.lzma> avec une taille non compressée connue."

#. type: SS
#: ../src/xz/xz.1:2310
#, no-wrap
msgid "Unsupported .lzma files"
msgstr "Fichiers .lzma non pris en charge"

#. type: Plain text
#: ../src/xz/xz.1:2333
msgid "The B<.lzma> format allows I<lc> values up to 8, and I<lp> values up to 4.  LZMA Utils can decompress files with any I<lc> and I<lp>, but always creates files with B<lc=3> and B<lp=0>.  Creating files with other I<lc> and I<lp> is possible with B<xz> and with LZMA SDK."
msgstr "Le format B<.lzma> autorise des valeurs I<lc> jusqu'à 8, et des valeurs I<lp> jusqu'à 4. Les outils LZMA peuvent décompresser des fichiers avec tous les I<lc> et I<lp>, mais créez toujours les fichiers avec B<lc=3> et B<lp=0>. Créer des fichiers avec d'autres valeurs I<lc> et I<lp> est possible avec B<xz> et avec LZMA SDK."

#. type: Plain text
#: ../src/xz/xz.1:2344
msgid "The implementation of the LZMA1 filter in liblzma requires that the sum of I<lc> and I<lp> must not exceed 4.  Thus, B<.lzma> files, which exceed this limitation, cannot be decompressed with B<xz>."
msgstr "L'implémentation du filtre LZMA1 dans liblzma nécessite que la somme de I<lc> et I<lp> soit inférieure ou égale à 4. Ainsi, les fichiers B<.lzma> qui excèdent cette limitation ne peuvent pas être décompressés avec B<xz>."

#. type: Plain text
#: ../src/xz/xz.1:2359
msgid "LZMA Utils creates only B<.lzma> files which have a dictionary size of 2^I<n> (a power of 2) but accepts files with any dictionary size.  liblzma accepts only B<.lzma> files which have a dictionary size of 2^I<n> or 2^I<n> + 2^(I<n>-1).  This is to decrease false positives when detecting B<.lzma> files."
msgstr "Les outils LZMA créent seulement des fichiers B<.lzma> qui ont une taille de dictionnaire de 2^I<n> (une puissance de 2) mais acceptent les fichiers avec toutes les tailles de dictionnaire. Libzlma n'accepte que les fichiers B<.lzma> qui ont une taille dictionnaire de 2^I<n> ou 2^I<n> + 2^(I<n>-1). Cela afin de diminuer les faux positifs lors de la détection des fichiers B<.lzma>."

#. type: Plain text
#: ../src/xz/xz.1:2364
msgid "These limitations shouldn't be a problem in practice, since practically all B<.lzma> files have been compressed with settings that liblzma will accept."
msgstr "Ces limitations ne devraient pas poser problème en pratique, car pratiquement tous les fichiers B<.lzma> ont été compressés avec des réglages que liblzma accepte."

#. type: SS
#: ../src/xz/xz.1:2365
#, no-wrap
msgid "Trailing garbage"
msgstr "Déchets excédentaires"

#. type: Plain text
#: ../src/xz/xz.1:2375
msgid "When decompressing, LZMA Utils silently ignore everything after the first B<.lzma> stream.  In most situations, this is a bug.  This also means that LZMA Utils don't support decompressing concatenated B<.lzma> files."
msgstr "Lors de la décompession, l'utilitaire LZMA ignore silencieusement tout ce qui est après le premier flux B<.lzma>. Dans la majorité des situations, c'est un bogue. Cela veut dire aussi que les outils LZMA ne gèrent pas la décompression de fichiers B<.lzma> concaténés."

#. type: Plain text
#: ../src/xz/xz.1:2385
msgid "If there is data left after the first B<.lzma> stream, B<xz> considers the file to be corrupt unless B<--single-stream> was used.  This may break obscure scripts which have assumed that trailing garbage is ignored."
msgstr "S'il reste des données après le premier flux B<.lzma>, B<xz> considère que le fichier est corrompu sauf si B<--single-stream> a été utilisé. Cela peut casser des scripts obscurs qui ont supposé que les déchets de fin de ligne sont ignorés."

#. type: SH
#: ../src/xz/xz.1:2386 ../src/xzdec/xzdec.1:117
#, no-wrap
msgid "NOTES"
msgstr "NOTES"

#. type: SS
#: ../src/xz/xz.1:2388
#, no-wrap
msgid "Compressed output may vary"
msgstr "La sortie compressée peut varier"

#. type: Plain text
#: ../src/xz/xz.1:2399
msgid "The exact compressed output produced from the same uncompressed input file may vary between XZ Utils versions even if compression options are identical.  This is because the encoder can be improved (faster or better compression)  without affecting the file format.  The output can vary even between different builds of the same XZ Utils version, if different build options are used."
msgstr "La sortie compressée exacte produite par les même fichiers non compressés en entrée peut varier en fonction des différentes versions de l'utilitaire XZ, même si les options de compression sont identiques. En effet, il est possible d'améliorer l'encodeur (compression plus rapide ou meilleure) sans affecter le format du fichier. La sortie peut même varier entre différentes compilations de la même version d'utilitaire XZ, si des options de construction différentes sont utilisées."

#. type: Plain text
#: ../src/xz/xz.1:2409
msgid "The above means that once B<--rsyncable> has been implemented, the resulting files won't necessarily be rsyncable unless both old and new files have been compressed with the same xz version.  This problem can be fixed if a part of the encoder implementation is frozen to keep rsyncable output stable across xz versions."
msgstr "Cela signifie qu'une fois que B<--rsyncable> a été implémenté, les fichiers résultants ne seront pas nécessairement synchronisables avec rsync à moins que les nouveaux et anciens fichiers n'aient été compressés avec la même version de xz. Ce problème peut être résolu si une partie de l'implémentation est gelée pour garantir la stabilité de la sortie rsyncable à travers les versions de xz."

#. type: SS
#: ../src/xz/xz.1:2410
#, no-wrap
msgid "Embedded .xz decompressors"
msgstr "Décompresseurs .xz embarqués"

#. type: Plain text
#: ../src/xz/xz.1:2427
msgid "Embedded B<.xz> decompressor implementations like XZ Embedded don't necessarily support files created with integrity I<check> types other than B<none> and B<crc32>.  Since the default is B<--check=crc64>, you must use B<--check=none> or B<--check=crc32> when creating files for embedded systems."
msgstr "Les implémentations de décompresseur embarqué comme XZ Embedded ne gèrent pas nécessairement les fichiers créés avec d'autres types de I<vérification> d'intégrité que B<none> et B<CRC32>. Comme la valeur par défaut est B<--check=crc64>, vous devez utiliser B<--check=none> ou B<--check=crc32> lors de la création de fichiers pour les systèmes embarqués."

#. type: Plain text
#: ../src/xz/xz.1:2437
msgid "Outside embedded systems, all B<.xz> format decompressors support all the I<check> types, or at least are able to decompress the file without verifying the integrity check if the particular I<check> is not supported."
msgstr "En dehors des systèmes embarqués, tous les décompresseurs de format B<.xz> gèrent tous les types de I<vérification> ou sont au moins capables de décompresser le fichier sans effectuer la vérification d'intégrité si ce type de I<vérification> particulière n'est pas pris en charge."

#. type: Plain text
#: ../src/xz/xz.1:2440
msgid "XZ Embedded supports BCJ filters, but only with the default start offset."
msgstr "XZ Embedded prend en charge les filtres BCJ, mais seulement avec le décalage de départ par défaut."

#. type: SH
#: ../src/xz/xz.1:2441
#, no-wrap
msgid "EXAMPLES"
msgstr "EXEMPLES"

#. type: SS
#: ../src/xz/xz.1:2443
#, no-wrap
msgid "Basics"
msgstr "Bases"

#. type: Plain text
#: ../src/xz/xz.1:2453
msgid "Compress the file I<foo> into I<foo.xz> using the default compression level (B<-6>), and remove I<foo> if compression is successful:"
msgstr "Compresser le fichier I<toto> en I<toto.xz> en utilisant le niveau de compression par défaut (B<-6>) et supprimer I<toto> si la compression réussit :"

#. type: Plain text
#: ../src/xz/xz.1:2458
#, no-wrap
msgid "CW<xz foo>\n"
msgstr "CW<xz toto>\n"

#. type: Plain text
#: ../src/xz/xz.1:2469
msgid "Decompress I<bar.xz> into I<bar> and don't remove I<bar.xz> even if decompression is successful:"
msgstr "Décompresser I<bidule.xz> en I<bidule> et ne pas supprimer I<bidule.xz> même si la compression réussit :"

#. type: Plain text
#: ../src/xz/xz.1:2474
#, no-wrap
msgid "CW<xz -dk bar.xz>\n"
msgstr "CW<xz -dk bidule.xz>\n"

#. type: Plain text
#: ../src/xz/xz.1:2487
msgid "Create I<baz.tar.xz> with the preset B<-4e> (B<-4 --extreme>), which is slower than e.g. the default B<-6>, but needs less memory for compression and decompression (48\\ MiB and 5\\ MiB, respectively):"
msgstr "Créer I<truc.tar.xz> avec le préréglage B<-4e> (B<-4--extreme>), lequel est plus lent que par exemle B<-6> (par défaut), mais nécessite moins de mémoire pour la compression et la décompression (48\\ Mio et 5\\ Mio, respectivement) :"

#. type: Plain text
#: ../src/xz/xz.1:2492
#, no-wrap
msgid "CW<tar cf - baz | xz -4e E<gt> baz.tar.xz>\n"
msgstr "CW<tar cf - truc | xz -4e E<gt> truc.tar.xz>\n"

#. type: Plain text
#: ../src/xz/xz.1:2498
msgid "A mix of compressed and uncompressed files can be decompressed to standard output with a single command:"
msgstr "Un mélange de fichiers compressés et non compressés peuvent être décompressés vers la sortie standard avec une simple commande :"

#. type: Plain text
#: ../src/xz/xz.1:2503
#, no-wrap
msgid "CW<xz -dcf a.txt b.txt.xz c.txt d.txt.lzma E<gt> abcd.txt>\n"
msgstr "CW<xz -dcf a.txt b.txt.xz c.txt d.txt.lzma E<gt> abcd.txt>\n"

#. type: SS
#: ../src/xz/xz.1:2507
#, no-wrap
msgid "Parallel compression of many files"
msgstr "Compression en parallèle de plusieurs fichiers"

#. type: Plain text
#: ../src/xz/xz.1:2513
msgid "On GNU and *BSD, B<find>(1)  and B<xargs>(1)  can be used to parallelize compression of many files:"
msgstr "Sur GNU et *BSD, B<find>(1) et B<xargs>(1) peuvent être utilisés pour mettre en parallèle la compression de plusieurs fichiers :"

#. type: Plain text
#: ../src/xz/xz.1:2519
#, no-wrap
msgid ""
"CW<find . -type f \\e! -name '*.xz' -print0 \\e\n"
"    | xargs -0r -P4 -n16 xz -T1>\n"
msgstr ""
"CW<find . -type f \\e! -name '*.xz' -print0 \\e\n"
"    | xargs -0r -P4 -n16 xz -T1>\n"

#. type: Plain text
#: ../src/xz/xz.1:2541
msgid "The B<-P> option to B<xargs>(1)  sets the number of parallel B<xz> processes.  The best value for the B<-n> option depends on how many files there are to be compressed.  If there are only a couple of files, the value should probably be 1; with tens of thousands of files, 100 or even more may be appropriate to reduce the number of B<xz> processes that B<xargs>(1)  will eventually create."
msgstr "L'option B<P> passée à B<xargs>(1) fixe le nombre de processus B<xz> en parallèles. La meilleure valeur pour l'option B<n> dépend du nombre de fichiers à compresser. S-il n'y a que quelques fichiers, la valeur sera probablement 1 ; avec des dizaines de milliers de fichiers, 100 ou même plus serait approprié pour réduire le nombre de processus B<xz> que B<xargs>(1) créera éventuellement."

#. type: Plain text
#: ../src/xz/xz.1:2549
msgid "The option B<-T1> for B<xz> is there to force it to single-threaded mode, because B<xargs>(1)  is used to control the amount of parallelization."
msgstr "L'option B<-T1> de B<xz> est là pour le forcer en mode mono-thread, car B<xargs>(1) est utilisé pour contrôler la quantité de mise en parallèle."

#. type: SS
#: ../src/xz/xz.1:2550
#, no-wrap
msgid "Robot mode"
msgstr "Mode robot"

#. type: Plain text
#: ../src/xz/xz.1:2553
msgid "Calculate how many bytes have been saved in total after compressing multiple files:"
msgstr "Calculer combien d'octets ont été économisés au total après avoir compressé plusieurs fichiers :"

#. type: Plain text
#: ../src/xz/xz.1:2558
#, no-wrap
msgid "CW<xz --robot --list *.xz | awk '/^totals/{print $5-$4}'>\n"
msgstr "CW<xz --robot --list *.xz | awk '/^totals/{print $5-$4}'>\n"

#. type: Plain text
#: ../src/xz/xz.1:2573
msgid "A script may want to know that it is using new enough B<xz>.  The following B<sh>(1)  script checks that the version number of the B<xz> tool is at least 5.0.0.  This method is compatible with old beta versions, which didn't support the B<--robot> option:"
msgstr "Un script peut vouloir savoir qu'il utilise une version suffisamment récente de B<xz>. Le script B<sh>(1) suivant vérifie que le numéro de version de l'outil B<xz> soit au minimum 5.0.0. Cette méthode est compatible avec les vieilles versions bêta, qui ne gèrent pas l'option B<--robot> :"

#. type: Plain text
#: ../src/xz/xz.1:2582
#, no-wrap
msgid ""
"CW<if ! eval \"$(xz --robot --version 2E<gt> /dev/null)\" ||\n"
"        [ \"$XZ_VERSION\" -lt 50000002 ]; then\n"
"    echo \"Your xz is too old.\"\n"
"fi\n"
"unset XZ_VERSION LIBLZMA_VERSION>\n"
msgstr ""
"CW<if ! eval \"$(xz --robot --version 2E<gt> /dev/null)\" ||\n"
"        [ \"$XZ_VERSION\" -lt 50000002 ]; then\n"
"    echo \"Votre version de xz est trop ancienne.\"\n"
"fi\n"
"unset XZ_VERSION LIBLZMA_VERSION>\n"

#. type: Plain text
#: ../src/xz/xz.1:2589
msgid "Set a memory usage limit for decompression using B<XZ_OPT>, but if a limit has already been set, don't increase it:"
msgstr "Régler une limite d'utilisation de la mémoire pour la décompression en utilisant B<XZ_OPT>, mais si une limite a déjà été définie, ne pas l'augmenter : "

#. type: Plain text
#: ../src/xz/xz.1:2599
#, no-wrap
msgid ""
"CW<NEWLIM=$((123 E<lt>E<lt> 20))  # 123 MiB\n"
"OLDLIM=$(xz --robot --info-memory | cut -f3)\n"
"if [ $OLDLIM -eq 0 -o $OLDLIM -gt $NEWLIM ]; then\n"
"    XZ_OPT=\"$XZ_OPT --memlimit-decompress=$NEWLIM\"\n"
"    export XZ_OPT\n"
"fi>\n"
msgstr ""
"CW<NEWLIM=$((123 E<lt>E<lt> 20))  # 123 MiB\n"
"OLDLIM=$(xz --robot --info-memory | cut -f3)\n"
"if [ $OLDLIM -eq 0 -o $OLDLIM -gt $NEWLIM ]; then\n"
"    XZ_OPT=\"$XZ_OPT --memlimit-decompress=$NEWLIM\"\n"
"    export XZ_OPT\n"
"fi>\n"

#. type: Plain text
#: ../src/xz/xz.1:2609
msgid "The simplest use for custom filter chains is customizing a LZMA2 preset.  This can be useful, because the presets cover only a subset of the potentially useful combinations of compression settings."
msgstr "L'utilisation la plus simple des chaînes de filtres personnalisées est la personnalisation d'un préréglage LZMA2. Cela peut être utile, car les préréglages ne couvrent qu'un sous-ensemble des réglages de compression potentiellement utiles."

#. type: Plain text
#: ../src/xz/xz.1:2617
msgid "The CompCPU columns of the tables from the descriptions of the options B<-0> ... B<-9> and B<--extreme> are useful when customizing LZMA2 presets.  Here are the relevant parts collected from those two tables:"
msgstr "Les colonnes CompCPU des tableaux des descriptions des options B<-0> à B<-9> et B<--extreme> sont utiles lors de la personnalisation des préréglages LZMA2. Voici les parties pertinentes recueillies à partir de ces deux tableaux :"

#. type: Plain text
#: ../src/xz/xz.1:2642
msgid "If you know that a file requires somewhat big dictionary (e.g. 32 MiB) to compress well, but you want to compress it quicker than B<xz -8> would do, a preset with a low CompCPU value (e.g. 1)  can be modified to use a bigger dictionary:"
msgstr "Si vous savez qu'un fichier nécessite un dictionnaire relativement gros (par exemple 32 Mio) pour bien compresser, mais que vous vouliez le compresser plus vite que B<xz-8> ne le ferait, un préréglage avec une valeur basse de CompCPU (par exemple 1) peut être modifié pour utiliser un dictionnaire plus gros :"

#. type: Plain text
#: ../src/xz/xz.1:2647
#, no-wrap
msgid "CW<xz --lzma2=preset=1,dict=32MiB foo.tar>\n"
msgstr "CW<xz --lzma2=preset=1,dict=32MiB toto.tar>\n"

#. type: Plain text
#: ../src/xz/xz.1:2663
msgid "With certain files, the above command may be faster than B<xz -6> while compressing significantly better.  However, it must be emphasized that only some files benefit from a big dictionary while keeping the CompCPU value low.  The most obvious situation, where a big dictionary can help a lot, is an archive containing very similar files of at least a few megabytes each.  The dictionary size has to be significantly bigger than any individual file to allow LZMA2 to take full advantage of the similarities between consecutive files."
msgstr ""
"Avec certains fichiers, la commande ci-dessus peut être plus rapide que B<xz-6> tout en compressant bien mieux. Cependant, il faut souligner que seuls certains fichiers bénéficient d'un grand dictionnaire tout en gardant la valeur de CompCPU faible. La siutation la plus évidente où un gros dictionnaire peut baucoup aider, est une archive contenant des fichiers très similaires de quelques megaoctets chacun. La taille de dictionnaire doit être significativement plus grosse que tout fichier individuel pour permettre à LZMA2 de tirer pleinement partie "
"des similarités entre des fichiers consécutifs."

#. type: Plain text
#: ../src/xz/xz.1:2670
msgid "If very high compressor and decompressor memory usage is fine, and the file being compressed is at least several hundred megabytes, it may be useful to use an even bigger dictionary than the 64 MiB that B<xz -9> would use:"
msgstr "Si une utilisation de la mémoire élevée pour la compression et décompression convient, et que le fichier à compresser a une taille de plusieurs centaines de megaoctets, il peut être utile d'utiliser un plus gros dictionnaire que celui fourni par B<xz-9> (64 Mio) :"

#. type: Plain text
#: ../src/xz/xz.1:2675
#, no-wrap
msgid "CW<xz -vv --lzma2=dict=192MiB big_foo.tar>\n"
msgstr "CW<xz -vv --lzma2=dict=192MiB gros_toto.tar>\n"

#. type: Plain text
#: ../src/xz/xz.1:2688
msgid "Using B<-vv> (B<--verbose --verbose>)  like in the above example can be useful to see the memory requirements of the compressor and decompressor.  Remember that using a dictionary bigger than the size of the uncompressed file is waste of memory, so the above command isn't useful for small files."
msgstr "Utiliser B<-vv> (B<--verbose--verbose>) comme dans l'exemple ci-dessus peut être utile pour voir les besoins en mémoire du compresseur et du décompresseur. Rappelez-vous qu'utiliser un dictionnaire plus gros que la taille du fichier non compressé est un gachis de mémoire, donc la commande ci-dessus n'est pas utile pour les petits fichiers."

#. type: Plain text
#: ../src/xz/xz.1:2701
msgid "Sometimes the compression time doesn't matter, but the decompressor memory usage has to be kept low e.g. to make it possible to decompress the file on an embedded system.  The following command uses B<-6e> (B<-6 --extreme>)  as a base and sets the dictionary to only 64\\ KiB.  The resulting file can be decompressed with XZ Embedded (that's why there is B<--check=crc32>)  using about 100\\ KiB of memory."
msgstr "Parfois le temps de compression importe peu, mais l'utilisation de la mémoire du décompresseur doit être maintenue basse (par exemple pour rendre possible la décompression d'un fichier sur un système embarqué). La commande suivante utilise B<-6e> (B<-6 --extreme>) comme base, et définit le dictionnaire à seulement 64\\ Kio. Le fichier qui en résulte peut être décompressé avec XZ Embedded (c'est pourquoi il y a B<--check=crc32>) en utilisant environ 100\\ Kio de mémoire."

#. type: Plain text
#: ../src/xz/xz.1:2706
#, no-wrap
msgid "CW<xz --check=crc32 --lzma2=preset=6e,dict=64KiB foo>\n"
msgstr "CW<xz --check=crc32 --lzma2=preset=6e,dict=64KiB toto>\n"

#. type: Plain text
#: ../src/xz/xz.1:2729
msgid "If you want to squeeze out as many bytes as possible, adjusting the number of literal context bits (I<lc>)  and number of position bits (I<pb>)  can sometimes help.  Adjusting the number of literal position bits (I<lp>)  might help too, but usually I<lc> and I<pb> are more important.  E.g. a source code archive contains mostly US-ASCII text, so something like the following might give slightly (like 0.1\\ %) smaller file than B<xz -6e> (try also without B<lc=4>):"
msgstr ""
"Si vous voulez réduire au maximum le nombre d'octets, ajuster le nombre de bits de contexte littéral (I<lc>) et le nombre de bits de position (I<pb>) peut parfois être bénéfique. Ajuster le nombre de bits de position littéraux (literal position bits)(I<lp>) devrait aider aussi, mais généralement I<lc> et I<pb> sont plus importants. Par exemple, une archive de code source contient majoritairement du texte US-ASCII, donc quelquechose du style de ce qui suit devrait donner un fichier légèrement (approximativement O.1%) plus petit que B<xz -6e> (essayez aussi sans B<lc=4>) :" 


#. type: Plain text
#: ../src/xz/xz.1:2734
#, no-wrap
msgid "CW<xz --lzma2=preset=6e,pb=0,lc=4 source_code.tar>\n"
msgstr "CW<xz --lzma2=preset=6e,pb=0,lc=4 code_source.tar>\n"

#. type: Plain text
#: ../src/xz/xz.1:2742
msgid "Using another filter together with LZMA2 can improve compression with certain file types.  E.g. to compress a x86-32 or x86-64 shared library using the x86 BCJ filter:"
msgstr "Utiliser un autre filtre avec LZMA2 peut améliorer la compression avec certains types de fichiers. Par exemple, pour compresser une bibliothèque partagée x86-32 ou x86-64 en utilisant le filtre BCJ x86 :"

#. type: Plain text
#: ../src/xz/xz.1:2747
#, no-wrap
msgid "CW<xz --x86 --lzma2 libfoo.so>\n"
msgstr "CW<xz --x86 --lzma2 libtoto.so>\n"

#. type: Plain text
#: ../src/xz/xz.1:2761
msgid "Note that the order of the filter options is significant.  If B<--x86> is specified after B<--lzma2>, B<xz> will give an error, because there cannot be any filter after LZMA2, and also because the x86 BCJ filter cannot be used as the last filter in the chain."
msgstr "Notez que l'ordre des options de filtre est significatif. Si B<--x86> est indiqué après B<--lzma2>, B<xz> donnera une erreur, car il ne peut y avoir aucun filtre après LZMA2, et aussi parce que le filtre BCJ x86 ne peut pas être utilisé comme dernier filtre dans la chaîne."

#. type: Plain text
#: ../src/xz/xz.1:2767
msgid "The Delta filter together with LZMA2 can give good results with bitmap images.  It should usually beat PNG, which has a few more advanced filters than simple delta but uses Deflate for the actual compression."
msgstr "Le filtre Delta associé à LZMA2 peut donner de bons résultats avec les images bitmap. Cela devrait habituellement battre PNG, qui a quelques filtres avancés supplémentaires qu'un simple delta, mais qui utilise Deflate pour la compression effective."

#. type: Plain text
#: ../src/xz/xz.1:2777
msgid "The image has to be saved in uncompressed format, e.g. as uncompressed TIFF.  The distance parameter of the Delta filter is set to match the number of bytes per pixel in the image.  E.g. 24-bit RGB bitmap needs B<dist=3>, and it is also good to pass B<pb=0> to LZMA2 to accommodate the three-byte alignment:"
msgstr "L'image doit être sauvée dans un format non compressé, comme TIFF non compressé. Le paramètre de distance du filtre Delta est défini pour correspondre au nombre d'octets par pixel dans l'image. Par exemple une image RGB 24 bits nécessite B<dist=3> et il est aussi recommandé de passer B<pb=0> à LZMA2 pour s'adapter à l'alignement trois octets :"

#. type: Plain text
#: ../src/xz/xz.1:2782
#, no-wrap
msgid "CW<xz --delta=dist=3 --lzma2=pb=0 foo.tiff>\n"
msgstr "CW<xz --delta=dist=3 --lzma2=pb=0 toto.tiff>\n"

#. type: Plain text
#: ../src/xz/xz.1:2790
msgid "If multiple images have been put into a single archive (e.g.\\& B<.tar>), the Delta filter will work on that too as long as all images have the same number of bytes per pixel."
msgstr "Si plusieurs images ont été mises dans une seule archive (par exemple\\&B<.tar>), le filtre Delta les modifiera pourvu que toutes les images ont le même nombre d'octets par pixel."

#. type: SH
#: ../src/xz/xz.1:2791 ../src/xzdec/xzdec.1:143 ../src/lzmainfo/lzmainfo.1:59 ../src/scripts/xzdiff.1:64 ../src/scripts/xzgrep.1:92 ../src/scripts/xzless.1:65 ../src/scripts/xzmore.1:51
#, no-wrap
msgid "SEE ALSO"
msgstr "VOIR AUSSI"

#. type: Plain text
#: ../src/xz/xz.1:2800
msgid "B<xzdec>(1), B<xzdiff>(1), B<xzgrep>(1), B<xzless>(1), B<xzmore>(1), B<gzip>(1), B<bzip2>(1), B<7z>(1)"
msgstr "B<xzdec>(1), B<xzdiff>(1), B<xzgrep>(1), B<xzless>(1), B<xzmore>(1), B<gzip>(1), B<bzip2>(1), B<7z>(1)"

#. type: Plain text
#: ../src/xz/xz.1:2802
msgid "XZ Utils: E<lt>https://tukaani.org/xz/E<gt>"
msgstr "XZ Utilitaires: E<lt>https://tukaani.org/xz/E<gt>"

#. type: Plain text
#: ../src/xz/xz.1:2804 ../src/xzdec/xzdec.1:146
msgid "XZ Embedded: E<lt>https://tukaani.org/xz/embedded.htmlE<gt>"
msgstr "XZ Embarqué: E<lt>https://tukaani.org/xz/embedded.htmlE<gt>"

#. type: Plain text
#: ../src/xz/xz.1:2805
msgid "LZMA SDK: E<lt>http://7-zip.org/sdk.htmlE<gt>"
msgstr "LZMA SDK: E<lt>http://7-zip.org/sdk.htmlE<gt>"

#. type: TH
#: ../src/xzdec/xzdec.1:7
#, no-wrap
msgid "XZDEC"
msgstr "XZDEC"

#. type: TH
#: ../src/xzdec/xzdec.1:7
#, no-wrap
msgid "2017-04-19"
msgstr "19-04-2017"

#. type: Plain text
#: ../src/xzdec/xzdec.1:10
msgid "xzdec, lzmadec - Small .xz and .lzma decompressors"
msgstr "xzdec, lzmadec - Small .xz et .lzma decompresseurs"

#. type: Plain text
#: ../src/xzdec/xzdec.1:14
msgid "B<xzdec> [I<option...>] [I<file...>]"
msgstr "B<xzdec> [I<option...>] [I<fichier...>]"

#. type: Plain text
#: ../src/xzdec/xzdec.1:18
msgid "B<lzmadec> [I<option...>] [I<file...>]"
msgstr "B<lzmadec> [I<option...>] [I<fichier...>]"

#. type: Plain text
#: ../src/xzdec/xzdec.1:44
msgid "B<xzdec> is a liblzma-based decompression-only tool for B<.xz> (and only B<.xz>)  files.  B<xzdec> is intended to work as a drop-in replacement for B<xz>(1)  in the most common situations where a script has been written to use B<xz --decompress --stdout> (and possibly a few other commonly used options) to decompress B<.xz> files.  B<lzmadec> is identical to B<xzdec> except that B<lzmadec> supports B<.lzma> files instead of B<.xz> files."
msgstr "B<xzdec> est un outil uniquement de décompression, basé sur liblzma pour les fichiers B<.xz> (et seulement B<.xz>). B<xzdec> est destiné à remplacer B<xz>(1) dans les situations les plus courantes où un script a été écrit pour utiliser B<xz --decompress --stdout> (et possiblement quelques autres options courantes) pour décompresser des fichiers B<.xz>. B<lzmadec> est identique à B<xzdec>, sauf que B<lzmadec> prend en charge les fichiers B<.lzma> au lieu des fichiers B<.xz>."

#. type: Plain text
#: ../src/xzdec/xzdec.1:61
msgid "To reduce the size of the executable, B<xzdec> doesn't support multithreading or localization, and doesn't read options from B<XZ_DEFAULTS> and B<XZ_OPT> environment variables.  B<xzdec> doesn't support displaying intermediate progress information: sending B<SIGINFO> to B<xzdec> does nothing, but sending B<SIGUSR1> terminates the process instead of displaying progress information."
msgstr "Pour réduire la taille de l'exécutable, B<xzdec> ne prend en charge ni le multithreading ni la localisation et ne lit pas les options des variables d'environnement B<XZ_DEFAULTS> et B<XZ_OPT>. B<xzdec> ne gère pas l'affichage d'information sur la progression du traitement : envoyer B<SIGINFO> à B<xzdec> ne fait rien, mais envoyer B<SIGUSR1> termine le processus au lieu d'afficher de l'information sur la progression."

#. type: Plain text
#: ../src/xzdec/xzdec.1:69
msgid "Ignored for B<xz>(1)  compatibility.  B<xzdec> supports only decompression."
msgstr "Ignoré pour la compatibilité avec B<xz>(1), B<xzdec> ne gère que la décompression."

#. type: Plain text
#: ../src/xzdec/xzdec.1:76
msgid "Ignored for B<xz>(1)  compatibility.  B<xzdec> never creates or removes any files."
msgstr "Ignoré pour la compatibilité avec B<xz>(1), B<xzdec> ne crée ni ne supprime jamais aucun fichier."

#. type: Plain text
#: ../src/xzdec/xzdec.1:83
msgid "Ignored for B<xz>(1)  compatibility.  B<xzdec> always writes the decompressed data to standard output."
msgstr "Ignoré pour la compatibilité avec B<xz>(1), B<xzdec> écrit toujours les données décompressées sur la sortie standard."

#. type: Plain text
#: ../src/xzdec/xzdec.1:89
msgid "Specifying this once does nothing since B<xzdec> never displays any warnings or notices.  Specify this twice to suppress errors."
msgstr "Spécifier cela une fois ne fait rien, car B<xzdec> n'affiche jamais aucun avertissement ou notification. Spécifier cela deux fois pour supprimer les erreurs."

#. type: Plain text
#: ../src/xzdec/xzdec.1:96
msgid "Ignored for B<xz>(1)  compatibility.  B<xzdec> never uses the exit status 2."
msgstr "Ignoré pour la compatibilité avec B<xz>(1), B<xzdec> n'utilise jamais le satut de sortie 2."

#. type: Plain text
#: ../src/xzdec/xzdec.1:99
msgid "Display a help message and exit successfully."
msgstr "Afficher un message d'aide et quitter."

#. type: Plain text
#: ../src/xzdec/xzdec.1:104
msgid "Display the version number of B<xzdec> and liblzma."
msgstr "Afficher le numéro de version de B<xzdec> et liblzma."

#. type: Plain text
#: ../src/xzdec/xzdec.1:108
msgid "All was good."
msgstr "Tout s'est bien passé."

#. type: Plain text
#: ../src/xzdec/xzdec.1:117
msgid "B<xzdec> doesn't have any warning messages like B<xz>(1)  has, thus the exit status 2 is not used by B<xzdec>."
msgstr "A la différence de B<xz>(1),B<xzdec> n'a pas de messages d'avertissement, et donc le statut de sortie 2 n'est pas utilisé par B<xzdec>."

#. type: Plain text
#: ../src/xzdec/xzdec.1:131
msgid "Use B<xz>(1)  instead of B<xzdec> or B<lzmadec> for normal everyday use.  B<xzdec> or B<lzmadec> are meant only for situations where it is important to have a smaller decompressor than the full-featured B<xz>(1)."
msgstr "Utilisez B<xz>(1) au lieu de B<xzdec> ou B<lzmadec> pour un usage normal de tous les jours. B<xzdec> ou B<lzmadec> ne sont utiles que pour les situations où il est important d'avoir un plus petit décompresseur que le B<xz>(1) complet."

#. type: Plain text
#: ../src/xzdec/xzdec.1:143
msgid "B<xzdec> and B<lzmadec> are not really that small.  The size can be reduced further by dropping features from liblzma at compile time, but that shouldn't usually be done for executables distributed in typical non-embedded operating system distributions.  If you need a truly small B<.xz> decompressor, consider using XZ Embedded."
msgstr "B<xzdec> et B<lzmadec> ne sont en fait pas vraiment si petits. La taille peut être encore réduite en abandonnant des fonctionnalités de liblzma au moment de la compilation, mais cela ne devrait pas être fait pour des exécutables distribués sur des systèmes d'exploitation classique non embarqués. Si vous avez besoin d'un décompresseur vraiment petit, pensez à utiliser XZ Embedded."

#. type: Plain text
#: ../src/xzdec/xzdec.1:145 ../src/lzmainfo/lzmainfo.1:60
msgid "B<xz>(1)"
msgstr "B<xz>(1)"

#. type: TH
#: ../src/lzmainfo/lzmainfo.1:7
#, no-wrap
msgid "LZMAINFO"
msgstr "LZMAINFO"

#. type: TH
#: ../src/lzmainfo/lzmainfo.1:7 ../src/scripts/xzmore.1:7
#, no-wrap
msgid "2013-06-30"
msgstr "30-06-2013"

#. type: Plain text
#: ../src/lzmainfo/lzmainfo.1:10
msgid "lzmainfo - show information stored in the .lzma file header"
msgstr "lzmainfo - Afficher l'information stockée dans l'en-tête du fichier .lzma"

#. type: Plain text
#: ../src/lzmainfo/lzmainfo.1:15
msgid "B<lzmainfo> [B<--help>] [B<--version>] [I<file...>]"
msgstr "B<lzmainfo> [B<--help>] [B<--version>] [I<fichier...>]"

#. type: Plain text
#: ../src/lzmainfo/lzmainfo.1:31
msgid "B<lzmainfo> shows information stored in the B<.lzma> file header.  It reads the first 13 bytes from the specified I<file>, decodes the header, and prints it to standard output in human readable format.  If no I<files> are given or I<file> is B<->, standard input is read."
msgstr "B<lzmainfo> affiche l'information stockée dans l'en-tête du fichier B<.lzma>. Il lit les 13 premiers octets du I<fichier> indiqué, décode l'en-tête, et l'écrit sur la sortie standard dans un format lisible par un humain. Si aucun I<fichier> n'est spécifié ou si I<fichier> est B<->, l'entrée standard est lue."

#. type: Plain text
#: ../src/lzmainfo/lzmainfo.1:40
msgid "Usually the most interesting information is the uncompressed size and the dictionary size.  Uncompressed size can be shown only if the file is in the non-streamed B<.lzma> format variant.  The amount of memory required to decompress the file is a few dozen kilobytes plus the dictionary size."
msgstr "Habituellement l'information la plus interressante est la taille non compressée et la taille du dictionnaire. La taille ne peut être affichée que si le fichier est dans la variante du format B<.lzma> qui n'est pas en flux. La quantité de mémoire requise pour décompresser le fichier est de quelques douzaines de kilooctets en plus de la taille du dictionnaire."

#. type: Plain text
#: ../src/lzmainfo/lzmainfo.1:44
msgid "B<lzmainfo> is included in XZ Utils primarily for backward compatibility with LZMA Utils."
msgstr "B<lzmainfo> est inclus dans les utilitaires XZ essentiellement pour des besoins de rétrocompatibilité avec les utilitaires LZMA."

#. type: SH
#: ../src/lzmainfo/lzmainfo.1:51 ../src/scripts/xzdiff.1:72
#, no-wrap
msgid "BUGS"
msgstr "BOGUES"

#. type: Plain text
#: ../src/lzmainfo/lzmainfo.1:59
msgid "B<lzmainfo> uses B<MB> while the correct suffix would be B<MiB> (2^20 bytes).  This is to keep the output compatible with LZMA Utils."
msgstr "B<lzmainfo> utilise B<MB> alors que le suffixe correct devrait être B<MiB>(2^20 octets). Cela pour garder la sortie compatible avec les utilitaires LZMA."

#. type: TH
#: ../src/scripts/xzdiff.1:9
#, no-wrap
msgid "XZDIFF"
msgstr "XZDIFF"

#. type: TH
#: ../src/scripts/xzdiff.1:9 ../src/scripts/xzgrep.1:9
#, no-wrap
msgid "2011-03-19"
msgstr "19-03-2011"

#. type: Plain text
#: ../src/scripts/xzdiff.1:12
msgid "xzcmp, xzdiff, lzcmp, lzdiff - compare compressed files"
msgstr "xzcmp, xzdiff, lzcmp, lzdiff - Comparer des fichiers compressés."

#. type: Plain text
#: ../src/scripts/xzdiff.1:15
msgid "B<xzcmp> [I<cmp_options>] I<file1> [I<file2>]"
msgstr "B<xzcmp> [I<cmp_options>] I<fichier1> [I<fichier2>]"

#. type: Plain text
#: ../src/scripts/xzdiff.1:18
msgid "B<xzdiff> [I<diff_options>] I<file1> [I<file2>]"
msgstr "B<xzdiff> [I<diff_options>] I<fichier1> [I<fichier2>]"

#. type: Plain text
#: ../src/scripts/xzdiff.1:21
msgid "B<lzcmp> [I<cmp_options>] I<file1> [I<file2>]"
msgstr "B<lzcmp> [I<cmp_options>] I<fichier1> [I<fichier2>]"

#. type: Plain text
#: ../src/scripts/xzdiff.1:24
msgid "B<lzdiff> [I<diff_options>] I<file1> [I<file2>]"
msgstr "B<lzdiff> [I<diff_options>] I<fichier1> [I<fichier2>]"

#. type: Plain text
#: ../src/scripts/xzdiff.1:58
msgid ""
"B<xzcmp> and B<xzdiff> invoke B<cmp>(1)  or B<diff>(1)  on files compressed with B<xz>(1), B<lzma>(1), B<gzip>(1), B<bzip2>(1), or B<lzop>(1).  All options specified are passed directly to B<cmp>(1)  or B<diff>(1).  If only one file is specified, then the files compared are I<file1> (which must have a suffix of a supported compression format) and I<file1> from which the compression format suffix has been stripped.  If two files are specified, then they are uncompressed if necessary and fed to B<cmp>(1)  or B<diff>(1).  The exit "
"status from B<cmp>(1)  or B<diff>(1)  is preserved."
msgstr ""
"B<xzcmp> et B<xzdiff> invoquent B<cmp>(1)  ou B<diff>(1)  sur les fichiers compressés avec B<xz>(1), B<lzma>(1), B<gzip>(1), B<bzip2>(1) ou B<lzop>(1). Toutes les options spécifiées sont passées directement à B<cmp>(1) ou B<diff>(1). Si seulement un fichier est indiqué alors les fichiers comparés sont I<fichier1> (lequel doit avoir un suffixe de format de compression pris en charge) et I<fichier1> duquel le suffixe de format a été enlevé. Si deux fichiers sont spécifiés, ils sont décompressés si nécessaire et envoyés à B<cmp>(1) ou "
"B<diff>(1). Le statut de sortie de B<cmp>(1) ou B<diff>(1) est préservé."

#. type: Plain text
#: ../src/scripts/xzdiff.1:64
msgid "The names B<lzcmp> and B<lzdiff> are provided for backward compatibility with LZMA Utils."
msgstr "Les noms B<lzcmp> et B<lzdiff> sont fournis pour des besoins de rétrocompatibilité avec les Utilitaires LZMA."

#. type: Plain text
#: ../src/scripts/xzdiff.1:72
msgid "B<cmp>(1), B<diff>(1), B<xz>(1), B<gzip>(1), B<bzip2>(1), B<lzop>(1), B<zdiff>(1)"
msgstr "B<cmp>(1), B<diff>(1), B<xz>(1), B<gzip>(1), B<bzip2>(1), B<lzop>(1), B<zdiff>(1"

#. type: Plain text
#: ../src/scripts/xzdiff.1:77
msgid "Messages from the B<cmp>(1)  or B<diff>(1)  programs refer to temporary filenames instead of those specified."
msgstr "Les messages des programmes B<cmp>(1) ou B<diff>(1) se réfèrent à des noms de fichiers temporaires et non à ceux spécifiés."

#. type: TH
#: ../src/scripts/xzgrep.1:9
#, no-wrap
msgid "XZGREP"
msgstr "XZGREP"

#. type: Plain text
#: ../src/scripts/xzgrep.1:12
msgid "xzgrep - search compressed files for a regular expression"
msgstr "xzgrep - Chercher une expression rationnelle dans des fichiers compressés"

#. type: Plain text
#: ../src/scripts/xzgrep.1:18
msgid "B<xzgrep> [I<grep_options>] [B<-e>] I<pattern> I<file>..."
msgstr "B<xzgrep> [I<grep_options>] [B<-e>] I<motif> I<fichier>..."

#. type: Plain text
#: ../src/scripts/xzgrep.1:21
msgid "B<xzegrep> ..."
msgstr "B<xzegrep> ..."

#. type: Plain text
#: ../src/scripts/xzgrep.1:24
msgid "B<xzfgrep> ..."
msgstr "B<xzfgrep> ..."

#. type: Plain text
#: ../src/scripts/xzgrep.1:27
msgid "B<lzgrep> ..."
msgstr "B<lzgrep> ..."

#. type: Plain text
#: ../src/scripts/xzgrep.1:30
msgid "B<lzegrep> ..."
msgstr "B<lzegrep> ..."

#. type: Plain text
#: ../src/scripts/xzgrep.1:33
msgid "B<lzfgrep> ..."
msgstr "B<lzfgrep> ..."

#. type: Plain text
#: ../src/scripts/xzgrep.1:48
msgid "B<xzgrep> invokes B<grep>(1)  on I<files> which may be either uncompressed or compressed with B<xz>(1), B<lzma>(1), B<gzip>(1), B<bzip2>(1), or B<lzop>(1).  All options specified are passed directly to B<grep>(1)."
msgstr "B<xzgrep> invoque B<grep>(1)  sur des I<fichiers> qui ont pu être compressés ou décompressés que ce soit avec B<xz>(1), B<lzma>(1), B<gzip>(1), B<bzip2>(1) ou B<lzop>(1). Toutes les options spécifiées sont passées directement à B<grep>(1)."

#. type: Plain text
#: ../src/scripts/xzgrep.1:60
msgid "If no I<file> is specified, then standard input is decompressed if necessary and fed to B<grep>(1).  When reading from standard input, B<gzip>(1), B<bzip2>(1), and B<lzop>(1)  compressed files are not supported."
msgstr "Si aucun I<fichier> n'est spécifié, alors l'entrée standard est décompressée si nécessaire et alimente B<grep>(1). Lorsque c'est l'entrée standard qui est lue, les fichiers compressés B<gzip>(1), B<bzip2>(1) et B<lzop>(1) ne sont pas pris en charge."

#. type: Plain text
#: ../src/scripts/xzgrep.1:79
msgid "If B<xzgrep> is invoked as B<xzegrep> or B<xzfgrep> then B<egrep>(1)  or B<fgrep>(1)  is used instead of B<grep>(1).  The same applies to names B<lzgrep>, B<lzegrep>, and B<lzfgrep>, which are provided for backward compatibility with LZMA Utils."
msgstr "Si B<xzgrep> est invoqué comme B<xzegrep> ou B<xzfgrep>, alors B<egrep>(1)  ou B<fgrep>(1)  est utilisé à la place de B<grep>(1). La même chose s'applique aux noms B<lzgrep>, B<lzegrep> et B<lzfgrep> qui sont fournis pour la rétrocompatibilité avec les Utilitaires LZMA."

#. type: TP
#: ../src/scripts/xzgrep.1:81
#, no-wrap
msgid "B<GREP>"
msgstr "B<GREP>"

#. type: Plain text
#: ../src/scripts/xzgrep.1:92
msgid "If the B<GREP> environment variable is set, B<xzgrep> uses it instead of B<grep>(1), B<egrep>(1), or B<fgrep>(1)."
msgstr "Si la variable d'environnement B<GREP> est définie, B<xzgrep> l'utilise à la place de B<grep>(1), B<egrep>(1) ou B<fgrep>(1)."

#. type: Plain text
#: ../src/scripts/xzgrep.1:98
msgid "B<grep>(1), B<xz>(1), B<gzip>(1), B<bzip2>(1), B<lzop>(1), B<zgrep>(1)"
msgstr "B<grep>(1), B<xz>(1), B<gzip>(1), B<bzip2>(1), B<lzop>(1), B<zgrep>(1)"

#. type: TH
#: ../src/scripts/xzless.1:10
#, no-wrap
msgid "XZLESS"
msgstr "XZLESS"

#. type: TH
#: ../src/scripts/xzless.1:10
#, no-wrap
msgid "2010-09-27"
msgstr "27-09-2010"

#. type: Plain text
#: ../src/scripts/xzless.1:13
msgid "xzless, lzless - view xz or lzma compressed (text) files"
msgstr "xzless, lzless - Voir le contenu des fichiers (texte) compressés xz ou lzma"

#. type: Plain text
#: ../src/scripts/xzless.1:16
msgid "B<xzless> [I<file>...]"
msgstr "B<xzless> [I<fichier>...]"

#. type: Plain text
#: ../src/scripts/xzless.1:19
msgid "B<lzless> [I<file>...]"
msgstr "B<lzless> [I<fichier>...]"

#. type: Plain text
#: ../src/scripts/xzless.1:31
msgid "B<xzless> is a filter that displays text from compressed files to a terminal.  It works on files compressed with B<xz>(1)  or B<lzma>(1).  If no I<files> are given, B<xzless> reads from standard input."
msgstr "B<xzless> est un filtre qui affiche le contenu de fichiers compressés dans un terminal. Cela fonctionne avec les fichiers compressés avec B<xz>(1) ou B<lzma>(1). Si aucun I<fichier> n'est donné, B<xzless> lit depuis l'entrée standard."

#. type: Plain text
#: ../src/scripts/xzless.1:48
msgid "B<xzless> uses B<less>(1)  to present its output.  Unlike B<xzmore>, its choice of pager cannot be altered by setting an environment variable.  Commands are based on both B<more>(1)  and B<vi>(1)  and allow back and forth movement and searching.  See the B<less>(1)  manual for more information."
msgstr "B<xzless> utilise B<less>(1) pour afficher sa sortie. Contrairement à B<xzmore>, son choix d'afficheur ne peut pas être modifié en indiquant une variable d'environnement. Les commandes sont basées sur B<more>(1) et B<vi>(1) et permettent des déplacements en avant et en arrière et des recherches. Voir le manuel de B<less>(1) pour plus d'information."

#. type: Plain text
#: ../src/scripts/xzless.1:52
msgid "The command named B<lzless> is provided for backward compatibility with LZMA Utils."
msgstr "La commande nommée B<lzless> est fournie pour la rétrocompatibilité avec les utilitaires LZMA."

#. type: TP
#: ../src/scripts/xzless.1:53
#, no-wrap
msgid "B<LESSMETACHARS>"
msgstr "B<LESSMETACHARS>"

#. type: Plain text
#: ../src/scripts/xzless.1:59
msgid "A list of characters special to the shell.  Set by B<xzless> unless it is already set in the environment."
msgstr "Une liste de caractères spéciaux pour l'interpréteur. Définis par B<xzless> à moins qu'ils ne l'aient déjà été dans l'environnement."

#. type: TP
#: ../src/scripts/xzless.1:59
#, no-wrap
msgid "B<LESSOPEN>"
msgstr "B<LESSOPEN>"

#. type: Plain text
#: ../src/scripts/xzless.1:65
msgid "Set to a command line to invoke the B<xz>(1)  decompressor for preprocessing the input files to B<less>(1)."
msgstr "Définir en ligne de commande le décompresseur B<xz>(1) à invoquer pour préparer les fichiers en entrée pour B<less>(1)."

#. type: Plain text
#: ../src/scripts/xzless.1:69
msgid "B<less>(1), B<xz>(1), B<xzmore>(1), B<zless>(1)"
msgstr "B<less>(1), B<xz>(1), B<xzmore>(1), B<zless>(1)"

#. type: TH
#: ../src/scripts/xzmore.1:7
#, no-wrap
msgid "XZMORE"
msgstr "XZMORE"

#. type: Plain text
#: ../src/scripts/xzmore.1:10
msgid "xzmore, lzmore - view xz or lzma compressed (text) files"
msgstr "xzmore, lzmore - Voir le contenu des fichiers (texte) compressés xz ou lzma"

#. type: Plain text
#: ../src/scripts/xzmore.1:13
msgid "B<xzmore> [I<file...>]"
msgstr "B<xzmore> [I<fichier...>]"

#. type: Plain text
#: ../src/scripts/xzmore.1:16
msgid "B<lzmore> [I<file...>]"
msgstr "B<lzmore> [I<fichier...>]"

#. type: Plain text
#: ../src/scripts/xzmore.1:24
msgid "B<xzmore> is a filter which allows examination of B<xz>(1)  or B<lzma>(1)  compressed text files one screenful at a time on a soft-copy terminal."
msgstr "B<xzmore> est un filtre qui permet d'examiner le contenu des fichiers texte compressés B<xz>(1) ou B<lzma>(1), une page d'écran à la fois, sur un terminal écran."

#. type: Plain text
#: ../src/scripts/xzmore.1:33
msgid "To use a pager other than the default B<more,> set environment variable B<PAGER> to the name of the desired program.  The name B<lzmore> is provided for backward compatibility with LZMA Utils."
msgstr "Pour utiliser un afficheur autre que B<more>, l'afficheur par défaut, définissez la variable d'environnement B<PAGER> avec le nom du programme souhaité. Le nom B<lzmore> est fourni pour la rétrocompatibilité avec les utilitaires LZMA."

#. type: TP
#: ../src/scripts/xzmore.1:33
#, no-wrap
msgid "B<e> or B<q>"
msgstr "B<e> ou B<q>"

#. type: Plain text
#: ../src/scripts/xzmore.1:40
msgid "When the prompt --More--(Next file: I<file>)  is printed, this command causes B<xzmore> to exit."
msgstr "Lorsque l'invite --More--(prochain fichier : I<fichier>) est affiché, cette commande force B<xzmore> à quitter."

#. type: TP
#: ../src/scripts/xzmore.1:40
#, no-wrap
msgid "B<s>"
msgstr "B<s>"

#. type: Plain text
#: ../src/scripts/xzmore.1:47
msgid "When the prompt --More--(Next file: I<file>)  is printed, this command causes B<xzmore> to skip the next file and continue."
msgstr "Lorsque l'invite --More--(prochain fichier : I<fichier>) est affiché, cette commande force B<xzmore> à ignorer le prochain fichier et continuer."

#. type: Plain text
#: ../src/scripts/xzmore.1:51
msgid "For list of keyboard commands supported while actually viewing the content of a file, refer to manual of the pager you use, usually B<more>(1)."
msgstr "Pour une liste des commandes clavier prises en charge lors de la lecture du contenu d'un fichier, référez vous au manuel de l'afficheur (pager) que vous utilisez, habituellement B<more>(1)."

#. type: Plain text
#: ../src/scripts/xzmore.1:55
msgid "B<more>(1), B<xz>(1), B<xzless>(1), B<zmore>(1)"
msgstr "B<more>(1), B<xz>(1), B<xzless>(1), B<zmore>(1)"
